Problem/Motivation

This is a followup issue for #1875252: [META] Make the block plugin UI shippable. In that thread, discussion centered around making the block's UI "shippable", due to multiple UX issues.

Proposed resolution

An improved Block UI was proposed in #67 on the issue above. This UI merges the two existing block management pages into a single UI.

The main changes are that the two block screens are merged together, and the interface for adding a block is now a revealable accordion on the left side of the block placement interface.

This UI is outlined in https://projects.invisionapp.com/share/6AESEWGY#/screens/7279850.

Remaining tasks

  • Rework the theme block listing at admin/structure/block to match that provided
  • Remove the page/UI for adding blocks known as "Place blocks", at admin/structure/block/list/block_plugin_ui%3Atheme-name/add
  • Rework the interface for adding custom blocks to remove Region-specific settings
  • Add the collapsible block list to the updated listing page
  • Add the modal interface for adding a block to a region

Related, with further UX implications

CommentFileSizeAuthor
#24 2014191-24-block-ui.patch32.17 KBxtfer
#8 blocks.png85.79 KBtkoleary

Comments

xtfer’s picture

Assigned: Unassigned » xtfer
Category: feature » task
Issue tags: +Blocks-Layouts, +If SCOTCH fails, +Block plugins
xtfer’s picture

@EclipseGC has sent me the Fireworks file for this work. I'm going to work on it in parallel with issues relating to the Block revisions UI.

#1984582: Add views support for custom blocks
#1984588: Add Block Content revision UI

tkoleary’s picture

@xtfer @bojhan

Awesome! Bojhan and I have been discussing some minor changes to that design. He has a copy of the file as well and may have altered it already. I'm going to ping him in IRC and point him here so he can share the latest design.

jessebeach’s picture

Awesome @xtfer. Post patches often while you work and so we can iterate quickly on this issue.

xtfer’s picture

@tkolery @bojhan

Yes, please do.

@jessebeach

No worries, will do. Haven't got anything yet. ;)

larowlan’s picture

gábor hojtsy’s picture

@xtfer: how is it going?

tkoleary’s picture

StatusFileSize
new85.79 KB

@xtfer

Bojhan revised the design to apply the seven styles (from the new style guide) and removed the concept of the slide out drawer in favor of using the meta information paradigm already implemented in the content creation page.

I like the fact that this leverages an existing pattern and that it removes the need for new javascript. I am concerned that it may not scale but we can iterate on it as we go to mitigate that if it proves to be a problem, perhaps by introducing internal scroll into the categories if they exceed the length of the form.

Blocks UI

gábor hojtsy’s picture

@xtfer: are you using a sandbox to work on this? Are you still working on this? It is kind of important we get this done in the upcoming 2 weeks in case there are API changes needed to implement it (also to help validate the existing work from SCOTCH).

xtfer’s picture

I'm working on it, but its like untangling spaghetti. Hope to have something up tomorrow.

gábor hojtsy’s picture

Yay, looking forward to it!

yoroy’s picture

Woohoo! Didn't catch that this was spun off. I know we've been looking for more applications of the right sidebar as we introduced it on the create content screen. This looks like a very good candidate!

gábor hojtsy’s picture

@xtfer: should we try to convince someone else to work on this?

xjm’s picture

Priority: Normal » Critical
Issue tags: +Usability

Note that the whole PluginUI business is currently only used by the block module and never underwent a thorough code review, and it's probably almost certainly unnecessarily abstracted. We might need to mark it deprecated if we can't remove it entirely by code freeze, but ideally we should try to get this done in the next 10 days.

Bumping to critical; this is release-blocking.

xtfer’s picture

Issue tags: -Usability

@Gábor Hojtsy: If someone else wants to, thats fine. I'm still going, just very busy. I'll post a WIP today.

xtfer’s picture

Issue tags: +Usability

Dropped the tag somehow...

gábor hojtsy’s picture

@xtfer: you don't need to completely solve anything in the first patch :)

jessebeach’s picture

WIP is totally fine @xtfer! Each of us is an expert on some little part of Drupal. Sometimes it takes a village to build something complicated.

lewisnyman’s picture

I have a bit of late feedback (I missed the shift to the new issue).

I'm not sure if moving the place block functionality from a modal to a sidebar is an improvement for three reasons:

  1. This functionality is always on whether you need it or not, it adds visual noise to the page. The beauty of a modal is the functionality only appears when you need it then disappears.
  2. The "place block" title no longer makes sense, it's an action, which implies you click on it to do something. This can be easily fixed by making it more descriptive of the content below it. “ Available blocks” doesn't sound right but something similar would work.
  3. There's no way this will work well on mobile. I understand we are aiming low here but I'd rather we didn't introduce new interfaces that are not very usable on mobile. A modal solution would be much better.
