Rails + JCR
-
Upload
shen-liu -
Category
Technology
-
view
2.141 -
download
5
description
Transcript of Rails + JCR
![Page 1: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/1.jpg)
JCR + Rails = ?
![Page 2: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/2.jpg)
© ThoughtWorks 2008
Who Am I
WPC
ThoughtWorker
10 years of programming life: C++ -> Prolog -> more C++ -> java, C++ -> Java -> Ruby -> Ruby + JS -> Ruby, JS, java
Selenium
Mingle (http://www.thoughtworks-studios.com)
![Page 3: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/3.jpg)
What Is This Presentation About
Introduction Java Content Repository
A small framework help using it in JRuby Rails
What it is interesting about
Where to use it
© ThoughtWorks 2008
![Page 4: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/4.jpg)
© ThoughtWorks 2008
So, what the heck is Content Repository?
![Page 5: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/5.jpg)
© ThoughtWorks 2008
A content repository is a hierarchical content store with support for structured and unstructured content
![Page 6: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/6.jpg)
© ThoughtWorks 2008
From Rakesh Vidyadharan
![Page 7: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/7.jpg)
© ThoughtWorks 2008
a lot of interesting features include:
Full text searchVersioningTransactionsRepository level observationQuery LanguageSecurity controlImport/Export/Merge…
And more
![Page 8: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/8.jpg)
© ThoughtWorks 2008
Java Content Repository = JSR170 / JSR283
Open Source Implementation = Apache Jackrabbit
![Page 9: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/9.jpg)
© ThoughtWorks 2008
Using JRuby to Access the Repository
![Page 10: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/10.jpg)
© ThoughtWorks 2008
What it can bring to Rails?
![Page 11: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/11.jpg)
© ThoughtWorks 2008
Flexible Schema Free Record
![Page 12: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/12.jpg)
© ThoughtWorks 2008
Built-in full text search support (using Lucene)
![Page 13: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/13.jpg)
© ThoughtWorks 2008
And powerful versioning function
![Page 14: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/14.jpg)
© ThoughtWorks 2008
And robust hierarchy storage
![Page 15: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/15.jpg)
© ThoughtWorks 2008
Xpath or SQL as Query language
![Page 16: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/16.jpg)
© ThoughtWorks 2008
User defined Node Type
![Page 17: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/17.jpg)
© ThoughtWorks 2008
More
Concurrent EditingBuilt-in access controlRepository ObservationExport/Import as XML formatData store support
![Page 18: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/18.jpg)
© ThoughtWorks 2008
Concerns:
PerformanceScalabilityMaintainability…
![Page 19: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/19.jpg)
© ThoughtWorks 2008
Resources
JSR 170 & JSR 283
Jackrabbit
Modeling http://wiki.apache.org/jackrabbit/DavidsModel
![Page 20: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/20.jpg)
© ThoughtWorks 2008
Related code is pushed to
http://github.com/wpc/jcr-rails-demo
PS: Don’t use it in production
![Page 21: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/21.jpg)
© ThoughtWorks 2008
Hey, the spike is far not finished yet
Drop me a mail if you are interested in
![Page 22: Rails + JCR](https://reader033.fdocuments.us/reader033/viewer/2022061601/554f5ebdb4c905c8088b4877/html5/thumbnails/22.jpg)
© ThoughtWorks 2008
Q & A