Fork me on GitHub

Utilisation

Plugin de test

Il existe un plugin permettant d'effectuer des tests sur le module-document-rest: plugin-testlibrairy. Ce dernier a besoin de: librairy-document-client.

Note : pour son utilisation, lire ...

Syntaxe des URLs

Récupérer les informations concernant un document au format XML

  • Pour obtenir la liste des espaces :
						http://myhost/mywebapp/rest/document/getuserspaces/{id_user}
					

Description du XML en réponse:

  • <space>...</space>: balise contenant les informations d'un espace
  • <space-id>...</space>: balise contenant l'id
  • <name>...</name>: balise contenant le nom
  • <description>...</description>: balise contenant la description
  • <space-icon-url>...</space-icon-url>: balise contenant l'url de l'icone
  • <child-spaces>...</child-spaces>: balise contenant les espaces enfants
  • Pour obtenir les informations d'un espace :
						http://myhost/mywebapp/rest/document/getspace/{id_space}
					

Description du XML en réponse:

  • <space>...</space>: balise contenant les informations d'un espace
  • <space-id>...</space>: balise contenant l'id
  • <name>...</name>: balise contenant le nom
  • <description>...</description>: balise contenant la description
  • <space-id-icon>...</space-id-icon>: balise contenant l'id de l'icone
  • <space-icon-url>...</space-icon-url>: balise contenant l'url de l'icone
  • <space-allowed-document-types>...</space-allowed-document-types>: balise contenant la liste des documents autorisés
  • <space-document-creation-allowed>...</space-document-creation-allowed>: balise contenant true s'il est possible de créer un document, false dans le cas contraire
  • <document-type>...</document-type>: balise contenant le type d'un document
  • <space-workgroup>...</space-workgroup>: balise contenant l'information sur le workgroup
  • Pour obtenir la liste des documents d'un espace :
						http://myhost/mywebapp/rest/document/getdocumentslistbyspace/{id_space}
					

Description du XML en réponse:

  • <Documents>...</Documents>: balise contenant la liste des documents présents dans l'espace
  • <Id-document>...</Id-document>: balise contenant l'id du document
  • Pour obtenir les informations d'un document :
						http://myhost/mywebapp/rest/document/getdocument/{id_document}
					

Description du XML en réponse:

  • <Document>...</Document>: balise contenant les informations du document
  • <'code_document_type'>...</'code_document_type'>: le nom de cette balise permet de déterminer le type de document qu'il s'agit et contient ses informations
  • <document-id>...</document-id>: balise contenant l'id
  • <document-title>...</document-title>: balise contenant le titre
  • <document-summary>...</document-summary>: balise contenant la description
  • <document-is-commentable>...</document-is-commentable>: balise permettant de spécifier si oui ou non le document peut être commenté
  • <document-date-begin>...</document-date-begin>: balise contenant la date de début du document
  • <document-date-end>...</document-date-end>: balise contenant la date de fin du document
  • <document-categories>...</document-categories>: balise contenant la liste des catégories
  • <image-file>...</image-file>: balise contenant les informations du fichier
  • d'autres balises sont présentes selon les attributs du document
  • <metadata>...</metadata>: balise contenant les informations du meta-data
  • <Page_Template_Document_Id>...</Page_Template_Document_Id>: balise contenant l'id de la template
  • <State_Id>...</State_Id>: balise contenant l'id du statut
  • <Is_Email_Notified_Comment>...</Is_Email_Notified_Comment>
  • <Is_Moderated_Comment>...</Is_Moderated_Comment>
  • <Published_status>...</Published_status>
  • <Comment>...</Comment>
  • Pour obtenir la liste des champs nécéssaires pour la création d'un document :
						http://myhost/mywebapp/rest/document/getcreationdocumentfields/{code_document_type}
					

Description du XML en réponse:

  • <main-fields>...</main-fields>: balise les champs en communs entre tous les documents
  • <dublincore-fields>...</dublincore-fields>: balise les champs en communs entre tous les documents
  • <attributs-fields>...</attributs-fields>: balise de la liste les champs des attributs
  • <attribut>...</attribut>: balise d'un champs des attributs, le code sera utilisé comme pour reproduire le formulaire
  • <parameter-attribut>...<parameter-attribut >: balise qui concerne les paramètres de l'attribut
  • <parameter-attribut-value>...<parameter-attribut-value>: balise listant les valeurs d'un paramètre d'un attribut
note: il est important de reprendre les mêmes noms des champs
  • Pour obtenir la liste des portlets de document pouvant être assigné au document spéficié :
						http://myhost/mywebapp/rest/document/getportletstoassigndocument/{id_document}
					

