Repository Module

Version 9.1 by Thomas Mortagne on 2015/02/27 15:08

cogDistribute and expose extensions to the world
TypeOther
Category
Developed by

XWiki Development Team

Rating
0 Votes
LicenseGNU Lesser General Public License 2.1

Description

The Extension Module supports various kind of repositories. One of them is based on its own REST protocol. This extension is an implementation of this protocol based on an XWiki instance.

See design page for future features and improvements

Generic features:

  • Generic REST based protocol (does not depends in any way on XWiki or Java)
  • Searchable

XWiki based server implementation:

  • Index stored in XWiki pages
  • Repository administration UI
  • Integrated with wiki users
  • Import extensions from any other repositories (for example with this feature you can import an extension located in a Maven repository into your XWiki Repository)

Overall Architecture

xwiki-appstore.png

REST

By default the REST resources can be found at the following URL: http://server:port/xwiki/rest/repository/

/extensions

  • HTTP Method: GET
    • Media type:
      • application/xml
    • Description:
      • The list of extensions contained within the repository
    • Sample input:
      • /extensions
    • Sample output:
      • <extensions>
         <totalHits>3</totalHits>
         <offset>0</offset>
         <extensionSummary>
           <id>org.xwiki.contrib:application-filemanager-ui</id>
           <name>File Manager Application</name>
           <type>xar</type>
         </extensionSummary>
         <extensionSummary>
           <id>guillaumelerouge:send-page-by-email-application</id>
           <name>Send Page By Email Application</name>
           <type>xar</type>
         </extensionSummary>
         <extensionSummary>
           <id>mflorea:enable-default-action-for-flamingo-menu</id>
           <name>Enable Default Action for Flamingo Menu</name>
           <type>xar</type>
         </extensionSummary>
        </extensions>

/extensions/{extensionID}

  • HTTP Method: GET
    • Media type:
      • application/xml
    • Description:
      • Information about an extension
    • Sample input:
      • /extensions/org.xwiki.contrib:application-filemanager-ui
    • Sample output:
      • <extension>
         <id>org.xwiki.contrib:application-filemanager-ui</id>
         <name>File Manager Application</name>
         <type>xar</type>
         <rating>
           <totalVotes>821</totalVotes>
           <averageVote>5.0</averageVote>
         </rating>
         <summary>Application to manage a hierarchy of folders and files. It embeds viewers for many known file types, such as office and PDF.</summary>
         <description>This application lets your organize your files inside XWiki using a tree hierarchy of folders. It supports all standard operations like move, rename, copy, delete on both files and folders. You can use drag & drop to upload new files and to modify the folder hierarchy. A wide range of files types can be viewed or played (in case of audio and video files) directly from the wiki. This includes PDF and office documents [...]</description>
         <licenses>
           <name>GNU Lesser General Public License 2.1</name>
         </licenses>
         <website>http://extensions.xwiki.org/xwiki/bin/view/Extension/File+Manager+Application</website>
         <authors>
           <name>Thomas Delafosse</name>
           <url>http://www.xwiki.org/xwiki/bin/view/XWiki/tdelafosse</url>
         </authors>
         <authors>
           <name>Ludovic Dubost</name>
           <url>http://www.xwiki.org/xwiki/bin/view/XWiki/LudovicDubost</url>
         </authors>
         <authors>
           <name>Marius Dumitru Florea</name>
           <url>http://www.xwiki.org/xwiki/bin/view/XWiki/mflorea</url>
         </authors>
         <features>tdelafosse:file-manager-application</features>
         <features>org.xwiki.contrib:application-filemanager</features>
        </extension>

