API pour Ezmlm Services (beta - 2016-11)


Dernière mise à jour : 2017-08-30

Rédaction d'un début de spécifications pour les webservices REST de gestion de listes ezmlm.
Implémenté dans ezmlm-php.

  • la racine du service dans cet exemple est http://tb.org/ezmlm.php , c'est un exemple fictif
  • si un Header HTTP "Authorization" est prĂ©sent et contient un jeton SSO valide, l'utilisateur sera identifiĂ© par ce jeton
  • les mots-clefs pourront ĂŞtre traduits pour un accès en français ou en anglais au choix :
    • lists => listes
    • subscribers => abonnes
    • moderators => moderateurs
    • allowed => posteurs
    • threads => sujets
    • authors => auteurs
    • count => compte
    • messages => messages
    • next => suivant
    • previous => precedent
    • latest => derniers
    • start => debut
    • nb => nb
    • sort => tri
    • order => ordre
    • ...

Ressources

Les exemples d'URL suivis d'une coche () signifient que la fonctionnalité est implémentée dans ezmlm-php.

listes









messages





sujets





utilisateurs dans le contexte d'une liste







utilisateurs


Paramètres de recherche et de tri

Les URL se terminant par /search acceptent les paramètres suivants :
  • author
  • min_date
  • max_date
  • date
  • thread
  • contents
Pour la recherche de sujets (threads), s'ajoutent les paramètres suivants :
  • first_author
  • last_author
  • first_message_date
  • last_message_date
  • nb_messages

Tri et pagination des résultats

Toutes les URL GET retournant des listes acceptent les paramètres suivants :
  • start : la liste commence Ă  partir de ce message (offset)
  • nb : la liste contiendra le nombre de messages demandĂ© (count)
  • sort : la liste sera triĂ©e selon le paramètre fourni (voir ci-dessus "Paramètres de recherche et de tri")
  • order : le tri sera ascendent (asc) ou descendent (desc)

Format de sortie

Format de retour :
{
... à compléter ...
}

Permissions

L'utilisateur qui appelle le service sera identifié s'il fournit un jeton SSO valide; sinon il sera considéré comme anonyme.

Système de droits moderne (>= 2017-01)

Ce système remplace le système de droits historique, mais ce dernier continue à fonctionner.
Le SSO fournit maintenant des permissions (rôles) réglables depuis le site Web (Wordpress).
Par défaut, les utilisateurs fournissant un jeton portant le rôle "tb_ezmlm-php_admin" sont administrateurs de l'application (configurable dans config/config.json).

Système de droits historique (< 2017-01)

Sont administrateurs les utilisateurs fournissant un jeton dont l'adresse email est présente dans la liste des administrateurs, dans config/config.json (adapters => AuthProxyTB => admins).
Pour utiliser un jeton administrateur longue durée forgé par l'annuaire, ajouter sso-admin@tela-botanica.org à la liste des administrateurs.