Description du XML en réponse:

  • <ref-items>...</ref-items>: balise contenant la liste des portlets
  • <ref-item name="..." code="..."/>: balise lié à un portlet, name étant son nom et le code étant son id
  • Pour obtenir la liste des portlets de liste de documents pouvant être assigné au document spéficié :
						http://myhost/mywebapp/rest/document/getportletslisttoassigndocument/{id_document}
					

Description du XML en réponse:

  • <ref-items>...</ref-items>: balise contenant la liste des portlets
  • <ref-item name="..." code="..."/>: balise lié à un portlet, name étant son nom et le code étant son id
  • Pour obtenir la liste des portlets assignés à un document dans lesquels ils pourront être publiés :
						http://myhost/mywebapp/rest/document/getportletsdocumentassigned/{id_document}
					

Description du XML en réponse:

  • <documents-publication>...</documents-publication>: balise contenant la liste des portlets
  • <document-publication status="..." portlet-id="..."/>: balise lié à un portlet, status étant le statut du document sur ce portlet (1=nonpublié, et 0=publié) et portlet-id étant son id

Action sur un document

Pour créer, il faut faire un formulaire de type POST, ayant un enctype multipart/form-data et avoir les paramètres suivants :

Nom du paramètre Type du paramètre Description du paramètre
id_user text Correspond à l'ID de l'utilisateur
id_space text Correspond à l'ID de l'espace dans lequel sera créé le document
code_document_type text Correspond au code qui permet de définir le type du document qui va être créé
						http://myhost/mywebapp/rest/document/docreatedocument/
					

Pour modifier, il faut faire un formulaire de type POST, ayant un enctype multipart/form-data et avoir les paramètres suivants :

Nom du paramètre Type du paramètre Description du paramètre
id_user text Correspond à l'ID de l'utilisateur
id_document text Correspond à l'ID du document à modifier
id_state text Correspond à l'ID du nouveau statut du document
						http://myhost/mywebapps/rest/document/domodifydocument/
					

Pour supprimer un document, il faut avoir dans le header de la requête HTTP la méthode DELETE et avoir le paramètre suivant :

Nom du paramètre Type du paramètre Description du paramètre
id_document text Correspond à l'ID du document
						http://myhost/mywebapps/rest/doremovedocument/{id_document}
					

Pour soumettre ou non un document à la validation, il faut faire un formulaire de type POST, et avoir les paramètres suivants :

Nom du paramètre Type du paramètre Description du paramètre
id_user text Correspond à l'ID de l'utilisateur
id_document text Correspond à l'ID du document à modifier
id_action text Correspond à l'ID de l'action effectuée sur le document: 7 pour le soumettre ou 6 dans le cas contraire
						http://myhost/mywebapps/rest/document/dosubmitdocumenttovalidate/
					

Pour valider un document, il faut faire un formulaire de type POST, et avoir les paramètres suivants :

Nom du paramètre Type du paramètre Description du paramètre
id_user text Correspond à l'ID de l'utilisateur
id_document text Correspond à l'ID du document à modifier
id_action text Correspond à l'ID de l'action effectuée sur le document: ici l'action est 4
						http://myhost/mywebapps/rest/document/dovalidatedocument/
					

Pour assigner un document à un portlet, il faut faire un formulaire de type POST, et avoir les paramètres suivants :

Nom du paramètre Type du paramètre Description du paramètre
id_document text Correspond à l'ID du document à modifier
id_portlet text Correspond à l'ID du portlet
						http://myhost/mywebapps/rest/document/doassigndocumentportlet/
					

Pour dissocier un document à un portlet, il faut faire un formulaire de type POST, et avoir les paramètres suivants :

Nom du paramètre Type du paramètre Description du paramètre
id_document text Correspond à l'ID du document à modifier
id_portlet text Correspond à l'ID du portlet
						http://myhost/mywebapps/rest/document/dounassigndocumentportlet/
					

Pour publier un document sur un portlet, il faut faire un formulaire de type POST, et avoir les paramètres suivants :

Nom du paramètre Type du paramètre Description du paramètre
id_document text Correspond à l'ID du document à modifier
id_portlet text Correspond à l'ID de la portlet
						http://myhost/mywebapps/rest/document/dopublishdocument/
					

Pour dépublier un document d'un portlet, il faut faire un formulaire de type POST, et avoir les paramètres suivants :

Nom du paramètre Type du paramètre Description du paramètre
id_document text Correspond à l'ID du document à modifier
id_portlet text Correspond à l'ID du portlet
						http://myhost/mywebapps/rest/document/dounpublishdocument/