[plugin] MoveMyDatas ou "Bouge mes données"

bazooka07bazooka07 PluXml Lead Developer, Moderator
décembre 2017 modifié dans Plugins
Bonjour,

A l'installation Pluxml crée un unique dossier de données appelé data.
Et tous ceux qui utilisent Pluxml employent le même nom.

Ce plugin apporte à votre CMS 3 fonctionnalités supplémentaires :
[list=*]
[*]Renommer ce dossier [/*]
[*]Créer un dossier de données tout neuf avec le nom qui vous convient[/*]
[*]Offrir une liste de sélection pour basculer d'un dossier de données à un autre, en un clin d'oeil[/*]
[/list]

Dans un dossier neuf, pour éviter d'avoir un message d'erreur de la partt de Pluxml quand il n'y a aucun article, 3 articles sont créés automatiquement à partir de beaux extraits au format JSON de l'oeuvre de Victor Hugo. Et pour basculer d'un dossier de données à l'autre ce plugin est activé d'office.

Le dossier en cours d'utilisation est indiqué en bas à gauche sur la sidebar. Pour changer de dossier, cliquez dessus.

Tout l'instant j'ai fait uniquement des essais sous PHP version 5.6-11 avec les versions 5.5-beta3 et 5.4 de Pluxml sous Apache2 et Nginx.
Des problèmes peuvent survenir avec PHP en version 5.4

Télécharger la dernière version du plugin
Accès au dépôt de plugins
rss.pngSe tenir informé des dernières mises à jour en s'abonnant au flux RSS

[list=*]
[*]2017-12-16 - version 1.0.0 - voir billet #9[/*]
[*]2017-07-09 - version 0.7 - suppression de la dépendance à la librairie JSON - Insertion de vignette à la création du 1er article
Bienvenue au Pays des Merveilles ;)[/*]
[*]2016-03-18 - version 0.5 - first release[/*]
[/list]


Béta-testeurs à vous :D
Merci pour vos retours

Réponses

  • Ben il est tout simplement génial. :)
  • cpalocpalo Member
    Bonjour,

    Après utilisation sans problème et super-pratique, petit bug ( mais c'en n'est peut être pas un)
    Trois dossiers : data ( créé à l'installation de pluxml), demo et dummy (créés avec le plugin).
    Lorsque j'ai voulu ré-utiliser le dossier data, le plugin ne figure plus dans les plugins installés. Il faut donc que je le reactive pour pouvoir à nouveau choisir les autres dossiers de données.
    Ce qui n'est pas un problème en soi.

    Cordialement
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    C'est normal.

    Le dossier data est "créé" ou plutôt le fichier "data/configuration/plugins.xml" est créé à l'installation de PluXml, donc bien avant l'installation du 1er plugin.
    En principe, il faut l'activer une fois dans chaque dossier de données.

    AMHA, les fonctionnalités de ce plugin sont à intégrer à la prochaine version de PluXml, ainsi que quelques modifs dans le fichier install.php pour ne pas être dépendant de ce nom "data".

    J'ai fait les modifs de install.php et en jouant avec Docker, cela va bien pour changer le nom à la création du dossier de données.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Mise à jour version 0.7 :
    [list=*]
    [*]suppression de la dépendance à JSON[/*]
    [*]insertion vignette dans 1er article créé[/*]
    [*]Bienvenue au Pays des Merveilles [/*]
    [/list]
  • Bonjour,

    Où trouver la 0.7 ?

    Merci
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Petit bug :
    La page d'accueil ne s'est pas mise à jour (problème de dates sur les fichiers)

    C'est corrigé. Même adresse

    Désolé pour le désagrément
  • je trouve ce plugin super pratique et on peut même le voir comme une gestion des versions du site, en mettant une sauvegarde par répertoire (daté)
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Version 1.0.0 :

    * MoveMyDatas accepte la structure suivante pour le fichier config.php :
    [== PHP ==]
    <?php
    define('PLX_CONFIG_PATH', 'jeveux/configuration/');
    ?>
    
    [== PHP ==]
    <?php define('PLX_CONFIG_PATH', 'jeveux/configuration/'); ?>
    
    [== PHP ==]
    <?php const PLX_CONFIG_PATH = 'jeveux/configuration/'; ?>
    
    * Avant chaque modification du fichier config.php, une sauvegarde est faite dans le fichier config.php.bak.
    * Pour la création d'un nouveau dossier de données, on prend en compte le userId de l'utilisateur courant et non la valeur '001'
    * Simplication du panneau de config config.php
    * Renforcement de la sécurité du plugin : filtrage des valeurs de $_POST
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Version 1.0.1
    La balise <usage> est renommée en <scope> dans le fichier infos.xml.
    Voir discussion suivante : http://forum.pluxml.org/viewtopic.php?id=6159
  • Bonjour,

    Voilà je voulais faire un site multilingue (pour les internautes pas pour les administrateurs)
    Le truc habituel, dans le haut de page un switch choisir sa langue.
    Les seules choses differentes dans data c'est article static comments
    Puisque tout le reste est commun.
    Est-ce qu'on ne pourrait modifier ton plugin pour que l'utilisateur internaute puisse choisir anglais par exemple ---> data-english/

    Cordialement
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Bonjour,

    Non techniquement ce n'est pas possible.
    En gros, le plugin met à jour le fichier config.php pour qu'il pointe vers le bon dossier de données.
    Pour faire ce que tu demandes, cela revient à modifier le dossier de données pour le visiteur anglais et que tous les autres visiteurs, quelque soit leur langue native, devront lire le site en anglais.

    Il existe un plugin MultiLingues. Il ne te convient pas ?

    Pour un site multilingues, je verrai une structure de dossier de données comme ceci pour les articles par exemple avec 3 langues supplémentaires "en, de, es" :
    [== Indéfini ==]
    data
    ├── articles
    ├── articles-de
    ├── articles-en
    ├── articles-es
    ├── configuration
    │   ├── categories-de.xml
    │   ├── categories-en.xml
    │   ├── categories-es.xml
    │   ├── categories.xml
    │   ├── statiques-de.xml
    │   ├── statiques-en.xml
    │   ├── statiques-es.xml
    │   ├── statiques.xml
    │   ├── tags-de.xml
    │   ├── tags-en.xml
    │   ├── tags-es.xml
    │   └── tags.xml
    └── medias
    

    Et pour les URLs :
    index.php?article1?en/my-first-article
    index.php?article?mon-premier-article
    index.php?article?es/mi-primero-articulo

    Pour une autre langue, italien par exemple, si le dossier articles-it n'existe pas, on se rabat sur le dossier articles.

    Il faudra que j'étudie le problème, j'aurais besoin de temps en temps de rédiger des articles en anglais.
  • cpalocpalo Member
    novembre 2018 modifié
    Pour faire ce que tu demandes, cela revient à modifier le dossier de données pour le visiteur anglais et que tous les autres visiteurs, quelque soit leur langue native, devront lire le site en anglais.
    Je pensais plutôt à
    - data
    -data-en
    et lorsque l'utilisateur "switchait" sur "anglais", c'était le dossier data-en qui était utilisé par pluxml.
    Chaque internaute ne voyait donc le site qu'en fonction de la langue qu'il a choisie.

    Côté administrateur, avec ton plugin je sélectionne le dossier data ou le dossier data-en suivant ce que je veux écrire (anglais ou français)

    Je vais aller voir le plugin Multilingue auquel je n'avais pas pensé.

    Cordialement
  • Bonjour,
    Je viens de re-installer ton plugin.
    Lorsque je veux créer un nouveau dossier ou en renommer un:
    "Objet non trouvé. Erreur 404"
    J'utilise le plugin myBetterUrl... Est-ce la cause possible
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    novembre 2018 modifié
    Je n'utilise pas ce plugin.
    Je viens de tester avec la dernière version sur Github.
    Aucun souci pour créer un nouveau dossier de données.

    Tu n'as pas activé le plugin multilingues par hasard.

    Désactive ces deux plugins le temps de créer le dossier.
    Dans le nouveau dossier, active le plugin multilingues pour qu'il crée son arborescence de fichiers ( non standard par rapport à PluXml ).

    Note que j'ai envoyé un pull-request sur Github "install-1809" pour créer automatiquement un dossier de données à partir du nom indiqué dans config.php qu'on peut modifier.
    [== bash ==]
    git clone https://github.com/bazooka07/PluXml.git -b install-1809
    
    
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Une autre piste serait de dédier une catégorie pour chaque langue autre que celle par défaut.

    Il faudrait modifier PluXml pour qu'il prenne en compte la langue demandée par le visiteur car pour l'instant il l'ignore complètement.

    Il suffirait ensuite de limiter l'affichage à tous les articles appartenant à cette catégorie.

    Je ne suis pas sûr qu'il y ait les hooks nécessaires pour faire cela avec un plugin.
  • cpalocpalo Member
    décembre 2018 modifié
    Bonjour,

    Sur mon site de développement, sur la page d'accueil "front-end", dans la sidebar j'ai une liste de choix me permettant de basculer d'un thème à un autre.
    J'ai créé "manuellement" plusieurs dossiers de données "data", "dummy", "shop", etc....
    Je bascule de l'un à l'autre en ayant modifié le config.php
    [== PHP ==]
     // Définit l'emplacement des dossiers de configuration, pour utiliser ou non les données exemples (data ou dummy) 
        define('PLX_CONFIG_PATH', 'data/configuration/');
        #define('PLX_CONFIG_PATH', 'dummy/configuration/');
    
    Ton plugin permet dans la partie admin:
    bazooka07
    Offrir une liste de sélection pour basculer d'un dossier de données à un autre, en un clin d'oeil
    Est-ce qu'on pourrait envisager une possibilité de pouvoir basculer d'un dossier de données à un autre à partir d'une telle liste de choix mais dans la partie front-end et non dans la partie administration?
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Bonne remarque.

    Je pense que cela doit être possible mais ça demande d'étudier l'affaire, surtout que j'ai écrit ce plugin depuis un petit moment.
    Cela compléterait mon dernier plugin kzSkinSelect.

    Par contre, il y aura certainement des restrictions :
    - obligation de s'authentifier une première fois pour afficher une liste de dossiers de données côté site
    - retour à la page d'accueil à chaque changement de données.

    Pour l'instant je n'ai pas trop le temps (pris par la gestion d'un dépôt de plugins, branche plxMedias, ...) mais je me le note dans un coin.
Connectez-vous ou Inscrivez-vous pour répondre.