jahiaone 2015 - external user/group providers in digital factory 7.1
TRANSCRIPT
External user/group providers in
Digital Factory 7.1Sergiy Shyrkov
Software Architect @ Jahia Solutions Group SA
© 2002 - 2015 Jahia Solutions Group SA
Outline
Refactoring in Digital Factory 7.1
Steps for custom provider integration
Demo
Questions
Useful links
© 2002 - 2015 Jahia Solutions Group SA2
Full multitenancy support
Global + site-level groups
Global platform users
User provisioning on site
level (7.1+)
© 2002 - 2015 Jahia Solutions Group SA
Refactoring – Multitenancy (1)
3
Standard JCR API for user/group access
Transparent access to
users/groups via JCR API
Increased usability and
maintainability
Improved performance (no
intermediate objects)
© 2002 - 2015 Jahia Solutions Group SA
Refactoring – JCR API (2)
4
Improved extensibility
Ad-hoc integration points
Custom provider
integration was never so
easy
© 2002 - 2015 Jahia Solutions Group SA
Refactoring – Extensibility (3)
5
External data provider
User and group nodes are handled as JCR nodes
External providers are mounted under
/users/providers/xyz
/groups/providers/xyz
User / group service uses those nodes as normal users
and groups
© 2002 - 2015 Jahia Solutions Group SA
Integration – Base (1)
6
© 2002 - 2015 Jahia Solutions Group SA
Integration – Diagram (2)
7
© 2002 - 2015 Jahia Solutions Group SA
Integration – What to do (3)
8
What we’ve done:
Automatic registration of providers
Provider management UI
Seamless translation of JCR calls for providers
Support for custom UI views for provider management
What you have to do:
Implement code for
custom user/group data
access
(Optionally) provide views
for provider creation and
configuration
What to implement for user provider
© 2002 - 2015 Jahia Solutions Group SA
Integration – Users (4)
9
<<interface>>
UserGroupProvider
getUser(String name): JahiaUser
searchUsers(Properties searchCriteria, long offset, long
limit): List<String>
…
What to implement for group provider
© 2002 - 2015 Jahia Solutions Group SA
Integration – Groups (5)
10
<<interface>>
UserGroupProvider
getGroup(String name): JahiaGroup
getGroupMembers(String groupName): List<Member>
getMembership(Member member): List<String>
searchGroups(Properties searchCriteria, long offset, long
limit): List<String>
supportsGroups(): Boolean
…
Demo
© 2002 - 2015 Jahia Solutions Group SA11
Provider management
Database provider
JCR queries
LDAP provider
Questions
Questions
Comments
Thoughts
© 2002 - 2015 Jahia Solutions Group SA12
Useful linksShowcase provider
https://github.com/shyrkov/df-users-groups-db-provider-showcase
External Provider User and Groupshttps://github.com/Jahia/external-provider-users-groups
External Data Providerhttp://www.jahiaone.com/home/program/session/external-
data-provider
https://github.com/Jahia/external-provider
© 2002 - 2015 Jahia Solutions Group SA13
Thank you and stay tuned!
© 2002 - 2015 Jahia Solutions Group SA14
Sergiy Shyrkov
Software Architect @ Jahia Solutions Group [email protected]