Your SlideShare is downloading. ×
0
Draft - Developper Sur Elgg
Draft - Developper Sur Elgg
Draft - Developper Sur Elgg
Draft - Developper Sur Elgg
Draft - Developper Sur Elgg
Draft - Developper Sur Elgg
Draft - Developper Sur Elgg
Draft - Developper Sur Elgg
Draft - Developper Sur Elgg
Draft - Developper Sur Elgg
Draft - Developper Sur Elgg
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Draft - Developper Sur Elgg

2,970

Published on

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 …

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.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,970
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
90
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Transcript

    • 1. Développer sur Brice Gaillard - http://www.bricegaillard.com
    • 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. 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. Architecture d’un plugin myplugin start.php actions save.php languages fr.php views default myplugin css.php myview.php
    • 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. 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. 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. 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. 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. 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. Liens utiles •http://docs.elgg.org/wiki/Main_Page •http://reference.elgg.org/ Brice Gaillard - http://www.bricegaillard.com

    ×