File Access and Storage with the TYPO3 Content Repository

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    File Access and Storage with the TYPO3 Content Repository - Presentation 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
    SlideShare Zeitgeist 2009

    + Christoph BlömerChristoph Blömer Nominate

    custom

    752 views, 0 favs, 1 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 752
      • 731 on SlideShare
      • 21 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds
    • 21 views on http://www.bertrandkeller.info

    more

    All embeds
    • 21 views on http://www.bertrandkeller.info

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Tags