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

Public programs/actions #100

Comments

@srenault-meeds
Copy link
Collaborator

srenault-meeds commented Oct 11, 2023

Rationale

We aim to help our leaders (platform admin) to showcase their programs and actions in the public site and to make it happen, we have to update the way programs with "public" / "open" audience are considered.
Indeed, currently, even actions from a program for which the audience is an open space cannot be listed to logged in users.
This reduce the onboarding and this requests to the administrator to check, to look for default spaces, etc.

So we need to make it more simple and easier to manage.

1. Functional Requirements

Top User Stories

"Public" term meaning

If platform is closed, then programs are not public to anyone, only registered users can see it from actions / programs page.

  • programs which the audience is open are listed in those pages as well as actions and leaderboard

If platform is opened AND public site made visible:

  • programs which the audience is open are listed as well as actions and leaderboard
  • actions page is listed in the topbar (public page) AND leaderboard, actions and programs are listed in the overview page of the website page

Access to public programs and related actions

When it comes to try announcing an achievement for a program that is considered "open", then it proposes you to participate.
Public site access case:
If not logged in, then you are sent to the login page

Access from the platform as logged in user:
If not yet member of the space, then you can participate AND you are considered member of that space

Impacts

  • Program / actions
  • Space membership

Gamification

When a program's audience is an open space, then all user can see the actions.
By participating to one of the action, then the user is considered member of the space
If the action is automatic, propose to participate when not user yet so the user becomes member of the space.

Notifications

NA

Analytics

NA

Unified Search

Make the "public" action searchable from the unified search even if not member of the audience

2. Technical Requirements

Expected Volume & Performance

The algorithm of programs retrieving will change to retrieve the list of programs where the user is member + (new condition) the program has a Space with Open Registration. To not having to request spaces each time the list of programs are retrieved (lower the performance thus the UX), the Space Registration information has to be duplicated in Programs. this information has to be of type Enum to optimize the storage size (which will not considerably increase considering the number of programs that a platform can have).

Security

The endpoints programs, actions and leaderboard endpoints has to be publically accessible and make the access restriction made in Service layer.

Upgradability

The existing programs has to follow the new business rule where the program becomes publically accessible if the corresponding space audience is Open to registration.

Feature Flags

No need to feature flags.

3. Software Architecture

Security

The REST endpoints gamification/rules, gamification/programs and gamification/leaderboard/rank/all to to be publically accessible. The user information has to be retrieved in those endpoints to not having to expose publically the endpoint of identities (v1/social/users).

Access

The portlets programsOverview, challengesOverview and topChallengers has to be reworked to be publically accessible with the 3 endpoints mentioned above only without additional endpoints.

Services & processing

When updating or creating a program the Program Visibility has to be stored in the program, following Space registration. A space listener has to be implemented to update the visibility each time the space registration is updated.

Data and persistence

We will have to add in Database Table GAMIFICATION_DOMAIN the new field VISIBILITY of type INT in order to hold the Visibility type: either OPEN or RESTRICTED enum ordinal value. The default value of enum has to be RESTRICTED = 0.

Migration strategy

The existing programs has to be migrated to hold the value of Space Registration Type.
To do this:

  1. The list of spaces will be retrieved from programs list
  2. Only OPEN Registration spaces will be filtered
  3. Update using one query all programs having as audience one of the OPEN Registration spaces or no audience at all
@srenault-meeds
Copy link
Collaborator Author

Open to review @margondicco

@srenault-meeds
Copy link
Collaborator Author

Hello @margondicco Can you please take a look at this one?
Thanks

@margondicco
Copy link

Hello Go fonc :-)

@boubaker boubaker removed their assignment Oct 26, 2023
@boubaker
Copy link
Member

Ready for Tech review by DAO members (eXo: @rdenarie )

boubaker added a commit to Meeds-io/social that referenced this issue Oct 27, 2023
…ds-io/MIPs#100

This change will change the permissions added to introduce Middle top bar navigation of current site to let it accessible anonymously on public site. In addition, this change will enhance  component UI to allow displaying a user details without accessing to identity REST endpoint.
boubaker added a commit to Meeds-io/gamification that referenced this issue Oct 27, 2023
…s Open - MEED-2811 - Meeds-io/MIPs#100

This change will introduce new business rules to allow open the access to program details and its associated rules when the Hub access is open. At the same time to have a better performances to request the programs, the Space Registration startegy is duplicated in Program Table and thus a migration procedure has been elaborated to make the change on existing programs.
boubaker added a commit to Meeds-io/analytics that referenced this issue Oct 27, 2023
…EED-2811 - Meeds-io/MIPs#100

This change will move the definition of analytics listeners to Webapp to avoid instanciating them when referenced and used in other addons in the context of Unit Tests.
boubaker added a commit to Meeds-io/meeds that referenced this issue Oct 27, 2023
…e - MEED-2811 - Meeds-io/MIPs#100

