Artificial Intelligence and Repetitive Tasks in a CMS

[Dec 18-08: I’ve updated my list below with solutions and issue URLs, where possible.]

Yesterday, Steve Dondley (owner/founder @ Prometheus Labor) and myself were working on some very repetitive work for a client site; discussing how we can’t wait for the intelligent CMS to come along and do all this repetitive work for us.

Office Clippy AssistantThis got me thinking.  A lot of the repetitive tasks we were doing could have been served much more nicely with a bit of software intelligence.  Microsoft office has some examples of intelligent and some non-intelligent ways of making tasks easier.  One bad example: Office Clippy.  One good example: Excel’s dragable rows.


Drupal had the ability to do a much better job at anticipating the users desires and making it easier to perform repetitive tasks.  Here are just a few ways:

  1. In the content area of administer, when the user filters the nodes and then chooses to select all those nodes on the page, they should be given the option to select all nodes that match the search.
    1. Populate form fields in the Firefox Web Developer extension would ease this, but not fix entirely.
  2. Content type bulk clone.  It should be possible to select a content type, clone it, and then enter a comma separate list of machine names, and display names for the clones to allow users to make multiple clones of a content type at once.
  3. Views bulk clone.  Same as above but for views.
    1. Re #4: I had to copy a view yesterday 24 times, each view only had a different name, and one taxonomy filter changed.  (do to how the view was used, arguments were not an option).
  4. Views should allow you to enable, order, and set block options directly from the view rather than needing to enter the admin/build/block pages.
    1. Yes, I mean that the options that are on Admin->Build->Blocks->{block name} should be available as a table directly under {view}->edit. 
  5. When you create a node, in the success message at the top of the new node, there should be a “create another” link.
    1. As per a suggestion in one of the comments; I’m working on a module to implement this, although I’d love to see it in core Drupal.
  6. It should be possible to disable drag-and-drop sorting on an admin page, perhaps view a toggle, and the system should remember not to use JQuery sorting on that page for that user.
    1. Disabling JS browser-wide would not be a solution here, since only some pages are anonying with the JavaScript turned on.  An excellent example is the drag and drop in admin -> build -> menus.  If you have a menu with a large number of children, and then move it, it becomes nearly impossible to do with the drag and drop, necessatating manual intervention with weights.
  7. When a user enables modules, the success message should include links to each of those modules primary admin pages.
    1. Re #2: If a module had no pages, then the usual message should disable.  Also, menu access checks should ensure a user has permissions to view the links that could be displayed.  A link to the modules help page would also be most helpful.
    2. Issue 198919: Enabling modules results in display of links for those module.
  8. Modules should be sortable by enable status.
    1. Re #2: One possible solution would be to filter out all enabled modules before displaying the group to the user and still maintain grouping.  Since if you’ve just downloaded a new module, you don’t want to scroll though all the enabled ones to get to it.  And vice/versa for disabling a module.  In a perfect world, JavaScript would do this with a toggle.
  9. status_update’s messages should be dismissible.  In the case of security updates, for x number of minutes/hours; much like how Windows Update reminds you to restart.
    1. Possible solution for 5.x: jGrowl
  10. Watchdog pages should automatically refresh.
    1. A possible solution to this is to instead of logging errors to the database, log to syslogd instead; then use another tool to display the content of syslogd (suggestions for that?).
  11. Administrator theme should be a checkbox under admin/build/themes.
    1. Issue 135976: Usability: Make picking administration theme more user-friendly
  12. admin/build/block should give the option to organize by the module producing the block.
  13. Dates entered into the publishing options of a node should automatically be transformed into the standard date on blur.
  14. There should be a key combination to hit submit, even when Preview is the default node add action.
    1. Possible solution on 5.x: Hotkey
  15. In fact, there should be a key combination to hit save/submit from every page no matter what field you’re in.
    1. Possible solution on 5.x: Hotkey
  16. Like views, blocks should have an [edit] option that appears on hover.
    1. Zen theme implements this at the theme level.
    2. block_edit module offers something similar, and including inline editing of custom blocks.
  17. Like views, any node should be able to become a block.
    1. Re #2: I think I will make a module to demonstrate this as well.  Because, the idea of a view for every node is a bit messy at best.

This is my wish-list for ways to make Drupal work faster and smarter.  Have more ideas?  Post them here and over at the Usability Group.


Reblog this post [with Zemanta]
  1. December 16, 2008
  2. December 16, 2008
  3. December 16, 2008
  4. December 16, 2008
  5. December 16, 2008
  6. December 16, 2008
  7. December 16, 2008
  8. December 18, 2008
  9. January 12, 2009
  10. August 11, 2009
  11. April 21, 2010
  12. April 21, 2010
  13. January 28, 2013
  14. October 20, 2013

Leave a Reply