📕 Node [[mediawiki]]
📄 mediawiki.md by @communecter

Mediawiki & Communecter

Introduction

Cette partie du module interop, cherche en cas de mediawiki existant à le connecter avec communecter et de permettre via un bouton a créer des éléments du type de la page du wiki, ou en cas d’élément présent de fournir le lien, enfin mais nécessitant un réglage sur le wiki existant de marquer le wiki avec le liens de la page co.

Initialisation du mediawiki

Dans le sub-menu-left d’un élément on clic sur @Mediawiki .

dans MediaWikiController.php beforeAction() instancie APIMediawiki (model de relations avec le wiki) qui est enfant de DB (model de relations avec la bdd)

interop/MediaWiki/index

beforeAction() du controller instancie APIMediawiki (model de relations avec le wiki) qui est enfant de DB (model de relations avec la bdd)

le controlleur rend une vue partiel sauf pour edit qui renvoi une string.

L’action par default du controller actionIndex()

un formulaire s’ouvre lors de la premiére connection ou l’url du wiki et son nom dans communecter son rentré par l’utilisateur. $this->renderPartial("interop.views.create.index"); a la validation du form direction actionChooseCat()

Si wiki deja connecté renvoi vers l’index via: $this->renderPartial("interop.views.default.indexMediaWiki");

L’action actionChooseCategory()

Insére les données du formulaire (url et name) puis ouvre $this->renderPartial("interop.views.create.chooseCat");

un formulaire préremplie par les données de l’api du wiki sur les catégories filtrer par regex afin de coler aux catégorie du futur menu soit (acteurs, ressource, projet) (les regex son en dur dans le code faire un tableau de comparaison afin d’ajouter ou enlever des mots de trie peu étre une bonne contribution en cas de contributeur volontaire ;o) a la validation du form direction actionInsertCat()

L’action actionInsertCat()

Insére les données du formulaire le wiki en db vaut désormais:

 "_id" : ObjectId("idmongo"),
    "name" : "name du wiki entré par l'user",
    "parent" : {
        "mongo id du parent" : {
            "type" : "type parent",
            "name" : "name parent"
        }
    },
    "url" : "url entré par l'utilisateur + '/api.php",
    "params" : {
        "actors" : [ 
            "categorie choisit par l'user",
            ...
        ],
        "classifieds" : [ 
            "categorie choisit par l'user",
            ...
        ],
        "projects" : [ 
            "categorie choisit par l'user",
            ...
        ]
    },
    "logo" : ""
}

renvoi vers la vue index return $this->renderPartial("interop.views.default.indexMediaWiki");

L’action actionMenuLeft()

Vas chercher les données pour le menuleft des pages du wiki en fonction du button-catégorie(acteurs,ressources,projet) clicker ou du texte de la search bar. puis les rend dans la vue return $this->renderPartial("interop.views.menus.pages");

L’action actionPage()

Vas chercher les données pour la page du wiki en fonction du nom de la page. puis les rend dans la vue return $this->renderPartial("interop.views.page.index");

L’action actionEdit()

Ici via le modéle ApiMediawiki.php on marque la page du wiki avec un lien communecter (!! une propriétées est a créer sur le wiki distant |pageCo= voir avec l’administrateur du wiki.) renvoie une string message sur le status de l’edition.

L’action actionDoc()

renvoi vers cette page

Relations wiki et Intégration dans communecter

Dans A propos il ya trois boutons qui font les liens: Un bouton Page du Wiki qui redirige vers la page source du wiki. Un bouton Site web qui redirige vers le site de l’élement du wiki.

Le dernier bouton peu avoir deux valeurs : Créer dans communecter qui ouvre un formulaire préremplie et éditable afin de créer un élément communecter. Page Communecter qui redirige vers la page communecter en relation avec l’élément du wiki.

📄 mediawiki.md by @communecter

Mediawiki & Communecter

Introduction

Cette partie du module interop, cherche en cas de mediawiki existant à le connecter avec communecter et de permettre via un bouton a créer des éléments du type de la page du wiki, ou en cas d’élément présent de fournir le lien.

Initialisation du mediawiki

Dans le menu d’un élément on clic sur @Mediawiki en dessous de "Points d’intérêt".

Arrivé dans interop/MediaWiki/ beforeAction() instancie APIMediawiki (model de relations avec le wiki) qui est enfant de DB (model de relations avec la bdd) cherche en base de données l’existence ou non de ce wiki, si non cela crée dans collection "mediawiki" un wiki vide de la forme:

public function newIn($id, $name, $type)
{
$baseDataDB = [
"name" => $name,
"parent" => [
"id" => $id,
"type" => $type
],
"url" => "",
"params" => "none",
"logo" => ""
];
PHDB::insert("mediawiki", $baseDataDB);
}

L’action par default du controller ActionIndex() elle récupère les infos en base de données via le model et envoie les bonnes données dans la vue

{
    "_id" : ObjectId(""),
    "name" : nomduwiki,
    "parent" : {
        "id" : ,
        "type" : 
    },
    "url" : "<urlEnregistré>/api.php",
    "params" : {
        "ressources" : {
            "get" : [ 
                "[[Cat%C3%A9gorie:<catTrouvé>]]", 
...
            ]
        },
        "acteurs" : {
            "get" : [ 
                 "[[Cat%C3%A9gorie:<catTrouvé>]]", 
...
            ]
        },
        "projets" : {
            "get" : [ 
               "[[Cat%C3%A9gorie:<catTrouvé>]]", 
...
        }
    },
    "logo" : ""
}

Utilisation navigation

Sur interop.views.default.indexMediaWiki les boutons Acteurs, Projets, Emplois s’affiche en cas d’existence. Clic direction interop/mediawiki/menuleft qui appel la méthode **menu(**catégorieChoisie) de l’instance APIMediaWiki. Qui va chercher la listes des pages liées créer la data pour la vue appelé par le controller qui affiche les résultats dans un menu déroulant trié par ordre alphabétique en accordéon si résultat est supérieur à 30 unités: interop.views.menus.pages.

Au clic sur le nom du page direction interop/mediawiki/page qui appel la méthode page(nomPage) de l’instance APIMediaWiki qui scan les propriétés disponibles de la page puis récupère les données. Ces données sont trié et converties afin de standardiser pour la vue et les inputs préremplies de formulaires de création d’élément via convertWikiMediaToPh(['data' => $dataRécupérer, $nomCatégorie, $nomDuWiki) dans le module citizenToolKit/model/Convert.php

Ces données sont envoyées dans la vue interop.views.page.index qui affiche par défault un A propos de la page du wiki et le menu left contient en fonction des données des boutons proposant de lister Communautées(sous divisé en communauté et utilisateur), Défis, Ressources en rapport avec la page du wiki.

Tout clic sur une entités réprésentant une autre page du wiki fait le méme chemin a partir de interop/mediawiki/page du controlleur interop/MediaWiki.

Relations wiki et Intégration dans communecter

Dans A propos il ya trois boutons qui font les liens: Un bouton Page du Wiki qui redirige vers la page source du wiki. Un bouton Site web qui redirige vers le site de l’élement du wiki.

Le dernier bouton peu avoir deux valeurs : Créer dans communecter qui ouvre un formulaire préremplie et éditable afin de créer un élément communecter. Page Communecter qui redirige vers la page communecter en relation avec l’élément du wiki.

📄 mediawiki.myco by @melanocarpa ️🔗 ✍️
📄 MediaWiki.md by @agora@botsin.space
📄 Mediawiki.md by @agora@botsin.space
📄 mediawiki.md by @an_agora@twitter.com
📄 mediawiki.md by @anagora@matrix.org

Loading pushes...

Rendering context...