SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Content Management with
Apache Jackrabbit



Jukka Zitting
Day Software
(862)
2


Overview

What to ex pect               What not to expect
> Apache Jackrabbit           > Source code
>                             >
    JCR content modeling          Live demo
>                             >
    Best practices                Business perspective
>                             >
    Things to watch for           Management perspective
>   Engineering 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)
    –   announce-
        subscribe@jackrabbit.apache.org
                                               http:/ / jackrabbit.apache.org/
>   Components
    – Core, API, RMI, WebDAV, webapp, JCA, …
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: Ex cellent support, but may delay you
  – Website: Some good parts, but not complete or very well structured
  – Wiki: End user ex perience (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.
> Ex tensibility and flex ibility
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:album > nt:folder
   - artist (string)
                                          my:review > nt:file
   - release date (date)
                                          - author (string)
                                          - star rating (long)
        my:tune > nt:file
        - artist (string)
        - release date (date)

              my:resource > nt:resource
              - codec (string)
              - bitrate (long)
10


Top- down modeling: Content hierarchies


                        Label           Label


                 Band                            Label


         Album           Album                       Band


     Reviews      Tune          Tune            Images      Tune


                        Reviews    Images
11


Content Modeling: Words of advice

> Namespaces
  – Use a single namespace per company or application
  – Use a reasonably unique namespace prefix
  –   Prefix ed 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 complex ity
  –   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




         tags                tunes           playlists


                      Tune
  Rock      Classic                      Top 10          Picks


                                      link        link           link
                               Tune
14


Alternative Views: Search

Looking    XPath                                     SQL
for
Latest     / jcr:root/ my:tunes/ / element(*,my:tu   SELECT * FROM my:tune
releases   ne)                                       WHERE
           [@released > xs:dateTime(‘…’)]            jcr:path LIKE ‘/ my:tunes/ %’
                                                     AND released > DATE ‘…’

Reviews    / jcr:root/ my:tunes/ / element(*,my:re   SELECT * FROM my:review
with       view)                                     WHERE
keywords   / jcr:content[jcr:contains(.,’…’)]        jcr:path LIKE ‘/ my:tunes/ %’
                                                     AND CONTAINS(*,‘…’)
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 index ing 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




         Staging                   Live
18


Personalization



           tunes                      users


    Tune                           John         Jane


                           tunes          favorites playlists
             Tune

                    link           link
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, ex port/ import, full tex t search, etc.
> Web- friendly
  – Trivial URI mapping
  – WebDAV access for free
   –   Dispatch on node type, not on URI path
> In your application?
Jukka Zitting                     http:/ / www.day.com/
Day Software                      jukka.zitting@day.com



Apache Jackrabbit
http:/ / jackrabbit.apache.org/

users@jackrabbit.apache.org


Apache Software Foundation        http:/ / www.apache.org/

Mais conteúdo relacionado

Mais procurados

Использование Elasticsearch для организации поиска по сайту
Использование Elasticsearch для организации поиска по сайтуИспользование Elasticsearch для организации поиска по сайту
Использование Elasticsearch для организации поиска по сайтуOlga Lavrentieva
 
RESTful Web Services with Jersey
RESTful Web Services with JerseyRESTful Web Services with Jersey
RESTful Web Services with JerseyScott Leberknight
 
20130310 solr tuorial
20130310 solr tuorial20130310 solr tuorial
20130310 solr tuorialChris Huang
 
Learning to code for startup mvp session 3
Learning to code for startup mvp session 3Learning to code for startup mvp session 3
Learning to code for startup mvp session 3Henry S
 
8b. Column Oriented Databases Lab
8b. Column Oriented Databases Lab8b. Column Oriented Databases Lab
8b. Column Oriented Databases LabFabio Fumarola
 
Apache Solr - Enterprise search platform
Apache Solr - Enterprise search platformApache Solr - Enterprise search platform
Apache Solr - Enterprise search platformTommaso Teofili
 
ElasticSearch: Найдется все... и быстро!
ElasticSearch: Найдется все... и быстро!ElasticSearch: Найдется все... и быстро!
ElasticSearch: Найдется все... и быстро!Alexander Byndyu
 
Decoupled Libraries for PHP
Decoupled Libraries for PHPDecoupled Libraries for PHP
Decoupled Libraries for PHPPaul Jones
 
Android App Development 06 : Network & Web Services
Android App Development 06 : Network & Web ServicesAndroid App Development 06 : Network & Web Services
Android App Development 06 : Network & Web ServicesAnuchit Chalothorn
 
Django Framework and Application Structure
Django Framework and Application StructureDjango Framework and Application Structure
Django Framework and Application StructureSEONGTAEK OH
 

Mais procurados (14)

Использование Elasticsearch для организации поиска по сайту
Использование Elasticsearch для организации поиска по сайтуИспользование Elasticsearch для организации поиска по сайту
Использование Elasticsearch для организации поиска по сайту
 
RESTful Web Services with Jersey
RESTful Web Services with JerseyRESTful Web Services with Jersey
RESTful Web Services with Jersey
 
20130310 solr tuorial
20130310 solr tuorial20130310 solr tuorial
20130310 solr tuorial
 
Learning to code for startup mvp session 3
Learning to code for startup mvp session 3Learning to code for startup mvp session 3
Learning to code for startup mvp session 3
 
JSON in Solr: from top to bottom
JSON in Solr: from top to bottomJSON in Solr: from top to bottom
JSON in Solr: from top to bottom
 
8b. Column Oriented Databases Lab
8b. Column Oriented Databases Lab8b. Column Oriented Databases Lab
8b. Column Oriented Databases Lab
 
Apache Solr - Enterprise search platform
Apache Solr - Enterprise search platformApache Solr - Enterprise search platform
Apache Solr - Enterprise search platform
 
Callimachus
CallimachusCallimachus
Callimachus
 
ElasticSearch: Найдется все... и быстро!
ElasticSearch: Найдется все... и быстро!ElasticSearch: Найдется все... и быстро!
ElasticSearch: Найдется все... и быстро!
 
Mavenppt
MavenpptMavenppt
Mavenppt
 
Decoupled Libraries for PHP
Decoupled Libraries for PHPDecoupled Libraries for PHP
Decoupled Libraries for PHP
 
Android App Development 06 : Network & Web Services
Android App Development 06 : Network & Web ServicesAndroid App Development 06 : Network & Web Services
Android App Development 06 : Network & Web Services
 
Django Framework and Application Structure
Django Framework and Application StructureDjango Framework and Application Structure
Django Framework and Application Structure
 
Dandelion 0.10.0
Dandelion 0.10.0Dandelion 0.10.0
Dandelion 0.10.0
 

Destaque

Destaque (7)

805
805805
805
 
916920
916920916920
916920
 
916920
916920916920
916920
 
Xavi b
Xavi bXavi b
Xavi b
 
unidad5-seccionaurea
unidad5-seccionaureaunidad5-seccionaurea
unidad5-seccionaurea
 
HOW TO HACK WECHAT BY COMPUTER
HOW TO HACK WECHAT BY COMPUTER HOW TO HACK WECHAT BY COMPUTER
HOW TO HACK WECHAT BY COMPUTER
 
84840 633555865548906250 (1)
84840 633555865548906250 (1)84840 633555865548906250 (1)
84840 633555865548906250 (1)
 

Semelhante a 862

Content Management With Apache Jackrabbit
Content Management With Apache JackrabbitContent Management With Apache Jackrabbit
Content Management With Apache JackrabbitJulien Lamande
 
Content Management With Apache Jackrabbit
Content Management With Apache JackrabbitContent Management With Apache Jackrabbit
Content Management With Apache JackrabbitJukka Zitting
 
Rails and the Apache SOLR Search Engine
Rails and the Apache SOLR Search EngineRails and the Apache SOLR Search Engine
Rails and the Apache SOLR Search EngineDavid Keener
 
Maven introduction in Mule
Maven introduction in MuleMaven introduction in Mule
Maven introduction in MuleShahid Shaik
 
Content Storage With Apache Jackrabbit
Content Storage With Apache JackrabbitContent Storage With Apache Jackrabbit
Content Storage With Apache JackrabbitJukka Zitting
 
LuSql: (Quickly and easily) Getting your data from your DBMS into Lucene
LuSql: (Quickly and easily) Getting your data from your DBMS into LuceneLuSql: (Quickly and easily) Getting your data from your DBMS into Lucene
LuSql: (Quickly and easily) Getting your data from your DBMS into Luceneeby
 
Introducing the Jahia Log Analyzer
Introducing the Jahia Log AnalyzerIntroducing the Jahia Log Analyzer
Introducing the Jahia Log AnalyzerSerge Huber
 
Storm crawler apachecon_na_2015
Storm crawler apachecon_na_2015Storm crawler apachecon_na_2015
Storm crawler apachecon_na_2015ontopic
 
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010Arun Gupta
 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowCTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowSpiffy
 
Play Framework and Activator
Play Framework and ActivatorPlay Framework and Activator
Play Framework and ActivatorKevin Webber
 
Training in Android with Maven
Training in Android with MavenTraining in Android with Maven
Training in Android with MavenArcadian Learning
 
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3Databricks
 
mjprof: Monadic approach for JVM profiling
mjprof: Monadic approach for JVM profilingmjprof: Monadic approach for JVM profiling
mjprof: Monadic approach for JVM profilingHaim Yadid
 

Semelhante a 862 (20)

Content Management With Apache Jackrabbit
Content Management With Apache JackrabbitContent Management With Apache Jackrabbit
Content Management With Apache Jackrabbit
 
Content Management With Apache Jackrabbit
Content Management With Apache JackrabbitContent Management With Apache Jackrabbit
Content Management With Apache Jackrabbit
 
Maven
MavenMaven
Maven
 
Maven
MavenMaven
Maven
 
Rails and the Apache SOLR Search Engine
Rails and the Apache SOLR Search EngineRails and the Apache SOLR Search Engine
Rails and the Apache SOLR Search Engine
 
Maven introduction in Mule
Maven introduction in MuleMaven introduction in Mule
Maven introduction in Mule
 
Maven
MavenMaven
Maven
 
Maven
MavenMaven
Maven
 
Maven in Mule
Maven in MuleMaven in Mule
Maven in Mule
 
Content Storage With Apache Jackrabbit
Content Storage With Apache JackrabbitContent Storage With Apache Jackrabbit
Content Storage With Apache Jackrabbit
 
LuSql: (Quickly and easily) Getting your data from your DBMS into Lucene
LuSql: (Quickly and easily) Getting your data from your DBMS into LuceneLuSql: (Quickly and easily) Getting your data from your DBMS into Lucene
LuSql: (Quickly and easily) Getting your data from your DBMS into Lucene
 
JCR and ModeShape
JCR and ModeShapeJCR and ModeShape
JCR and ModeShape
 
Introducing the Jahia Log Analyzer
Introducing the Jahia Log AnalyzerIntroducing the Jahia Log Analyzer
Introducing the Jahia Log Analyzer
 
Storm crawler apachecon_na_2015
Storm crawler apachecon_na_2015Storm crawler apachecon_na_2015
Storm crawler apachecon_na_2015
 
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010
 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowCTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should Know
 
Play Framework and Activator
Play Framework and ActivatorPlay Framework and Activator
Play Framework and Activator
 
Training in Android with Maven
Training in Android with MavenTraining in Android with Maven
Training in Android with Maven
 
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
 
mjprof: Monadic approach for JVM profiling
mjprof: Monadic approach for JVM profilingmjprof: Monadic approach for JVM profiling
mjprof: Monadic approach for JVM profiling
 

Mais de day

Performance Pack
Performance PackPerformance Pack
Performance Packday
 
Scala for scripting
Scala for scriptingScala for scripting
Scala for scriptingday
 
Scala4sling
Scala4slingScala4sling
Scala4slingday
 
Testing Zen
Testing ZenTesting Zen
Testing Zenday
 
Java Persistence Frameworks
Java Persistence FrameworksJava Persistence Frameworks
Java Persistence Frameworksday
 
Embrace OSGi Apache Con Europe2009
Embrace OSGi Apache Con Europe2009Embrace OSGi Apache Con Europe2009
Embrace OSGi Apache Con Europe2009day
 
Scripting Yor Java Application with BSF3
Scripting Yor Java Application with BSF3Scripting Yor Java Application with BSF3
Scripting Yor Java Application with BSF3day
 
Tarpm Clustering
Tarpm ClusteringTarpm Clustering
Tarpm Clusteringday
 
Tech Summit 08 Support Initiative
Tech Summit 08 Support InitiativeTech Summit 08 Support Initiative
Tech Summit 08 Support Initiativeday
 
Non Cms For Web Apps
Non Cms For Web AppsNon Cms For Web Apps
Non Cms For Web Appsday
 
Getting Into The Flow With Cq Dam
Getting Into The Flow With Cq DamGetting Into The Flow With Cq Dam
Getting Into The Flow With Cq Damday
 
Dispatcher Oom
Dispatcher OomDispatcher Oom
Dispatcher Oomday
 
Advanced Collaboration And Beyond
Advanced Collaboration And BeyondAdvanced Collaboration And Beyond
Advanced Collaboration And Beyondday
 
Wc Mand Connectors2
Wc Mand Connectors2Wc Mand Connectors2
Wc Mand Connectors2day
 
Jackrabbit Roadmap
Jackrabbit RoadmapJackrabbit Roadmap
Jackrabbit Roadmapday
 
Doc Book Vs Dita
Doc Book Vs DitaDoc Book Vs Dita
Doc Book Vs Ditaday
 
Doc Book Vs Dita Teresa
Doc Book Vs Dita TeresaDoc Book Vs Dita Teresa
Doc Book Vs Dita Teresaday
 
Apache Con Us2007 Sanselan
Apache Con Us2007 SanselanApache Con Us2007 Sanselan
Apache Con Us2007 Sanselanday
 
Apache Con Us2007 Jcr In Action
Apache Con Us2007 Jcr In ActionApache Con Us2007 Jcr In Action
Apache Con Us2007 Jcr In Actionday
 
Apache Con Us2007 Apachei Batis
Apache Con Us2007 Apachei BatisApache Con Us2007 Apachei Batis
Apache Con Us2007 Apachei Batisday
 

Mais de day (20)

Performance Pack
Performance PackPerformance Pack
Performance Pack
 
Scala for scripting
Scala for scriptingScala for scripting
Scala for scripting
 
Scala4sling
Scala4slingScala4sling
Scala4sling
 
Testing Zen
Testing ZenTesting Zen
Testing Zen
 
Java Persistence Frameworks
Java Persistence FrameworksJava Persistence Frameworks
Java Persistence Frameworks
 
Embrace OSGi Apache Con Europe2009
Embrace OSGi Apache Con Europe2009Embrace OSGi Apache Con Europe2009
Embrace OSGi Apache Con Europe2009
 
Scripting Yor Java Application with BSF3
Scripting Yor Java Application with BSF3Scripting Yor Java Application with BSF3
Scripting Yor Java Application with BSF3
 
Tarpm Clustering
Tarpm ClusteringTarpm Clustering
Tarpm Clustering
 
Tech Summit 08 Support Initiative
Tech Summit 08 Support InitiativeTech Summit 08 Support Initiative
Tech Summit 08 Support Initiative
 
Non Cms For Web Apps
Non Cms For Web AppsNon Cms For Web Apps
Non Cms For Web Apps
 
Getting Into The Flow With Cq Dam
Getting Into The Flow With Cq DamGetting Into The Flow With Cq Dam
Getting Into The Flow With Cq Dam
 
Dispatcher Oom
Dispatcher OomDispatcher Oom
Dispatcher Oom
 
Advanced Collaboration And Beyond
Advanced Collaboration And BeyondAdvanced Collaboration And Beyond
Advanced Collaboration And Beyond
 
Wc Mand Connectors2
Wc Mand Connectors2Wc Mand Connectors2
Wc Mand Connectors2
 
Jackrabbit Roadmap
Jackrabbit RoadmapJackrabbit Roadmap
Jackrabbit Roadmap
 
Doc Book Vs Dita
Doc Book Vs DitaDoc Book Vs Dita
Doc Book Vs Dita
 
Doc Book Vs Dita Teresa
Doc Book Vs Dita TeresaDoc Book Vs Dita Teresa
Doc Book Vs Dita Teresa
 
Apache Con Us2007 Sanselan
Apache Con Us2007 SanselanApache Con Us2007 Sanselan
Apache Con Us2007 Sanselan
 
Apache Con Us2007 Jcr In Action
Apache Con Us2007 Jcr In ActionApache Con Us2007 Jcr In Action
Apache Con Us2007 Jcr In Action
 
Apache Con Us2007 Apachei Batis
Apache Con Us2007 Apachei BatisApache Con Us2007 Apachei Batis
Apache Con Us2007 Apachei Batis
 

Último

Structuring and Writing DRL Mckinsey (1).pdf
Structuring and Writing DRL Mckinsey (1).pdfStructuring and Writing DRL Mckinsey (1).pdf
Structuring and Writing DRL Mckinsey (1).pdflaloo_007
 
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan CytotecJual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan CytotecZurliaSoop
 
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Adnet Communications
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwaitdaisycvs
 
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...Falcon Invoice Discounting
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfAdmir Softic
 
Cracking the 'Career Pathing' Slideshare
Cracking the 'Career Pathing' SlideshareCracking the 'Career Pathing' Slideshare
Cracking the 'Career Pathing' SlideshareWorkforce Group
 
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGParadip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGpr788182
 
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 MonthsSEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 MonthsIndeedSEO
 
joint cost.pptx COST ACCOUNTING Sixteenth Edition ...
joint cost.pptx  COST ACCOUNTING  Sixteenth Edition                          ...joint cost.pptx  COST ACCOUNTING  Sixteenth Edition                          ...
joint cost.pptx COST ACCOUNTING Sixteenth Edition ...NadhimTaha
 
New 2024 Cannabis Edibles Investor Pitch Deck Template
New 2024 Cannabis Edibles Investor Pitch Deck TemplateNew 2024 Cannabis Edibles Investor Pitch Deck Template
New 2024 Cannabis Edibles Investor Pitch Deck TemplateCannaBusinessPlans
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting
 
Famous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st CenturyFamous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st Centuryrwgiffor
 
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All TimeCall 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All Timegargpaaro
 
Putting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxPutting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxCynthia Clay
 
Rice Manufacturers in India | Shree Krishna Exports
Rice Manufacturers in India | Shree Krishna ExportsRice Manufacturers in India | Shree Krishna Exports
Rice Manufacturers in India | Shree Krishna ExportsShree Krishna Exports
 
Falcon Invoice Discounting: Unlock Your Business Potential
Falcon Invoice Discounting: Unlock Your Business PotentialFalcon Invoice Discounting: Unlock Your Business Potential
Falcon Invoice Discounting: Unlock Your Business PotentialFalcon investment
 

Último (20)

Structuring and Writing DRL Mckinsey (1).pdf
Structuring and Writing DRL Mckinsey (1).pdfStructuring and Writing DRL Mckinsey (1).pdf
Structuring and Writing DRL Mckinsey (1).pdf
 
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan CytotecJual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
 
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
 
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
 
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
Cracking the 'Career Pathing' Slideshare
Cracking the 'Career Pathing' SlideshareCracking the 'Career Pathing' Slideshare
Cracking the 'Career Pathing' Slideshare
 
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGParadip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
 
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 MonthsSEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
 
joint cost.pptx COST ACCOUNTING Sixteenth Edition ...
joint cost.pptx  COST ACCOUNTING  Sixteenth Edition                          ...joint cost.pptx  COST ACCOUNTING  Sixteenth Edition                          ...
joint cost.pptx COST ACCOUNTING Sixteenth Edition ...
 
New 2024 Cannabis Edibles Investor Pitch Deck Template
New 2024 Cannabis Edibles Investor Pitch Deck TemplateNew 2024 Cannabis Edibles Investor Pitch Deck Template
New 2024 Cannabis Edibles Investor Pitch Deck Template
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Famous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st CenturyFamous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st Century
 
Buy gmail accounts.pdf buy Old Gmail Accounts
Buy gmail accounts.pdf buy Old Gmail AccountsBuy gmail accounts.pdf buy Old Gmail Accounts
Buy gmail accounts.pdf buy Old Gmail Accounts
 
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All TimeCall 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
 
Putting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxPutting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptx
 
Rice Manufacturers in India | Shree Krishna Exports
Rice Manufacturers in India | Shree Krishna ExportsRice Manufacturers in India | Shree Krishna Exports
Rice Manufacturers in India | Shree Krishna Exports
 
Falcon Invoice Discounting: Unlock Your Business Potential
Falcon Invoice Discounting: Unlock Your Business PotentialFalcon Invoice Discounting: Unlock Your Business Potential
Falcon Invoice Discounting: Unlock Your Business Potential
 
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pillsMifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
 

862

  • 1. Content Management with Apache Jackrabbit Jukka Zitting Day Software (862)
  • 2. 2 Overview What to ex pect What not to expect > Apache Jackrabbit > Source code > > JCR content modeling Live demo > > Best practices Business perspective > > Things to watch for Management perspective > Engineering perspective
  • 3. 3 Agenda > Apache Jackrabbit > Basic content modeling > References and search > Advanced features > Summary and questions
  • 4. 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) – announce- subscribe@jackrabbit.apache.org http:/ / jackrabbit.apache.org/ > Components – Core, API, RMI, WebDAV, webapp, JCA, …
  • 5. 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: Ex cellent support, but may delay you – Website: Some good parts, but not complete or very well structured – Wiki: End user ex perience (especially for JBoss) – FAQ: outdated – Issue tracker: Good response time
  • 6. 6 Agenda > Apache Jackrabbit > Basic content modeling > References and search > Advanced features > Summary and questions
  • 7. 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. > Ex tensibility and flex ibility
  • 8. 8 Starting point: Leverage the standard node types Type hierarchy Content hierarchy nt:hierarchyNode nt:folder nt:file nt:linkedFile nt:resource
  • 9. 9 Bottom- up modeling: Content types my:album > nt:folder - artist (string) my:review > nt:file - release date (date) - author (string) - star rating (long) my:tune > nt:file - artist (string) - release date (date) my:resource > nt:resource - codec (string) - bitrate (long)
  • 10. 10 Top- down modeling: Content hierarchies Label Label Band Label Album Album Band Reviews Tune Tune Images Tune Reviews Images
  • 11. 11 Content Modeling: Words of advice > Namespaces – Use a single namespace per company or application – Use a reasonably unique namespace prefix – Prefix ed 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 complex ity – Jackrabbit performance > Content- driven design – Design your content before your application
  • 12. 12 Agenda > Apache Jackrabbit > Basic content modeling > References and search > Advanced features > Summary and questions
  • 13. 13 Alternative Views: References tags tunes playlists Tune Rock Classic Top 10 Picks link link link Tune
  • 14. 14 Alternative Views: Search Looking XPath SQL for Latest / jcr:root/ my:tunes/ / element(*,my:tu SELECT * FROM my:tune releases ne) WHERE [@released > xs:dateTime(‘…’)] jcr:path LIKE ‘/ my:tunes/ %’ AND released > DATE ‘…’ Reviews / jcr:root/ my:tunes/ / element(*,my:re SELECT * FROM my:review with view) WHERE keywords / jcr:content[jcr:contains(.,’…’)] jcr:path LIKE ‘/ my:tunes/ %’ AND CONTAINS(*,‘…’)
  • 15. 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 index ing 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. 16 Agenda > Apache Jackrabbit > Basic content modeling > References and search > Advanced features > Summary and questions
  • 17. 17 Staged Publishing: Versioning Version store Staging Live
  • 18. 18 Personalization tunes users Tune John Jane tunes favorites playlists Tune link link
  • 19. 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. 20 Agenda > Apache Jackrabbit > Basic content modeling > References and search > Advanced features > Summary and questions
  • 21. 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, ex port/ import, full tex t 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 jukka.zitting@day.com Apache Jackrabbit http:/ / jackrabbit.apache.org/ users@jackrabbit.apache.org Apache Software Foundation http:/ / www.apache.org/