Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Site Layout Editor #175

Comments

@srenault-meeds
Copy link
Member

srenault-meeds commented Jan 16, 2025

Rationale

Admins cannot edit layout of site while it can be useful to review the layout provided by default in order to:

  • add app for footer, for newslist, etc. to be displayed in all pages of the site
  • hide section of the layout
  • manage differently the application in a topbar, in the sidebar, in the bottom bar

1. Functional Requirements

Top User Stories

Edit Site layout

Any site can be edited excepted the Meeds site and the global site.
If a site is listed in the sidebar, then it cannot be edited as well.
To edit the site layout, admins must access the sites management page.

Image

Blank Site template

A blank site template must be provided so admins can start from zero and so, they can edit the layout at their convenience.
This blank site template will provide a layout with all 4 site sections provided:

  • Side bar section (left one)
  • Tob bar section
  • Side bar section (right one)
  • Bottom bar section

These site sections are specific to site layout edition. Indeed, they have their own particularities.
Of course, the admin can hide it using the global option

Image

Site Section management

It is also possible to manage each section one by one.
Indeed, each section has its own characteristics:

  • Side bar section (right or left)
    • Option to show it or not
    • If shown, then option to manage the max-width
    • Additionally, option to manage style: background and text
    • Only one column can be used to add application

Image

  • Bottom bar section
    • Option to show it or not
    • If shown, then option to manage the max-height and the number of columns so multiple apps can be added
    • Additionally, option to manage style: background and text

Image

  • Top bar section
    • Option to show it or not
    • If shown, then option to manage the max-height and the number of columns so multiple apps can be added
    • Option to make the topbar fixed when scrolling with options to manage background on scroll
    • Additionally, option to manage style: background and text

Image

Addition of section

Sections can be added below the topbar or above the bottom bar
Each section added that way is a section we used to have when editing page.
That means we can use template section if needed.

Addition of Application

When adding an application in a site section,
Then it must be possible to manage its display as follow:

  • Only one application by column can be added
  • dragging the column to the right or to left adjust width of apps as well
  • If topbar or bottom bar, editing the application provides new options to manage the width of the app and the alignement of content
    • Width management
      • Auto fill (default value)
      • Adjust to application content
      • Set a fixed width
        Precision: this choice will impact other applications added to the site section
    • Alignement management
      • Horizontal: Left / Center / Right
      • Vertical: Top / Middle / Bottom

Image

Impacts

Gamification

NA

Notifications

NA

Analytics

NA

Unified Search

NA

2. Technical Requirements

Expected Volume & Performance

Security

The sites layout should be editable switch site edit permission property. All administrators should be able to edit any site layout even if not identified in the edit permission.

Extensibility

N/A

Configurability

The existing sites layout, predefined using XML, has to be updated in order to use the new Section Type definition.

Upgradability

The existing sites has to be upgraded to use the new site layout section definition. For Builtin sites, the upgrade has to be made automatically. But for the non-builtin sites, as for pages, when editing the site, a best effort migration should be made with a changes reminder and a sections list suggestion so that the administrator can relocate the applications manually.

Existing Features

The site templates layout has to be editable the same way for sites instances.

Feature Flags

N/A

Other Non Functional Requirements

N/A

3. Software Architecture

Security

The ACL algorithm of sites management will remain as is by allowing administrators to manage all sites in addition to the Site edit permission.

Access

  • A new Site Editor portlet has to be added in order to manage Sites Section Types.
  • The SiteLayoutRest has to evolve to allow retrieving Site Layout the same way the PageLayoutRest manages the page layouts.

Services & processing

  • The Site layouts definition has to evolve in order to allow defining layouts using the new Section Types:
    • Sidebar section Type: to be used in Left and right sections of a site layout
    • Banner section Type: to be used in Top and Bottom containers

Data and persistence

N/A

@srenault-meeds srenault-meeds moved this from Open to Submitted in MIP Board Jan 16, 2025
@srenault-meeds
Copy link
Member Author

@margondicco can you take a look at it please? Thanks

@margondicco
Copy link

Hello Go Fonc :-)

