SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
µjax in 30
 minutes

                   lars.trieloff@day.com
      weblogs.goshaky.com/weblogs/lars
µjax in 30
 minutes
   JCR m
        eets
    AJAX




                            lars.trieloff@day.com
               weblogs.goshaky.com/weblogs/lars
µjax
content repository vs. ajax
µjax
           content repository vs. ajax




What’s JCR (elevator pitch)
Introducing µjax
                           silve
                                 r
µjax
           content repository vs. ajax




What’s JCR (elevator pitch)
Introducing µjax
                           silve
                                 r
What’s JCR?
What’s JCR?

“The API should be a standard,
implementation independent, way
to access content bi-directionally
on a granular level to a
content repository.”
What’s JCR?

“The API should be a standard,
implementation independent, way
to access content bi-directionally
on a granular level to a
content repository.”
                   ?
What’s JCR?

“The API should be a standard,
implementation independent, way
to access content bi-directionally
on a granular level to a
content repository.”
                   ?
Best of both worlds.
   database      fi les yste m




        content repositor y
Best of both worlds.
                     database                fi les yste m
                                                     hier-
         integ                                     archi
              rity       structu
                                re                      es
                                       read                  streams


         tx             query        write         locking
                                                               access
                                                              control



multi-
value                                                                 g
              un-
                                                             versionin
           structured     “full-     sort        obser-
                          text”      order       vation

                                content repositor y
Some known JCR Applications
Some known JCR Applications


                                                                           Fast
                                                                        Enterprise
 BEA Portal                                    Oracle Portal Interface 21 Search
                 Sun         JBoss Portal
             OpenPortal                         Day             Spring
                                          Communique          Framework
                                               DAM                        Day
 magnolia WCMS                                                      Communique
                       Apache Sling
                                         Mindquarry                      Collab
             Alfresco ECMS
                                       Collaboration        Apache Tapestry
                  QSLabs                Day
 Apache        Compliance         Communiqué
 Cocoon                               WCMS                               IBM FileNet
                              Artifactory           medic-2-medic WebSiteManager
         Apache James       Maven Proxy            mapofmedicine
                        Exo
                   ECMS Platform              TYPO3
GX WebManager                                v5.0 WCM
                               InfoQ
                              Online                Hippo                    Liferay
           Nuxeo ECM       Community                CMS                Enterprise Portal
                                           Jahia                Sakai
    Percussion                         Framework             E-learning
    Rhythmix            QuickWCM                                      Sourcemix
                         WCMS                    Lutece              Sourcemix
                                                  Portal
µjax
           content repository vs. ajax




What’s JCR (elevator pitch)
Introducing µjax
                           silve
                                 r
µjax
         content repository vs. ajax




What’s JCR
Introducing µjax
µjax
         content repository vs. ajax




What’s JCR
Introducing µjax
                         silve
                               r
Introducing µjax




Repository based AJAX
Introducing µjax

       JCR
Introducing µjax

       JCR
Introducing µjax
              JCR
Introducing µjax
                     JCR




    the other side
Introducing µjax
                                                           JCR




                                          the other side
  de
    ve
   h a lope
      t r
              “i want to build webapps”

  me
         d)
(d a v i
Introducing µjax
                                                           JCR




                                          the other side
  de
    ve
   h a lope
      t r
              “i want to build webapps”

  me
         d)
(d a v i
Introducing µjax
                                                           JCR




                                          the other side
  de
    ve
   h a lope
      t r
              “i want to build webapps”

  me
         d)
(d a v i
Introducing µjax
                                   JCR
   de
     ve
    h a lope
       t r



         a rs )
me ( l                   silve
                               r




                  µjax
Introducing µjax
                                         JCR
   de
     ve
    h a lope
       t r



         a rs )
me ( l                       silve
                                   r




                      µjax
                    very simple
                    projection:
                  fits the bill
Introducing µjax
                                                    JCR
   de
     ve
    h a lope
       t r



         a rs )
