WebDAV

Last modified by Vincent Massol on 2024/11/19 16:12

 XWiki
 Feature
 Completed
 

Description

Warning

This document seems to be out-dated, will be updated as time permits.

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

WarningOpen question: we could use a . instead of a : WarningOpen question: we could decide not to organize the attachments pages by space WarningOpen 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

WarningThis means the # is forbidden in the directory names in such a view. WarningThis can lead to very long page names in the wiki.


 


Get Connected