Platform Explorer / Nuxeo Platform LTS 2015 7.10

Contribution org.nuxeo.ecm.platform.ui.web.restAPI.contrib--restlets

This contribution is part of XML component org.nuxeo.ecm.platform.ui.web.restAPI.contrib inside nuxeo-platform-ui-web-7.10-HF07.jar /OSGI-INF/restAPI-contrib.xml

Create a File document via upload POST /nuxeo/restAPI/{repoId}/{docId}/{filename}/upload

Extension point

Extension point restlets of component PluggableRestletService.

Contributed items

  • <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.UploadRestlet" enabled="true" name="upload" useSeam="true">
          <urlPatterns>
            <urlPattern>/{repo}/{docid}/{filename}/upload</urlPattern>
          </urlPatterns>
        </restletPlugin>
  • <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.PluginUploadRestlet" enabled="true" name="pluginUpload" useConversation="true" useSeam="true">
          <urlPatterns>
            <urlPattern>/{repo}/{docid}/pluginUpload</urlPattern>
            <urlPattern>/{repo}/{docid}/createFromFile</urlPattern>
          </urlPatterns>
        </restletPlugin>
  • <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.BrowseRestlet" enabled="true" name="browse" useSeam="false">
          <urlPatterns>
            <urlPattern>/browse</urlPattern>
            <urlPattern>/{repo}/browse</urlPattern>
            <urlPattern>/{repo}/{docid}/browse</urlPattern>
          </urlPatterns>
        </restletPlugin>
  • <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.ExportRestlet" enabled="true" name="export" useSeam="false">
          <urlPatterns>
            <urlPattern>/{repo}/{docid}/export</urlPattern>
            <urlPattern>/{repo}/{docid}/exportSingle</urlPattern>
            <urlPattern>/{repo}/{docid}/exportTree</urlPattern>
          </urlPatterns>
        </restletPlugin>
  • <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.LockingRestlet" enabled="true" name="locking" useConversation="false" useSeam="false">
          <urlPatterns>
            <urlPattern>/{repo}/{docid}/Locking</urlPattern>
          </urlPatterns>
        </restletPlugin>
  • <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.DownloadFileRestlet" enabled="true" name="downloadFileRestlet" useSeam="true">
          <urlPatterns>
            <urlPattern>/{repo}/{docid}/downloadFile</urlPattern>
          </urlPatterns>
        </restletPlugin>
  • <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.UploadFileRestlet" enabled="true" name="uploadFileRestlet" useSeam="true">
          <urlPatterns>
            <urlPattern>/{repo}/{docid}/{filename}/uploadFile</urlPattern>
          </urlPatterns>
        </restletPlugin>
  • <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.CreateDocumentRestlet" enabled="true" name="createDocumentRestlet" useSeam="true">
          <urlPatterns>
            <urlPattern>/{repo}/{parentdocid}/createDocument</urlPattern>
          </urlPatterns>
        </restletPlugin>
  • <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.DeleteDocumentRestlet" enabled="true" name="deleteDocumentRestlet" useSeam="false">
          <urlPatterns>
            <urlPattern>/{repo}/{docid}/deleteDocumentRestlet</urlPattern>
            <urlPattern>/{repo}/{docid}/delete</urlPattern>
            <urlPattern>/{repo}/deleteDocumentByPath</urlPattern>
          </urlPatterns>
        </restletPlugin>
  • <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.UpdateDocumentRestlet" enabled="true" name="updateDocumentRestlet" useSeam="false">
          <urlPatterns>
            <urlPattern>/{repo}/{docid}/updateDocumentRestlet</urlPattern>
            <urlPattern>/{repo}/{docid}/update</urlPattern>
          </urlPatterns>
        </restletPlugin>
  • <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.CreationContainerListRestlet" enabled="true" name="creationFolderListRestlet" useSeam="true">
          <urlPatterns>
            <urlPattern>/creationContainerList</urlPattern>
          </urlPatterns>
        </restletPlugin>
  • <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.OpenSearchRestlet" enabled="true" name="openSearchRestlet" useSeam="false">
          <urlPatterns>
            <urlPattern>/opensearch</urlPattern>
          </urlPatterns>
        </restletPlugin>
  • <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.DirectoryCacheRestlet" enabled="true" name="directoryCache" useSeam="false">
          <urlPatterns>
            <urlPattern>/directoryCacheInvalidate</urlPattern>
          </urlPatterns>
        </restletPlugin>
  • <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.SystemLogRestlet" enabled="true" name="systemLog" useSeam="false">
          <urlPatterns>
            <urlPattern>/systemLog</urlPattern>
          </urlPatterns>
        </restletPlugin>

