Your SlideShare is downloading. ×
0
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
File Access and Storage with the TYPO3 Content Repository
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

File Access and Storage with the TYPO3 Content Repository

2,924

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,924
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. File Access and Storage with the TYPO3 Content Repository Master Thesis Presentation – 04/20/2009 Eastern Michigan University – Department of Computer Science Thesis Chair: Professor William Sverdlik Committee Member: Professor Michael Zeiger Committee Member: Professor Augustine C. Ikeji
  • 2. Overview  Introduction  General Problem  What have others done?  TYPO3 Content Repository  WebDAV  Implementation  Results  Conclusion / Future work File Access and Storage with the TYPO3 Content Repository
  • 3. Introduction  What is:  Content?  Content Repository?  JCR?  TYPO3 Content Repository? File Access and Storage with the TYPO3 Content Repository
  • 4. Introduction  What is:  Content?  Content Repository?  JCR?  TYPO3 Content Repository? File Access and Storage with the TYPO3 Content Repository
  • 5. Introduction  What is:  Content?  Content Repository?  JCR?  TYPO3 Content Repository? File Access and Storage with the TYPO3 Content Repository
  • 6. Introduction  What is:  Content?  Content Repository?  JCR?  TYPO3 Content Repository? File Access and Storage with the TYPO3 Content Repository
  • 7. Introduction  What is:  Content?  Content Repository?  JCR?  TYPO3 Content Repository? File Access and Storage with the TYPO3 Content Repository
  • 8. General Problem  How do I store files?  Images and other documents need to be transferred into the content repository „Content is everything“ David Nüscheler File Access and Storage with the TYPO3 Content Repository
  • 9. What have others done?  HTTP/1.0 – GET, HEAD and POST  HTTP/1.1 – OPTIONS, DELETE, PUT  FTP  CMIS – Content Management Interoperability Services v0.5  WebDAV – set of extension to the HTTP/1.1 protocol File Access and Storage with the TYPO3 Content Repository
  • 10. Goal of study  To create an implementation of the WebDAV protocol to access files in the TYPO3 Content Repository File Access and Storage with the TYPO3 Content Repository
  • 11. TYPO3 Content Repository – What?  A JCR compliant repository in PHP  JCR combines best of both worlds  JCR is a standard to access a content repository File Access and Storage with the TYPO3 Content Repository
  • 12. TYPO3 Content Repository – Why?  Current situation File Access and Storage with the TYPO3 Content Repository
  • 13. TYPO3 Content Repository – Why?  First migration step File Access and Storage with the TYPO3 Content Repository
  • 14. TYPO3 Content Repository – Why?  Last migration step File Access and Storage with the TYPO3 Content Repository
  • 15. TYPO3 Content Repository – How?  Tree of nodes File Access and Storage with the TYPO3 Content Repository
  • 16. TYPO3 Content Repository – How?  JCR defines three levels  Level 1 – Read access  Level 2 – Write access  Optional  Transactions  Versioning  Locking  Observations  Access Control File Access and Storage with the TYPO3 Content Repository
  • 17. TYPO3 Content Repository – How?  JCR defines three levels  Level 1 – Read access  Level 2 – Write access  Optional  Transactions  Versioning  Locking  Observations  Access Control Not implemented yet! File Access and Storage with the TYPO3 Content Repository
  • 18. WebDAV  Web-based Distributed Authoring and Versioning  A set of extensions to the HTTP/1.1 protocol  PROPFIND  PROPPATCH  MOVE  COPY  UNLOCK  LOCK  Uses XML and additional headers to transport information. File Access and Storage with the TYPO3 Content Repository
  • 19. WebDAV - Benefits  Locking of resources  Same user for the content repository as for the content-application  Change properties  Find properties  Define own properties  Listing hierarchical data File Access and Storage with the TYPO3 Content Repository
  • 20. Implementation - Requirements  Define an information model  add extra informations from files  Map WebDAV to JCR  Ensure compatibility to different clients  Create reusable components to replace the storage backend  Support basic file-system functionality File Access and Storage with the TYPO3 Content Repository
  • 21. Implementation - Requirements  Non-functional Requirements  Interoperability  Efficiency  Usability  Confidentiality  Integrity  Recoverability File Access and Storage with the TYPO3 Content Repository
  • 22. Filename (nt:file) - jcr:created (date) Implementation - jcr:createdBy (string) + jcr:content (nt:resource) - jcr:data (binary)  Information model - jcr:mimeType (string) - jcr:encoding (string) - jcr:lastModified (date)  Basic resource information - jcr:lastModifiedBy (string)  Additional file information - flow3:contentLength (integer) - flow3:title (string)  E.g. image with exif and GPS - flow3:author (string) - flow3:comments (string) - flow3:keywords (string) - flow3:cameraModel (string) - flow3:imageHeight (string) - flow3:imageWidth (string) - gps:latitude (string) - gps:longitude (string) - gps:altitude (string) File Access and Storage with the TYPO3 Content Repository
  • 23. Implementation  Map WebDAV to JCR JCR WebDAV jcr:created DAV:creationdate jcr:lastModied DAV:getlastmodied flow3:contentLength DAV:getcontentlength jcr:mimeType / jcr:encoding DAV:getcontenttype primary type: nt:file / nt:folder DAV:resourcetype jcr:data GET and PUT Message-Body File Access and Storage with the TYPO3 Content Repository
  • 24. Implementation  Component overview File Access and Storage with the TYPO3 Content Repository
  • 25. File Access and Storage with the TYPO3 Content Repository
  • 26. Implementation - Review Feature Content Repository File-system connector connector Create folder YES YES Create file YES YES Delete folder YES YES Delete file YES YES Edit file YES YES List contents YES YES Copy folder NO YES Copy file NO YES Move folder NO YES Move file NO YES User auth. NO NO Versioning NO NO Locking NO NO File Access and Storage with the TYPO3 Content Repository
  • 27. Results  Introduced  TYPO3 Content Repository  WebDAV  Determined requirements  Created a design  Developed a prototype  Prototype can transfer files into the repository File Access and Storage with the TYPO3 Content Repository
  • 28. Results  Extra information from a file is stored  Content Repository provides a solution to consistently store information  Files are handled in the same way as other content / no file specific functions  Content Repository combines benefits of a Database, a file-system and XML File Access and Storage with the TYPO3 Content Repository
  • 29. Results - Efficiency Action Latency Duration PROPFIND (15 files) +2.40s (+300%) +65ms (130%) PROPPATCH +0.35s (+44%) +0ms (+0%) GET +0.35s (+44%) +12ms(+120%) HEAD +0.35s (+44%) +12ms(+120%) DELETE +0.60s (+75%) +0ms (+0%) PUT +1.50s (+187%) +1ms(+100%) MOVE - - COPY - - File Access and Storage with the TYPO3 Content Repository
  • 30. Results - Interoperability User-Agent Encoding of foldername ÄÖÜäöü WebFolders (Win) %C3%84%C3%96%C3%9C%C3%A4%C3%B6%C3%BC DAV Explorer (Win) %C4%D6%DC%E4%F6%FC Naja (Win) (international characters not supported) Cyberduck (Mac) %C3%84%C3%96%C3%9C%C3%A4%C3%B6%C3%BC WebDAV-FS (Mac) A%CC%88O%CC%88U%CC%88a%CC%88o%CC%88u%CC%88 File Access and Storage with the TYPO3 Content Repository
  • 31. Results - Usability  Not all functionality could be implemented.  An error occurs when the user tries to  move a file / folder  copy a file / folder  rename a file / folder  This reduces the usability File Access and Storage with the TYPO3 Content Repository
  • 32. Results  Confidentiality is not provided  Access Control has not been implemented in the content repository  Integrity is provided  Content-length is checked against the content-length header  Recoverability is not provided  Versioning has not been implemented in the content repository File Access and Storage with the TYPO3 Content Repository
  • 33. Results - Challenges  Request Handler doesn‘t support WebDAV requests  Request Handler couldn‘t be replaced  MVC Routing Mechanism couldn‘t redirect to Default Controller of the prototype  Session->isNodeType was not implemented  Value->getBinary was not implemented  PHP 5.3 RC1 is unstable / throws segmentation faults  Interoperability with different clients File Access and Storage with the TYPO3 Content Repository
  • 34. Conclusion  Content Repository has been introduced  WebDAV has been introduced  A prototype has been created that stores successfully files with the content repository  WebDAV is an appropriate protocol  A standard to use international characters is missing File Access and Storage with the TYPO3 Content Repository
  • 35. Conclusion  TYPO3 Content Repository is not ready for production use but ready for pilot projects  TYPO3 Association provides a perfect plattform to develop projects  The community around TYPO3 is very helpful and provides useful feedback File Access and Storage with the TYPO3 Content Repository
  • 36. Future work  Support locking, versioning and authentication  Tagging content / Virtual folders  Performance improvements through caching  Additional filters to extract file information  Observation of CMIS – Content Management Information Services File Access and Storage with the TYPO3 Content Repository
  • 37. DEMO File Access and Storage with the TYPO3 Content Repository
  • 38. Questions? File Access and Storage with the TYPO3 Content Repository
  • 39. Thank you File Access and Storage with the TYPO3 Content Repository

×