Built in a week: websiteslideshow.com

I’ve also created a showcase page for this project.

Website slideshow

Website Slideshow allows you to create fullscreen slideshows out of any collection of webpages you may create. This has a lot of uses:

  1. Digital Signage, using your own website as a platform.
  2. Digital Art Display: it’s becoming popular to show digital art on your livingroom wall.
  3. Exhibition tool: museums and galleries increasingly need to showcase websites in their exhibits.

The goal was to quickly build a prototype in a week and see how far I could get. Quite far! the project is now live.

Playlist detail page
Detail page for a playlist.

Fullscreen display. The mouse can be hidden by moving it to the top-left corner.

So why create a forum post? Well, the showcase is used to show all the wonderful aspects of the project.

But during the project, which was my first Drupal 8 project and my first Drupal project in about a year, I came across a lot of small niggles and questions. I thought I’d share them here.

If this list gets you down, just stop reading 🙂

What I loved

– Blocks placement has tabs for each theme. I’m not sure if this was there before, but I liked it.
– Module and theme directory right in the root. Sweet. Very nice and intuitive for beginners.
– Views is still amazing (once you understand it).
– Layouts. It’s rudimentary, but it’s nice.

What was sub-optimal

May of these things are undoubtedly caused by my sillyness and lack of knowledge. But that is representative for a lot of sitebuilders, so please don’t judge too harshly.

Installing a module twice?
– Install a module. Ok.
– Then I wanted to enable it. but the button at the bottom of the module list says… install? What, again?

– rename second button ‘enable’ (prefered)
– rename first install button ‘upload’.

After uploading a new module
Why is the install-to-enable process not more streamlined? WordPress does this well. I’d like to install-and-enable if possible, and then get an overview of links (or just tips) where I can change settings for the new module.

The page yousee right after uploading a module: it’s one of those places that has so little styling it’s amazing. I feel like I’m in some kind of no-mans-land, and that what I am doing is dangerous and ‘out of the box’. This doesn’t fill me with confidence.

It could also give some more details like
– The name of the module/theme you just installed could be more prominent. Sometimes I click away to a tab, come back a youtube video later, and then I should be able to pick up where I left quickly.
– Some extra details could be shared like “we just downloaded and unzipped the ‘XXXX’ Module for you. The files have been placed in the modules/XXXX folder”. This is useful in case of some epic error where the user wants to delete that folder via FTP.
– A button to open the website in a new tab. If the user goes there and sees that all hell has broken loose, then he/she could go back to the install tab and do an uninstall from this ‘no mans land’.
– Some details on where you will be able to change settings. Heck, if you could immediately enable it (if there are no dependencies), then a shortcut to these pages would be great
– A shortcut to an ‘how to use this module’ help page would also be great here.

When you try to install a module through the interface (why searching is not built-in yet is another story..), if that module is already installed are told “Module name is already installed.”. It would be nice there was a link on that page to the modules page, so you can enable it.

Permissions, where are you?
I still keep looking for Permission in the wrong place. It’s so hidden as a small little tab under people. It wasn’t intuitive I expected it under settings.

Permission settings.
The permission to sign-up as as a new user is not on he permissions page.

Better admin menu
Why isn’t a dropdown admin menu standard? It’s great!

Views: some fields/contextual filters don’t have names or details.
Some of them are mysterious. ID? UUID? What are these? Why don’t these have a little explanation like the rest? Is ID the nodeID?

Sometimes in views a ‘master’ item will appear.
Like a pokemon!
Why does this happen? What does it mean?

I am still amazed at how incredible Views is.

The Title should behave like a field.
In the teaser display settings I can’t hide the Title?

Default output on the pages has no css ID/Classes whatsoever.
I expected something about this under widget settings, like “add default class” of “add CSS ID/CLASS”. Now that would have been useful.
Module “Field Formatter Class” to the resque.

Under field details, in the ‘operations’ button, there is something about Storage settings. Links to settings pages under these buttons generally also have a tab at the top of the page.

Content display tab: what is ajax (not) doing?
If you change the layout setting something ‘ajaxy’ is going on, with the little spinning ball. But what exactly? It’s not saving the new order, since you still have to hit the save button for that.

This creates a situation where you have the worst of both worlds: you still have to hit the save button (by the way, with blocks this is not needed). But when hit the save button before the ajaxis done, it might be risky (maybe it isn’t, but this used to be a problem with Views, so I’ve learnt to be careful).

The blocks and fields connundrum
I have finegrained control over where I place fields..
I have finegrained control over where I place blocks..

But they clash.