lewisnyman’s picture

Also, I just realised that the dashboard module had the UI to solve this exact problem. Maybe we should just use that? :-)

Bojhan’s picture

@Lewis The Dashboard UI was horrible, I don't think many people actually used that. The reason we are not using a modal is primarily because its moving the "add" functionality further away.

1. Yes, this is unavoidable and a sad downside of this solution.
2. Agreed, we should re title it.
3. This will actually work on mobile, because when you click a block - you will get a modal to configure it, this includes a region selector. This is also needed for a11y purposes. If the modal is mobile friendly, . the interaction itself will be mobile friendly

jessebeach’s picture

The following interaction flows are not yet defined by designs (or I don't know where to find them):

  • Menu links (shown in a mockup)
    • Block type
    • Blocks
  • Add block type form. Requires specifying
    • Name
    • Description (optional)
    • Fields
  • Edit block type form
  • List of blocks (missing!)
    • Where is the access point? A menu link? I don't see this in the current design.
    • This is the page that will list blocks and provide operations for each one like edit and delete
  • Add block form. Requires specifying:
    • Step 1:
      • Chose Block type (if more than one exists).
    • Step 2, details form:
      • Title
      • Region placement (optional)
        • If Region is specified, then we create a block and an instance of that block at the same time. Both have the same name and description.
      • Fields
      • Visibility (optional, depends on Region)
        • If Region is specified, then visibility rules must be exposed.
      • Revision settings
  • Edit block form
  • Place a block interaction: Drag/drop? Keyboard UX?
  • Place a block details form. Requires specifying:
    • Title
      • Pre-populate with the parent block title
    • Visibility rules
    • Region placement
      • Pre-populated if this form was opened because a user associated a block with a region e.g. by drag/drop

If designs exist for these flows, please link to them in the issue summary.

I just had this thought that a placed block might be analogous to a view mode of an entity.

jessebeach’s picture

Issue summary: View changes

Added a related issue

jessebeach’s picture

Issue summary: View changes

added the list of forms

jessebeach’s picture

Title: Implement the improved block management interface » Implement the block-by-theme listing page

Updating title to reflect the reduced scope of this issue. This will no longer be the "implement the Blocks UI" issue. That goal is too large and amorphous. Instead, we'll track the many sub-issues in #1875252: [META] Make the block plugin UI shippable and break the effort down into manageable chunks.

xtfer’s picture

StatusFileSize
new32.17 KB

Sorry for the wait, I've been doing 12hr days this past week. Here's the WIP. I havent tested it to make sure its functional, just snapshotted it on top of today's HEAD.

If someone else wants to pitch in feel free, but I will try and find more time.

xtfer’s picture

@jessebeach A lot of what you are looking for is covered by the invision mocked linked in the issue description, however yes this is basically just to rebuild the theme block interface.

yoroy’s picture

Heads up that #2029321: Provide list and form controllers for EntityViewMode and EntityFormMode is evolving to having a similar setup: a list of sections, where you can add stuff to each. Difference is you create new ones instead of adding existing ones (view modes in that case over there). Would be good to see if we should try and match these interactions or not. (The 'Add X' button for each section as in https://drupal.org/files/Layout.png would cover both?)

xjm’s picture

Status: Active » Needs review

NR for the bot, then we can set it back to NW. :)

Status: Needs review » Needs work

The last submitted patch, 2014191-24-block-ui.patch, failed testing.

xtfer’s picture

Ouch. The predictable pain of failure.

jessebeach’s picture

Priority: Critical » Normal
Status: Needs work » Postponed

De-prioritzing and postponing on #2055853: [meta] Improve the place block UX; Separate interaction from the create block UX; Improve the existing blocks-by-theme layout, which is a much more narrow scope. After #2055853 is complete, we can reevaluate the further improvements we have time to layer in in this issue here.

xjm’s picture

Status: Postponed » Closed (duplicate)

I actually feel that this is pretty much a duplicate at this point. If we want to add specific additional improvements following #2055853: [meta] Improve the place block UX; Separate interaction from the create block UX; Improve the existing blocks-by-theme layout, let's file them individually and track them in #1875252: [META] Make the block plugin UI shippable.

xjm’s picture

Issue summary: View changes

removed list of forms