Flamingo - AppBar

Last modified by Vincent Massol on 2024/02/26 17:53

 XWiki
 Design
 Completed
 

Description

Related Proposals

About AppBar

Colibri vs. Flamingo

Main difference between Colibri and Flamingo is that:

  • in Colibri we have a 'Left Panels' and a 'Right Panels' zone, 
  • in Flamingo we have an 'AppBar' and a 'Panels' zone.

colibrivsflamingo.jpg

Functionality Extensibility

One thing to consider regarding the 'AppBar' is that at some point in the future we might want to extend/replace it with something else (like 'Hierarchy' or even 'Left Panels') depending on the Flavor.

leftfunctionality.jpg

We could do this by having a 'Collapsable' mechanism that would switch through the views depending on the need. 

collapseble.jpg

Differences between 'AppBar' and 'Applications' panel

 AppBar  Applications panel
Personalised = ideally the AppBar should be customisable per user, allowing selection of favorite applications  Global = all applications that are installed on wiki will appear in the panel
Having the need to be personalised, each application entry should be individual considered  It is a single panel, viewed as a whole
32x32px icons  16x16px icons from Silk set

Use Cases

UC: User should be able to customise it, selecting favorite applications per wiki
UC: Ideally: The customisation should be done via a Drag&Drop mechanism
UC: Alternative: The customisation could be done via a Favorite mechanism (specifying on the application's homepage that we want it to appear in the AppBar)
UC: Applications entry need to look good in Colibri and Flamingo (application developers would need to provide icon sources for both skins)
UC: Groupware Flavor should default to 'AppBar' view
UC: Documentation Flavor should default to 'Hierarchy' view

Implementation Considerations

Var 1. Using PanelClass objects to represent AppBar entries

It would allow the customisation of AppBar with the Panel Wizard

Var 2. Creating a new ApplicationBarEntryClass

Var 3. Creating a new Extension Point for AppBar

And have new UI extensions that reference it

Var 4. Reusing 'AddApplicationUIX' UI extensions

Var 4.A

Adjust the UX and add another param that contains a link to the 32x32 icon that is needed for Flamingo

Var 4.B

Parse the parameter value and provide a different folder if skin is Flamingo that will contain 32x32 images (but that are having the same name as the ones from Colibri set)

Var 4.C

Let the application developer attach an image to the ApplicationsPanelEntry page, use that image first, then fallback on a local set

Var 4.D

We could use initially the Silk icons 16x16, but provide some styling to make them bigger, something like we have on Features

Implementation Considerations about the Bar itself

Var A

The Bar is a new left column, in addition of existing panel columns or replacing the left panels.
barA.jpg

  • Pros:
    • Do not break existing panels behaviour
  • Cons:
    • Add a new concept to implement
    • Need to add a UI to select which applications the user don't want to have in the bar (a filter)

Var B

The Bar is a panel, in the left panel columns which would be resizable. It enables us to add more panels in the left columns after and before the applications panel
barB.jpg

  • Pros:
    • Reuse the existing panels mechanism
    • Could probably work with Colibri too, with minimal effort.
  • Cons:
    • Need to add the ability to select the width of the panel columns
    • Need to add a UI to select which applications the user don't want to have in the bar (a filter)

Var C

Each application provides its special panel, and the left bar is the standard left panel column which would be resizable.
barC.jpg

  • Pros:
    • Reuse the existing panels mechanism
    • Easy to add/remove an application in the left bar via the drag&drop feature of the panel wizard
    • Consistency (the UIs to change the panels and the app bar are the same)
  • Cons:
    • Need to add the ability to select the width of the panel columns
    • Each application should provide a panel
    • Hard to add a new panel automatically in the left bar when a new app is installed
    • Do not use the same data source as the old applications panel
    • Could become a mess in the panel wizard (too many panels)

 

Get Connected