Changeset 68158 in spip-zone

Timestamp:
Dec 5, 2012, 12:10:22 PM (8 years ago)
Author:
cedric@…
Message:

v0.1-dev du plugin Newsletters

Gestion d'un objet editorial d'infolettre
Une infolettre se compose d'un titre, chapo, texte, d'une selection d'article, et se base sur un modele

Les modeles sont les squelettes disponibles dans les dossiers newsletters/ du path
Le squelette produit la version html_email. Le titre du modele (pour l'interface) est deduit par extraction du commentaire <!-- tire=... --> du squelette (comme faisait cfg, mais sans evaluation)
Si une version .texte.html du squelette existe, elle est utilisee pour generer la version texte_email. Sinon on produit automatiquement une version texte par nettoyage (mix de ce que fait spip-listes, de regles de nettoyage pour le balisage de mise en page, et utilisation de markdownify pour produire du texte au format MarkDown? pour l'editorial)
Si une version .page.html du squelette existe, elle est utilisee pour generer la version html_page affichee dans la version en ligne. Sinon c'est la version html_email qui est utilisee. Dans tous les cas les css supplementaires css/newsletter_inline.css sont ajoutees a la page visualisee dans la navigateur.

Le plugin est fourni avec un gabarit "basic.html" en une colonne, responsive, qui s'adapte sur les smartphones et se degrade bien en texte automatiquement.

Dans le workflow par defaut on edite jamais manuellement les versions html&texte finales mais uniquement le contenu editorial (titre, chapo, texte, selection, modeles)
Les version html&texte sont alors generees a chaque modif editoriale et lors de la previsu.
En previsu on peut voir les 3 versions (html_email, texte_email et html_page).
On peut editer aux crayons le contenu editorial dans la version html_email (mais il faut repasser sur la lettre et la preview pour re-generer, a ameliorer)

A tout moment, il est possible de passer en edition avancee de la Newsletter. On a alors acces uniquement aux champs html_email, texte_email et html_page qui permettent de controler le rendu precis final.
Ce mode edition avancee est reserve aux utilisateurs avertis. Il rend possible la creation d'une Newsletter par simple copie/colle d'un gabarit html prepare dans un autre outil.
Une fois passe en edition avancee, la Newsletter n'est jamais regeneree, et on n'a plus acces aux contenus edito (sauf le titre)
Il est possible de repasser en edition normale, mais les modifs manuelles seront alors ecrasee par re-generation du contenu a partir du squelettes.

Une fois publiee, la newsletter n'est plus editable qu'en mode avance, par les admins (permet de corriger les coquilles pour envoi ulterieurs ou pour la version en ligne)

(a noter : le plugin s'appelle Newsletters par convention, mais toutes les chaines de langue utilisent le terme infolettre dans la version fr)

TODO :
definir l'API pour la textification du html (fonction interne pour le moment)
definir l'API de remplacement de contenu dans la lettre generee (nom, email, url_desincription)
importer automatiquementa l'installation les infolettres generees avec les plugins spip-listes, spip-lettres, clevermail (et ma_lettre ?)
brancher sur l'api d'envoi (test, en masse) d'un plugin a venir

Location:
_plugins_/newsletters
Files:
71 added

Note: See TracChangeset for help on using the changeset viewer.