SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Navigation




Copyright © 2010. All rights Reserved, eXo Platform SAS
Navigation service
•  Low level API between the portal and the
   MOP
•  A data controller focusing on
  –  State management
     •  Historical problem
     •  Concurrent load/save/merge
     •  Correctness
  –  Model-less design
     •  Model API easy to plug
     •  Change notifications
  –  Performances
     •  Load what is necessary
     •  Built-in cache
             Copyright © 2010. All rights Reserved, eXo Platform SAS
Navigation service operations
•  Load
  –  Load a fragment of a larger tree
  –  Create a detached snapshot that can be modified
•  Update
  –  Update a fragment with the most recent state
  –  Suppose no transient changes
•  Rebase
  –  Same as update but cope with changes
•  Save
  –  Same as rebase but save to the persistent store

            Copyright © 2010. All rights Reserved, eXo Platform SAS
Data life cycle and flow
                                                 Rebased	
  state	
  




                                                                                         Persistent	
  state	
  
   	
  Checkout	
  state	
  




                               Copyright © 2010. All rights Reserved, eXo Platform SAS
Operation workflow

              Update	
               Rebase	
                 Save	
  


                              Get	
  fresh	
  copy	
  



                                           Rebase	
  changes	
  


                                                           Save	
  to	
  
                                                           storage	
  


                            Update	
  checkout	
  



           Copyright © 2010. All rights Reserved, eXo Platform SAS
Conflict resolution
•  The rebase operations takes a list of changes
   and replay on another tree, each change
   –  Operate on same input  OK
   –  Operate on different output  merge
•  Conflict solved example with (a,b)
   –  User 1 insert 1: (a,1,b)
   –  User 2 insert 2 and save concurrently: (a,2,b)
   –  User 1 saves: (a,1,2,b)
•  Conflict unsolved example with (a)
   –  User 1 insert 1: (a,a/1)
   –  User 2 removes a: ()
   –  User 1 saves: failure
             Copyright © 2010. All rights Reserved, eXo Platform SAS
Model-less design

•  Navigation are used for different purposes
  –  Internal UserNode objects
  –  GateIn API
•  NodeContext<N>
  –  <N> is the model / API : cares about usage
  –  NodeContext : cares about state
•  The NodeModel<N> factory
  –  Provided by the client
  –  Used by the service
            Copyright © 2010. All rights Reserved, eXo Platform SAS
Tree scope

•  Required by most operation performed on
   the tree
•  Defines what is loaded
  –  Scope.SINGLE
  –  Scope.CHILDREN
  –  Scope.GRANDCHILDREN
  –  Scope.ALL
•  Plugable eventually (visitor)

             Copyright © 2010. All rights Reserved, eXo Platform SAS
Node changes

•  Operations modifying the
   NodeContext<N> generate a flow of
   changes
•  Used to synchronize an existing data
   model based on <N>
  –  Used by the navigation editor to update the
     state
  –  Used by navigation portlet to determine if the
     navigation should be refreshed

           Copyright © 2010. All rights Reserved, eXo Platform SAS
Node filtering

•  The service has a built in node filtering
   capabilities
   –  Access control (inferred by underlying page)
   –  Time based: TEMPORAL nodes
   –  Use case based
      •  Navigation portlets don’t display SYSTEM nodes
      •  Navigation editor displays SYSTEM node but only
         for administrators



             Copyright © 2010. All rights Reserved, eXo Platform SAS
Internal API
•  UserPortal
  –  Models the relationship between a user and a
     portal
  –  Replaces the UserPortalConfig object
  –  Built on top of the NavigationService
  –  Defines notion of UserPortalFilter to filter
     navigations
  –  Resolve path to nodes
     •  Future legacy
     •  Emulation will be performed to redirect to correct
        page
               Copyright © 2010. All rights Reserved, eXo Platform SAS
Internal API

•  UserNode
  –  The <N> of UserContext
  –  Translates the localizable values (label)
  –  Remove notion of stored URI, instead URI is
     rebuilt from its path




               Copyright © 2010. All rights Reserved, eXo Platform SAS
Navigation controller

•  An effort started 6 months ago and mostly
   finished (85%)
  –  Decouple the request URL and the handling in
     the portal in a flexible and configurable
     manner
  –  Associate a unique resource to an URL (REST)
•  Will be merged after the new navigation
   service is done


            Copyright © 2010. All rights Reserved, eXo Platform SAS
URL handling

•  Navigation controller provides an API for
   generating URL from a resource
•  In particular the portal needs to generate
   URL for a given navigation node




           Copyright © 2010. All rights Reserved, eXo Platform SAS
Performances concerns

•  On default navigation, SQL activity was
   reduced by ½
•  On large navigation, SQL activity is
   dominated by the first 2 levels instead of
   the whole navigation previously
•  Other fixes were applied to handle
   numerous pages
  –  Better pagination support
  –  Functional changes
           Copyright © 2010. All rights Reserved, eXo Platform SAS
