1 / 19

DLM Status Update

DLM Status Update. Topics. Channel Parameters Fragment Manager Parameter Processing Pipe Schedule. Channel Parameters. ChannelStaticData setParameter(key, value) setParameters(Map) Store() Persists in user’s Layout, honors user overridable settings. Fragment Manager. Two Phases 1 st

joanne
Download Presentation

DLM Status Update

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DLM Status Update

  2. Topics • Channel Parameters • Fragment Manager • Parameter Processing Pipe • Schedule

  3. Channel Parameters • ChannelStaticData • setParameter(key, value) • setParameters(Map) • Store() • Persists in user’s Layout, honors user overridable settings

  4. Fragment Manager • Two Phases • 1st • Replaces dlm.xml • Still edit fragment layouts via separate accounts • Pushed/Subscribed fragment • Disable/Enable • Audience Determination using Groups Manager • Localizable • Granular Permissions • Migration (dlm.xml to up_dlm_fragments)

  5. Fragment Manager • Two Phases • 2nd • In-session Fragment Layout editing • Integrated Modes

  6. Parameter Processing Pipe • History • UserInstance Refactoring • processUserLayoutParameters() • LM processLayoutParameters() • I/M Initial work (Tension) • LM must remain oblivious to the structure and theme • But Structure rules for “Add Channel” very simple

  7. Parameter Processing Pipe Current Call Flow UserInstance LayoutManager processLayoutParameters() getUserLayout() SAX event stream

  8. Parameter Processing Pipe • History • I/M Initial work (Tension) • LM must remain oblivious to the structure and theme • But layout rules often much simpler than can be expressed in a general, non-structure layer • Parameter Processing Pipe

  9. Parameter Processing Pipe New Call Flow UserInstance DistributedLayoutManager processLayoutParameters() ProcessingPipe getUserLayout() SAX event stream

  10. Parameter Processing Pipe New Call Flow UserInstance DistributedLayoutManager processLayoutParameters() IParameterProcessor IOptionalParameterProcessor getUserLayout() ISAXProcessor SAX event stream

  11. Parameter Processing Pipe • Package: org.jasig.portal.layout.dlm.processing • IParameterProcessor • processParameters(UserPreferences, HttpServletRequest) • setResources(IPerson, DistributedLayoutManager) • IOptionalProcessor • isFinished()

  12. Parameter Processing Pipe • Package: org.jasig.portal.layout.dlm.processing • ISaxProcessor • Content Handler methods • getCacheKey()

  13. Parameter Processing Pipe • Package: org.jasig.portal.layout.dlm.processing • ProcessingPipe Class • Implements IParameterProcessor • Methods for acquiring “Entry Point” and “ExitP Point” Content Handlers • getCacheKey() indicative of which Sax processors participated in the Sax event stream processing. • getEntryContentHandler() ContentHandler • setExitContentHandler(ConentHandler)

  14. Parameter Processing Pipe • DistributedLayoutManager • processLayoutParameters(…) • processingPipe.processParameters(userPrefs, request); • getUserlayout(Node n, ContentHandler ch) • processingPipe.setExitContentHandler(ch); • ch = processingPipe.getEntryContentHandler(); • xfrmr.transform(new DOMSource(n), new SAXResult(ch)); • getCacheKey() • processingPipe.getCacheKey() + ":" + this.cacheKey;

  15. Parameter Processing Pipe • Spring Configured (dlmContext.xml) • Fixed Processors List • OptionalProcessors Map • OptionalProcessor selectable via request parameter uP_dlmPrc=<key>, persists until replaced or asserts isFinished() • Can participate in Parameter Processing and/or SAX processing

  16. Parameter Processing Pipe • Example Processors • IParameterProcessor example: • ExampleStickyTabEnforcer : sets “activeTab” parameter in StructureStylesheet UserPreferences to tab with title, “Sticky Tab”. • ISaxProcessor example: • ExampleBookmarksRemover : strips all SAX events related to Bookmarks channel.

  17. Parameter Processing Pipe • Pluggable: • Structure/Theme Specific Processing • Flexible: • custom request parameter processing • injection of structure and theme stylesheet parameters, channel and folder attributes, etc. • Injection or removal of layout content • Uses? • Integrate Modes, Drag and Drop, etc.

  18. Schedule • Channel Parameters (fall 05) • Fragment Manager (post Luminis 4.0) • Parameter Processing Pipe (this week) • I/M (post Luminis 4.0+)

  19. Questions?

More Related