Communauté Elgg francophone

Créer un compteAide  
Connexion

Plugins et développement

Résumé: Partage de plugins et ressources utiles pour le développement
Description:

Ce groupe vise à faciliter le repérage, l'utilisation, l'adaptation et le développement de plugins pour Elgg.

Plugins, bouts de code utiles, règles de conception (architecture des plugins), documentation technique et tout ce qui peut faciliter le travail des développeur de plugins, dans le respect des standards web. C'est aussi l'espace pour regrouper les efforts de la communauté autour des développements génériques ou spécifiques de ses membres.

En publiant un plugin, pensez à préciser les versions compatibles, et toutes informations utiles. Il est recommandé d'utiliser une page wiki pour centraliser les versions de vos plugins ainsi que les échanges, traductions, développements, une FAQ éventuelle, etc.

→ Entraide / Forum des Développeurs

→ présenter un plugin, un projet de développement (wiki)

→ publier un plugin (fichier zip)

Activité

  • Description : Le principe de ce plugin est d'intercepter la création des groupes et de les rendre privés, donc invisibles et inutilisables pour toute autre personne que l'auteur, jusqu'à approbation de la création du...
  • Benoit a ajouté un nouveau sujet de discussion Adaptation de Cometchat le 30 avril 2010
    Bonjour, Je suis en train d'essayer d'adapter le plugin de clavardage Cometchat à ELGG, mais je ne sais pas par où commencer. Est-ce que quelqu'un l'utilise dans un de ses sites ou connait un site qui l'a implémenté sous ELGG ? Merci...
  • Mike a créé la page wiki vazco_gmap - géomarque le 30 avril 2010
    permet de géomarque Elgg entités. Plus de détails ici.
  • Mike a créé la page wiki vazco_mainpage le 30 avril 2010
    Un plugin qui permet de modifier la page d'accueil.   Les versions disponibles: pour Elgg 1.5, 1.6.1 et 1.7 Vues modifiées / améliorées: modification mise en page
  • Fabrice Collette a répondu sur le sujet de discussion URL du type mod et pg ? le 16 avril 2010
  • ManUtopiK a ajouté un nouveau sujet de discussion URL du type mod et pg ? le 15 avril 2010
    Bonjour, Pourquoi certains modules ont une url de type lesiteelgg/mod/lemodule/... et d'autres lesiteelgg/pg/lemodule ? Y-a-t-il un schéma conventionnel ? Le module groups par exemple utilise les 2 types d'url. Pourquoi ? Tout se passe dans le...
  • Florian DANIEL ~ Facyla a créé la page wiki Messages de notification améliorés le 14 avril 2010
    Description : Le principe de ce plugin est de récupérer les notifications standard d'Elgg, pour les remplacer par des messages plus explicites : remplacement du sujet du message, et du contenu. Version du core compatible : 1.6.1 (merci de...
    Commentaires
    • Makkintoch le 7 février 2011

      Bonjour,
      Actuellement, je teste en local sur la version 1.7.4 d'Elgg, Le plugin est tout a bas de la liste.
      Apres désactivation de l'ancienne version de notification_messages, je rajoute votre nouvelle version.

      Mais là, gros soucis, aucune notification améliorée par votre plugin n'est prise en compte.
      Je me retrouve avec les notifications par défaut tel que: "Une nouvelle discussion a été publiée".

      Dans "Votre compte" sur le plugin, j'ai eu beau mettre les notifications en standard (par défaut), ou les bloquer. Rien ne change.
      Dans les filtres que je rajoute ou non "blog,bookmarks,event_calendar,file,groupforumtopic,thewire" espacé par des virgules et sans espace apres la virgule. Rien ne change également.

      Peut etre je m'y prends mal et je n'ai pas fait quelque chose de correct ?

      Merci pour votre aide quand vous aurez le temps.

    • Florian DANIEL ~ Facyla le 9 février 2011

      Le plugin n'est pas prévu pour Elgg 1.7, mais 1.6.1 - je pense que les versions entre la 1.5 et les versions 1.6.x devraient fonctionner également, mais je n'ai pas testé.

      Je ne prévois pas d'adaptation du plugin pour Elgg 1.7 (si je l'adapte pour une autre version, ce sera directement la 1.8, ou plus, si les messages ne sont pas améliorés d'ici là).

      Le premier filtre a préséance sur les autres : seuls les contenus qui y sont déclarés peuvent être notifiés ; les autres sont facultatifs et permettent des réglages plus fins, surtout sur les mises à jour ou les commentaires (annotations).

      Voici mes réglages :

       

       

       

       

       

    • Makkintoch le 9 février 2011

      Bonjour,
      Ok merci pour les infos ! Je patienterai donc d'ici là.
      En tout cas super boulot.

  • Florian DANIEL ~ Facyla a créé la sous-page wiki Plugin inscription - Yacom le 12 avril 2010
    Je reprends le message de Yacom (sans les liens) avec quelques remarques pour lancer l'échange On en a discuté lors du dernier apéro, j'ai commencé quelques petits plugins, à essayer de finir à plusieurs. Je propose pour commencer un truc tout...
  • Florian DANIEL ~ Facyla a créé la page wiki Développements collaboratifs le 12 avril 2010
    Parmi les bonnes idées lancées lors des elgg apéros formels ou aléatoires, celle de mener quelques développements à plusieurs. Nombre d'entre nous utilisent déjà les plugin tidypics ou izap_videos, plugins développés de manière collaborative par...
    Commentaires
    • Keven le 14 mai 2010

      Ok, je vais voir si je peux "monter" à paris à cette date...

      En attendant, mes petites expériences ne sont pas du tout finalisées. Grosso modo, ça s'inspire librement du framework Symfony, sans pour autant le reprendre puisque ce n'est pas le but.

      Il me semble qu'il n'existe pas de plugin DebugBar non plus, n'est-ce pas ? C'est une piste que j'aimerais explorer aussi parce que ça manque...

    • Keven le 17 mai 2010

      Bon, ça ne sera pas possible d'être présent au ElggCamp, mais je vais quand même faire partager mon travail sur elgg.fr au plus vite.

    • Florian DANIEL ~ Facyla le 17 mai 2010

      Ok, n'hésite pas à suivre à distance, ça ne sera pas en vidéo a priori (sauf si...?), mais il y aura au moins un canal sur twitter et peut-être des notes en direct sur le site..

      Les groupes sont en restructuration sur le site, et le groupe Développer pour Elgg a été fusionné avec le groupe Plugins (par contre il faut penser à réactiver les notifications évenutellement), donc ce serait le bon endroit pour poster ce qui est partageable  :)

  • Florian DANIEL ~ Facyla a créé la sous-page wiki Ajouter une vue de "Mes groupes" le 4 avril 2010
    Commentaires
    • Florian DANIEL ~ Facyla le 2 avril 2010

      Le code proposé marche avec Elgg 1.5 et 1.6.1, et n'a pas été testé en version 1.7 (ça devrait, mais à confirmer)

      Je n'utilise pas Vazco topbar, mais le principe pour le menu est d'ajouter le 2e bout de code en début de script (l'endroit importe peu puisqu'on n'affiche rien à ce stade), par ex. juste après (ligne 16 dans version 1.6.1 standard)

      if (isloggedin()) {

      ..et le 3e bout de code au même niveau que le menu "Outils" ou "Administration", par ex. avant la ligne 38

      <div class="toolbarlinks2">

      dans la topbar standard d'Elgg 1.6.1. Le code ci-dessus ne contient que le menu déroulant : pour qu'il s'affiche sous un menu "Mes groupes", il faut l'insérer entre 

      <div class="elgg_topbar_menuitem groups">

      [...]

      </div>

       

      Quant au bloc qui apparaît dans le profil d'un groupe, on le place quelque part au début, et on ajoute la variable $mygroups_widget dans la partie que l'on souhaite, par ex. après

      //group members
      $area3 = elgg_view('groups/members',array('entity' => $group));

      ..ce qui donnerait :

      //group members
      $area3 = elgg_view('groups/members',array('entity' => $group));
      $area3 .= $mygroups_widget;

      ou :

      //group members
      $area3 = elgg_view('groups/members',array('entity' => $group)) . $mygroups_widget;

       

      Sinon pas besoin de faire d'upgrade tant que tu fais des modifications de vues existantes, ni de vider le cache s'il n'y a pas de modification des feuilles de style, par contre c'est essentiel lorsqu'on crée ou déplace des vues, ou qu'on modifie le start.php...

    • Kriss le 3 avril 2010

      Kriss au rapport :
      bon, pour la topbar, impec ! mais pour la page de groupe... bof, lol. Le widget apparait bien, mais quelque chose ne va pas au niveau de l'affichage.... (je peux pas uploader d'image pour montrer)... l'apparence du widget ne va pas, comme si il passait à côté d'un css ?
      Mais merci beaucoup pour ces explications, faut s'y mettre aussi soi même hein ;-)
      allé je chipote un peu : plutôt que d'avoir seulement les vignettes des groupes comment procède t'on pour avoir une liste des groupes ?

       

    • Florian DANIEL ~ Facyla le 4 avril 2010

      Le principe est de récupérer les objets souhaités via un get_... (au lieu d'un list_...), puis les valeurs utiles de chaque entité dans une boucle :

      foreach ( $entites as $entity ) {

         echo $entity->description;  // affiche la description d'un objet

         echo $entity->url;  // son URL

         echo $entity->title;  // titre..

         // etc.

      }

      ensuite faut mettre en forme tout ça pour un zouli affichage  :)

  • Florian DANIEL ~ Facyla a créé la sous-page wiki Event_calendar le 4 avril 2010
    Seul le fichier /mod/event_calendar/views/default/object/event_calendar.php est à modifier pour que event_calendar produise des microformats minimaux les modifs sont marquées en commentaire, en gros on ajoute la structure : <span...
  • Florian DANIEL ~ Facyla a créé la sous-page wiki Event_calendar le 4 avril 2010
    Seul le fichier /mod/event_calendar/views/default/object/event_calendar.php est à modifier pour que event_calendar produise des microformats minimaux les modifs sont marquées en commentaire, en gros on ajoute la structure : <span...
  • Florian DANIEL ~ Facyla a créé la sous-page wiki Event_calendar le 4 avril 2010
    Seul le fichier /mod/event_calendar/views/default/object/event_calendar.php est à modifier pour que event_calendar produise des microformats minimaux les modifs sont marquées en commentaire, en gros on ajoute la structure : <span...
  • Florian DANIEL ~ Facyla a créé la page wiki Sémantisation des vues le 4 avril 2010
    Quand on voit la simplicité d'implémentation des microformats et la facilité avec laquelle Elgg gère les vues, je me dis que c'est un peu dommage de ne pas microformater un peu quelques objets, à commencer par le calendrier.. Voici donc un petit...
    Commentaires
    • Keven le 11 mai 2010

      Tout à fait d'accord, que proposes-tu pour y parvenir ? Il ne me semble pas réaliste de vouloir re "sémantiser" tous les plugins existants.
      Est-ce que tu proposes de pousser les nouveaux plugins, ou les auteurs des anciens plugins à respecter les microformats ?

    • Florian DANIEL ~ Facyla le 15 octobre 2010

      (oups, ça c'est une réponse tardive)

      je vois ça en sémantisant les quelques vues qui contiennent les informations de contact (profils), et les adresses ; et faire une vraie vue FOAF surtout..

      il y a aussi quelques bibliothèques d'accès type "entrepôt de données" qu'il serait intéressant d'intégrer ..

  • Kriss a créé la sous-page wiki Ajouter une vue de "Mes groupes" le 3 avril 2010
    Commentaires
    • Florian DANIEL ~ Facyla le 2 avril 2010

      Le code proposé marche avec Elgg 1.5 et 1.6.1, et n'a pas été testé en version 1.7 (ça devrait, mais à confirmer)

      Je n'utilise pas Vazco topbar, mais le principe pour le menu est d'ajouter le 2e bout de code en début de script (l'endroit importe peu puisqu'on n'affiche rien à ce stade), par ex. juste après (ligne 16 dans version 1.6.1 standard)

      if (isloggedin()) {

      ..et le 3e bout de code au même niveau que le menu "Outils" ou "Administration", par ex. avant la ligne 38

      <div class="toolbarlinks2">

      dans la topbar standard d'Elgg 1.6.1. Le code ci-dessus ne contient que le menu déroulant : pour qu'il s'affiche sous un menu "Mes groupes", il faut l'insérer entre 

      <div class="elgg_topbar_menuitem groups">

      [...]

      </div>

       

      Quant au bloc qui apparaît dans le profil d'un groupe, on le place quelque part au début, et on ajoute la variable $mygroups_widget dans la partie que l'on souhaite, par ex. après

      //group members
      $area3 = elgg_view('groups/members',array('entity' => $group));

      ..ce qui donnerait :

      //group members
      $area3 = elgg_view('groups/members',array('entity' => $group));
      $area3 .= $mygroups_widget;

      ou :

      //group members
      $area3 = elgg_view('groups/members',array('entity' => $group)) . $mygroups_widget;

       

      Sinon pas besoin de faire d'upgrade tant que tu fais des modifications de vues existantes, ni de vider le cache s'il n'y a pas de modification des feuilles de style, par contre c'est essentiel lorsqu'on crée ou déplace des vues, ou qu'on modifie le start.php...

    • Kriss le 3 avril 2010

      Kriss au rapport :
      bon, pour la topbar, impec ! mais pour la page de groupe... bof, lol. Le widget apparait bien, mais quelque chose ne va pas au niveau de l'affichage.... (je peux pas uploader d'image pour montrer)... l'apparence du widget ne va pas, comme si il passait à côté d'un css ?
      Mais merci beaucoup pour ces explications, faut s'y mettre aussi soi même hein ;-)
      allé je chipote un peu : plutôt que d'avoir seulement les vignettes des groupes comment procède t'on pour avoir une liste des groupes ?

       

    • Florian DANIEL ~ Facyla le 4 avril 2010

      Le principe est de récupérer les objets souhaités via un get_... (au lieu d'un list_...), puis les valeurs utiles de chaque entité dans une boucle :

      foreach ( $entites as $entity ) {

         echo $entity->description;  // affiche la description d'un objet

         echo $entity->url;  // son URL

         echo $entity->title;  // titre..

         // etc.

      }

      ensuite faut mettre en forme tout ça pour un zouli affichage  :)

  • Florian DANIEL ~ Facyla a créé la sous-page wiki Ajouter une vue de "Mes groupes" le 2 avril 2010
    Commentaires
    • Florian DANIEL ~ Facyla le 2 avril 2010

      Le code proposé marche avec Elgg 1.5 et 1.6.1, et n'a pas été testé en version 1.7 (ça devrait, mais à confirmer)

      Je n'utilise pas Vazco topbar, mais le principe pour le menu est d'ajouter le 2e bout de code en début de script (l'endroit importe peu puisqu'on n'affiche rien à ce stade), par ex. juste après (ligne 16 dans version 1.6.1 standard)

      if (isloggedin()) {

      ..et le 3e bout de code au même niveau que le menu "Outils" ou "Administration", par ex. avant la ligne 38

      <div class="toolbarlinks2">

      dans la topbar standard d'Elgg 1.6.1. Le code ci-dessus ne contient que le menu déroulant : pour qu'il s'affiche sous un menu "Mes groupes", il faut l'insérer entre 

      <div class="elgg_topbar_menuitem groups">

      [...]

      </div>

       

      Quant au bloc qui apparaît dans le profil d'un groupe, on le place quelque part au début, et on ajoute la variable $mygroups_widget dans la partie que l'on souhaite, par ex. après

      //group members
      $area3 = elgg_view('groups/members',array('entity' => $group));

      ..ce qui donnerait :

      //group members
      $area3 = elgg_view('groups/members',array('entity' => $group));
      $area3 .= $mygroups_widget;

      ou :

      //group members
      $area3 = elgg_view('groups/members',array('entity' => $group)) . $mygroups_widget;

       

      Sinon pas besoin de faire d'upgrade tant que tu fais des modifications de vues existantes, ni de vider le cache s'il n'y a pas de modification des feuilles de style, par contre c'est essentiel lorsqu'on crée ou déplace des vues, ou qu'on modifie le start.php...

    • Kriss le 3 avril 2010

      Kriss au rapport :
      bon, pour la topbar, impec ! mais pour la page de groupe... bof, lol. Le widget apparait bien, mais quelque chose ne va pas au niveau de l'affichage.... (je peux pas uploader d'image pour montrer)... l'apparence du widget ne va pas, comme si il passait à côté d'un css ?
      Mais merci beaucoup pour ces explications, faut s'y mettre aussi soi même hein ;-)
      allé je chipote un peu : plutôt que d'avoir seulement les vignettes des groupes comment procède t'on pour avoir une liste des groupes ?

       

    • Florian DANIEL ~ Facyla le 4 avril 2010

      Le principe est de récupérer les objets souhaités via un get_... (au lieu d'un list_...), puis les valeurs utiles de chaque entité dans une boucle :

      foreach ( $entites as $entity ) {

         echo $entity->description;  // affiche la description d'un objet

         echo $entity->url;  // son URL

         echo $entity->title;  // titre..

         // etc.

      }

      ensuite faut mettre en forme tout ça pour un zouli affichage  :)

  • Kriss a créé la sous-page wiki Ajouter une vue de "Mes groupes" le 2 avril 2010
    Commentaires
    • Florian DANIEL ~ Facyla le 2 avril 2010

      Le code proposé marche avec Elgg 1.5 et 1.6.1, et n'a pas été testé en version 1.7 (ça devrait, mais à confirmer)

      Je n'utilise pas Vazco topbar, mais le principe pour le menu est d'ajouter le 2e bout de code en début de script (l'endroit importe peu puisqu'on n'affiche rien à ce stade), par ex. juste après (ligne 16 dans version 1.6.1 standard)

      if (isloggedin()) {

      ..et le 3e bout de code au même niveau que le menu "Outils" ou "Administration", par ex. avant la ligne 38

      <div class="toolbarlinks2">

      dans la topbar standard d'Elgg 1.6.1. Le code ci-dessus ne contient que le menu déroulant : pour qu'il s'affiche sous un menu "Mes groupes", il faut l'insérer entre 

      <div class="elgg_topbar_menuitem groups">

      [...]

      </div>

       

      Quant au bloc qui apparaît dans le profil d'un groupe, on le place quelque part au début, et on ajoute la variable $mygroups_widget dans la partie que l'on souhaite, par ex. après

      //group members
      $area3 = elgg_view('groups/members',array('entity' => $group));

      ..ce qui donnerait :

      //group members
      $area3 = elgg_view('groups/members',array('entity' => $group));
      $area3 .= $mygroups_widget;

      ou :

      //group members
      $area3 = elgg_view('groups/members',array('entity' => $group)) . $mygroups_widget;

       

      Sinon pas besoin de faire d'upgrade tant que tu fais des modifications de vues existantes, ni de vider le cache s'il n'y a pas de modification des feuilles de style, par contre c'est essentiel lorsqu'on crée ou déplace des vues, ou qu'on modifie le start.php...

    • Kriss le 3 avril 2010

      Kriss au rapport :
      bon, pour la topbar, impec ! mais pour la page de groupe... bof, lol. Le widget apparait bien, mais quelque chose ne va pas au niveau de l'affichage.... (je peux pas uploader d'image pour montrer)... l'apparence du widget ne va pas, comme si il passait à côté d'un css ?
      Mais merci beaucoup pour ces explications, faut s'y mettre aussi soi même hein ;-)
      allé je chipote un peu : plutôt que d'avoir seulement les vignettes des groupes comment procède t'on pour avoir une liste des groupes ?

       

    • Florian DANIEL ~ Facyla le 4 avril 2010

      Le principe est de récupérer les objets souhaités via un get_... (au lieu d'un list_...), puis les valeurs utiles de chaque entité dans une boucle :

      foreach ( $entites as $entity ) {

         echo $entity->description;  // affiche la description d'un objet

         echo $entity->url;  // son URL

         echo $entity->title;  // titre..

         // etc.

      }

      ensuite faut mettre en forme tout ça pour un zouli affichage  :)

  • Florian DANIEL ~ Facyla a créé la page wiki Draggable widgets le 7 mars 2010
    Une petite extension qui permet de déplacer les widgets en drag'n'drop tant sur la page de profil que sur le tableau de bord. http://community.elgg.org/pg/plugins/jdalsem/read/384604/draggable-widgets Attention : si Elgg n'est pas installé à la...
    Commentaires
  • Le code suivant permet d'afficher 2 flux RSS dans 2 colonnes. Il est possible, en ajoutant plus de flux dans le tableau, de les afficher alternativement sur 2 colonnes gauche et droite. $area1 contient la chaine à afficher.   if...
    Commentaires
    • Florian DANIEL ~ Facyla le 11 mars 2011
      Question : où installer ce code ?

      Réponse : dans toute vue dans laquelle on souhaite insérer un listing des prochains événements. Pour l'afficher dans une page seule, intégrer ça dans un page quelconque à la racine du plugin souhaité :
      par ex. dans monplugin/agenda.php
      avec dans agenda.php :
      <?php
      // Following allows direct access (not needed when accessed through page handler..)
      require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");

      // INSERER LE CODE ICI

      // Draw page
      page_draw($title, elgg_view_layout('two_column_left_sidebar', '', $area1));

      ?>
  • Florian DANIEL ~ Facyla a créé la page wiki SimplePie - afficher des flux RSS le 7 mars 2010
    Permet d'embarquer un widget "syndication" dans la page de profil ou le tableau de bord. http://community.elgg.org/pg/plugins/costelloc/read/37480/simplepie-feed-integrator   Nouvelle version francisée, avec amélioration de l'affichage des...
    Commentaires