introduction to elgg. php based applications development at mobicules
DESCRIPTION
Mobicules is a web and mobile applications development company in Noida, India with extensive capabilities at conceptualizing, developing, enhancing and maintaining web applications, mobile applications and social applications including Facebook application development. Mobicules’ domain expertise spans developing travel/trip planning sites, Social Networks, Facebook/OpenSocial applications, Mobile apps including android development and iphone application development. With a team comprising people drawn from the best engineering schools in the country, Mobicules has built many interesting and sophisticated products for a range of clients. From some of the biggest brands to many interesting technology start-ups and new ventures, Mobicules has been able to form really successful partnerships across the globe – US, Europe and Asia.With a team that is very agile with technology, Mobicules has, in a short span of time, built very deep cross-technology and cross-platform expertise. Engineers at Mobicules are adept at mobile technologies and web technologies, helping them design and develop better, more scalable and maintainable applications. Combining this web development expertise with excellent in-house QA and design teams, Mobicules provides end-to-end solutions to develop applications of any scale and sophistication.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