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

[WIP] UP-4994: Enhance DLM to support pluggable content strategies (beyond 'the content is the layout of the fragment owner') #1120

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

drewwills
Copy link
Contributor

@drewwills drewwills commented Jan 23, 2018

https://issues.jasig.org/browse/UP-4994

Checklist
Description of change

DLM has a lot of flexible features, but it's ultimately restrictive as far as how you can define the content of a fragment: your only choice is content based on the fragment owner's (personal, database-persisted) layout.

We need more options than that. We need DLM fragment content based on pluggable strategies -- so the content of a fragment can be the ooutput of a custom algorithm.

This enhancement will allow us to produce fragment content based on things like:

  • Metadata matching (match user context info to portlet metadata)
  • Learning analytics data (users like you are interested in the following portlets)

Within the portal JVM, the Java type that encapsulates the nature of a fragment is UserView. We need to convert UserView into an interface-based abstraction (viz. IUserView) and support pluggable concrete implementations.

@ChristianMurphy
Copy link
Member

/cc @mairi, Marissa W, @asgrant, @bpowell

@ChristianMurphy
Copy link
Member

📓 an example use case for a pluggable strategy could be supporting a "recommended" portlet section in a layout. See https://groups.google.com/a/apereo.org/d/msg/uportal-user/1lgvmGAViys/lBE8Nt4MCgAJ for ongoing discussion.

@apetro
Copy link
Member

apetro commented Jan 25, 2018

Strategically, I wonder about the tradeoffs between "enhance DLM" and "replace DLM" strategies. But progress is progress. I'm fine with this: pluggable strategies in existing DLM will allow more experimentation with what layout management uPortal would more ideally have.

@drewwills
Copy link
Contributor Author

I thought you might feel that way @apetro.

FWIW I agree that "layouts" in uPortal could benefit from a profound transformation. Tactically, I'd prefer to tackle that transformation as an evolutionary process.

We provide some new options, they grow in popularity, and we allow the legacy support to recede (in ways).

If I had a week to do it, I bet I could "boil" the ILayoutStore/DLM code down -- until it was less than half it's current size -- without loosing a feature.

@ChristianMurphy ChristianMurphy modified the milestones: 5.1.0, 5.2.0 May 5, 2018
@ChristianMurphy ChristianMurphy modified the milestones: 5.2.0, 5.3.0 Aug 3, 2018
@ChristianMurphy ChristianMurphy modified the milestones: 5.3.0, 5.4.0 Oct 10, 2018
@jgribonvald
Copy link
Contributor

Hey, I will have nearly a such needs... I will need to request to an external app api to get an external user services content list (specific to the user), merge it into user portlet list and the content won't be known from our side, but we will need to get the possibility to add these services to favorites (as example).

@ChristianMurphy ChristianMurphy modified the milestones: 5.4.0, 5.4.1, 5.5.0 Dec 21, 2018
@ChristianMurphy ChristianMurphy modified the milestones: 5.5.0, 5.6.0 Apr 10, 2019
@ChristianMurphy ChristianMurphy removed this from the 5.6.0 milestone May 23, 2019
@ChristianMurphy ChristianMurphy added this to the 5.7.0 milestone May 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants