Lorsque je cherchais un outil qui pourrait permettre à plusieurs personnes d'éditer les minutes d'une réunion en même temps, je suis arrivé à Etherpad-lite. Puisqu'il est open source, il peut être exploité sur un serveur interne, donc contrairement à Google Docs, il n'y a aucun risque d'exposer des informations internes à l'extérieur.
Cependant, avec Etherpad-lite ordinaire, il n'est pas possible de se référer à la liste des Pads ou l'interface utilisateur est un peu robuste, donc pour l'utiliser comme quelque chose qui peut être utilisé tel quel, il est nécessaire de créer un service Web qui frappe l'API.
Tout d'abord, afin d'apprendre la méthode de fonctionnement de base, j'ai décidé de frapper l'API de Python.
Le wrapper pour accéder à l'API Etherpad-lite avec Python est Changaco / python-etherpad_lite .
La structure des dossiers dans cette description est la suivante.
root/
etherpad-lite/
APIKEY.txt
:
:
py_api.py
Vous pouvez accéder à l'API comme suit pendant qu'Etherpad-lite est en cours d'exécution.
Comme c.api_version = '1.2.13', vous ne pouvez pas exécuter les dernières fonctions d'API publiées pour le moment, sauf si vous spécifiez explicitement la version de l'API.
py_api.py
from etherpad_lite import EtherpadLiteClient
f = open('./etherpad-lite/APIKEY.txt')
apikey = f.readline()
f.close()
c = EtherpadLiteClient(base_params={'apikey': apikey})
c.api_version = '1.2.13'
#Créer un pad
c.createPad(padID='hoge')
#Obtenir la liste des tampons
c.listAllPads()
# => {'padIDs': ['hoge']}
#Supprimer le pad
c.deletePad(padID='hoge')
J'ai essayé de créer un service Web qui peut créer, lister et supprimer des Pads en me référant à Introduction à Python Django (1).
Je n'ai pas pu l'implémenter à partir du 12 avril 2017, mais j'aimerais essayer d'étendre les fonctions telles que la recherche en texte intégral dans Pad et l'authentification des utilisateurs.