SlideShare a Scribd company logo
µ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 Allocator
Emery 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 Albert
edtech2020
 
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
Wayne 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
 
Day Of J U A
Day Of  J U ADay Of  J U A
Day Of J U A
Hans Mundahl
 
Manifest Art Glb
Manifest Art GlbManifest Art Glb
Manifest Art Glb
Geta Lucia
 
CAFOD working on Climate Change
CAFOD working on Climate ChangeCAFOD working on Climate Change
CAFOD working on Climate Change
cafodbigdeal
 
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
 
Çin'e Bir Gezi
Çin'e Bir GeziÇin'e Bir Gezi
Çin'e Bir Gezi
Ufuk Eskici
 
When Books Talk!
When Books Talk!When Books Talk!
When Books Talk!
Zarah Gagatiga
 
070829 intra-SNS case-study
070829 intra-SNS case-study070829 intra-SNS case-study
070829 intra-SNS case-study
Yoshihito Kuranuki
 
Pats Presentation 3
Pats Presentation 3Pats Presentation 3
Pats Presentation 3total
 
Creating Classroom Libraries
Creating Classroom LibrariesCreating Classroom Libraries
Creating Classroom Libraries
Zarah 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 µ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
 
Bcp seminar 0713_handsout
Bcp seminar 0713_handsoutBcp seminar 0713_handsout
Bcp seminar 0713_handsout
Mizuki Eno Enomoto
 
Introducing JSR-283
Introducing JSR-283Introducing JSR-283
Introducing JSR-283
David Nuescheler
 
Web Content Management And Agile
Web Content Management And AgileWeb Content Management And Agile
Web Content Management And Agile
Valtech UK
 
Agile Edge Valtech
Agile Edge ValtechAgile Edge Valtech
Agile Edge Valtech
David Nuescheler
 
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
 
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
David Nuescheler
 
Practical Functional Javascript
Practical Functional JavascriptPractical Functional Javascript
Practical Functional Javascript
Oliver 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 2012
Alexandre 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, 2015
Leonardo Borges
 
iForum 1004_handsout
iForum 1004_handsoutiForum 1004_handsout
iForum 1004_handsout
Mizuki Eno Enomoto
 
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
Wojciech 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 Solr
Lars Trieloff
 
.NET Architects Day - DNAD 2011
.NET Architects Day - DNAD 2011.NET Architects Day - DNAD 2011
.NET Architects Day - DNAD 2011
Fabio 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 rails
DNAD
 
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 Feb09
Chris Richardson
 

Similar to µ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 World
Lars 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 Clojure
Lars 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 Applications
Lars 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 Work
Lars 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 Frankfurt
Lars 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 Hamburg
Lars 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üsseldorf
Lars 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 Brussels
Lars 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 Amsterdam
Lars 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 Paris
Lars 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 Vienna
Lars 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 Data
Lars 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 2014
Lars 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 Data
Lars Trieloff
 
The DNA of Marketing
The DNA of MarketingThe DNA of Marketing
The DNA of Marketing
Lars Trieloff
 
Cross community campaigns with CQ5
Cross community campaigns with CQ5Cross community campaigns with CQ5
Cross community campaigns with CQ5
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 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

ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 

Recently uploaded (20)

ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 

µ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