@boubaker
Copy link
Member

Ready for tec spec review by DAO memebrs (eXo : @rdenarie )

@rdenarie
Copy link
Member

Hello
Go tech

@boubaker boubaker moved this from Submitted to Accepted in MIP Board Jan 20, 2025
boubaker added a commit to Meeds-io/platform-ui that referenced this issue Jan 22, 2025
boubaker added a commit to Meeds-io/platform-ui that referenced this issue Jan 22, 2025
boubaker added a commit to Meeds-io/gatein-portal that referenced this issue Jan 22, 2025
This change will allow to store a Portal Site of type Draft in order to allow drafting the layout changes.
boubaker added a commit to Meeds-io/gatein-portal that referenced this issue Jan 22, 2025
This change will allow to store a Portal Site of type Draft in order to allow drafting the layout changes.
boubaker added a commit to Meeds-io/gatein-portal that referenced this issue Jan 22, 2025
This change will allow to store a Portal Site of type Draft in order to
allow drafting the layout changes.
boubaker added a commit to Meeds-io/meeds that referenced this issue Jan 22, 2025
This change will add a site layout editor page.
boubaker added a commit to Meeds-io/meeds that referenced this issue Jan 22, 2025
This change will add a site layout editor page.
boubaker added a commit to Meeds-io/meeds that referenced this issue Jan 22, 2025
)

This change will add a site layout editor page.
boubaker added a commit to Meeds-io/layout that referenced this issue Jan 22, 2025
This change will initiate a new porllet to allow site layout edition.
boubaker added a commit to Meeds-io/layout that referenced this issue Jan 22, 2025
This change will initiate a new porllet to allow site layout edition.
boubaker added a commit to Meeds-io/layout that referenced this issue Jan 22, 2025
This change will initiate a new porllet to allow site layout edition.
boubaker added a commit to Meeds-io/layout that referenced this issue Jan 22, 2025
…303)

This change will initiate a new porllet to allow site layout edition.
boubaker added a commit to Meeds-io/layout that referenced this issue Jan 22, 2025
This change will allow to designate the sections to display in a site layout.
exo-swf pushed a commit to Meeds-io/layout that referenced this issue Feb 6, 2025
Prior to this change, in order to select an existing system page
template with columns configuration, the content isn't retrieved in
existing templates list, thus it can't choose the adequate basic page
template to use. This change will enforce to retrieve the Page Templates
with its content when needed rather than relying on existing lit.
exo-swf pushed a commit to Meeds-io/layout that referenced this issue Feb 6, 2025
…/MIPs#175 (#338)

This change will allow to make the Sidebar widths dynamic with a max
width relative to screen resolution.
exo-swf pushed a commit to Meeds-io/layout that referenced this issue Feb 6, 2025
Prior to this change, when duplicating a site template, the form is displayed as it's about a new Site Template. This change will display the form as it was an edition of an existing Site template for better UX consistency.
exo-swf pushed a commit to Meeds-io/gamification that referenced this issue Feb 6, 2025
…DispatchedViewPortlet - Meeds-io/MIPs#175

This change will delete rendering of JSManager Tag when a single Portlet Application is requested to be displayed. This strategy isn't used anymore since the layout rendering is deferred and loaded using Ajax.
exo-swf pushed a commit to Meeds-io/kudos that referenced this issue Feb 6, 2025
…plication extension - MEED-8281 - Meeds-io/MIPs#175 (#567)

This change will allow to centralize the **system Kudos app** to be
served by `UIPortalApplication` extension rather than AddonContainers
added inside the `sharedlayout.xml` and `portal.xml` of standalone
sites.
exo-swf pushed a commit to Meeds-io/kudos that referenced this issue Feb 6, 2025
…DispatchedViewPortlet - Meeds-io/MIPs#175

This change will delete rendering of JSManager Tag when a single Portlet Application is requested to be displayed. This strategy isn't used anymore since the layout rendering is deferred and loaded using Ajax.
exo-swf pushed a commit to Meeds-io/notes that referenced this issue Feb 6, 2025
…plication extension - MEED-8281 - Meeds-io/MIPs#175 (#1304)

