Applications¶
Applications¶
Le endpoint /api/apps peut être utilisé pour installer, supprimer et lister des applications. La clé de l'application est basée sur le nom de l'application, mais tous les caractères non alphanumériques sont supprimés, et les espaces sont remplacés par un tiret. My app! renverra la clé My-app.
Remarque
Avant la version 2.28, la clé d'application était dérivée du nom de l'archive ZIP , à l'exclusion de l'extension du fichier. Les URLs utilisant l'ancien format devraient toujours renvoyer l'application correcte dans l'api.
/api/33/apps
Obtenir les applications¶
Remarque
Avant la version 2.28, la propriété d'application folderName faisait référence au chemin réel de l'application installée. Avec la possibilité de stocker les applications sur des services en nuage, l'objectif de folderName a changé et fait désormais référence à la clé de l'application.
Vous pouvez lire les clés des applications en listant toutes les applications de la ressource apps et en recherchant la propriété key. Pour lister toutes les applications installées au format JSON :
curl -u user:pass -H "Accept: application/json" "http://server.com/api/33/apps"
Vous pouvez aussi simplement orienter votre navigateur web vers l'URL de la ressource :
http://server.com/api/33/apps
La liste des applications peut également être filtrée par type d'application et par nom, en ajoutant un ou plusieurs paramètres filtre à l'URL :
http://server.com/api/33/apps?filter=appType:eq:DASHBOARD_APP&filter=name:ilike:youtube
Les noms d'applications prennent en charge les opérateurs de filtrage eq et ilike, tandis que appType ne prend en charge que eq.
Installer une application¶
Pour installer une application, la commande suivante peut être exécutée :
curl -X POST -u user:pass -F file=@app.zip "http://server.com/api/33/apps"
Supprimer une application¶
Pour supprimer une application, vous pouvez exécuter la commande suivante :
curl -X DELETE -u user:pass "http://server.com/api/33/apps/<app-key>"
Recharger les applications¶
Pour forcer le rechargement des applications actuellement installées, vous pouvez lancer la commande suivante. Cette commande est utile si vous avez ajouté manuellement un fichier directement dans le système de fichiers, au lieu de le télécharger via l'interface utilisateur de DHIS2.
curl -X PUT -u user:pass "http://server.com/api/33/apps"
Partager des applications entre instances¶
Si l'instance DHIS2 a été configurée pour utiliser le stockage en nuage, les applications seront désormais installées et stockées sur le service en nuage. Cela permettra à plusieurs instances de partager les mêmes versions des applications installées, au lieu d'installer les mêmes applications sur chaque instance individuelle.
Remarque
Avant la version 2.28, les applications installées étaient uniquement stockées sur le système de fichiers local de l'instance. Les applications installées avant la version 2.28 seront toujours disponibles sur l'instance où elles ont été installées, mais elles ne seront pas partagées avec d'autres instances, car elles sont toujours situées sur le système de fichiers local de l'instance.
Le App store¶
L'API Web expose le contenu de l'App Store DHIS2 sous la forme d'une représentation JSON que l'on peut trouver dans la ressource /api/appHub.
/api/33/appHub
Obtenir les applications¶
Vous pouvez extraire les applications à l'aide d'une requête GET :
GET /api/33/appHub
Un exemple de réponse JSON est décrit ci-dessous.
{
[
{
"name": "Tabular Tracker Capture",
"description": "Tabular Tracker Capture is an app that makes you more effective.",
"sourceUrl": "https://github.com/dhis2/App-repository",
"appType": "DASHBOARD_WIDGET",
"status": "PENDING",
"id": "NSD06BVoV21",
"developer": {
"name": "DHIS",
"organisation": "Uio",
"address": "Oslo",
"email": "dhis@abc.com",
},
"versions": [
{
"id": "upAPqrVgwK6",
"version": "1.2",
"minDhisVersion": "2.17",
"maxDhisVersion": "2.20",
"downloadUrl": "https://dhis2.org/download/appstore/tabular-capture-12.zip",
"demoUrl": "http://play.dhis2.org/demo"
}
],
"images": [
{
"id": "upAPqrVgwK6",
"logo": "true",
"imageUrl": "https://dhis2.org/download/appstore/tabular-capture-12.png",
"description": "added feature snapshot",
"caption": "dialog",
}
]
}
]
}
Installer des applications¶
Vous pouvez installer des applications sur votre instance DHIS2 en supposant que vous avez les permissions appropriées. Une application est référencée en utilisant la propriété id de la version correspondante de l'application. Une application est installée par une requête POST avec l'identifiant de la version à la ressource suivante :
POST /api/33/appHub/{app-version-id}