/search?start={offset}&number={numberOfResults}&q={query}

  • HTTP Method: GET
    • Media type:
      • application/xml
    • Description:
      • Search 
    • Sample input:
      • /search?start=0&number=2&q=macro
    • Sample output:
      • <extensionsSearchResult>
         <totalHits>137</totalHits>
         <offset>0</offset>
         <extensions>
           <id>user-displayer-macro</id>
           <name>User Displayer Macro</name>
           <type>xar</type>
           <rating>
             <totalVotes>124</totalVotes>
             <averageVote>4.1</averageVote>
           </rating>
           <summary>User custom displayer macro with scope (local, global, both)</summary>
           <description>Custom displayer wiki macro to be used in List of Users properties. The major difference between this macro and the default List of Users displayer bundled with the standard XWiki Enterprise Manager is that it adds the ability to access and display global users in a sub-wiki. This is done by using the "scope" parameter. [...]</description>
           <licenses>
             <name>GNU Lesser General Public License 2.1</name>
           </licenses>
           <website>http://extensions.xwiki.org/xwiki/bin/view/Extension/User+Displayer+Macro</website>
           <authors>
             <name>Flavius Olaru</name>
             <url>http://www.xwiki.org/xwiki/bin/view/XWiki/FlaviusOlaru</url>
           </authors>
           <version>1.0</version>
         </extensions>
         <extensions>
           <id>org.xwiki.contrib:application-filemanager-ui</id>
           <name>File Manager Application</name>
           <type>xar</type>
           <rating>
             <totalVotes>821</totalVotes>
             <averageVote>5.0</averageVote>
           </rating>
           <summary>Application to manage a hierarchy of folders and files. It embeds viewers for many known file types, such as office and PDF.</summary>
           <description>This application lets your organize your files inside XWiki using a tree hierarchy of folders. It supports all standard operations like move, rename, copy, delete on both files and folders. You can use drag & drop to upload new files and to modify the folder hierarchy. A wide range of files types can be viewed or played (in case of audio and video files) directly from the wiki. This includes PDF and office documents. [...]</description>
           <licenses>
             <name>GNU Lesser General Public License 2.1</name>
           </licenses>
           <website>http://extensions.xwiki.org/xwiki/bin/view/Extension/File+Manager+Application</website>
           <authors>
             <name>Thomas Delafosse</name>
             <url>http://www.xwiki.org/xwiki/bin/view/XWiki/tdelafosse</url>
           </authors>
           <authors>
             <name>Ludovic Dubost</name>
             <url>http://www.xwiki.org/xwiki/bin/view/XWiki/LudovicDubost</url>
           </authors>
           <authors>
             <name>Marius Dumitru Florea</name>
             <url>http://www.xwiki.org/xwiki/bin/view/XWiki/mflorea</url>
           </authors>
           <features>tdelafosse:file-manager-application</features>
           <features>org.xwiki.contrib:application-filemanager</features>
           <version>2.0-rc-1</version>
         </extensions>
        </extensionsSearchResult>

/search

[since 7.0]

  • HTTP Method: POST
    • Media type:
      • application/xml
    • Description:
      • Search 
    • Sample input:
      • /search
      • <extensionQuery xmlns="http://www.xwiki.org/extension">
         <query>macro</query>
         <offset>0</offset>
         <limit>2</limit>
         <filters>
           <field>name</field>
           <valueString>macro</valueString>
           <comparison>MATCH</comparison>
         </filters>
         <sortClauses>
           <field>name</field>
           <order>DESC</order>
         </sortClauses>
        </extensionQuery>
    • Sample output:
      • <extensionsSearchResult>
         <totalHits>137</totalHits>
         <offset>0</offset>
         <extensions>
           <id>user-displayer-macro</id>
           <name>User Displayer Macro</name>
           <type>xar</type>
           <rating>
             <totalVotes>124</totalVotes>
             <averageVote>4.1</averageVote>
           </rating>
           <summary>User custom displayer macro with scope (local, global, both)</summary>
           <description>Custom displayer wiki macro to be used in List of Users properties. The major difference between this macro and the default List of Users displayer bundled with the standard XWiki Enterprise Manager is that it adds the ability to access and display global users in a sub-wiki. This is done by using the "scope" parameter. [...]</description>
           <licenses>
             <name>GNU Lesser General Public License 2.1</name>
           </licenses>
           <website>http://extensions.xwiki.org/xwiki/bin/view/Extension/User+Displayer+Macro</website>
           <authors>
             <name>Flavius Olaru</name>
             <url>http://www.xwiki.org/xwiki/bin/view/XWiki/FlaviusOlaru</url>
           </authors>
           <version>1.0</version>
         </extensions>
         <extensions>
           <id>org.xwiki.contrib:application-filemanager-ui</id>
           <name>File Manager Application</name>
           <type>xar</type>
           <rating>
             <totalVotes>821</totalVotes>
             <averageVote>5.0</averageVote>
           </rating>
           <summary>Application to manage a hierarchy of folders and files. It embeds viewers for many known file types, such as office and PDF.</summary>
           <description>This application lets your organize your files inside XWiki using a tree hierarchy of folders. It supports all standard operations like move, rename, copy, delete on both files and folders. You can use drag & drop to upload new files and to modify the folder hierarchy. A wide range of files types can be viewed or played (in case of audio and video files) directly from the wiki. This includes PDF and office documents. [...]</description>
           <licenses>
             <name>GNU Lesser General Public License 2.1</name>
           </licenses>
           <website>http://extensions.xwiki.org/xwiki/bin/view/Extension/File+Manager+Application</website>
           <authors>
             <name>Thomas Delafosse</name>
             <url>http://www.xwiki.org/xwiki/bin/view/XWiki/tdelafosse</url>
           </authors>
           <authors>
             <name>Ludovic Dubost</name>
             <url>http://www.xwiki.org/xwiki/bin/view/XWiki/LudovicDubost</url>
           </authors>
           <authors>
             <name>Marius Dumitru Florea</name>
             <url>http://www.xwiki.org/xwiki/bin/view/XWiki/mflorea</url>
           </authors>
           <features>tdelafosse:file-manager-application</features>
           <features>org.xwiki.contrib:application-filemanager</features>
           <version>2.0-rc-1</version>
         </extensions>
        </extensionsSearchResult>

Prerequisites & Installation Instructions

See Repository Application.

Tags:
    

Get Connected