This change will introduce the actions new page and will add Programs and actions widgets to the main public page.
boubaker added a commit to Meeds-io/gamification that referenced this issue Oct 27, 2023
…s Open - MEED-2811 - Meeds-io/MIPs#100

This change will introduce new business rules to allow open the access to program details and its associated rules when the Hub access is open. At the same time to have a better performances to request the programs, the Space Registration startegy is duplicated in Program Table and thus a migration procedure has been elaborated to make the change on existing programs.
boubaker added a commit to Meeds-io/social that referenced this issue Oct 27, 2023
…ds-io/MIPs#100 (#3105)

This change will change the permissions added to introduce Middle top
bar navigation of current site to let it accessible anonymously on
public site. In addition, this change will enhance component UI to allow
displaying a user details without accessing to identity REST endpoint.
boubaker added a commit to Meeds-io/gamification that referenced this issue Oct 27, 2023
…s Open - MEED-2811 - Meeds-io/MIPs#100 (#1275)

This change will introduce new business rules to allow open the access
to program details and its associated rules when the Hub access is open.
At the same time to have a better performances to request the programs,
the Space Registration startegy is duplicated in Program Table and thus
a migration procedure has been elaborated to make the change on existing
programs.
boubaker added a commit to Meeds-io/analytics that referenced this issue Oct 27, 2023
…EED-2811 - Meeds-io/MIPs#100 (#150)

This change will move the definition of analytics listeners to Webapp to
avoid instanciating them when referenced and used in other addons in the
context of Unit Tests.
boubaker added a commit to Meeds-io/meeds that referenced this issue Oct 27, 2023
…e - MEED-2811 - Meeds-io/MIPs#100 (#1226)

This change will introduce the actions new page and will add Programs
and actions widgets to the main public page.
exo-swf pushed a commit to Meeds-io/gamification that referenced this issue Oct 28, 2023
…s Open - MEED-2811 - Meeds-io/MIPs#100 (#1275)

This change will introduce new business rules to allow open the access
to program details and its associated rules when the Hub access is open.
At the same time to have a better performances to request the programs,
the Space Registration startegy is duplicated in Program Table and thus
a migration procedure has been elaborated to make the change on existing
programs.
boubaker added a commit to Meeds-io/social that referenced this issue Oct 28, 2023
…ds-io/MIPs#100 (#3105)

This change will change the permissions added to introduce Middle top
bar navigation of current site to let it accessible anonymously on
public site. In addition, this change will enhance component UI to allow
displaying a user details without accessing to identity REST endpoint.
boubaker added a commit to Meeds-io/social that referenced this issue Oct 28, 2023
…-io/MIPs#100

This change will move sites pages definition into sites.war extension to centralize the configuration of sites which will improve the maintainability and evolutivity.
boubaker added a commit to Meeds-io/analytics that referenced this issue Oct 28, 2023
…-io/MIPs#100

This change will move sites pages definition into sites.war extension to centralize the configuration of sites which will improve the maintainability and evolutivity.
boubaker added a commit to Meeds-io/gamification that referenced this issue Oct 28, 2023
…-io/MIPs#100

This change will move sites pages definition into sites.war extension to centralize the configuration of sites which will improve the maintainability and evolutivity.
rdenarie pushed a commit to Meeds-io/gamification that referenced this issue Nov 9, 2023
…1296)

Prior to this change, the program drawer labels 'Actions' wasn't
displayed anymore. This change will fix this behavior by introducing a
missing Vue Slot.
rdenarie pushed a commit to Meeds-io/gamification that referenced this issue Nov 9, 2023
…Ps#100 (#1297)

This change will Improve the hover effet on Gamification Widget to offer
a better UX when selecting programs.
rdenarie pushed a commit to Meeds-io/gamification that referenced this issue Nov 9, 2023
rdenarie pushed a commit to Meeds-io/gamification that referenced this issue Nov 9, 2023
rdenarie pushed a commit to Meeds-io/gamification that referenced this issue Nov 9, 2023
…eds-io/MIPs#100 (#1299)

This change will allow to retrieve the list of actions and programs from
overview widgets instead of a direct link to full page applications.
rdenarie pushed a commit to Meeds-io/gamification that referenced this issue Nov 9, 2023
…Ps#100 (#1300)

This change will allow to access rules from links shared from aggregated
site. This will allow to access actions from public site only when the
public site is accessible and the USER registration is made as open. In
fact, even if public site is published, when the User Registration is
restricted, the Actions page will be hidden and thus not publically
accessible.
rdenarie pushed a commit to Meeds-io/kudos that referenced this issue Nov 9, 2023
…-io/MIPs#100

