Module description
Dashboardify is a module for creating dashboards for Drupal 7.
Each user with proper permissions can add any block to dashboard and rearrange blocks order on his or her dashboard page. There is one dashboard with predefined regions available for each user. User can add unlimited instances of the same block which can be useful for views blocks with different contextual filters applied. Along with block information module stores data what contextual filters were used while adding block to dashboard. Block order is autosave via AJAX.
Requirements
- Contextual links (core module)
Similar modules
Both these modules are very similar in few cases to Dashboardify. But my main goal is to provide module that will depend only on user choice. For now user can choose any block available on Drupal site and put it in the dashboard. In the future I plan to make such features as creating new dashboards by user and providing nice interface for setting up the display (columns number and width) per dashboard per user. As far as I'm concerned Homebox and User Dashboards dashboards are set up by administrator (or roles granted proper permissions). I would like to create a module that allows users to create dashboards they would like (I was inspired by some statistics systems that allows the same thing).
I was thinking about collaboration on one of these module for a while, but come to conclusion that I want something different.
More information
I've done some checking with pareview:
http://ventral.org/pareview/httpgitdrupalorgsandboxmilena1716096git and skipped these two messages, because I do not know why they appear. Maybe because $token is initialized inside the loop, and that is only idea I got. In my opinion each entry has a key.
Git access: git clone http://git.drupal.org/sandbox/Milena/1716096.git dashboardify
Project page: http://drupal.org/sandbox/Milena/1716096
I've also reviewed some modules, but one of them is pretty old, so I do not set a tag "PAReview: review bonus".
Modules I reviewed:
http://drupal.org/node/1687552#comment-6331132
http://drupal.org/node/1717318#comment-6327418
http://drupal.org/node/1220090#comment-5055848
http://drupal.org/node/1529386#comment-6355886
Three more reviews:
http://drupal.org/node/1732888#comment-6360090
http://drupal.org/node/1713226#comment-6359968
http://drupal.org/node/1693054#comment-6356280
Three more reviews:
http://drupal.org/node/1711262#comment-6365554
http://drupal.org/node/1702578#comment-6365752
http://drupal.org/node/1711898#comment-6362992
Thank you for your time!
Comments
Comment #1
gregglesTagging for #1720766: csrf in adding/deleting blocks (and maybe other issues).
Comment #2
gellweiler commentedThe git command given in this post won't work, as we can't authenticate as user Milena, this one should work:
git clone http://git.drupal.org/sandbox/Milena/1716096.git dashboardifyI have looked at your source code, as far as I can tell it looks O.K, but you should really create a template file, so that themers have the chance to alter the look of your dashboard. I have enabled your module and could use it on my root user account. I also managed to set permissions to allow other users to have a dashboard, but I failed to add blocks to it as non administrative user, as I can't right click on blocks and choose add to dashboard. Please consider to add a drop down list or something like this to the dashboard page to add blocks to the users dashboard. This would also help users that haven't JS enabled. Also there is now way to alter the location of blocks on the dashboard without JS enabled. It would be a great feature if as admin I could add blocks to other users dashboards. Your modules help page doesn't offer much information on how to use the dashboard, it would be good to write a more detailed one.
Comment #3
Milena commented@gellweiler
Thank you very much for your review and tips you gave me.
I based my module on contextual links (core module) which does not have fallback for non-js users. I've added such functionality, so even when user does not have js he or she will be able to add and remove blocks.
Two template files were also added to repository.
I've double checked if non administrative user can add blocks to dashboard. On my Drupal installation he or she can add them through contextual links. I do not know if I understood you right, but following project page or readme non-administrative user must have "Use contextual links" permission (even if js is disabled). If your users have such permission could you give me a list of modules you have enabled? I will check if there is some problem with Dashboardify then.
I plan to add feature which will allow to rearrange blocks with js disabled in near future.
About admin user adding blocks to other dashboards - my main goal is to create dashboards for users. Each user has its own dashboard, so there is no such thing as global dashboards as in Homebox or User Dashboards. Adding blocks by administrator to some other user dashboard will be complicated and I would like to avoid adding blocks to ALL dashboards. I will think how to create such functionality for sure.
I have some minor fixes to fix, so I've changed status. I will revert to needs review once I'm done (hopefully today).
Thank you once more for your time.
Best Regards!
Comment #3.0
Milena commentedGit clone command fixed; thanks to gellweiler
Comment #4
Milena commentedI believe module is ready to be tested again.
Comment #5
yogeshchaugule8 commentedHi Milena,
As said by gellweiler in his comment earlier, I am also not able to configure and add blocks to my dashboard after reading Help page and README.txt. It would be great if you add more detailed guide on the same.
Yogesh.
Comment #6
Milena commentedOk, I found the issue, was my mistake. I've updated both README.txt and project page and simplified permissions. I've tried on fresh Drupal install configuring module step by step with new README and it worked for me.
If you could provide an information if changes are sufficient for proper configuration I would be really grateful.
Thanks for your time with testing my module.
Comment #7
klausiThere is still a master branch, make sure to set the correct default branch: http://drupal.org/node/1659588 . Then remove the master branch, see also step 6 and 7 in http://drupal.org/node/1127732
manual review:
Removing review bonus tag, you can add it again if you have done another 3 reviews of other projects.
Comment #8
Milena commented@Klausi
Thank you very much for detailed review.
Referring to some points:
In my master branch there is only README.txt that tells people to check other branches.
Also I've made 7.x-1.x branch default branch for the project earlier.
If I understood something wrong can you point me to direct things I need to change?
"dashboardify.info: are you sure that your JS/CSS is needed on every single page request? Why not add it on demand?"
I have an css file that provide some fixes when js is disabled to contextual links. I've also put a patch in #803032: Contextual links don't work if javascript disabled. Thats why css file is enabled on all pages.
The same is with dashboardify_common.js - it adds functionality to use contextual links with js disabled (it removes no-js classes). dashboardify.js file is included only in dashboard page because only there it is used. I believe putting these two files on all pages is proper way to ensure that users with javascript disable can use Dashboardify module.
Of course I will change other things you've mentioned, but I hope this two issues are not breaking coding standards.
Comment #9
Milena commentedHi,
I've made some changes.
1. I do not know if I understood klausi right, but I simplified dashboardify_dashboard() function and got rid of keyed arrays.
2. fixed
3. fixed
4. Explained one post above.
5. fixed
6. fixed
I've also reviewed some other appliactions, so I'm adding review bonus.
http://drupal.org/node/1732888#comment-6360090
http://drupal.org/node/1713226#comment-6359968
http://drupal.org/node/1693054#comment-6356280
Comment #9.0
Milena commentedInfo about modules I reviewed.
Comment #10
Milena commentedComment #11
gellweiler commentedOk I like the changes you made to your module. I don't know why I couldn't add blocks to non adminstrative users before ( guess I didn't allowed using Contextual Links ) but now it works fine. Maybe you could mention that you need this permission in the comment of the 'Use own dashboard' permission.
I could delete/add blocks without JS. Your theme templates look good.
Looks like RTBC to me, but I think a more experienced user ( like klausi ) should verify this, as I'm also applicant.
Comment #12
Milena commentedI think that adding such comment will be a good idea. I will do that in the next commit and for now I try to emphasize it more on project page.
Thank you for your review and opinion :)
Comment #13
klausi@gellweiler: don't hesitate to set issues to RTBC of you think they are ready.
manual review:
But otherwise looks RTBC to me. Removing review bonus tag, you can add it again if you have done another 3 reviews of other projects.
Comment #13.0
Milena commentedAdded three more reviews of other project applications.
Comment #14
Milena commentedI did three more reviews so I'm adding a bonus tag.
http://drupal.org/node/1711262#comment-6365554
http://drupal.org/node/1702578#comment-6365752
http://drupal.org/node/1711898#comment-6362992
Of course I will also change the things you've mentioned.
Comment #15
sirviejo commentedMilena i just open an issue in the projet's issue queue as i was not able to make it work. Same as Comment #5
Comment #16
sirviejo commentedI was able to make it work now, but the main reason was the lack of a description on how to add a block to the dashboard. I suggest you to add a step by step in the README.txt, project's page and hook_help()
Comment #17
misc commentedThanks for your contribution, Milena!
I updated your account to let you promote this to a full project and also create new projects as either a sandbox or a "full" project.
Here are some recommended readings to help with excellent maintainership:
You can find lots more contributors chatting on IRC in #drupal-contribute. So, come hang out and get involved!
Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.
Thanks to the dedicated reviewer(s) as well.
Comment #18
gregglesSo, fixed, right? :)
Comment #19
misc commentedYes :-)
Comment #20
Milena commentedThank you all very much for reviewing my project and really helpful comments. There are still some issues I will fix (better documentation) in the next days.
I'm going to review other projects because it helps me learn a lot about Drupal. And it is fun :)
Kind regards.
Comment #21
patrickd commentedHi Milena,
your doing an awesome job, thank you very much for your reviews.
Klausi and me would also be really happy if you keep reviewing :)
regards
Comment #22.0
(not verified) commentedThree more reviews added.