Développer sur




Brice Gaillard - http://www.bricegaillard.com
Le dataModel

Elgg s’interface à la base données grâce aux classes
ElggEntity

Il n’est pas recommandé de toucher directem...
Le dataModel


      ElggEntity
                      {         Global Unique ID (GUID)
                                Ow...
Architecture d’un plugin
       myplugin

         start.php
          actions
              save.php
          languages
...
Squelette d’un fichier start.php
 function myplugin_init() {

     // Load system configuration
     global $CONFIG;

     /...
Les vues

Elgg dispose de sets d’interfaces appelés view type
Exemples de view type :
 •HTML standard
 •RSS
 •HTML optimis...
Comment utiliser une vue ?


Les vues sont stocker dans le répertoire views/default/ à la
racine de elgg et dans chaque pl...
Comment passer des variables à une vue ?


Les variables sont passées en paramètre de la fonction elgg_view
ex: echo elgg_...
Les actions
Les actions sont un moyen d’interagir avec l’utilisateur :
  •L’authentification
  •L’insertion, la modification...
Contrôle d’accès


Un contrôle d’accès est définis pour chaque entité (Access ID)

3 types de contrôles d’accès sont définis...
Liens utiles




                 •http://docs.elgg.org/wiki/Main_Page
                 •http://reference.elgg.org/




Br...
Prochain SlideShare
Chargement dans…5
×

Draft - Developper Sur Elgg

3 368 vues

Publié le

Cette présentation a pour but de faire office de boite à outils du developpeur elgg. Pour le moment ce n'est qu'un brouillon n'hèsitez pas à laisser des commentaires si vous pensez qu'il manque quelque chose.

Publié dans : Technologie
0 commentaire
4 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
3 368
Sur SlideShare
0
Issues des intégrations
0
Intégrations
33
Actions
Partages
0
Téléchargements
91
Commentaires
0
J’aime
4
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Draft - Developper Sur Elgg

    1. 1. Développer sur Brice Gaillard - http://www.bricegaillard.com
    2. 2. Le dataModel Elgg s’interface à la base données grâce aux classes ElggEntity Il n’est pas recommandé de toucher directement à la base de données Il est possible d’étendre les objets ElggEntity grâce aux métadatas et aux annotations
    3. 3. Le dataModel ElggEntity { Global Unique ID (GUID) Owner GUID Site GUID Access ID Subtype ElggObject ElggUser ElggSite ElggGroup Ex: blog post, Décrit les Décrit chaque Décrit des bookmark, ... utilisateurs instance de elgg groupes
    4. 4. Architecture d’un plugin myplugin start.php actions save.php languages fr.php views default myplugin css.php myview.php
    5. 5. Squelette d’un fichier start.php function myplugin_init() { // Load system configuration global $CONFIG; // Load the language file register_translations($CONFIG->pluginspath . "myplugin/languages/"); // Extend system CSS with our own styles, which are defined in the myplugin/css view extend_view('css','myplugin/css'); // Register a page handler, so we can have nice URLs register_page_handler('myplugin','myplugin_page_handler'); } function myplugin_page_handler($page) { include(dirname(__FILE__) . "/index.php"); } register_elgg_event_handler('init','system','myplugin_init'); // Register actions global $CONFIG; register_action("myplugin/add",false,$CONFIG->pluginspath . "myplugin/actions/add.php");
    6. 6. Les vues Elgg dispose de sets d’interfaces appelés view type Exemples de view type : •HTML standard •RSS •HTML optimisé pour l’iPhone •... Le view type par défaut est default Il y a deux façons de changer le view type : •En le spécifiant dans l’url (ex: http://your-elgg-site.domain/pg/your/ site/page/?view=rss) •En appelant la fonction set_input (ex: set_input(‘view’, ‘iphone’) dans votre plugin de détection de navigateur)
    7. 7. Comment utiliser une vue ? Les vues sont stocker dans le répertoire views/default/ à la racine de elgg et dans chaque plugin Pour afficher une vue il faut utiliser la fonction elgg_view ex: echo elgg_view(‘input/text’, array(‘internalname’ => ‘username’)); Il est possible d’étendre une vue grâce à la fonction extend_view ex: extend_view(‘css’, ‘my/custom/css’);
    8. 8. Comment passer des variables à une vue ? Les variables sont passées en paramètre de la fonction elgg_view ex: echo elgg_view(‘input/text’, array(‘internalname’ => ‘username’)); Elles sont ensuite accessibles dans la vue via le tableau $vars Ex: $vars[‘internalname’] retournera ‘username’ Certaines variables sont accessibles depuis n’importe quelle vue : •$vars[‘url’] : contient l’url du site •$vars[‘user’] : contient l’objet de l’utilisateur authentifié •$vars[‘config’] : contient la configuration normalement accessible depuis la variable globale $CONFIG
    9. 9. Les actions Les actions sont un moyen d’interagir avec l’utilisateur : •L’authentification •L’insertion, la modification ou la suppression de données Les actions sont accessible via l’url : http://monsite.domain/action/monplugin/monaction Les actions sont déclarées dans start.php du plugin ex: register_action(‘monplugin/monaction’, false, $CONFIG->pluginspath . ‘monplugin/actions/monfichieraction.php’); Fonctions utiles : •get_input() - Récupère les arguments passés via la méthode GET ou POST •forward() - Redirige vers l’url de la page passé en argument •system_message() - Affiche un message de confirmation •register_error() - Affiche un message d’erreur
    10. 10. Contrôle d’accès Un contrôle d’accès est définis pour chaque entité (Access ID) 3 types de contrôles d’accès sont définis par défaut : •0 - Seul le créateur peut accéder à l’entité •1 - Seul les utilisateurs authentifiés peuvent accéder à l’entité •2 - Tout le monde peut accéder à l’entité Autres fonctions permettant le contrôle d’accès : •isloggedin() •isadminloggedin() •gatekeeper() •admin_gatekeeper()
    11. 11. Liens utiles •http://docs.elgg.org/wiki/Main_Page •http://reference.elgg.org/ Brice Gaillard - http://www.bricegaillard.com

    ×