This change will move sites pages definition into sites.war extension to centralize the configuration of sites which will improve the maintainability and evolutivity.
rdenarie pushed a commit to Meeds-io/perk-store that referenced this issue Nov 9, 2023
…-io/MIPs#100

This change will move sites pages definition into sites.war extension to centralize the configuration of sites which will improve the maintainability and evolutivity.
rdenarie pushed a commit to Meeds-io/wallet that referenced this issue Nov 9, 2023
…-io/MIPs#100

This change will move sites pages definition into sites.war extension to centralize the configuration of sites which will improve the maintainability and evolutivity.
exo-swf pushed a commit to Meeds-io/notes that referenced this issue Nov 9, 2023
…-io/MIPs#100

This change will move sites pages definition into sites.war extension to centralize the configuration of sites which will improve the maintainability and evolutivity.
rdenarie pushed a commit to Meeds-io/app-center that referenced this issue Nov 9, 2023
…-io/MIPs#100

This change will move sites pages definition into sites.war extension to centralize the configuration of sites which will improve the maintainability and evolutivity.
exo-swf pushed a commit to Meeds-io/task that referenced this issue Nov 9, 2023
…-io/MIPs#100

This change will move sites pages definition into sites.war extension to centralize the configuration of sites which will improve the maintainability and evolutivity.
exo-swf pushed a commit to Meeds-io/meeds that referenced this issue Nov 9, 2023
…e - MEED-2811 - Meeds-io/MIPs#100 (#1226)

This change will introduce the actions new page and will add Programs
and actions widgets to the main public page.
exo-swf pushed a commit to Meeds-io/meeds that referenced this issue Nov 9, 2023
…-io/MIPs#100

This change will move sites pages definition into sites.war extension to centralize the configuration of sites which will improve the maintainability and evolutivity.
exo-swf pushed a commit to Meeds-io/meeds that referenced this issue Nov 9, 2023
…io/MIPs#100 (#1229)

This change will introduce a new Listener Event configuration to update
'actions' page visibility switch Hub Access Type. In addition, this
change will use the 'Behavior container' of name
'UIOpenRegistrationContainer.gtmpl' to hide Gamification widgets from
Public page when the Hub access isn't Open.
exo-swf pushed a commit to Meeds-io/meeds that referenced this issue Nov 9, 2023
#1231)

This change will add JS variables to define site names:
- My Craft site: which will have 'Achivements' and 'Wallet' pages
- Engagement Site: which will have 'Actions', 'Programs' and 'Perkstore'
pages
- Default Site: all other applications will be added and referenced from
default site which may be different from public site.
exo-swf pushed a commit to Meeds-io/meeds that referenced this issue Nov 9, 2023
…#1233)

This change will introduce a new Behavior container that will display
its content only when there is no public programs. Besides, this change
will move another Behavior Container from Gatein-portal.
exo-swf pushed a commit to Meeds-io/meeds-qa-ui that referenced this issue Nov 9, 2023
Prior to this change, the Test case 'Programs Overview Widget sorted by modified date' has failed on CI.
This is due to changes made on MIP#100 to let programs with Open Space audience listed even not member.
This change will adapt the test case to consider Spaces with Validation registration type.
exo-swf pushed a commit to Meeds-io/meeds that referenced this issue Nov 9, 2023
exo-swf pushed a commit to Meeds-io/meeds that referenced this issue Nov 10, 2023
exo-swf pushed a commit to Meeds-io/meeds that referenced this issue Nov 10, 2023
exo-swf pushed a commit to Meeds-io/gamification that referenced this issue Nov 10, 2023
… - Meeds-io/MIPs#100 (#1283)

This change will introduce new labels that will be needed by new
Overview Page Widget Placeholders. (In order to activate a first sync of
crowdin using a new workflow)
exo-swf pushed a commit to Meeds-io/gamification that referenced this issue Nov 10, 2023
…1279)

This change will introduce a enw application to display 'Create Program
Button' application. In addition, this change will review the default
placeholder of Gamification Widgets to display simplified Label with
Icon.
exo-swf pushed a commit to Meeds-io/meeds that referenced this issue Nov 10, 2023
exo-swf pushed a commit to Meeds-io/meeds that referenced this issue Nov 10, 2023
exo-swf pushed a commit to Meeds-io/meeds that referenced this issue Nov 13, 2023
exo-swf pushed a commit to Meeds-io/meeds that referenced this issue Nov 13, 2023
SaraBoutej pushed a commit to Meeds-io/platform-ui that referenced this issue Nov 21, 2023
…#703)

Prior to this change, when a Tab list overflows comparing to its parent
container, the disabled arrow icon isn't displayed and a blank square is
displayed instead. This change will hide the arrow container when not
active.
@boubaker boubaker added this to the 1.5.0-M18 milestone Nov 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment