adobe / aem-core-wcm-components

Standardized components to build websites with AEM.
https://docs.adobe.com/content/help/en/experience-manager-core-components/using/introduction.html
Apache License 2.0
728 stars 734 forks source link

[RFC] Carousel Component Requirements #188

Closed gabrielwalt closed 5 years ago

gabrielwalt commented 6 years ago

[Request To Comment] To anybody who intends to use the Core Components, please provide your feedback about the following requirements for the Carousel component. We want to make sure that we build a component that fits your needs, so don't hesitate to tell us how that component should work, so that you will be able to use it.

User Story

As an author, I want to create a carousel on my page, so that a rotating list of teasers is displayed to the visitors.

Acceptance criteria

Behavior for the page visitors

Editing capabilities for the authors

Notes

Wireframes

Example of a possible appearance for page visitors:

Possible authoring with placeholders that unfold like accordions to edit the different carousel items:

Possible edit toolbar dropdown to select the item to edit:

Possible authoring with the different carousel items as tabs in the edit dialog:

vladbailescu commented 6 years ago

I would rather we don't enforce the type of component that can be used for the carousel and accept any component (text, title, image, teaser, list etc.). What would make the carousel different from the container would be the possibility of switching between items (manually or automatically). For editing the items I would rather we rely on the native editing dialogs of each component.

reusr1 commented 6 years ago

you may want to consider placement and alignment of the overlay text as left, right, center. It should be easy to allow for full page with and height of the carousel and allow for videos to be placed into a carousel. It may also be a good idea to use a separate editor view to manage just the slide show to make editing large slide shows easy (use case for 10 to 100 slides).

jckautzmann commented 6 years ago

@reusr1 Thx for your feedback. WRT editing of a large slide show (100 slides), what exactly do you have in mind? A grid view made of small cards for each slide? Something else? Sketches are welcome :)

anthonycaccese commented 6 years ago

Reading the page visitor notes is it safe to say that one of this components core use cases is being as a teaser/promotional list of pages?

If so I figured it might be helpful to show a walkthrough of how we handle the authoring aspect of components like this in our current instances.

Essentially we built a custom touchUI interaction using the combination of an accordion and a multi-set.

And we did that to allow for the following workflow patterns:

Here is a video walkthrough: https://www.dropbox.com/s/7ycvovunxxo7nlx/f5a4e7efb3414d048f456e03796d9bc1.mp4?dl=0

Granted our implementation doesn't yet account for inline editing so we are starting to think through inline edit applied to the workflows I demo in the above video (drag and drop, metadata update and overrides). And also this is fairly custom currently so we are looking at ways to build a pattern like this more natively in touchUI if possible.

Hope this helps think through possible options for an authoring pattern and please if you have any questions I am up for talking any time.

jckautzmann commented 6 years ago

@anthonycaccese Thx a lot for your feedback and for your valuable demo! We have something similar in mind and are considering using a multifield widget to edit the slide title and to re-order/delete slides. Editing the slide would happen on the page by selecting the slide and opening the edit dialog of the slide component. Adding a slide would happen by dragging & dropping an allowed component directly to the page. We'll hopefully soon provide a "skateboard" version of it, stay tuned!

vladbailescu commented 6 years ago

One of the ideas we're exploring in parallel to the edit dialog is to provide a toolbar widget/dropdown that allows switching carousel items and reordering them:

https://drive.google.com/file/d/1yLCGqOUm93ZkbvTmiUc6lpxD43kpyK3C/view?usp=sharing

For adding, editing and removing slides/items in the carousel the normal editing options would be used. You can check a proof-of-concept at https://github.com/Adobe-Marketing-Cloud/aem-core-wcm-components/tree/carousel-toolbar-dropdown

znikolovski commented 6 years ago

Have we considered a use case where we construct a carousel out of a collection? We could provide a specific carousel item structured content fragment which could be included in the collection (to denominate whatever non-DAM asset we want to reference within the Carousel).

Collections are also orderable and similar to the way the Experience Fragment component toolbar allows to deeplink into the associated XF, so too the carousel can link back to the collection.

Lastly, this would mean that we can reuse the collection for more than one carousel (without the help of experience fragments)

richardhand commented 5 years ago

Thanks to all who contributed ideas to the Carousel [RTC]! With the recent 2.2.0 Release of the Core Components we have a first version of the Carousel Component available and will therefore be closing this issue.

The great ideas here that didn't make it into the release (ability to define Carousel items from a collection / improved editing of large scale slideshows etc.) we have tracked and hope to introduce as future enhancements.

For future ideas for the Carousel, or any other component, feel free to create a new GitHub issue.