JahiaOne - Jahia 7, The External Data Provider

993
-1

Published on

The external data provider is a new API in Jahia 7, that helps to create connectors to external sources. It allows to transparently use or import any external content as if it was directly stored in Jahia. This session will explain how to use it and will show a simple connector example.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
993
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

JahiaOne - Jahia 7, The External Data Provider

  1. 1. External Data Provider
  2. 2. Mount external data  External data visible in JCR tree  Seen as normal nodes for any jahia service 2
  3. 3. ExternalDataSource     API to connect to simple data sources Databases, filesystems, external APIs Create a mapping to JCR API Optional support for Search, write, lazy loading, … 3
  4. 4. Specify your mapping  For every object :  Associate a node type  Map properties  Define a path 4
  5. 5. Specify your mapping  Decide a mapping for node type and properties 5
  6. 6. Specify your mapping  Define a tree structure for your objects  Should be able to find object from path and conversely !  Optionally, define a unique identifier 6
  7. 7. Implementation  getItemByPath(path)  getChildren(path)  getItemByIdentifier(id) 7
  8. 8. Implementation  ExternalData for each object  Holds id, path, types, properties 8
  9. 9. Search  One method search(query), with the user query  QueryHelper to helps parse the query  Use getSupportedNodeTypes() to return which types can be returned 9
  10. 10. Lazy loading  Don’t need to load all properties values when getting node  Instead, list properties names only  And implement getPropertyValues(path,property) 10
  11. 11. Internationalization  Internationalized properties returned per language  Better use lazy properties to avoid getting all languages 11
  12. 12. Writeable  Allows to save content directly in the provider  Create, update, delete, move operations  Called when using session.save() 12
  13. 13. Extendable properties  Can add mixin and properties to nodes  Extensions stored in the JCR  All content transparently aggregated 13
  14. 14. Provider Factories  Define a node type for a mount point  Implements “ProviderFactory”  Appears in the “mount” UI 14
  15. 15. Demo

×