Last week a client asked us to build an image gallery for her website. There wasn’t anything super complex about this gallery, but it needed to have the images categorized via taxonomy and it she needed the ability to reorder the images. So off to the interface to create a content type, view, and pages associated with this gallery.
One thing that I got hung up on was on how to make it so she could reorder the images. This is not an unusual request, and I’ve used almost all of the re-ordering modules there are, yet for some reason, I started off by adding a text field for a “weight” and then figured she could adjust them from there.
I’m not sure why I thought that was a good solution, after all, as a company we pride ourselves on making Drupal as user friendly as possible. Thankfully I realized the error of my ways, and proceeded to promptly scrap the idea. The solution I ended up with was using Draggable Views for her to re-arrange the order of the images, a link in the header of the view to add an image directly and a small (<10 line) module to redirect to the draggable view page after she added a gallery image. What she ended up with was a single interface to manage her gallery, and something that both myself and the client was happy with.
So why do I tell you this story? Because with all of the great flexibility that comes with Drupal, it’s easy to forget about the administrative aspect of a piece of functionality. I think it’s important for everyone to put some thought into how something should work from both the administrative side and the visitors side, and be sure to add some time for that into your budget. The back-end of your site should be as beautiful and easy to use as the front-end and if its not you are doing your clients a huge disservice. I’m glad to see the default Drupal 8 admin interface had a lot of thought regarding usability put into it, but I will save that for a later post.