Meeds-io / MIPs

The Meeds Improvement Proposal repository
0 stars 0 forks source link

App Registry (Existing Portlets) #139

Closed srenault-meeds closed 3 months ago

srenault-meeds commented 4 months ago

Rationale

The Meeds Layout Manager suggests adding apps listed in a registry. The current problem is that:

1. Functional Requirements

Top User Stories

As admin, I can manage apps to list for layout managers

Note: By default, permissions for instances = * or publisher in web-contributor group

As layout manager (publisher admin), I can access a modern apps list

Instances will be packaged as "product-based"

Additional items to consider

Explaination: https://www.youtube.com/watch?v=_CHWuTIvyog

Impacts

Gamification

NA

Notifications

NA

Analytics

Usage of portlet to create instances

Unified Search

NA

2. Technical Requirements

Expected Volume & Performance

Security

A permissions list has to be managed in portlet instances and categories. The users who are member of either administrators or/and Web Contributors group can access to the full list of instances and categories.

Extensibility

N/A

Configurability

In order to inject default applications and categories into the new Application Registry, we will have to use the JSON format for files instead of XML to make data injection independent from implementation.

Upgradability

No need to preserve the existing Application Categories to the new Model of Application Instances.

Existing Features

The Application Registry Services and app aren't useful anymore, thus we may need to design a new feature based on different data model. The spaces administration and layout editor applications listing has to be migrated to use the new model. The Social Spaces Services has to not rely on application registry anymore.

Feature Flags

No feature flag is needed

Other Non Functional Requirements

N/A

3. Software Architecture

Security

The Application and Category models has to allow to save a list of permissions. By default, the access permission has to be set to 'Administrators' and 'Web Contributors' when empty. The REST endpoints has to be set with @Secured("users") in order to allow fine Access Control Check.

Access

Services & processing

Data and persistence

We will reuse the existing data model of current application registry after dropping its content and deleting some columns (such as name and description wich has to be managed using TranslationService)

The new Data model of Application instances added in registry is:

AppRegistryModel

srenault-meeds commented 4 months ago

To check please @margondicco

margondicco commented 4 months ago

Go Fonc

Just one point

If needed, this list can be updated by configuration

without overwriting customizations

srenault-meeds commented 4 months ago

Ok thanks @margondicco Description updated

boubaker commented 4 months ago

Ready for tech review by DAO Members (eXo : @rdenarie )

rdenarie commented 4 months ago

Ok for me, go tech

boubaker commented 3 months ago

Meeds PRs:

eXo PRs (just to help FYI, don't hesitate to change @rdenarie if needed)

boubaker commented 3 months ago

Ready for test on ACCs and PRs available in comment

(cc @margondicco @rdenarie )

srenault-meeds commented 3 months ago

Ready for test on ACCs and PRs available in comment

(cc @margondicco @rdenarie )

Ok for me FYI @margondicco I let you check once more

margondicco commented 3 months ago

Hello ok tested and validated. Thank you @boubaker !!

rdenarie commented 3 months ago

Ok for me, you can proceed to merge

boubaker commented 3 months ago

All PRs merged. Thanks to all involved.