SlideShare a Scribd company logo
1 of 43
Download to read offline
µ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

More Related Content

Viewers also liked

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 AllocatorEmery Berger
 
When They Score Who Wins
When They Score Who WinsWhen They Score Who Wins
When They Score Who WinsHans Mundahl
 
Shopping for Uncle Albert
Shopping for Uncle AlbertShopping for Uncle Albert
Shopping for Uncle Albertedtech2020
 
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 MashupWayne Hodgins
 
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
 
Manifest Art Glb
Manifest Art GlbManifest Art Glb
Manifest Art GlbGeta Lucia
 
CAFOD working on Climate Change
CAFOD working on Climate ChangeCAFOD working on Climate Change
CAFOD working on Climate Changecafodbigdeal
 
Demotivators Master
Demotivators  MasterDemotivators  Master
Demotivators Masteredtech2020
 
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 1wang yaohui
 
Pats Presentation 3
Pats Presentation 3Pats Presentation 3
Pats Presentation 3total
 
Creating Classroom Libraries
Creating Classroom LibrariesCreating Classroom Libraries
Creating Classroom LibrariesZarah Gagatiga
 
Windowsmoviemakercosi
WindowsmoviemakercosiWindowsmoviemakercosi
WindowsmoviemakercosiOHIO ITSCO
 
Firesafety.Pps
Firesafety.PpsFiresafety.Pps
Firesafety.Ppsrstuart
 

Viewers also liked (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
 

Similar to Introducing Âμjax in 30 minutes

µjax in 30 minutes (for Stockholm)
µjax in 30 minutes (for Stockholm)µjax in 30 minutes (for Stockholm)
µjax in 30 minutes (for Stockholm)Lars Trieloff
 
Web Content Management And Agile
Web Content Management And AgileWeb Content Management And Agile
Web Content Management And AgileValtech UK
 
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 EnValtech
 
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 CQ5David Nuescheler
 
Practical Functional Javascript
Practical Functional JavascriptPractical Functional Javascript
Practical Functional JavascriptOliver Steele
 
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 2012Alexandre Morgaut
 
Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1Ram 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 2012Alexandre Morgaut
 
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, 2015Leonardo Borges
 
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 PluginsWojciech Seliga
 
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 SolrLars Trieloff
 
.NET Architects Day - DNAD 2011
.NET Architects Day - DNAD 2011.NET Architects Day - DNAD 2011
.NET Architects Day - DNAD 2011Fabio Akita
 
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 railsDNAD
 
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 ...nimbusinfo
 
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...mfrancis
 
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 Feb09Chris Richardson
 

Similar to Introducing Âμ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
 

More from Lars Trieloff

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 WorldLars Trieloff
 
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 ClojureLars Trieloff
 
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 ...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 dataLars 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 ChainLars Trieloff
 
Business Reasons for Predictive Applications
Business Reasons for Predictive ApplicationsBusiness Reasons for Predictive Applications
Business Reasons for Predictive ApplicationsLars Trieloff
 
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 WorkLars Trieloff
 
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 FrankfurtLars Trieloff
 
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 HamburgLars Trieloff
 
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üsseldorfLars Trieloff
 
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 BrusselsLars Trieloff
 
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 AmsterdamLars Trieloff
 
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 ParisLars Trieloff
 
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 ViennaLars Trieloff
 
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 DataLars Trieloff
 
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 2014Lars Trieloff
 
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 DataLars Trieloff
 
The DNA of Marketing
The DNA of MarketingThe DNA of Marketing
The DNA of MarketingLars Trieloff
 
Cross community campaigns with CQ5
Cross community campaigns with CQ5Cross community campaigns with CQ5
Cross community campaigns with CQ5Lars 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 CQ5Lars Trieloff
 

More from 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
 

Recently uploaded

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Introducing Âμ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