Roadmap
•  Navigation Service
  –  developed against exogtn 3.1.7-REBASED
     (very close to EPP 5.1)
  –  ported to exogtn 3.2.x for 3.2.0-beta3 (end of
     June) and GateIn trunk
•  Navigation i18n
  –  Will be part of 3.2.0-beta3 and GateIn trunk
•  Navigation controller
  –  The current work will be remerged after
     3.2.0-beta3 and finished

           Copyright © 2010. All rights Reserved, eXo Platform SAS
Next steps

•  Apply the same model to pages and
   layouts after GateIn 3.2




             Copyright © 2010. All rights Reserved, eXo Platform SAS

Weitere ähnliche Inhalte

Ähnlich wie Navigation Service

Apache Accumulo 1.8.0 Overview
Apache Accumulo 1.8.0 OverviewApache Accumulo 1.8.0 Overview
Apache Accumulo 1.8.0 OverviewJosh Elser
 
Eaiesb Migration Approach
Eaiesb Migration ApproachEaiesb Migration Approach
Eaiesb Migration ApproachVijay Reddy
 
Atf 3 q15-7 - delivering cloud scale workflow automation control and visibili...
Atf 3 q15-7 - delivering cloud scale workflow automation control and visibili...Atf 3 q15-7 - delivering cloud scale workflow automation control and visibili...
Atf 3 q15-7 - delivering cloud scale workflow automation control and visibili...Mason Mei
 
Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7WSO2
 
What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?Nuxeo
 
Orchestration service v2
Orchestration service v2Orchestration service v2
Orchestration service v2Raman Gupta
 
Oracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new featuresOracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new featuresMaarten Smeets
 
Migrating very large site collections
Migrating very large site collectionsMigrating very large site collections
Migrating very large site collectionskiwiboris
 
Micro services vs hadoop
Micro services vs hadoopMicro services vs hadoop
Micro services vs hadoopGergely Devenyi
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsSrinivasa Pavan Marti
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsSrinivasa Pavan Marti
 
One daytalk hbraun_oct2011
One daytalk hbraun_oct2011One daytalk hbraun_oct2011
One daytalk hbraun_oct2011hbraun
 
Hive ACID Apache BigData 2016
Hive ACID Apache BigData 2016Hive ACID Apache BigData 2016
Hive ACID Apache BigData 2016alanfgates
 
Apache Hive on ACID
Apache Hive on ACIDApache Hive on ACID
Apache Hive on ACIDHortonworks
 
Migrating Very Large Site Collections (SPSDC)
Migrating Very Large Site Collections (SPSDC)Migrating Very Large Site Collections (SPSDC)
Migrating Very Large Site Collections (SPSDC)kiwiboris
 
New Exchange Server 2013 Architecture
New Exchange Server 2013 ArchitectureNew Exchange Server 2013 Architecture
New Exchange Server 2013 ArchitectureKhalid Al-Ghamdi
 
Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)Shameer Thaha Koya
 
SOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the CloudSOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the CloudSimon Haslam
 

Ähnlich wie Navigation Service (20)

Apache Accumulo 1.8.0 Overview
Apache Accumulo 1.8.0 OverviewApache Accumulo 1.8.0 Overview
Apache Accumulo 1.8.0 Overview
 
Eaiesb Migration Approach
Eaiesb Migration ApproachEaiesb Migration Approach
Eaiesb Migration Approach
 
Atf 3 q15-7 - delivering cloud scale workflow automation control and visibili...
Atf 3 q15-7 - delivering cloud scale workflow automation control and visibili...Atf 3 q15-7 - delivering cloud scale workflow automation control and visibili...
Atf 3 q15-7 - delivering cloud scale workflow automation control and visibili...
 
Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7
 
What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?
 
Orchestration service v2
Orchestration service v2Orchestration service v2
Orchestration service v2
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
 
Oracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new featuresOracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new features
 
Migrating very large site collections
Migrating very large site collectionsMigrating very large site collections
Migrating very large site collections
 
Micro services vs hadoop
Micro services vs hadoopMicro services vs hadoop
Micro services vs hadoop
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administrators
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administrators
 
One daytalk hbraun_oct2011
One daytalk hbraun_oct2011One daytalk hbraun_oct2011
One daytalk hbraun_oct2011
 
Hive ACID Apache BigData 2016
Hive ACID Apache BigData 2016Hive ACID Apache BigData 2016
Hive ACID Apache BigData 2016
 
Apache Hive on ACID
Apache Hive on ACIDApache Hive on ACID
Apache Hive on ACID
 
Migrating Very Large Site Collections (SPSDC)
Migrating Very Large Site Collections (SPSDC)Migrating Very Large Site Collections (SPSDC)
Migrating Very Large Site Collections (SPSDC)
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
 
New Exchange Server 2013 Architecture
New Exchange Server 2013 ArchitectureNew Exchange Server 2013 Architecture
New Exchange Server 2013 Architecture
 
Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)
 
SOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the CloudSOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the Cloud
 

