introduction to elgg, the open source social network platform
DESCRIPTION
An introduction to ELGG, which is an extendable Open Source Social Network Platform. Get you social network in minutes, totally in your control, extendable to support any feature, and with support by a wonderful, ever-growing community.TRANSCRIPT
An Introduction to
www.mobicules.com [email protected]
What is Elgg ?
• Elgg built on LAMP and is open source
• Roll out your own social network• Bundles social networking
components• Building on Elgg is easy
Components
Pages
RSS
Files
Tags
Comment
Blog
Messages
Widgets
Friends/Groups
Forum
Features
• Advanced user management and administration
• Cross-site tagging• Powerful access control list• Internationalization support• Multiple view support (eg. cell phone,
iPhone)• Advanced templating engine• Widget framework• Opensocial support
Customize Page
Elgg Data Model
Events
• Events triggered when certain things happen– User Action– Callbacks– Special Events (Boot, Init)
• Hook has to be registered to handle the specific events
register_elgg_event_handler('init','system','entities_init');
Views
• Elgg site can support different interface pages – Standard HTML – HTML optimised for accessibility – Mobile Internet – iPhone – Embeddable widget
Plugins
• Most of the end user functionality in Elgg comes from plugins
• Plugins reside under /mod folder– start.php: control hub of a plugin– Register plugin inside Elgg init event
register_elgg_event_handler('init','system','entities_init');
Creating a Simple Blog Plugin
• Create Object View<h1><?php echo $vars['entity']->title; ?></h1>
<p><?php echo $vars['entity']->body; ?></p>
<?php echo elgg_view('output/tags', array('tags' => $vars['entity']->tags)); ?>
• Create Form<form action="<?php echo $vars['url']; ?>action/blog/save" method="post">
<?php echo elgg_echo("title"); ?><br />
<?php echo elgg_view('input/text',array('internalname' => 'title')); ?>
<?php echo elgg_echo("body"); ?><br /> <?php echo elgg_view('input/longtext',array('internalname' => 'body')); ?>
<p><?php echo elgg_echo("tags"); ?><br /> <?php echo elgg_view('input/tags',array('internalname' => 'tags')); ?></p>
<p><input type="submit" value="<?php echo elgg_echo('save'); ?>" /></p> </form>
Contd…
• Create Save File$blogpost = new ElggObject();
$blogpost->title = get_input('title'); $blogpost->description = $description;
$blogpost->access_id = ACCESS_PUBLIC;
$blogpost->owner_guid = $_SESSION['user']->getGUID();
$blogpost->save();
$blogpost->tags = string_to_tag_array(get_input('tags'));
forward($blogpost->getURL());
• Display Blogrequire_once(dirname(dirname(dirname(__FILE__))).engine/start.php");
$body = list_entities('object','blog',0,10,false);
$body = elgg_view_layout('one_column', $body);
page_draw("Our Blog",$body);
Business Opportunities in Elgg
• Education (Social E-learning)– Universities– Schools
• Social Intranet for organizations– Employee activities– Knowledge base– Company events
• Custom Social Networks
Profile
Groups
Dashboard
Files
Thanks