Content Management With Apache Jackrabbit

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    3 Favorites & 2 Groups

    Content Management With Apache Jackrabbit - Presentation Transcript

    1. Content Management with Apache Jackrabbit Jukka Zitting Day Software (862)
    2. Overview
      • What to expect
        • Apache Jackrabbit
        • JCR content modeling
        • Best practices
        • Things to watch for
        • Engineering perspective
      • What not to expect
        • Source code
        • Live demo
        • Business perspective
        • Management perspective
    3. Agenda
        • Apache Jackrabbit
        • Basic content modeling
        • References and search
        • Advanced features
        • Summary and questions
    4. Apache Jackrabbit
        • JSR 170 reference implementation
        • Apache TLP since 2006
        • Looking back
          • 1.0: April 2006
          • 1.1: October 2006
          • 1.2: January 2007
          • 1.3: April 2007
        • Looking forward (tentative)
          • 1.4: 2007
          • 2.0: 2008 (JCR 2.0 RI)
          • [email_address]
        • Components
          • Core, API, RMI, WebDAV, webapp, JCA, …
      http://jackrabbit.apache.org/
    5. Apache Jackrabbit: Words of advice
        • Read (or browse) the JCR specification
          • jcr-1.0.jar included
        • Getting started with Jackrabbit
          • jackrabbit-webapp: Drop-in deployment
          • First Hops: Embedded repository
          • Take your time
        • Resources
          • Mailing lists: Excellent support, but may delay you
          • Website: Some good parts, but not complete or very well structured
          • Wiki: End user experience (especially for JBoss)
          • FAQ: outdated
          • Issue tracker: Good response time
    6. Agenda
        • Apache Jackrabbit
        • Basic content modeling
        • References and search
        • Advanced features
        • Summary and questions
    7. Introducing JCR Tunes
        • JCR example application
          • “ How to implement a music store or library with JCR?”
          • Designed to showcase JCR features and best practices
          • JCR book in progress
        • Store and manage individual “tunes”, optionally organized in albums, etc.
        • Support alternative views like predefined genres, or more ad-hoc searches
        • Integrated handling of reviews, cover images, and other related content
        • Staged publishing and timed releases of tunes or albums
        • Personalization for things like settings, favorites, personal play-lists, etc.
        • Extensibility and flexibility
    8. Starting point: Leverage the standard node types
      • Type hierarchy
      • Content hierarchy
      nt:hierarchyNode nt:folder nt:file nt:linkedFile nt:resource
    9. Bottom-up modeling: Content types
      • my:resource > nt:resource
      • codec (string)
      • bitrate (long)
      • my:tune > nt:file
      • artist (string)
      • release date (date)
      • my:album > nt:folder
      • artist (string)
      • release date (date)
      • my:review > nt:file
      • author (string)
      • star rating (long)
    10. Top-down modeling: Content hierarchies Album Images Tune Band Label Label Tune Album Reviews Label Band Reviews Tune Images
    11. Content Modeling: Words of advice
        • Namespaces
          • Use a single namespace per company or application
          • Use a reasonably unique namespace prefix
          • Prefixed names for structured content
          • Default namespace for unstructured content
        • Use an application root node, /my:content
          • Good for searching, backup, and migration
        • Avoid flat hierarchies
          • User interface complexity
          • Jackrabbit performance
        • Content-driven design
          • Design your content before your application
    12. Agenda
        • Apache Jackrabbit
        • Basic content modeling
        • References and search
        • Advanced features
        • Summary and questions
    13. Alternative Views: References Rock tags tunes Tune Tune Classic Top 10 playlists Picks link link link
    14. Alternative Views: Search SELECT * FROM my:review WHERE jcr:path LIKE ‘/my:tunes/%’ AND CONTAINS(*,‘…’) /jcr:root/my:tunes//element(*,my:review) /jcr:content[jcr:contains(.,’…’)] Reviews with keywords SELECT * FROM my:tune WHERE jcr:path LIKE ‘/my:tunes/%’ AND released > DATE ‘…’ /jcr:root/my:tunes//element(*,my:tune) [@released > xs:dateTime(‘…’)] Latest releases SQL XPath Looking for
    15. Alternative Views: Words of advice
        • Moderate use of references
          • Circular references only within a subtree
          • Plan for backup and content migration
          • Jackrabbit performance: max 10k references to a single node
        • Best search performance when selecting a small subset of content
        • No joins or aggregate searches
        • Full text indexing of binary properties only for jcr:data in nt:resource nodes
        • Formatting date queries
          • ISO 8601 as the string format
          • session.getValueFactory().createValue(Calendar.getInstance()).getString()
        • JCR 2.0: Query Object Model? Mandatory SQL?
    16. Agenda
        • Apache Jackrabbit
        • Basic content modeling
        • References and search
        • Advanced features
        • Summary and questions
    17. Staged Publishing: Versioning Version store Live Staging
    18. Personalization tunes Tune Tune John users Jane playlists tunes link link favorites
    19. Authentication and Authorization
        • Java Authentication and Authorization Services (JAAS)
          • Mostly the authentication part is currently used by Jackrabbit
          • Pluggable authentication components
          • Support for single sing-on
        • Custom AccessManager interface in Jackrabbit
          • Pluggable authorization components
          • The default implementation supports only global read, write, and admin access
          • More advanced implementations are proprietary
        • Repository-level authentication and authorization applies to all clients
          • Better than application-level authorization
    20. Agenda
        • Apache Jackrabbit
        • Basic content modeling
        • References and search
        • Advanced features
        • Summary and questions
    21. Last words
        • Everything is content
          • Application content
          • HTML pages, CSS and JavaScript files, static images
          • JSP pages, Java classes and libraries
          • Documentation, resource bundles, etc.
          • With versioning, export/import, full text search, etc.
        • Web-friendly
          • Trivial URI mapping
          • WebDAV access for free
          • Dispatch on node type, not on URI path
        • In your application?
    22. Jukka Zitting http://www.day.com/ Day Software [email_address] Apache Jackrabbit http://jackrabbit.apache.org/ [email_address] Apache Software Foundation http://www.apache.org/

    + Jukka ZittingJukka Zitting, 3 years ago

    custom

    5814 views, 3 favs, 5 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 5814
      • 5425 on SlideShare
      • 389 from embeds
    • Comments 0
    • Favorites 3
    • Downloads 140
    Most viewed embeds
    • 269 views on http://jukkaz.wordpress.com
    • 117 views on http://dev.day.com
    • 1 views on https://s3.amazonaws.com
    • 1 views on http://209.85.135.104
    • 1 views on http://72.14.235.132

    more

    All embeds
    • 269 views on http://jukkaz.wordpress.com
    • 117 views on http://dev.day.com
    • 1 views on https://s3.amazonaws.com
    • 1 views on http://209.85.135.104
    • 1 views on http://72.14.235.132

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Groups / Events