And there are weird things, like how the title must be positioned with the blocks interface, and not the fields interface, which would make more sense. I just want to show the category tag at the top of the page, right before the title. As the Japanese would say: “is very difficult”.

I would love to be able to place fields and blocks in the same interface. Just one interface to position everything, that would be great. Or at the very least that they work together well.

Views grid
The whole world has gone responsive, but there is still no responsive grid view in Views. The grid just gets squished as always. I still have to use the “make the column one item wide” trick.

Unexpected deletions
Now this is serious. I wanted a custom block to no longer be displayed via the block system, because I had now placed it in the footer of a view.
When I removed that custom block using the blocks interface, to my surprise it had deleted it.. and it had also deleted the entire view what the block had become part of! Whoa. That shouldn’t work like that. The block was still there in the custom block library. But the view was gone.

Perhaps it’s a fluke: as the custom ID I had put in the system block name (not the ID number, because I couldn’t find that at first). It had worked, so I figured this was what was meant by ID here.

It’s one of those moments where you think “Is there an undo button in Drupal? Could there be?”

Also: disable and remove are poorly worded. With disable I expected.. well, that it would just be grayed out temporary, like for testing.
I didn’t expect “remove” to mean “delete”. But when you check where the “remove” link goes, you see that it goes to a delete page. Then just call it delete. Because then I would’t have tried it.

Captcha questions setting.. is under admin/content?
Why not under security or some such? A captcha question is not really content, it’s more of a security thing? If it turned up as a field, then perhaps. But it doesn’t unfortunately.

Quick custom block edit
On the blocks placement page, it would be nice to have a shortcut to edit a custom block (next to the “disable” and “remove” option).

“Are you sure you want te delete block 152”
When you delete a custom block, if shows you the block number instead of the name when it asks “are you sure”. Well I don’t know, I’ve never seen that number before..
This might sound silly, but when you’re working on a slow live Drupal site, you tent to do two things at once. Sometimes you’re just not sure if you clicked the right block, etc.

Module management: no multitasking?
I can’t enable and disable modules in the same go? If I tick a new module (ban), then I can’t at the same time remove another one.

Ah, you have to go to the uninstall tab now. That is a bit odd. Perhaps an “install” tab, where the ‘default/core’ modules can be enabled, might be a nice idea. Shame, being able to disable a module without deleting its data was quite useful. I read that it lead to to much confusion. But perhaps that was in the naming?

Different HTML for Add and Edit?
After creating and polishing the CSS for adding a page, I then went and edited an existing page to see how that looked.. Well, almost everything was different. Apparently Drupal outputs different form html depending on whether you’re editing or creating anew? Why? Shouldn’t default behaviour be that they are almost identical?

There’s even a page describing why it’s great that they are the same: https://www.drupal.org/node/314444

Ah, this is partially covered by the admin theme options. Somehow having an admintheme means it will be used for adding content, but not for editing. Odd.

How to get rid of revisions
Even though I had tried to disable revisions for users by setting all permissions to minimal, they still got a “add what’s new in this revision” field in the form.

I first looked for revisions settings under “settings – workflow”. Nope.
I when checked that it wasn’t a field I could disable in the content type. Nope.

That form was also very unwieldy and difficult to understand.
“Create new revision”, “Revision log message”
When it’s the first one, maybe don’t show the “revision information” handle on the left side (it was the only handle)?
This could be done in the theme I guess.

Revision for dummies?
There seems to be an assumption that Drupal is mostly used by content managers in organisations. But when you use drupal as a public service this is all too much. The Simplify module is great here, it removes a lot of details.

I would love a “revisions for dummies” option where the user doesn’t have to do anything or see anything about revisions, except a “go back to previous saved version” button. Once they’ve done that, THEN perhaps show them a list that goes back even further. But just having one backup is a great option for websites where anyone can sign up.

Published as a checkbox.
I’ve read that this is coming again, yay. The current “save and keep published” buttons are a bit unwieldy.

I originally wanted to have users be able to create truly private content, where they would need to log in to see it. But I tried every permission setting to get it to work. I also tried a module that promised a button, but this turned out to actually be a tab instead.

In the end I created a normal checkbox field, and just hide the content in the views if it’s not checked. This is more “unlisted” than “private”. But it’ll have to do for now.

Ok, that’s a lot of notes. These are not meant as a negative, but more as a “I was a test user and this is what I ran into”. A lot of these things are probably down to my lack of knowledge. But there are many users like me.

Drupal version: 

Source: https://www.drupal.org/taxonomy/term/25/feed