Giter Site home page Giter Site logo

yeswiki / yeswiki-extension-ferme Goto Github PK

View Code? Open in Web Editor NEW
2.0 4.0 3.0 1.78 MB

Interface pour gérer une ferme à wikis (installer des nouveaux wikis sur le même domaine)

License: GNU Affero General Public License v3.0

PHP 79.73% JavaScript 5.19% Twig 12.48% HTML 2.60%

yeswiki-extension-ferme's Introduction

Extension YesWiki bazar ferme

Permet de créer automatiquement un wiki en créant une fiche bazar

  1. Copier l'extension dans votre dossier tools ou installez-la depuis la page GererMisesAJour.
  2. Mettre un /update en fin d'url pour finaler l'installation
  3. Vous pouvez alors accéder à la page AdminWikis pour administrer la ferme

Gestion de la ferme à wikis

Mise à jour de wiki

  • mettre à jour chaque wiki (Remarque – chaque wiki est considéré comme à jour lorsqu'il est à la même version que le wiki maître => Maintenez votre wiki principal à jour) ;

Suppression de wiki

Pour supprimer un wiki, l'interface propose un bouton poubelle pour supprimer la fiche wiki et son contenu associé. On peut aussi supprimer par l'interface de bazar. Cela déclenche la suppression du wiki en question.

Création de comptes admins temporaires pour administrer des wikis hébergés

  • ajouter un super administrateur à chaque wiki afin de passer outre ou palier le compte administrateur de ce wiki ;
  • de supprimer, pour chaque wiki le compte superadmin.

Pour ce faire, ajouter les deux lignes suivantes à wakka.config.php

  'yeswiki-farm-admin-name' => 'NomWikidusuperadmin',
  'yeswiki-farm-admin-pass' => 'votremotdepasse',

Ceci fait apparaître un bouton ajouter le compte en regard de chaque wiki dans la page d'administration des wikis. Une fois qu'on s'est créé un compte super admin pour un wiki, le bouton en regard du wiki dans la page d'administration des wikis devient rouge avec le libellé supprimer le compte. Appuyer sur ce bouton ne supprime que le compte super administrateur sur le wiki en question.

Récupérer les fichiers sql de wikis sources

Il est possible de récupérer automatiquement les fichier sql des wikis qui doivent servir de modèles pour la ferme (voir param 'yeswiki-farm-models' du wakka-config).

  • Placer {{generatemodel}} dans une page pour y faire apparaître le module d'import.
  • Après avoir affiché la page, dans la zone de saisie intitulée Générer un modèle à partir d'une adresse URL, saisir l'url du wiki source.
  • Cliquer sur Importer.
  • Apparaît alors une description du contenu du wiki en question. Cliquer sur le bouton Générer le fichier MySQL modèle pour ce wiki.
  • Un message indique que le fichier sql portant le nom du wiki source a été généré et copié dans le dossier tools/ferme/sql du wiki maître.
  • Il faut alors modifier le wakka.config.php comme suit.
  // model folders in `custom/wiki-models`
  'yeswiki-farm-models' => [
    'default-content', // special alias for default installation model
    'pnth-terreenaction.org--sourcecollectif',
  ],

Paramétrer le dossier de stockage des wikis

Par défaut, lorsqu'un wiki est créé dans la ferme, les fichiers de ce wikis sont placés dans un dossier portant le nom du wiki et placé à la racine du wiki de la ferme. Si vous souhaitez que les dossiers de vos wikis ne soint pas mélés à ceux qui sont nécessaires à la ferme, vous pouvez paramétrer le comportement de votre ferme à cet égard. Il est nécessaire de jouer sur deux paramètres :

  • le nom du dossier de stockage des wikis,
  • l'url de base des wikis de la ferme.

Le nom du dossier — On utilise à cet effet le paramètre yeswiki-farm-root-folder. Il s'agit en fait du chemin relatif du dossier de staockage des wikis. Si vous voulezque vos wikis soient créés dans le sous-dossier wikis du dossier de votre ferme, vous devez le préciser en ajoutant au wakka.config.phpune ligne contenant :

'yeswiki-farm-root-folder' => 'wikis',

Par défaut, ce paramètre vaut 'yeswiki-farm-root-folder' => '.',

L'url de base des wikis — On utilise à cet effet le paramètre yeswiki-farm-root-url. Si, l'adresse de ma ferme est https://ma.ferme.url/ et que vous voulez que vos wikis soient créés dans le sous-dossier wikis de cette ferme, vous devez préciser en ajoutant au wakka.config.php une ligne contenant :

'yeswiki-farm-root-url' => 'https://ma.ferme.url/wikis/',

Par défaut, ce paramètre n'est pas présent.

Attention — Ces deux paramètres doivent être en cohérence l'un avec l'autre. Si, dans le cas de notre exemple, vous saisissez 'yeswiki-farm-root-folder' => 'wikis', tout en n'ajoutant pas 'yeswiki-farm-root-url' => 'https://ma.ferme.url/wikis/',, vous ne pourrez jamais accéder aux wikis créés.

Autres options activables (à documenter)

  // themes supplémentaires (doivent etre présents dans le dossier themes du wiki source)
  'yeswiki-farm-extra-themes' => ['bootstrap3'],

  // tools supplémentaires (doivent etre présents dans le dossier tools du wiki source)
  'yeswiki-farm-extra-tools' => [],

  // tableau des choix de themes (ne s'affiche pas si qu'un choix possible)
  'yeswiki-farm-themes' => [
    [
      'label' => 'Margot (thème par défaut de YesWiki)', //nom du thème à l'écran
      'screenshot' => 'https://ferme.yeswiki.net/tools/ferme/screenshots/margot.jpg', //screenshot du theme dans tools/ferme/screenshots
      'theme' => 'margot', //nom de theme
      'squelette' => '1col.tpl.html', //squelette par defaut
      'style' => 'margot.css' //style par defaut
    ],
    [
      'label' => 'Bootstrap (très simple)', //nom du thème à l'écran
      'screenshot' => 'https://ferme.yeswiki.net/tools/ferme/screenshots/bootstrap.jpg', //screenshot du theme dans tools/ferme/screenshots
      'theme' => 'bootstrap3', //nom de theme
      'squelette' => '1col.tpl.html', //squelette par defaut
      'style' => 'bootstrap.min.css' //style par defaut
    ],
    [
      'label' => 'Paper (material design de google)', //nom du thème à l'écran
      'screenshot' => 'https://ferme.yeswiki.net/tools/ferme/screenshots/paper.jpg', //screenshot du theme dans tools/ferme/screenshots
      'theme' => 'bootstrap3', //nom de theme
      'squelette' => '1col.tpl.html', //squelette par defaut
      'style' => 'paper.bootstrap.min.css' //style par defaut
    ],
    [
      'label' => 'Cyborg (theme sombre, fond noir)', //nom du thème à l'écran
      'screenshot' => 'https://ferme.yeswiki.net/tools/ferme/screenshots/cyborg.jpg', //screenshot du theme dans tools/ferme/screenshots
      'theme' => 'bootstrap3', //nom de theme
      'squelette' => '1col.tpl.html', //squelette par defaut
      'style' => 'cyborg.bootstrap.min.css' //style par defaut
    ],
  ],
  // image de fond par défaut des wikis créés
  'yeswiki-farm-bg-img' => '',

  // droits d'acces (ne s'affiche pas si qu'un choix possible)
  'yeswiki-farm-acls' => [
    [
      'label'    => 'Wiki ouvert', //Description des droits d'acces
      'read'     => '*', // lecture
      'write'    => '*', // ecriture
      'comments' => '*' // commentaires
    ],
    [
      'label'    => 'Wiki protégé par un identifiant / mot de passe unique', //Description des droits d'acces
      'read'     => '{{user}}', // lecture
      'write'    => '{{user}}', // ecriture
      'comments' => '{{user}}',  // commentaires
      'create_user' => true
    ]
  ],

  // nom de la page d'accueil par défaut
  'yeswiki-farm-homepage' => 'PagePrincipale',

  // options d'ajout sur certaines pages
  'yeswiki-farm-options' => [
    [
      'label'    => 'Je souhaite intégrer un pad dans mon wiki', //Description de l'ajout
      'checked'  => false, // coche par defaut ?
      'page'    => 'PageMenuHaut', // Page
      'content' => " - [[EtherPad Pad]]\n" // Contenu en syntaxe wiki de l'ajout
    ],
    [
      'label'    => 'Je souhaite recevoir les informations sur mon wiki des autres projets', //Description de l'ajout
      'checked'  => true, // coche par defaut ?
      'page'    => 'PageMenuHaut', // Page
      'content' => " - [[InfosMutualisees Infos mutualisées]]\n" // Contenu en syntaxe wiki de l'ajout
    ]
  ],

  // cas spécifique ou l'on veut créer un user sur le wiki source
  'yeswiki-farm-create-user' => false,

  // ajouter des valeurs dans le fichier de configuration des wikis créés
  'yeswiki-farm-extra-config' => ['BAZ_ADRESSE_MAIL_ADMIN' => '[email protected]'],

  // dossiers a mettre en lien symbolique dans les wikis créés
  'yeswiki_symlinked_files' => [
    'custom', // pour avoir le meme custom de partout, et ne changer qu'a un endroit
  ]

yeswiki-extension-ferme's People

Contributors

acheype avatar daiko avatar furax37 avatar gatienbataille avatar j9rem avatar louisequincaillere avatar mrflos avatar srosset81 avatar sruffin19 avatar sylvainboyer avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

yeswiki-extension-ferme's Issues

Problème de création d'un wiki avec la ferme Doriphohre

Problème lors de la création d'un wiki.

Mon dossier /wiki est en 777

Version du Wiki : doryphore 2021-05-25-2
Ferme (documentation)Gérer une ferme à wikis a partir d'un formulaire bazar | 2021-06-06-5 | 2021-06-06-5 |   |

Capture d’écran du 2021-06-17 17-28-44

TEMPLATE_NO_DEFAULT_THEME

Sur cercopitheque_dev, ('yeswiki_release' => '2019-09-20-1',), la mise à jour de l'extensio ferme aboutit au message "TEMPLATE_NO_DEFAULT_THEME" lorsqu'on cherche à accéder au wiki.
Dans le waka.config.php, on a

  array (
    0 => 'bootstrap3',
   ),

Si on le remplace par

  'yeswiki-farm-extra-themes' =>
  array ('bootstrap3'),

c'est pareil.

Pas de problème en version cercopitheque

Manque un fichier

Hello, lorsque l'on veut afficher dans une page le formulaire de création, on reçoit le message d'erreur "Le fichier "tools/ferme/screenshots/yeswiki.jpg" n'a pas été trouvé.".
Il faut alors le créer soi-même à la racine. Je ne sais pas si c'est sur l'extension ou sur yeswiki qu'il faut agir donc je met ça là :-)

{{adminwikis}} ne fonctionne qu'avec le formulaire 1100

Versions
Wiki : doryphore 2021-09-08-5
Ferme : 2021-09-07-3

L'action {{adminwikis}} ne fonctionne qu'avec le formulaire 1100.

J'ai jeté un œil et j'ai vu ceci, dans /services/FarmService.php :

public function getWikiList()
    {
        $entryManager = $this->wiki->services->get(EntryManager::class);
        $fiches = $entryManager->search([
            'formsIds' => ['1100']
        ]);

Si j'ai bien compris il faudrait ici aller vérifier dans wakka.config qu'on n'a pas une valeur pour 'bazar_farm_id'.

Erreur à l'insertion n°2 : Incorrect integer value: '' for column 'bn_sem_use_template' at row 1

Tentative de création d'un wiki sur une ferme à jour sur un doryphore 2020-10-13-1 (extension ferme à jour : 2020-07-09-1)
Le wiki est bien créé mais pas la fiche bazar. On aboutit à une page blanche portant Erreur à l'insertion n°2 : Incorrect integer value: '' for column 'bn_sem_use_template' at row 1.

Help! Je suis sur le site reseau.animacoop.net et la ferme doit fonctionner avant la fin de la semaine prochaine !
Est-ce que quelqu'un a une piste évidente et peut me dire ou fouiller ou corriger ou est-ce que je me débrouille ?

Même problème sur une ferme en cercopitheque 2020-06-05-1 (extension ferme à jour et ça fonctionnait avant cette version : 2020-07-09-1).

Pourtant dans le wiki créé, le champ bn_sem_use_template de la table nature est bien créé de type tinyint(1) avec une valeur par défaut de 1.
Le wiki créé fonctionne, c'est uniquement la fiche qui n'est pas créée dans la ferme.

Remarque sur les messages d'erreurs Je propose les règles suivantes (@mrflos, @acheype) à discuter bien sûr :

  • Utiliser le système de localisation et la fonction _t()
  • Pour faciliter le debugage, utiliser un message différent si la mếme erreur intervient à deux endroits différents du code (ici on die sur le même libellé lignes 672 et 697 de ferme.functions.php.

Cerco - fichier sql source importé dans files

Ferme (v. 2020-10-16-1) sur un wiki en cercopitheque 2020-06-05-1.
Lors de l'import d'un fichier sql source, on obtient une page blanche avec le message Le fichier sql "tools/ferme/sql/source.animacoop.net.sql" n'a pas été trouvé.
Le fichier en question se trouve dans /files au lieu de /tools/ferme/sql

Création d'un wiki à partir d'un SQL

  1. Le fichier create-table.sql contient
CREATE TABLE `{{prefix}}__nature` (
  `bn_id_nature` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `bn_label_nature` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `bn_description` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `bn_condition` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `bn_sem_context` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `bn_sem_type` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `bn_sem_use_template` tinyint(1) NOT NULL DEFAULT 1,
  `bn_template` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `bn_ce_i18n` varchar(5) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  PRIMARY KEY (`bn_id_nature`)
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  1. Sur un wiki récent (Version du Wiki : 2019-12-09-1 ), la base contient
  | 1 | bn_id_nature | int(10) |   | UNSIGNED | No | 0 |   |   | Change | Drop | More
  | 2 | varchar(255) | utf8mb4_unicode_ci |   | Yes | NULL |   |   | Change | Drop | More
  | 3 | text | utf8mb4_unicode_ci |   | Yes |   |   |   | Change | Drop | More
  | 4 | text | utf8mb4_unicode_ci |   | Yes |   |   |   | Change | Drop | More
  | 5 | text | utf8mb4_unicode_ci |   | No |   |   |   | Change | Drop | More
  | 6 | varchar(5) | utf8mb4_unicode_ci |   | No |   |   |   | Change | Drop | More
  1. Le fichier généré par `{{generatemodel}} contient
INSERT INTO `{{prefix}}__nature` (`bn_id_nature`, `bn_label_nature`, `bn_description`, `bn_condition`, `bn_ce_id_menu`, `bn_commentaire`, `bn_appropriation`, `bn_image_titre`, `bn_image_logo`, `bn_couleur_calendrier`, `bn_picto_calendrier`, `bn_template`, `bn_ce_i18n`, `bn_type_fiche`, `bn_label_class`) VALUES

Résultat

#1054 - Unknown column 'bn_ce_id_menu' in 'field list'

Dory – Création sans thème

Avec une ferme en

  • Doryphore 2021-05-04-5
  • avec une extension ferme en 2021-05-03-1 (le problème existait déjà dans la version précédente),

lorsqu'on crée un wiki, il se crée sans theme.
On doit ajouter le dossier du thème yeswiki dans /theme pour que le wiki soit exploitable (l'ajout de margot seul ne convient pas => messages d'erreur liés au thème yeswiki manquant.

Problème visible sur https://bacasable.animacoop.net. Me demander pour avoir un compte admin.

Mot de passe en clair

Lorsqu'on crée un wiki sur une ferme en cercopitheque 2017-11-25-1, le mot de passe que l'on saisit pour l'admin apparaît en clair dans la base de données (même pas en MD5) !

Gestion des utilisateurs ferme

Type of issue (keep only one) / Type de demande (ne garder qu'une ligne)
New feature / Nouvelle fonctionnalité

Description
Sur la ferme, permettre aux utilisateurs de changement de l'adresse mail

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.