me ( l                       silve
                                   r




                      µjax
                    very simple
                    projection:        “usecas
                  fits the bill         driven
                                               e”
Introducing µjax
 I   browser & ujax.js
     reading: json & resource GET’s
     writing: form-POST & GET
                         s      s
                                                  J2EE Web
                                                   Server
                                          3
                                      2
Browser                     I
                                               2 UjaxServlet.java
                                                 translating requests
                                                  to JCR calls
                                               3 JCR Compliant
                                                  Content Repository
Introducing µjax
 I   browser & ujax.js
     reading: json & resource GET’s
     writing: form-POST & GET
                         s      s
                                                         J2EE Web
                                                          Server
                                                  3
                                              2
Browser                     I
                       very simple js A               2 UjaxServlet.java
                                                        translating requests
                      read content, FoPI to              to JCR calls
                                       rms
                        to write conten
                                        t             3 JCR Compliant
                                                         Content Repository
Introducing µjax
 I   browser & ujax.js
     reading: json & resource GET’s
     writing: form-POST & GET
                         s      s
                                                             J2EE Web
                                                              Server
                                                  3
                                              2       handles all the h
                                                       particularly se
                                                                       eavy lifting,
                                                                        curity
Browser                     I                                                     16 t
                                                                                      ons



                       very simple js A                 2 UjaxServlet.java
                                                          translating requests
                      read content, FoPI to                   to JCR calls
                                       rms
                        to write conten
                                        t              3 JCR Compliant
                                                              Content Repository
Getting ready...




download a
          nd install      test & mount as a drive
hello, world.

                                                                                      tle>
                                                                             world</ti
                                                                       ello,
                                                <html> itle>rjax:h
                                                         <t
                                                 <head>                     /h2>
                                                  </he ad>         o, world<
                                                          <h 2>hell
                                                   <body>
                                                           >
                                                    </body
                                                           >
                                                     </html


    drag, drop, done
http://localhost:7402/
                      firststeps/0_hello.htm
                                            l
simple write example
                                                                                                   tle>
                                                                                      examp le</ti
                                                                                write
                                                                       simple
                                                <html> itle>rjax:                           OSTquot;>
                                                 <hea d><t                           hod=quot;P
                                                               y>              aquot; met
                                                        d><bod ion=quot;/mydat
                                                  </hea m act
                                                         or              -->
                                                   
 <f <!-- title >                           equot; />
                                                                        /h2
                                                   
 
 <h2>Title< textquot; name            =quot;Titl
                                                                          =quot;
                                                    
 
 <input type ion -->
                                                                           pt                        ionquot;>
                                                    
 
 <!-- descri on</h2>                   script
                                                                            ti             quot;De
                                                     
 
 <h2>Descrip s=quot;5quot; name=
                                                                             ow
                                                     
 
 <textarea r
                                                      
 
                area>
                                                                   </text -->
                                                                       olor
                                                                 <!-- c r</h2>
                                                       
 
 <h2>Colo                  orquot;>
                                                                               e=quot;Col redquot;>red
                                                        
 
 <select nam alue=quot;
                                                                                 v              >green
                                                         
    
        <option lue=quot;greenquot;
                                                         
    
 
 <option va
                                                                    
                                                          
 
 </select>

          write me!
http://localhost:7402/firs
                          tsteps/1_write.html
                                                           
 
 rm>
                                                           
 </
                                                            </body
                                                                  fo
                                                                   >
                                                                    >
                                                             </html
simple read example
                                                                                                 title>
                                                                                           mple</
                                                                                    ad exa
                                                                          simple re
                                               <html> itle>rjax:
                                                        <t
                                                <head>
                                                 </head
                                                         >                             cript
                                                                            ax.jsquot;></s
                                                  <body> pt src=quot;/rj                                           +'quot;>';
                                                      <scr  i                                ataquot;); +node.Color
                                                                                      (quot;/myd         :'
                                                       <s cri pt>          getContent round-color
                                                                   =Rjax.          backg
                                                        va r node div style=quot;
                                                                 v='<            ;
                                                         var di .write(div)
                                                                  nt
                                                          docume >
                                                                   pt
                                                           </scri ript>                 Title)
                                                                                               ;
                                                               2><sc            e(node.
                                                      
 <h cument.writ
                                                                d o
                                                                        ></h2>                     ion);
                                                             </script t>                    script
                                                                       rip             de.De
                                                         
    <p><sc nt.write(no
                                                                   docume p>
                                                                       pt></
                                                               </scri
                                                                    div>
                                                           
 </
            read me!
http://localhost:7402/firs
                          tsteps/2_read.html
                                                            </body
                                                             </html
                                                                    >
                                                                     >
add new entry
                                                                                           itle>
                                                                                     ple</t
                                                                               y exam
                                                                        w entr
                                                                  add ne
                                           <html> itle>rjax:
                                                  <t
                                            <head> body>                        es/*quot;         taquot;>
                                                                          /entri art/form-da
                                                   ><              mydata         p
                                             </head m action=quot;/ type=quot;multi
                                                   or               nc
                                              
 <f od=quot;POSTquot; e
                                                  meth
                                                                                       lequot; />
                                                              tle </h2> quot; name=quot;Tit
                                                       <h2>Ti ype=quot;text
                                               
 
 <input t                                             tarea>
                                                                                                  ></tex
                                                
 
                           2>            ptionquot;
                                                                  cription</h ame=quot;Descri
                                                         <h2>Des rows=quot;5quot; n
                                                 
 
 <textarea
                                                 
 
                                                                       /h2>
                                                           <h2> Color< =quot;Colorquot;>
                                                                         e             red
                                                  
 
 <select nam alue=quot;redquot;> green
                                                                           v            quot;>
                                                   
 
 
 <option alue=quot;green
                                                                           v
                                                   
 
 
 <option
                                                    
 
 </select>
                                                    
 
                                      agequot;/>
             add new
http://localhost:7402/firststeps/3_addnew.html
                                                                      age</h2> equot; name=quot;Im
                                                               <h2>Im ype=quot;fil
                                                                <inp ut t
                                                                      nput t
                                                                             ype=quot;s
                                                                                   ubmitquot;
                                                                                         ></p>
                                                                   ><i
                                                       
   
 <p
                                                              form>
                                                       
 </
                                                       
                                                             >
                                                       </body
                                                              >
                                                        </html
list entries                                            itle>
                                                                                     ple</t
                                                                               s exam
                                                                  list  entrie
                                         <html> itle>rjax:                                          ;
                                          <head>
                                                  <t                                          riesquot;)
                                                                                       ata/ent
                                           [...]                                 (quot;/myd
                                                   t>               .getC ontent
                                            <scrip ntries=Rjax
                                                 var e
                                                     pt>
                                             </scri                                                                    quot;>');
                                                                                                                 olor+'
                                              <div>                                                        ntry.C
                                                      t>              r ies) {                      lor:'+e
                                               <scrip ar a in ent s[a];                       und-co
                                                                                        ackgro h3>');
                                                  for (v ntry=entrie iv style=quot;b le+'</
                                                
     var e .write('<d +entry.Tit
                                                              nt              >'            );
                                                       docume .write('<h2 Description
                                                               nt              y.
                                                        docume .write(entr
                                                                nt
                                                         docume
                                                                        ge) {
                                                                 ry.Ima
                                                          if(ent
                                                    [...] }                                                      ove='
                                                                                                           ax:rem
                                                                                       ;             ies?rj
                                                                                /div>') mydata/entr
                                                                         ite('<         quot;/
                                                              cum ent.wr e('<a href=

         list entries
                                                            do        .writ
                                                             document move</a>');
                                                                       re
http://lo                                                       +a+'quot;>
         calhost:7
                  402/first
                           steps/4_l
                                    ist.html
                                                     
 } >                       ew</a>
                                                            pt         tmlquot;>add n
                                                     </scri quot;3_addnew.h
                                                             f=
                                                      <a hre
                                                       </div>
                                                              >
                                                        </body
views
                                                 [...]
                                                        t>
                                                  <scrip wizard();
                                                      Rjax.
                                                          pt>
                                                   </scri
                                                    [...]




                                                                       rd();
                                                         ! Rja  x.w iza
                                                       !
                                                               ript>
resource or                                             ! </sc
http://l    iented urls
        ocalhost
                :7402/my
                        data/ent
                                ries.lis
                                        t.html
views
µjax
         content repository vs. ajax




What’s JCR
Introducing µjax
µjax
         content repository vs. ajax




What’s JCR
Introducing µjax
                         silve
                               r
If you remember only 2 things.


I dev.day.com
  Download CRX and play with µjax.
2 keep an eye on “
                 apache sling”
If you remember only 2 things.


I dev.day.com
  Download CRX and play with µjax.
2 keep an eye on “
                 apache sling”
                                    riously!
                                  se

Contenu connexe

En vedette

When They Score Who Wins
When They Score Who WinsWhen They Score Who Wins
When They Score Who Wins
Hans Mundahl
 
Task 1 Create Your Own On Line Exhibition.
Task 1 Create Your Own On Line Exhibition.Task 1 Create Your Own On Line Exhibition.
Task 1 Create Your Own On Line Exhibition.
total
 
Demotivators Master
Demotivators  MasterDemotivators  Master
Demotivators Master
edtech2020
 
How to empower community by using GIS lecture 1
How to empower community by using GIS lecture 1How to empower community by using GIS lecture 1
How to empower community by using GIS lecture 1
wang yaohui
 
Pats Presentation 3
Pats Presentation 3Pats Presentation 3
Pats Presentation 3
total
 
Windowsmoviemakercosi
WindowsmoviemakercosiWindowsmoviemakercosi
Windowsmoviemakercosi
OHIO ITSCO
 
Firesafety.Pps
Firesafety.PpsFiresafety.Pps
Firesafety.Pps
rstuart
 

En vedette (20)

Vam: A Locality-Improving Dynamic Memory Allocator
Vam: A Locality-Improving Dynamic Memory AllocatorVam: A Locality-Improving Dynamic Memory Allocator
Vam: A Locality-Improving Dynamic Memory Allocator
 
When They Score Who Wins
When They Score Who WinsWhen They Score Who Wins
When They Score Who Wins
 
Shopping for Uncle Albert
Shopping for Uncle AlbertShopping for Uncle Albert
Shopping for Uncle Albert
 
The Future is a Monstrous & Marvelous Mashup
The Future is a Monstrous & Marvelous MashupThe Future is a Monstrous & Marvelous Mashup
The Future is a Monstrous & Marvelous Mashup
 
Learning On The Fly
Learning On The FlyLearning On The Fly
Learning On The Fly
 
Task 1 Create Your Own On Line Exhibition.
Task 1 Create Your Own On Line Exhibition.Task 1 Create Your Own On Line Exhibition.
Task 1 Create Your Own On Line Exhibition.
 
Day Of J U A
Day Of  J U ADay Of  J U A
Day Of J U A
 
Manifest Art Glb
Manifest Art GlbManifest Art Glb
Manifest Art Glb
 
CAFOD working on Climate Change
CAFOD working on Climate ChangeCAFOD working on Climate Change
CAFOD working on Climate Change
 
Demotivators Master
Demotivators  MasterDemotivators  Master
Demotivators Master
 
How to empower community by using GIS lecture 1
How to empower community by using GIS lecture 1How to empower community by using GIS lecture 1
How to empower community by using GIS lecture 1
 
Çin'e Bir Gezi
Çin'e Bir GeziÇin'e Bir Gezi
Çin'e Bir Gezi
 
Fauna
FaunaFauna
Fauna
 
TX History Ch 15.3
TX History Ch 15.3TX History Ch 15.3
TX History Ch 15.3
 
When Books Talk!
When Books Talk!When Books Talk!
When Books Talk!
 
070829 intra-SNS case-study
070829 intra-SNS case-study070829 intra-SNS case-study
070829 intra-SNS case-study
 
Pats Presentation 3
Pats Presentation 3Pats Presentation 3
Pats Presentation 3
 
Creating Classroom Libraries
Creating Classroom LibrariesCreating Classroom Libraries
Creating Classroom Libraries
 
Windowsmoviemakercosi
WindowsmoviemakercosiWindowsmoviemakercosi
Windowsmoviemakercosi
 
Firesafety.Pps
Firesafety.PpsFiresafety.Pps
Firesafety.Pps
 

Similaire à µjax in 30 minutes

Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1
Ram Chinta
 
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Alexandre Morgaut
 

Similaire à µjax in 30 minutes (20)

µjax in 30 minutes (for Stockholm)
µjax in 30 minutes (for Stockholm)µjax in 30 minutes (for Stockholm)
µjax in 30 minutes (for Stockholm)
 
Bcp seminar 0713_handsout
Bcp seminar 0713_handsoutBcp seminar 0713_handsout
Bcp seminar 0713_handsout
 
Introducing JSR-283
Introducing JSR-283Introducing JSR-283
Introducing JSR-283
 
Web Content Management And Agile
Web Content Management And AgileWeb Content Management And Agile
Web Content Management And Agile
 
Agile Edge Valtech
Agile Edge ValtechAgile Edge Valtech
Agile Edge Valtech
 
Eb07 Day Communiqué Web Content Management En
Eb07 Day Communiqué Web Content Management EnEb07 Day Communiqué Web Content Management En
Eb07 Day Communiqué Web Content Management En
 
Valtech Days 2009 Paris Presentation: WCM in 2010 and an intro to CQ5
Valtech Days 2009 Paris Presentation: WCM in 2010 and an intro to CQ5Valtech Days 2009 Paris Presentation: WCM in 2010 and an intro to CQ5
Valtech Days 2009 Paris Presentation: WCM in 2010 and an intro to CQ5
 
Practical Functional Javascript
Practical Functional JavascriptPractical Functional Javascript
Practical Functional Javascript
 
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
 
Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1
 
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
 
Realtime collaboration with Clojure - EuroClojure - Barcelona, 2015
Realtime collaboration with Clojure - EuroClojure - Barcelona, 2015Realtime collaboration with Clojure - EuroClojure - Barcelona, 2015
Realtime collaboration with Clojure - EuroClojure - Barcelona, 2015
 
iForum 1004_handsout
iForum 1004_handsoutiForum 1004_handsout
iForum 1004_handsout
 
Better Front-end Development in Atlassian Plugins
Better Front-end Development in Atlassian PluginsBetter Front-end Development in Atlassian Plugins
Better Front-end Development in Atlassian Plugins
 
Lessons Learned Integrating Cocoon, Jackrabbit And Solr
Lessons Learned Integrating Cocoon, Jackrabbit And SolrLessons Learned Integrating Cocoon, Jackrabbit And Solr
Lessons Learned Integrating Cocoon, Jackrabbit And Solr
 
.NET Architects Day - DNAD 2011
.NET Architects Day - DNAD 2011.NET Architects Day - DNAD 2011
.NET Architects Day - DNAD 2011
 
09 - Fábio Akita - Além do rails
09 - Fábio Akita - Além do rails09 - Fábio Akita - Além do rails
09 - Fábio Akita - Além do rails
 
SeqWare on the Cloud: Porting a Genome Center's Infrastructure to Amazon Web ...
SeqWare on the Cloud: Porting a Genome Center's Infrastructure to Amazon Web ...SeqWare on the Cloud: Porting a Genome Center's Infrastructure to Amazon Web ...
SeqWare on the Cloud: Porting a Genome Center's Infrastructure to Amazon Web ...
 
Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...
Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...
Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...
 
Cloud Foundry Demo SD Forum Cloud Sig Feb09
Cloud Foundry Demo SD Forum Cloud Sig Feb09Cloud Foundry Demo SD Forum Cloud Sig Feb09
Cloud Foundry Demo SD Forum Cloud Sig Feb09
 

Plus de Lars Trieloff

How to get value out of data
How to get value out of dataHow to get value out of data
How to get value out of data
Lars Trieloff
 
Smartcon 2015 – Automated Decisions in the Supply Chain
Smartcon 2015 – Automated Decisions in the Supply ChainSmartcon 2015 – Automated Decisions in the Supply Chain
Smartcon 2015 – Automated Decisions in the Supply Chain
Lars Trieloff
 
Mastering the customer engagement ecosystem with CQ5
Mastering the customer engagement ecosystem with CQ5Mastering the customer engagement ecosystem with CQ5
Mastering the customer engagement ecosystem with CQ5
Lars Trieloff
 

Plus de Lars Trieloff (20)

Putting the F in FaaS: Functional Compositional Patterns in a Serverless World
Putting the F in FaaS: Functional Compositional Patterns in a Serverless WorldPutting the F in FaaS: Functional Compositional Patterns in a Serverless World
Putting the F in FaaS: Functional Compositional Patterns in a Serverless World
 
Serverless adventures with AWS Lambda and Clojure
Serverless adventures with AWS Lambda and ClojureServerless adventures with AWS Lambda and Clojure
Serverless adventures with AWS Lambda and Clojure
 
Data Natives 2015: Predictive Applications are Going to Steal Your Job: this ...
Data Natives 2015: Predictive Applications are Going to Steal Your Job: this ...Data Natives 2015: Predictive Applications are Going to Steal Your Job: this ...
Data Natives 2015: Predictive Applications are Going to Steal Your Job: this ...
 
How to get value out of data
How to get value out of dataHow to get value out of data
How to get value out of data
 
Smartcon 2015 – Automated Decisions in the Supply Chain
Smartcon 2015 – Automated Decisions in the Supply ChainSmartcon 2015 – Automated Decisions in the Supply Chain
Smartcon 2015 – Automated Decisions in the Supply Chain
 
Business Reasons for Predictive Applications
Business Reasons for Predictive ApplicationsBusiness Reasons for Predictive Applications
Business Reasons for Predictive Applications
 
ADDD (Automated Data Driven Decisions) – How To Make it Work
ADDD (Automated Data Driven Decisions) – How To Make it WorkADDD (Automated Data Driven Decisions) – How To Make it Work
ADDD (Automated Data Driven Decisions) – How To Make it Work
 
Automated decision making with predictive applications – Big Data Frankfurt
Automated decision making with predictive applications – Big Data FrankfurtAutomated decision making with predictive applications – Big Data Frankfurt
Automated decision making with predictive applications – Big Data Frankfurt
 
Automated Decision making with Predictive Applications – Big Data Hamburg
Automated Decision making with Predictive Applications – Big Data HamburgAutomated Decision making with Predictive Applications – Big Data Hamburg
Automated Decision making with Predictive Applications – Big Data Hamburg
 
Automated Decision Making with Predictive Applications – Big Data Düsseldorf
Automated Decision Making with Predictive Applications – Big Data DüsseldorfAutomated Decision Making with Predictive Applications – Big Data Düsseldorf
Automated Decision Making with Predictive Applications – Big Data Düsseldorf
 
Automated decision making with predictive applications – Big Data Brussels
Automated decision making with predictive applications – Big Data BrusselsAutomated decision making with predictive applications – Big Data Brussels
Automated decision making with predictive applications – Big Data Brussels
 
Automated decision making with predictive applications – Big Data Amsterdam
Automated decision making with predictive applications – Big Data AmsterdamAutomated decision making with predictive applications – Big Data Amsterdam
Automated decision making with predictive applications – Big Data Amsterdam
 
Automated decision making using Predictive Applications – Big Data Paris
Automated decision making using Predictive Applications – Big Data ParisAutomated decision making using Predictive Applications – Big Data Paris
Automated decision making using Predictive Applications – Big Data Paris
 
Automated decision making with big data – Big Data Vienna
Automated decision making with big data – Big Data ViennaAutomated decision making with big data – Big Data Vienna
Automated decision making with big data – Big Data Vienna
 
Big Data Munich – Decision Automation and Big Data
Big Data Munich – Decision Automation and Big DataBig Data Munich – Decision Automation and Big Data
Big Data Munich – Decision Automation and Big Data
 
10 Things I Learned About Pricing – Product Camp Berlin 2014
10 Things I Learned About Pricing – Product Camp Berlin 201410 Things I Learned About Pricing – Product Camp Berlin 2014
10 Things I Learned About Pricing – Product Camp Berlin 2014
 
Big Data Berlin – Automating Decisions is the Next Frontier for Big Data
Big Data Berlin – Automating Decisions is the Next Frontier for Big DataBig Data Berlin – Automating Decisions is the Next Frontier for Big Data
Big Data Berlin – Automating Decisions is the Next Frontier for Big Data
 
The DNA of Marketing
The DNA of MarketingThe DNA of Marketing
The DNA of Marketing
 
Cross community campaigns with CQ5
Cross community campaigns with CQ5Cross community campaigns with CQ5
Cross community campaigns with CQ5
 
Mastering the customer engagement ecosystem with CQ5
Mastering the customer engagement ecosystem with CQ5Mastering the customer engagement ecosystem with CQ5
Mastering the customer engagement ecosystem with CQ5
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

µjax in 30 minutes

  • 1. µjax in 30 minutes lars.trieloff@day.com weblogs.goshaky.com/weblogs/lars
  • 2. µjax in 30 minutes JCR m eets AJAX lars.trieloff@day.com weblogs.goshaky.com/weblogs/lars
  • 4. µjax content repository vs. ajax What’s JCR (elevator pitch) Introducing µjax silve r
  • 5. µjax content repository vs. ajax What’s JCR (elevator pitch) Introducing µjax silve r
  • 6.
  • 8. What’s JCR? “The API should be a standard, implementation independent, way to access content bi-directionally on a granular level to a content repository.”
  • 9. What’s JCR? “The API should be a standard, implementation independent, way to access content bi-directionally on a granular level to a content repository.” ?
  • 10. What’s JCR? “The API should be a standard, implementation independent, way to access content bi-directionally on a granular level to a content repository.” ?
  • 11. Best of both worlds. database fi les yste m content repositor y
  • 12. Best of both worlds. database fi les yste m hier- integ archi rity structu re es read streams tx query write locking access control multi- value g un- versionin structured “full- sort obser- text” order vation content repositor y
  • 13. Some known JCR Applications
  • 14. Some known JCR Applications Fast Enterprise BEA Portal Oracle Portal Interface 21 Search Sun JBoss Portal OpenPortal Day Spring Communique Framework DAM Day magnolia WCMS Communique Apache Sling Mindquarry Collab Alfresco ECMS Collaboration Apache Tapestry QSLabs Day Apache Compliance Communiqué Cocoon WCMS IBM FileNet Artifactory medic-2-medic WebSiteManager Apache James Maven Proxy mapofmedicine Exo ECMS Platform TYPO3 GX WebManager v5.0 WCM InfoQ Online Hippo Liferay Nuxeo ECM Community CMS Enterprise Portal Jahia Sakai Percussion Framework E-learning Rhythmix QuickWCM Sourcemix WCMS Lutece Sourcemix Portal
  • 15. µjax content repository vs. ajax What’s JCR (elevator pitch) Introducing µjax silve r
  • 16. µjax content repository vs. ajax What’s JCR Introducing µjax
  • 17. µjax content repository vs. ajax What’s JCR Introducing µjax silve r
  • 22. Introducing µjax JCR the other side
  • 23. Introducing µjax JCR the other side de ve h a lope t r “i want to build webapps” me d) (d a v i
  • 24. Introducing µjax JCR the other side de ve h a lope t r “i want to build webapps” me d) (d a v i
  • 25. Introducing µjax JCR the other side de ve h a lope t r “i want to build webapps” me d) (d a v i
  • 26. Introducing µjax JCR de ve h a lope t r a rs ) me ( l silve r µjax
  • 27. Introducing µjax JCR de ve h a lope t r a rs ) me ( l silve r µjax very simple projection: fits the bill
  • 28. Introducing µjax JCR de ve h a lope t r a rs ) me ( l silve r µjax very simple projection: “usecas fits the bill driven e”
  • 29. Introducing µjax I browser & ujax.js reading: json & resource GET’s writing: form-POST & GET s s J2EE Web Server 3 2 Browser I 2 UjaxServlet.java translating requests to JCR calls 3 JCR Compliant Content Repository
  • 30. Introducing µjax I browser & ujax.js reading: json & resource GET’s writing: form-POST & GET s s J2EE Web Server 3 2 Browser I very simple js A 2 UjaxServlet.java translating requests read content, FoPI to to JCR calls rms to write conten t 3 JCR Compliant Content Repository
  • 31. Introducing µjax I browser & ujax.js reading: json & resource GET’s writing: form-POST & GET s s J2EE Web Server 3 2 handles all the h particularly se eavy lifting, curity Browser I 16 t ons very simple js A 2 UjaxServlet.java translating requests read content, FoPI to to JCR calls rms to write conten t 3 JCR Compliant Content Repository
  • 32. Getting ready... download a nd install test & mount as a drive
  • 33. hello, world. tle> world</ti ello, <html> itle>rjax:h <t <head> /h2> </he ad> o, world< <h 2>hell <body> > </body > </html drag, drop, done http://localhost:7402/ firststeps/0_hello.htm l
  • 34. simple write example tle> examp le</ti write simple <html> itle>rjax: OSTquot;> <hea d><t hod=quot;P y> aquot; met d><bod ion=quot;/mydat </hea m act or --> <f <!-- title > equot; /> /h2 <h2>Title< textquot; name =quot;Titl =quot; <input type ion --> pt ionquot;> <!-- descri on</h2> script ti quot;De <h2>Descrip s=quot;5quot; name= ow <textarea r area> </text --> olor <!-- c r</h2> <h2>Colo orquot;> e=quot;Col redquot;>red <select nam alue=quot; v >green <option lue=quot;greenquot; <option va </select> write me! http://localhost:7402/firs tsteps/1_write.html rm> </ </body fo > > </html
  • 35. simple read example title> mple</ ad exa simple re <html> itle>rjax: <t <head> </head > cript ax.jsquot;></s <body> pt src=quot;/rj +'quot;>'; <scr i ataquot;); +node.Color (quot;/myd :' <s cri pt> getContent round-color =Rjax. backg va r node div style=quot; v='< ; var di .write(div) nt docume > pt </scri ript> Title) ; 2><sc e(node. <h cument.writ d o ></h2> ion); </script t> script rip de.De <p><sc nt.write(no docume p> pt></ </scri div> </ read me! http://localhost:7402/firs tsteps/2_read.html </body </html > >
  • 36. add new entry itle> ple</t y exam w entr add ne <html> itle>rjax: <t <head> body> es/*quot; taquot;> /entri art/form-da >< mydata p </head m action=quot;/ type=quot;multi or nc <f od=quot;POSTquot; e meth lequot; /> tle </h2> quot; name=quot;Tit <h2>Ti ype=quot;text <input t tarea> ></tex 2> ptionquot; cription</h ame=quot;Descri <h2>Des rows=quot;5quot; n <textarea /h2> <h2> Color< =quot;Colorquot;> e red <select nam alue=quot;redquot;> green v quot;> <option alue=quot;green v <option </select> agequot;/> add new http://localhost:7402/firststeps/3_addnew.html age</h2> equot; name=quot;Im <h2>Im ype=quot;fil <inp ut t nput t ype=quot;s ubmitquot; ></p> ><i <p form> </ > </body > </html
  • 37. list entries itle> ple</t s exam list entrie <html> itle>rjax: ; <head> <t riesquot;) ata/ent [...] (quot;/myd t> .getC ontent <scrip ntries=Rjax var e pt> </scri quot;>'); olor+' <div> ntry.C t> r ies) { lor:'+e <scrip ar a in ent s[a]; und-co ackgro h3>'); for (v ntry=entrie iv style=quot;b le+'</ var e .write('<d +entry.Tit nt >' ); docume .write('<h2 Description nt y. docume .write(entr nt docume ge) { ry.Ima if(ent [...] } ove=' ax:rem ; ies?rj /div>') mydata/entr ite('< quot;/ cum ent.wr e('<a href= list entries do .writ document move</a>'); re http://lo +a+'quot;> calhost:7 402/first steps/4_l ist.html } > ew</a> pt tmlquot;>add n </scri quot;3_addnew.h f= <a hre </div> > </body
  • 38. views [...] t> <scrip wizard(); Rjax. pt> </scri [...] rd(); ! Rja x.w iza ! ript> resource or ! </sc http://l iented urls ocalhost :7402/my data/ent ries.lis t.html
  • 39. views
  • 40. µjax content repository vs. ajax What’s JCR Introducing µjax
  • 41. µjax content repository vs. ajax What’s JCR Introducing µjax silve r
  • 42. If you remember only 2 things. I dev.day.com Download CRX and play with µjax. 2 keep an eye on “ apache sling”
  • 43. If you remember only 2 things. I dev.day.com Download CRX and play with µjax. 2 keep an eye on “ apache sling” riously! se