introduction to elgg, the open source social network platform

Post on 14-May-2015

20.164 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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 nitesh@mobicules.com

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

top related