Carnet Wiki

Doc2article importe un lots de fichiers pour en créer des articles SPIP

Version 15 — Septembre 2021 YannX

Ce plugin Importe l’ensemble des fichiers du répertoire tmp/upload et créé un article par fichier automatiquement

signalé anonymement sur IRC en réponse a une question : début de documentation découverte
Compatibilité actuelle annoncée SPIP [3..0;3..*] en v1.. !
nécessite SAISIES & CRUD (déprécié)

MEMO Conversion CRUD - API Objet /SPIP 3+

CRUD est un plugin SPIP 3.0 déprécié, à convertir en API Pagination Beaumarchais et Parfois désactiver l’ajax d’un bouton_action !

<blockquote class="spip">

Syntaxe : $crud = charger_fonction(’crud’,’action’) ;
  action_crud_dist($action=null,$table=null,$id=null,$args = array()){
* $crud(’create’,’articles’,null,array(’id_rubrique’=>23)) ;
* $crud(’update’,’rubriques’,12,array(’titre’=>’Super !’)) ;
* $crud(’delete’,’syndic’,5) ;

</blockquote>

(voir https://spippourlesnuls.fr/523)

Analyse rapide du fonctionnement

Pas de configuration ; le plugin est sensé importer tous les fichiers trouvés dans le répertoire /tmp/upload/ = _DIR_TRANSFERT (et ses sous-répertoires ? ) pour créer -dans la rubrique choisie /par formulaire- un article par fichier trouvé : de quel type,et comment est-il joint et importé ou attaché ?
-  creation d’une table DOC2ARTICLE (id_doc2article,id_auteur,id_article,fichier,date) qui sera utilisée pour importer 5 documents à chaque passage du genie en cron :
=> action\doc2article_importer [ doc2article_preparer_article ]

Préciser par configuration :


-  le(s) sous-répertoire(s) d’alimentation (à personnaliser par rubrique ou auteur cible ?)
-  valider la création de l’article avec affichage intégré du document joint (ajouté en médiathèque)
-  options complémentaires :

  • configurer le statut d’objet généré à ?? (selon le sous-dossier d’alimentation)
  • génération automatique de l’article à partir d’un fichier .odt
  • paramétrer le modèle d’inclusion inséré (selon le sous-dossier d’alimentation)
  • paramétrer la périodicité de scan du sous-dossier ?

Modifications à apporter


-  .1 remplacement dans ./action/doc2article_importer.php des deux appels d’action CRUD par les appels à l’action objet_inserer() (pour ’article’et ’document’ ), ouvrant la compatibilité SPIP 3+
-  .2 création d’un formulaire configurer_doc2article appelé par ./prive/squelettes/contenu/configurer_doc2article
protégé par une autorisation ’webmestre’ (en attendant une autorisation spécifique optionnelle)
-  .3 création d’une valeur de paramètre constante configurable (dans mes_options.php) _DIR_DOC2ARTICLE_TRANSFERT en remplacement de _DIR_TRANSFERT (= ./tmp/upload ) controlée et utilisée dans ./action/doc2article_importer.php
-  .4 reparamétrage de la définition ’en dur’ du répertoire exploré ’tmp/upload’ [1] dans les utilisations : paquet.xml[12] , formulaires\doc2article[12,13], formulaires\inc-select_fichiers[3,8] et modification des descrition/slogans dans les fichiers de langue