Design: WebDAV Service

Lead: XWiki.ludovic
Status:
JIRA:

The WebDAV Service is a WebDAV compatible view of the XWiki repository. This will have many benefits especially allowing to edit attached documents without needing to reupload them after editing, and this without any additional tool.

This design proposal needs to be discussed especially to agree on the way the WebDAV view is organized.

Entry points

The following entry points are proposed:

  • home
  • orphans
  • spaces
  • attachments
  • whatsnew
  • library
These names should be translated based on the language of the wiki.

'home' view

This view allows to browse the pages starting from Main.WebHome using the parent child relationship.

  • home
    • wiki.txt -> wiki content of the Main.WebHome page
    • wiki.xml -> xml view of the Main.WebHome page
    • attach1.png -> png file attached to the Main.WebHome page
    • attach2.png -> second png file attached to the Main.WebHome page
    • Dashboard
      • wiki.txt
      • wiki.xml
    • WebSearch
      • wiki.txt
      • wiki.xml
    • WebRSS
      • wiki.txt
      • wiki.xml
    • Blog.WebHome
      • wiki.txt
      • wiki.xml
      • FirstArticle
        • wiki.txt
        • wiki.xml
    • Sandbox.WebHome
      • wiki.txt
      • wiki.xml
      • Page1
        • wiki.txt
        • wiki.xml
      • Page2
        • wiki.txt
        • wiki.xml
If a page is in the same space as the parent space then the space name does not appear. If the page is in a different space then the space name appears.

The wiki.txt and wiki.xml files are reserved words for the wiki content and the xml view of a page.

Attached files to a page are at the same level as wiki.txt and wiki.xml.

Added directories in this view will create or add to pages in the same space, except when a "." is present in the directory name and in this case the page is created in a different space. Directories under it will then create or add to pages in the second space. If the page is already existing then files are modifying that page instead of replacing it.

Added files will be attachments to the page represented by the directory name, except if there is not . in the name and in this case it will be a page.

Warning: When uploading a tree of directories and files, it is not possible to have the same directory name at the same space in the tree. This will cause an XWiki page name conflicts.

'orphans'

This view allows to view the other entry points in the wiki that are not linked to 'Main.WebHome'. All pages that do not have a parent that exists in the wiki are shown in this list.

The organization is the same as in the 'home' view.

'spaces' view

This view lists all the documents organized by space.

  • spaces
    • Main
      • NEW
        • WebHome
          • wiki.txt -> wiki content of the Main.WebHome page
          • wiki.xml -> xml view of the Main.WebHome page
          • attach1.png -> png file attached to the Main.WebHome page
          • attach2.png -> second png file attached to the Main.WebHome page
      • X
        • XWiki
          • wiki.txt
          • wiki.xml
      • W
        • WebHome
          • wiki.txt -> wiki content of the Main.WebHome page
          • wiki.xml -> xml view of the Main.WebHome page
          • attach1.png -> png file attached to the Main.WebHome page
          • attach2.png -> second png file attached to the Main.WebHome page
        • WebSearch
          • wiki.txt
          • wiki.xml
        • WebRss
          • wiki.txt
          • wiki.xml
    • Blog
      • F
          • FirstArticle
            • wiki.txt
            • wiki.xml
    • Sandbox
      • P
        • Page1
          • wiki.txt
          • wiki.xml
        • Page2
          • wiki.txt
          • wiki.xml
Added documents in this 'view' will create new pages and new spaces. Directoried can only be added at the first level. The wiki.txt file is reserved to add wiki content. The wiki.xml file needs to be a XWiki XML content.

Warning: To add a new page starting with a letter that does not yet have a page starting with it is done in the directory of the space. However the page will not appear there. This could be a problem. If we decide to show the last 10 updated pages in the root directory of the space, this problem might be fixed

Warning: Open question: we need to decide when we are at a page level if we show the child pages.

'attachments' view

This view list all documents containing attachments.

  • Main
      • W
        • WebHome
          • wiki.txt
          • wiki.xml
          • attach1.png
          • attach2.png
      • NEW -> reserved word to list ther recent attachments
        • Main.WebHome:attach1.png
        • Main.WebHome:attach2.png
Warning: Open question: we could use a . instead of a :
Warning: Open question: we could decide not to organize the attachments pages by space
Warning: Open question: we could decide not to show the wiki.txt and wiki.xml content files

Added documents in this space need to be in the format Space.Page:filename.ext. It is not possible to add directories.

'whatsnew' view

This view would list the last 20 modified pages

  • whatsnew
    • Main.WebHome
      • wiki.txt
      • wiki.xml
      • attach1.png
      • attach2.png
    • Blog.Article1
      • wiki.txt
      • wiki.xml
This is a view in which no documents can be added.

'library' view

The 'library' view is a specific view on certain spaces allowing the wiki to function like a normal directory of files. In this view it is possible to upload a directory with conflicting file names, as these will be transformed to include the parent page name in the page name. By default the 'Library' space will be visible in this view. Additional spaces can show up if listed in the XWiki Preferences.

If you have the following directory of files:

  • project1
    • project1overview.doc
    • user specifications
      • file1.doc
      • file2.doc
    • technical specifications
      • file1.doc
      • file2.doc
  • project2
    • user specifications
      • file1.doc
      • file2.doc
    • technical specifications
      • file1.doc
      • file2.doc
The following wiki content will be created.

  • space 'Library'
    • Library.project1
      • attached project1overview.doc
    • Library.project1#user specifications
      • attached file1.doc
      • attached file2.doc
    • Library.project1#technical specifications
      • attached file1.doc
      • attached file2.doc
    • Library.project2
    • Library.project2#user specifications
      • attached file1.doc
      • attached file2.doc
    • Library.project2#technical specifications
      • attached file1.doc
      • attached file2.doc
Warning: This means the # is forbidden in the directory names in such a view.
Warning: This can lead to very long page names in the wiki.
Version 3.1 last modified by LudovicDubost on 01/08/2008 at 11:11

Comments 2

Sergiu | 20.11.2007 at 12:44 AM
I don't know if we can use : on windows, and I don't know if we can use # inside an URL.

LudovicDubost | 29.07.2008 at 07:00 PM
Just keeping this URL usefull for Windows WebDAV compatibility

https://bugs.launchpad.net/zope2/+bug/143098

Attachments 0

No attachments for this document

Creator: ludovic on 2007/11/19 11:31
This wiki is licensed under a Creative Commons license
1.4.1.10194