This change will allow to centralize the system **Terms and Conditions
app** to be served by `UIPortalApplication` extension rather than
AddonContainers added inside the `sharedlayout.xml` and `portal.xml` of
standalone sites.
exo-swf pushed a commit to Meeds-io/notes that referenced this issue Feb 6, 2025
This change will remove specificity of Drawer Overlays which will make the overlay opened by the Vue Drawer instead of the reusable component drawer 'exo-drawer'.
exo-swf pushed a commit to Meeds-io/app-center that referenced this issue Feb 6, 2025
…Meeds-io/MIPs#175

Prior to this change, the Draggable component is enabled on mobile. This change will delete this effect to enhance UX.
exo-swf pushed a commit to Meeds-io/task that referenced this issue Feb 6, 2025
…#175 (#458)

Prior to this change, the Draggable component is enabled on mobile. This
change will delete this effect to enhance UX.
exo-swf pushed a commit to Meeds-io/meeds-qa-ui that referenced this issue Feb 6, 2025
Prior to this change, the Sidebar drawer overlay was relying on generic overlay only. With Site Layout changes, the overlay can be provided from Sidebar App too. This change is changing the algorithm for searching for
opened overlay to consider both cases.
rdenarie pushed a commit to Meeds-io/meeds that referenced this issue Feb 6, 2025
)

This change will add a site layout editor page.
rdenarie pushed a commit to Meeds-io/meeds that referenced this issue Feb 6, 2025
…8239 - Meeds-io/MIPs#175 (#2795)

This change will add a configuration in `controller.xml` in order to
allow to retrieve Draft Site content using WebUI context.
rdenarie pushed a commit to Meeds-io/meeds that referenced this issue Feb 6, 2025
…EED-8202 - Meeds-io/MIPs#175 (#2817)

This change will enhance the definition of Public site by using new Site
Layout sections.
rdenarie pushed a commit to Meeds-io/meeds that referenced this issue Feb 6, 2025
…MEED-8281 - Meeds-io/MIPs#175 (#2829)

This change will allow to centralize the system apps and divs to be
served by `UIPortalApplication` rather than AddonContainers added inside
the `sharedlayout.xml` and `portal.xml` of standalone sites. In
addition, this change will upgrade the Builtin site layouts to use new
Site Layout Definition.
rdenarie pushed a commit to Meeds-io/meeds that referenced this issue Feb 6, 2025
 (#2831)

This change will fix the Sites Layout definition in order to introduce
'top-bar' attribute on Topbar Containers.
rdenarie pushed a commit to Meeds-io/meeds that referenced this issue Feb 6, 2025
rdenarie pushed a commit to Meeds-io/meeds that referenced this issue Feb 6, 2025
…D-8302 - Meeds-io/MIPs#175

This change will enable WebUI Tree Building Statically so that it becomes stateless and not related to current user session.
@rdenarie
Copy link
Member

rdenarie commented Feb 6, 2025

eXo Prs merged, rebase on develop-exo ok.

exo-swf pushed a commit to Meeds-io/gatein-portal that referenced this issue Feb 7, 2025
…1056)

Prior to this change, the Portlets specific JS in HTTP Headers wasn't
included since the 'jsManager' Tag is built before building the Portlets
content. This change will ensure to build the Portlet Header Markup and
JS dependencies before retrieving the JS Content.
exo-swf pushed a commit to Meeds-io/gatein-portal that referenced this issue Feb 7, 2025
…1056)

Prior to this change, the Portlets specific JS in HTTP Headers wasn't
included since the 'jsManager' Tag is built before building the Portlets
content. This change will ensure to build the Portlet Header Markup and
JS dependencies before retrieving the JS Content.
exo-swf pushed a commit to Meeds-io/gatein-portal that referenced this issue Feb 7, 2025
…1056)

Prior to this change, the Portlets specific JS in HTTP Headers wasn't
included since the 'jsManager' Tag is built before building the Portlets
content. This change will ensure to build the Portlet Header Markup and
JS dependencies before retrieving the JS Content.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment