Le sprint de janvier est passé, de nouvelles fonctions dans YesWiki !
Le sprint de janvier est passé, de nouvelles fonctions dans YesWiki !
Résumé
Mettez à jour vos wikis pour découvrir ces fonctionnalités !
Attention : mettez aussi à jour le thème margot ET bien rafraîchir le cache de votre navigateur web sinon le titre du wiki s'affiche en double.
Attention : mettez aussi à jour le thème margot ET bien rafraîchir le cache de votre navigateur web sinon le titre du wiki s'affiche en double.
Billet
Nous étions à Oasis 21 pour un sprint YesWiki.
Le détail de ce qui a avancé sera dans le prochain coucou. Vous pouvez en retrouver la synthèse ici (en brut).
Mettez à jour vos wikis pour découvrir les fonctionnalités !
Attention : mettez aussi à jour le thème margot ET bien rafraîchir le cache de votre navigateur web sinon le titre du wiki s'affiche en double.
Le détail de ce qui a avancé sera dans le prochain coucou. Vous pouvez en retrouver la synthèse ici (en brut).
Mettez à jour vos wikis pour découvrir les fonctionnalités !
Attention : mettez aussi à jour le thème margot ET bien rafraîchir le cache de votre navigateur web sinon le titre du wiki s'affiche en double.
Action {{bazarliste}} : afficher les données d'autres YesWiki
Action {{bazarliste}} : afficher les données d'autres YesWiki
L'action {{bazarliste}} permet d'afficher les données des formulaires.
Il est possible d'afficher les données d'autres YesWiki en même temps que les données locales.
Cette fiche de documentation correspond à une action en cours de développement uniquement utilisable avec la version doryphore à partir de 2021-05-12.
Cette fiche de documentation correspond à une action en cours de développement uniquement utilisable avec la version doryphore à partir de 2021-05-12.
Il est possible d'afficher les données d'un autre site YesWiki.
1. Mettre à jour le YesWiki et le distant pour avoir la version Doryphore après 2021-05-12-24
2. Définir l'action
{{bazarliste id="1" template="map" ...}}
3. Identifier l'adresse des YesWiki distants et les formulaires recherchés. Ex:
https://www.example.com/?PagePrincipale
https://www.example.com/trombi2/?PagePrincipale
5. remplacer pour l'action bazarliste id par
id="1,https://www.example.com/?PagePrincipale|4,https://www.example.com/trombi2/?PagePrincipale|5,6"
6. Sauver la page et enjoy
Explications:
- chaque formulaire est séparé par une virgule
- un formulaire local est uniquement représenté par un nombre. Dans l'exemple, nous avons les formulaires 1 et 6
- un formulaire distant est représenté par son url suivi de
|
suivi du numéro de son formulaire. Dans l'exemple, nous avons deux formulaires distants. - S'il faut plusieurs formulaires distants d'un même YesWiki, il faut à chaque fois répéter l'url devant
|
Rafraichir les données locales:
Il y a un système de cache des requêtes externes dont la durée est paramètrable par les variables baz_external_service_time_cache_for_entries et baz_external_service_time_cache_for_forms (voir config.yaml). Pour forcer un rafraîchissement des données, il faut être connecter et ajouter à la fin de l'url :
&refresh=1
Pour aller plus loin, et avoir des couleur différentes par formulaire (entre données du formulaire local et distants):
Sur la base du fonctionnement colorfield="id_typeannonce" (voir ActionBazarliste section color), definir un ID pour le formulaire externe n'existant pas en local (999 par exemple) de la manière suivante
id="5,http://www.exemple.com/?PagePincipale|1->999" color="green=5, blue=999"
NB : Dans l'exemple ci-dessus l'id du formulaire local est 5 et celui du formulaire distant 1
Pour aller plus loin, pour les personnes connaissant les fields:
- pour configurer l'affichage des données sur le site local, il faut plutôt créer un formulaire qui ressemble au formulaire distant (même nom de champs) mais avec vos adaptations
- noter le numéro de ce formulaire en local (A pour l'exemple)
- noter le numéro du formulaire distant (B pour l'exemple)
- entrer dans id ceci
id="http://www.exemple.com/?PagePincipale|B->A"
- Tout se joue avec l'association de B vers A.
Pour lier à un template custom fiche-x.tpl.html:
x étant le numéro du formulaire local concerné
- 1. dupliquer le formulaire distant sur le YesWiki local en utilisant la fonctionnalité d'importation disponible en bas de la page BazaR
- 2. copier le fichier fiche-x.tpl.html dans le dossier local custom/templates/bazar/ avec le nom fiche-y.tpl.html où y est le numéro du formulaire dupliqué en local
- 3. modifier le formulaire y en local en mode code en remplaçant, z étant le numéro du formulaire distant
-
liste***...***...*** *** ***...
externalselectlistfield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***liste***...
-
listefiche***...***...*** *** ***...
externalselectentryfield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***listefiche***...
-
listefiches***...***...*** *** ***...
externallinkedentryfield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***listefiches***...
-
listefichesliees***...***...*** *** ***...
externallinkedentryfield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***listefichesliees***...
-
checkbox***...***...*** *** ***...
externalcheckboxlistfield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***checkbox***...
-
checkboxfiche***...***...*** *** ***...
externalcheckboxentryfield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***checkboxfiche***...
-
radio***...***...*** *** ***...
externalradiolistfield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***radio***...
-
tags***...***...*** *** ***...
externaltagsfield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***tags***...
-
fichier***...***...*** *** ***...
externalfilefield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***fichier***...
-
image***...***...*** *** ***...
externalimagefield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***image***...
-
Dans l'exemple:
- le formulaire concerné est
https://www.example.com|z
- la formule entrée dans le paramètre id de
{{bazarliste id="}}
esthttps://www.example.com|z->y
Si dans votre formulaire local vous voulez un comportement correct pour les liens, inspirez-vous des externalfields, comme par exemple :
- pour les urls vers les fiches
$fiche['url']
- pour les urls vers les fiches avec un handler
$fiche['url'] . '/pdf'
- pour savoir si la fiche est externe
isset($fiche['external-data'])
- pour avoir l'url de base du site distant pour les fiches externes
$fiche['external-data']['baseUrl']
Convertir un template Bazar .tpl.html en .twig
Convertir un template Bazar
.tpl.html
en
.twig
.tpl.html
.twig
.twig
: qu'est-ce ?
.twig
-
.twig
- Il y a une documentation officielle bien garnie
Comment faire ?
- 1. Choisir un template à convertir. (Exemple :
liste_liens.tpl.html
- 2. Vérifier la présence de ce fichier dans le dossier
tools/bazar/presentation/templates/
- 3. Copier le fichier dans le dossier
custom/bazar/templates/
- 4. Identifier les fonctions php non standards ; ici
getCustomValueForEntry()
- 5. Recopier le contenu de
custom/bazar/templates/liste_liens.tpl.html
custom/bazar/templates/liste_liens.twig
<?php if(count($fiches)>0) : ?> <?php echo $info_res;?> <ul class="BAZ_liste <?php echo $param['class'];?>"> <?php foreach($fiches as $fiche): ?> <li class="bazar-entry" <?php echo $fiche['html_data'];?>> <a href="<?php echo $fiche['url']; ?>" target="_blank"> <?php if (!empty($color)) { echo '<span class="pellet" style="background-color:'.$color.';"></span> '; } if (!empty($icon)) { echo '<i class="'.$icon.'"></i> '; } echo '<span class="entry-title">'.$fiche['bf_titre'].'</span>'; ?> </a> </li> <?php endforeach; ?> </ul> <?php echo $pager_links;?> <?php endif; ?>
- 6. traduire le code
php
.twig
{% if fiches|length > 0 %} {{ info_res }} <ul class="BAZ_liste {{ param.class }}"> {% for in,fiche in fiches %} <li class="bazar-entry" {{ fiche.html_data }}> <a href="{{ fiche.url }}" target="_blank"> {% if colors[id] %} <span class="pellet" style="background-color:{{ colors[id] }}"></span> {% endif %} {% if icons[id] %} <i class="{{ icons[id] }}"></i> {% endif %} <span class="entry-title">{{ fiche.bf_titre }}</span> </a> </li> {% endfor %} </ul> {{ pager_links }} {% endif %}
- 7. tester ce fichier avec le code suivant dans une page de test
{{bazarliste id="1" template="liste_liens.twig"}}
- 8. pour rétablir les icônes et les couleurs, il faut conserver le fichier
liste_liens.tpl.html
<?php $colors = []; $icons = []; foreach ($fiches as $id => $fiche){ $colors[$id] = getCustomValueForEntry( $param['color'], $param['colorfield'], $fiche, '' ); $icons[$id] = getCustomValueForEntry( $param['icon'], $param['iconfield'], $fiche, '' ); } echo $this->render('@bazar\liste_liens.twig',[ 'fiches' => $fiches, 'param' => $param, 'colors' => $colors, 'icons' => $icons, 'info_res' => $info_res, 'pager_links' => $pager_links, ]);
- La première partie permet de stocker les informations de couleur et d'icône dans les variables
colors
icons
- Ensuite, on génère le rendu du fichier
.twig
echo $this->render()
- Il faut alors passer en paramètre un tableau qui a la liste exhaustive des variables utilisées par le
.twig
- Le test se fait avec ceci
{{bazarliste id="1" template="liste_liens"}}
{{bazarliste id="1" template="liste_liens.tpl.html"}}
- 9. Il est alors possible de publier le code dans le coeur de YesWiki en mettant les fichiers dans les dossiers suivant:
-
tools/bazar/presentation/templates/liste_liens.tpl.html
-
tools/bazar/templates/liste_liens.twig
-
Conversion de php vers .twig
PHP
->
.twig
<?php if(count($fiches)>0) : ?>
->
{% if fiches|length > 0 %}
<?php endif; ?>
->
{% endif %}
<?php echo $info_res;?>
->
{{ info_res }}
<?php echo $param['class'];?>
->
{{ param.class }}
<?php foreach($fiches as $fiche): ?>
->
{% for fiche in fiches %}
<?php foreach($fiches as $id => $fiche): ?>
->
{% for id,fiche in fiches %}
<?php endforeach; ?>
->
{% endfor %}
<?php echo $fiche['html_data'];?>
->
{{ fiche.html_data }}
<?php echo $fiche['url']; ?>
->
{{ fiche.url }}
if (!empty($color)) {
->
{% if colors[id] %}
colors
echo '<span class="pellet" style=
"background-color:'.$color.';"></span> ';
->
<span class="pellet" style="background-color:{{ colors[id] }}"></span>
if (!empty($icon)) {
->
{% if icons[id] %}
icons
echo '<i class="'.$icon.'"></i> ';
->
<i class="{{ icons[id] }}"></i>
echo '<span class="entry-title">'
.$fiche['bf_titre'].'</span>';
->
<span class="entry-title">{{ fiche.bf_titre }}</span>
<?php echo $pager_links;?>
->
{{ pager_links }}
Code source de liste_liens.tpl.html
<?php if(count($fiches)>0) : ?> <?php echo $info_res;?> <ul class="BAZ_liste <?php echo $param['class'];?>"> <?php foreach($fiches as $fiche): ?> <li class="bazar-entry" <?php echo $fiche['html_data'];?>> <a href="<?php echo $fiche['url']; ?>" target="_blank"> <?php $style = ''; $color = getCustomValueForEntry( $param['color'], $param['colorfield'], $fiche, '' ); if (!empty($color)) { echo '<span class="pellet" style="background-color:'.$color.';"></span> '; } $icon = getCustomValueForEntry( $param['icon'], $param['iconfield'], $fiche, '' ); if (!empty($icon)) { echo '<i class="'.$icon.'"></i> '; } echo '<span class="entry-title">'.$fiche['bf_titre'].'</span>'; ?> </a> </li> <?php endforeach; ?> </ul> <?php echo $pager_links;?> <?php endif; ?>
Gérer les personnalisations de thème en CSS
Gérer les personnalisations de thème en CSS
La solution : PageCSS
(uniquement à partir de Doryphore)
La mise en forme de YesWiki est gérée par un thème qu'il est possible de modifier comme l'explique la page Changer de thème graphique.
Toutefois, certaines modifications pour votre site demandent des personnalisations.
Vous pouvez les définir en CSS directement dans une page de votre wiki en y insérant par exemple le code suivant pour afficher le texte de tous les liens en rouge :
""<style> a { color : red ; } </style>""
Toutefois, pour que ceci fonctionne, il faut l'intégrer dans une page qui est affichée tout le temps comme PageFooter. Mais ceci rend compliqué la lecture de cette page.
La solution : copier tout votre code CSS directement dans PageCSS. Cette page sera chargée automatiquement en début de votre page comme feuille de style en cascade CSS.
Voici ce qu'il faudrait y mettre pour notre exemple :
a { color : red ; }
{{pdf}}
{{pdf}}
Attention, cette action sera bientôt disponible sur Doryphore, .... patience pour la tester ;-)
Comportements
Permet d'afficher un pdf présent sur le site
Paramètres utilisables
- les paramètres en gras sont obligatoires
- un paramètre se déclare de la manière suivante nomduparametre="valeurduparametre"
nom du paramètre | valeurs du paramètre |
url | url d'un fichier pdf présent sur le même serveur |
ratio | vide par défaut, correspond à "portrait" ; valeurs possibles "portrait" - "paysage" - "carre" |
largeurmax | vide par défaut, mettre un nombre pour définir une largeur maximale sans unité |
hauteurmax | vide par défaut, mettre un nombre pour définir une hauteur sans unité |
class | vide par défaut, class du conteneur valeurs possible: "pull-right","pull-left" |
Exemple
{{pdf url="https://yeswiki.net/?DocumentationActionPDF/download&file=Test.pdf"}}
Version avancée
{{pdf url="https://yeswiki.net/?DocumentationActionPDF/download&file=Test.pdf" ratio="paysage" largeurmax="200" hauteurmax="100" class="pull-right"}}
Extension LMS
Extension LMS
Permet d'utiliser YesWiki comme une plateforme d'apprentissage (LMS : Learning Management System).
Installation
- Copiez l'extension dans votre dossier tools ou installez-la depuis la page
GererMisesAJour
- Une fois l'installation automatique terminée sans erreur, taper
/update
Exemple :
https://www.example.com/?GererMisesAJour/update
Utilisation
- Rendez-vous sur la page
Bazar
- Ajoutez des activités LMS en ajoutant des fiches au formulaire ID = 1201
- Ajoutez ensuite des modules LMS en ajoutant des fiches au formulaire ID = 1202
- Ajoutez ensuite un parcours LMS en ajoutant un fiche au formulaire ID = 1203
- Notez l'url de ce parcours. Vous pouvez l'indiquer sur votre liste de parcours.
La documentation technique à jour est disponible ici.
{{video}}
{{video}}
Comportements
Permet d'intégrer une vidéo en provenance de Youtube, Vimeo ou Peertube
Paramètres utilisables
- les paramètres en gras sont obligatoires
- un paramètre se déclare de la manière suivante nomduparametre="valeurduparametre"
nom du paramètre | valeurs du paramètre |
serveur | serveur hébergeant la video ; valeurs possibles : "youtube", "peertube", "vimeo" |
id | identifiant de la vidéo sur le serveur |
peertubeinstance | Instance PeerTube utilisée ; Par exemple, "https://framatube.org/", vide par défaut |
ratio | vide par défaut, correspond à 16/9; "4par3" correspond à 4/3 |
largeurmax | vide par défaut, mettre un nombre pour définir une largeur maximale sans unité |
hauteurmax | vide par défaut, mettre un nombre pour définir une hauteur sans unité |
class | vide par défaut, class du conteneur valeurs possible: "pull-right","pull-left" |
Exemple
{{video serveur="youtube" id="sPvNuGn3Hic"}}
Version avancée
{{video serveur="peertube" id="2d4c0cb7-3336-4b1f-934b-dcccb2ebe4a0" ratio="4par3" largeurmax="200" hauteurmax="100" class="pull-right"}}
Sortie de la version YesWiki doryphore 4.2.0 ^_^
Sortie de la version YesWiki doryphore 4.2.0 ^_^
Résumé
Une nouvelle version de YesWiki doryphore vient de sortir avec de nouvelles fonctionnalités : commentaires, réactions, ... et plein d'autres nouveautés
Billet
Pour connaître précisément la liste des nouveautés, rendez-vous sur la page Notes de version.
Cette nouvelle version embarque des nouveautés avec le retour des commentaires, les réactions, les templates bazar dynamiques (c'est à dire compatibles des filtres par catégories avec un affichage plus rapide) : "Blocs","Cartographie", "Liste", et "Calendrier"
Vous pouvez mettre a jour par l'interface de mise a jour incluse dans Yeswiki, en allant en tant qu'administrateur par le bouton roue crantée, puis "Gestion du site", puis "Mises à jour / extensions".
Bonne mise a jour!
:-)
Cette nouvelle version embarque des nouveautés avec le retour des commentaires, les réactions, les templates bazar dynamiques (c'est à dire compatibles des filtres par catégories avec un affichage plus rapide) : "Blocs","Cartographie", "Liste", et "Calendrier"
Vous pouvez mettre a jour par l'interface de mise a jour incluse dans Yeswiki, en allant en tant qu'administrateur par le bouton roue crantée, puis "Gestion du site", puis "Mises à jour / extensions".
Bonne mise a jour!
:-)
ALERTE SÉCURITÉ : mettez à jour vos wikis
ALERTE SÉCURITÉ : mettez à jour vos wikis
Résumé
Une faille de sécurité importante vient d'être corrigée.
Les détails des effets de la mise à jour sur votre wiki : liste des changements de la version
Les détails des effets de la mise à jour sur votre wiki : liste des changements de la version
Billet
Une faille de sécurité importante vient d'être corrigée.
Les détails des effets de la mise à jour sur votre wiki : liste des changements de la version
Cette mise à jour modifie quelques menus du boutons composants et fait des adaptations dans le thèmes (il est possible de retrouver la configuration en suivi les indications de la liste des changements de la version)
Les détails des effets de la mise à jour sur votre wiki : liste des changements de la version
Cette mise à jour modifie quelques menus du boutons composants et fait des adaptations dans le thèmes (il est possible de retrouver la configuration en suivi les indications de la liste des changements de la version)