XML source

<extension point="restlets" target="org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService">

    <documentation>
      Create a File document via upload
      POST /nuxeo/restAPI/{repoId}/{docId}/{filename}/upload
    </documentation>
    <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.UploadRestlet" enabled="true" name="upload" useSeam="true">
      <urlPatterns>
        <urlPattern>/{repo}/{docid}/{filename}/upload</urlPattern>
      </urlPatterns>
    </restletPlugin>

    <documentation>
      Restlet for uploading a file via the Plugin (linked to FileManager)
      (ie create a document from a file)
      POST /nuxeo/restAPI/{repoId}/{docId}/pluginUpload/{path}
      POST /nuxeo/restAPI/{repoId}/{docId}/createFromFile/{path}
    </documentation>
    <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.PluginUploadRestlet" enabled="true" name="pluginUpload" useConversation="true" useSeam="true">
      <urlPatterns>
        <urlPattern>/{repo}/{docid}/pluginUpload</urlPattern>
        <urlPattern>/{repo}/{docid}/createFromFile</urlPattern>
      </urlPatterns>
    </restletPlugin>

    <documentation>
      Simple restlet to browse content
      GET /nuxeo/restAPI/browse
      GET /nuxeo/restAPI/{repoId}/browse
      GET /nuxeo/restAPI/{repoId}/{docId}/browse
    </documentation>
    <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.BrowseRestlet" enabled="true" name="browse" useSeam="false">
      <urlPatterns>
        <urlPattern>/browse</urlPattern>
        <urlPattern>/{repo}/browse</urlPattern>
        <urlPattern>/{repo}/{docid}/browse</urlPattern>
      </urlPatterns>
    </restletPlugin>

    <documentation>
      GET /nuxeo/restAPI/{repoId}/{docId}/export
      =&gt; export a document and possibly associated tree

      GET /nuxeo/restAPI/{repoId}/{docId}/exportSingle
      =&gt; export a single document

      GET /nuxeo/restAPI/{repoId}/{docId}/exportTree
      =&gt; export a document tree

      Associated GET parameters are :
      - format : xml/zip
    </documentation>
    <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.ExportRestlet" enabled="true" name="export" useSeam="false">
      <urlPatterns>
        <urlPattern>/{repo}/{docid}/export</urlPattern>
        <urlPattern>/{repo}/{docid}/exportSingle</urlPattern>
        <urlPattern>/{repo}/{docid}/exportTree</urlPattern>
      </urlPatterns>
    </restletPlugin>

    <documentation>
      Allows lock manipulation via Restlet API:
      GET /nuxeo/restAPI/{repoId}/{docId}/Locking/lock
      GET /nuxeo/restAPI/{repoId}/{docId}/Locking/unlock
      GET /nuxeo/restAPI/{repoId}/{docId}/Locking/status
      GET /nuxeo/restAPI/{repoId}/{docId}/Locking/state
      LOCK /nuxeo/restAPI/{repoId}/{docId}/Locking
      UNLOCK /nuxeo/restAPI/{repoId}/{docId}/Locking
    </documentation>
    <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.LockingRestlet" enabled="true" name="locking" useConversation="false" useSeam="false">
      <urlPatterns>
        <urlPattern>/{repo}/{docid}/Locking</urlPattern>
      </urlPatterns>
    </restletPlugin>

    <documentation>
      GET /nuxeo/restAPI/{repoId}/{docId}/downloadFile
      or equivalently with optional query parameters:
      GET /nuxeo/restAPI/{repoId}/{docId}/downloadFile?schema=file&amp;blobField=content&amp;filenameField=filename
    </documentation>
    <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.DownloadFileRestlet" enabled="true" name="downloadFileRestlet" useSeam="true">
      <urlPatterns>
        <urlPattern>/{repo}/{docid}/downloadFile</urlPattern>
      </urlPatterns>
    </restletPlugin>

    <documentation>
      Upload a file in an existing document
      POST /nuxeo/restAPI/{repo}/{docid}/{filename}/uploadFile
    </documentation>
    <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.UploadFileRestlet" enabled="true" name="uploadFileRestlet" useSeam="true">
      <urlPatterns>
        <urlPattern>/{repo}/{docid}/{filename}/uploadFile</urlPattern>
      </urlPatterns>
    </restletPlugin>

    <documentation>
      GET /nuxeo/restAPI/{repo}/{parentdocid}/createDocument
      or equivalently with optional query paramaters:
      GET /nuxeo/restAPI/{repo}/{parentdocid}/createDocument?docType=File
      or
      POST /nuxeo/restAPI/{repo}/{parentdocid}/createDocument
      with arguments with initial values of the documents fields as string valued properties
    </documentation>
    <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.CreateDocumentRestlet" enabled="true" name="createDocumentRestlet" useSeam="true">
      <urlPatterns>
        <urlPattern>/{repo}/{parentdocid}/createDocument</urlPattern>
      </urlPatterns>
    </restletPlugin>

    <documentation>
      Allows deleting documents via Restlet API:
      GET /nuxeo/restAPI/{repoId}/{docId}/deleteDocumentRestlet
      GET /nuxeo/restAPI/{repoId}/{docId}/delete
      GET /nuxeo/restAPI/{repoId}/deleteDocumentByPath?path=/default-domain/workspaces/doc1
    </documentation>
    <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.DeleteDocumentRestlet" enabled="true" name="deleteDocumentRestlet" useSeam="false">
      <urlPatterns>
        <urlPattern>/{repo}/{docid}/deleteDocumentRestlet</urlPattern>
        <urlPattern>/{repo}/{docid}/delete</urlPattern>
        <urlPattern>/{repo}/deleteDocumentByPath</urlPattern>
      </urlPatterns>
    </restletPlugin>

    <documentation>
      Allows to update document properties via Restlet API:
      GET /nuxeo/restAPI/{repoId}/{docId}/updateDocumentRestlet?prop1=value1
      GET /nuxeo/restAPI/{repoId}/{docId}/update?prop1=value1
      example : http://127.0.0.1:8080/nuxeo/restAPI/default/1fee4b3e-8b8e-494e-b0a5-eef5113fb5a7/updateDocumentRestlet?dublincore:description=No%20comment
    </documentation>
    <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.UpdateDocumentRestlet" enabled="true" name="updateDocumentRestlet" useSeam="false">
      <urlPatterns>
        <urlPattern>/{repo}/{docid}/updateDocumentRestlet</urlPattern>
        <urlPattern>/{repo}/{docid}/update</urlPattern>
      </urlPatterns>
    </restletPlugin>

    <documentation>
      GET /nuxeo/restAPI/creationContainerList
      or equivalently with optional query paramaters (where docType is the
      type of the document to create):
      GET /nuxeo/restAPI/creationContainerList?docType=File
    </documentation>
    <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.CreationContainerListRestlet" enabled="true" name="creationFolderListRestlet" useSeam="true">
      <urlPatterns>
        <urlPattern>/creationContainerList</urlPattern>
      </urlPatterns>
    </restletPlugin>

    <documentation>
      GET /nuxeo/restAPI/opensearch?q=keywords

      Perform a document search on the ecm:fulltext index and return the
      results as a RSS 2.0 file with opensearch.org metadata
    </documentation>
    <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.OpenSearchRestlet" enabled="true" name="openSearchRestlet" useSeam="false">
      <urlPatterns>
        <urlPattern>/opensearch</urlPattern>
      </urlPatterns>
    </restletPlugin>

    <documentation>
      GET /nuxeo/restAPI/directoryCacheInvalidate
      GET /nuxeo/restAPI/directoryCacheInvalidate?directory=userDirectory&amp;directory=groupDirectory

      Invalidate the cache of the requested directories or of all directories if not directory name is given as parameter.
    </documentation>
    <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.DirectoryCacheRestlet" enabled="true" name="directoryCache" useSeam="false">
      <urlPatterns>
        <urlPattern>/directoryCacheInvalidate</urlPattern>
      </urlPatterns>
    </restletPlugin>

    <documentation>
      GET /nuxeo/restAPI/systemLog?token=1234&amp;level=INFO&amp;message=something

      Log something in the system logs of the server. The token has to match
      the system property org.nuxeo.systemlog.token.
    </documentation>
    <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.SystemLogRestlet" enabled="true" name="systemLog" useSeam="false">
      <urlPatterns>
        <urlPattern>/systemLog</urlPattern>
      </urlPatterns>
    </restletPlugin>

  </extension>