Kürzlich hochgeladen

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Kürzlich hochgeladen (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Navigation Service

  • 1. Navigation Copyright © 2010. All rights Reserved, eXo Platform SAS
  • 2. Navigation service •  Low level API between the portal and the MOP •  A data controller focusing on –  State management •  Historical problem •  Concurrent load/save/merge •  Correctness –  Model-less design •  Model API easy to plug •  Change notifications –  Performances •  Load what is necessary •  Built-in cache Copyright © 2010. All rights Reserved, eXo Platform SAS
  • 3. Navigation service operations •  Load –  Load a fragment of a larger tree –  Create a detached snapshot that can be modified •  Update –  Update a fragment with the most recent state –  Suppose no transient changes •  Rebase –  Same as update but cope with changes •  Save –  Same as rebase but save to the persistent store Copyright © 2010. All rights Reserved, eXo Platform SAS
  • 4. Data life cycle and flow Rebased  state   Persistent  state    Checkout  state   Copyright © 2010. All rights Reserved, eXo Platform SAS
  • 5. Operation workflow Update   Rebase   Save   Get  fresh  copy   Rebase  changes   Save  to   storage   Update  checkout   Copyright © 2010. All rights Reserved, eXo Platform SAS
  • 6. Conflict resolution •  The rebase operations takes a list of changes and replay on another tree, each change –  Operate on same input  OK –  Operate on different output  merge •  Conflict solved example with (a,b) –  User 1 insert 1: (a,1,b) –  User 2 insert 2 and save concurrently: (a,2,b) –  User 1 saves: (a,1,2,b) •  Conflict unsolved example with (a) –  User 1 insert 1: (a,a/1) –  User 2 removes a: () –  User 1 saves: failure Copyright © 2010. All rights Reserved, eXo Platform SAS
  • 7. Model-less design •  Navigation are used for different purposes –  Internal UserNode objects –  GateIn API •  NodeContext<N> –  <N> is the model / API : cares about usage –  NodeContext : cares about state •  The NodeModel<N> factory –  Provided by the client –  Used by the service Copyright © 2010. All rights Reserved, eXo Platform SAS
  • 8. Tree scope •  Required by most operation performed on the tree •  Defines what is loaded –  Scope.SINGLE –  Scope.CHILDREN –  Scope.GRANDCHILDREN –  Scope.ALL •  Plugable eventually (visitor) Copyright © 2010. All rights Reserved, eXo Platform SAS
  • 9. Node changes •  Operations modifying the NodeContext<N> generate a flow of changes •  Used to synchronize an existing data model based on <N> –  Used by the navigation editor to update the state –  Used by navigation portlet to determine if the navigation should be refreshed Copyright © 2010. All rights Reserved, eXo Platform SAS
  • 10. Node filtering •  The service has a built in node filtering capabilities –  Access control (inferred by underlying page) –  Time based: TEMPORAL nodes –  Use case based •  Navigation portlets don’t display SYSTEM nodes •  Navigation editor displays SYSTEM node but only for administrators Copyright © 2010. All rights Reserved, eXo Platform SAS
  • 11. Internal API •  UserPortal –  Models the relationship between a user and a portal –  Replaces the UserPortalConfig object –  Built on top of the NavigationService –  Defines notion of UserPortalFilter to filter navigations –  Resolve path to nodes •  Future legacy •  Emulation will be performed to redirect to correct page Copyright © 2010. All rights Reserved, eXo Platform SAS
  • 12. Internal API •  UserNode –  The <N> of UserContext –  Translates the localizable values (label) –  Remove notion of stored URI, instead URI is rebuilt from its path Copyright © 2010. All rights Reserved, eXo Platform SAS
  • 13. Navigation controller •  An effort started 6 months ago and mostly finished (85%) –  Decouple the request URL and the handling in the portal in a flexible and configurable manner –  Associate a unique resource to an URL (REST) •  Will be merged after the new navigation service is done Copyright © 2010. All rights Reserved, eXo Platform SAS
  • 14. URL handling •  Navigation controller provides an API for generating URL from a resource •  In particular the portal needs to generate URL for a given navigation node Copyright © 2010. All rights Reserved, eXo Platform SAS
  • 15. Performances concerns •  On default navigation, SQL activity was reduced by ½ •  On large navigation, SQL activity is dominated by the first 2 levels instead of the whole navigation previously •  Other fixes were applied to handle numerous pages –  Better pagination support –  Functional changes Copyright © 2010. All rights Reserved, eXo Platform SAS
  • 16. Roadmap •  Navigation Service –  developed against exogtn 3.1.7-REBASED (very close to EPP 5.1) –  ported to exogtn 3.2.x for 3.2.0-beta3 (end of June) and GateIn trunk •  Navigation i18n –  Will be part of 3.2.0-beta3 and GateIn trunk •  Navigation controller –  The current work will be remerged after 3.2.0-beta3 and finished Copyright © 2010. All rights Reserved, eXo Platform SAS
  • 17. Next steps •  Apply the same model to pages and layouts after GateIn 3.2 Copyright © 2010. All rights Reserved, eXo Platform SAS