SlideShare a Scribd company logo
Jaakko Naakka Intunex Ltd. www.intunex.fi @naakka How to Build Your Own Social Network?  Custom made social networking with Elgg  - A technical perspective
Jaakko Naakka
I really like the idea of  Facebook  and  Twitter , but I need  more privacy . How can I build a  private  social networking site?
With Elgg you can!  
I want to build a  public social community  with  thousands  of users. Is that possible?
It sure is! It's been done already  
What is Elgg? An open source social networking engine  You can create your own  Private social networking for your organisation, Public world wide social networking sites
Still not convinced? Here's some more details why Elgg rocks...
Elgg Highlights in TLA's *AMP PHP SQL MVC ORM XML RPC GPL / MIT OMG!
Elgg is an easily extendable platform to build your custom social networking site
Extendability Not just the way you can extend and modify any Open Source project Very effective plugin system Plugins can  modify ,  extend  and  disable core features , features added by  other plugins
  Lets take a closer look at the plugins
Plugins can add new features to Elgg Elgg Core Blog User profile Groups Plugin Plugin Plugin
Plugins can modify Elgg core features Elgg Core Blog Groups Email validation Plugin Plugin User profile Plugin Plugin
Plugins can modify other plugins Groups Elgg Core Blog Group members Plugin Plugin User profile Plugin Email validation Plugin Plugin
You can do practically anything without modifying Elgg core or losing upgradeability
How is that possible?
Ways to Extend and Modify Elgg You can  replace  or  extend  any  view  in Elgg A plugin can replace  page handlers  and  actions Add functionality through  events  and  plugin hooks
Elgg is built on MVC architecture Plugins can modify views and change the way things look like. You can Add  new views, Replace  any core view, Replace  any view added by another plugin, Extend  any existing view
Actions and page handlers You can  add  new or  replace  existing  actions  and  page handlers Actions handle user actions (e.g. log in, save a blog post, update user profile) Page handlers handle the calls to URL's
Events and plugin hooks Events and plugin hooks are  an easy way to add new features By registering an event handler you can, for instance  Add a new authentication method, Execute some code every time a user updates their profile, Send an email to administrators every time a new user is registered
What about the database and saving data?
Elgg Datamodel Everything is saved as  entities ,  metadata ,  annotations , and  relationships You  don't need  to Know any SQL  at all, Create  your own plugin specific  tables
How does that work exactly?
This is all the code you need to save a blog post title and contents Example, saving a blog post // Get the form input $title = get_input('title'); $body = get_input('body'); // Create a new blog post object $blogpost = new ElggObject(); $blogpost->title = $title; $blogpost->description = $body; $blogpost->subtype = "blogpost"; // Save to database.  //  This is where the magic happens ! $blogpost->save();
Cool! What about reading the database?
Example, reading the database This is what you need to get the latest 10 blog entries $options = array( 'type' => 'object', 'subtype' => 'blogpost', 'limit' => 10 );  $blogposts = elgg_get_entities($options);
That sounds cool! Where do I start? 
Elgg Community http://www.elgg.org  Hundreds of free plugins Active discussion forums  Friendly and helpful members
Need something custom made? Don't hesitate to contact me! [email_address]   http://www.naakka.net   http://www.intunex.fi   @naakka / @intunex http://www.facebook.com/intunex

More Related Content

PPT
Introduction to ELGG, the Open Source Social Network Platform
PDF
Elgg Social Network solution
PPT
Introduction To Elgg 1224395615749768 9
PPT
Introduction to Elgg
PPTX
E Pi Server Easy Search Technical Overview
PPT
Introduccion app engine con python
PDF
The React Cookbook: Advanced Recipes to Level Up Your Next App
KEY
How To Write a WordPress Plugin
Introduction to ELGG, the Open Source Social Network Platform
Elgg Social Network solution
Introduction To Elgg 1224395615749768 9
Introduction to Elgg
E Pi Server Easy Search Technical Overview
Introduccion app engine con python
The React Cookbook: Advanced Recipes to Level Up Your Next App
How To Write a WordPress Plugin

What's hot (20)

ODP
The Future Of WordPress Presentation
PDF
A Debugging Adventure: Journey through Ember.js Glue
PPT
Building Cool apps with flex
PDF
Write Your First WordPress Plugin
PDF
Techical Workflow for a Startup
PPTX
European SharePoint Conference 2017 - SharePoint Framework, Angular & Azure F...
PPT
Introduction to Adobe Flex - Zaloni
PPT
Gadgets Intro (Plus Mapplets)
PPTX
CUCUMBER - Making BDD Fun
PDF
Deep dive into AngularJs for Beginners
PPTX
WordPress101 ppt
PDF
The A1 by Christian John Felix
PPT
Drupal Gardens tutorial 3 of 4
PPT
Mashup Y! widget
PDF
Intro Open Social and Dashboards
PPTX
Social media management wordpress ppt
PDF
Behavior Driven Development with Cucumber
PPT
Automation with Selenium Presented by Quontra Solutions
PPT
Introduction wordpress
PDF
AEM Asset and Tag API
The Future Of WordPress Presentation
A Debugging Adventure: Journey through Ember.js Glue
Building Cool apps with flex
Write Your First WordPress Plugin
Techical Workflow for a Startup
European SharePoint Conference 2017 - SharePoint Framework, Angular & Azure F...
Introduction to Adobe Flex - Zaloni
Gadgets Intro (Plus Mapplets)
CUCUMBER - Making BDD Fun
Deep dive into AngularJs for Beginners
WordPress101 ppt
The A1 by Christian John Felix
Drupal Gardens tutorial 3 of 4
Mashup Y! widget
Intro Open Social and Dashboards
Social media management wordpress ppt
Behavior Driven Development with Cucumber
Automation with Selenium Presented by Quontra Solutions
Introduction wordpress
AEM Asset and Tag API
Ad

Viewers also liked (20)

ZIP
Draft - Developper Sur Elgg
PDF
オープンデータ成熟度モデルについて
PDF
Reflections - News Letter, St Paul's College, Kalamassery (Vol. 49, Issue 4, ...
PPTX
Hikaye
PPT
3 c commercial xway noida
DOC
The universal God
PPT
How communication can support the debt management during the crisis - the cas...
PDF
Hawaii Boating Regulation Q&A
PPTX
Bir elektrik devresi
PPTX
Heart beat ppt.
PPTX
Doctrina 14
PPT
Дионисий
PPT
Alexander the Great
PPSX
كيفية تنصيب و حذف برنامج
PDF
町家で肝試ししようぜ
PDF
Paradise Gardens Resort Sahl Hasheesh
PDF
PPT
Дешифровка письма майя
PDF
Open dataday preevent_20140208
PDF
Acne and its therapy
Draft - Developper Sur Elgg
オープンデータ成熟度モデルについて
Reflections - News Letter, St Paul's College, Kalamassery (Vol. 49, Issue 4, ...
Hikaye
3 c commercial xway noida
The universal God
How communication can support the debt management during the crisis - the cas...
Hawaii Boating Regulation Q&A
Bir elektrik devresi
Heart beat ppt.
Doctrina 14
Дионисий
Alexander the Great
كيفية تنصيب و حذف برنامج
町家で肝試ししようぜ
Paradise Gardens Resort Sahl Hasheesh
Дешифровка письма майя
Open dataday preevent_20140208
Acne and its therapy
Ad

Similar to How to Build Your Own Social Network with Elgg? (20)

PPT
What is new in elgg 1.8?
PDF
ElggCamp Santiago> For Developers!
PDF
ElggCamp Santiago - Dev Edition
PPT
The Elgg Social Networking Framework
ODP
'Best Practices for Elgg Plugin Developers' Cash Costello #ECSF
ODP
Elgg: Then, Now, and The Future
PPTX
Devfest 1 2 Elgg
PDF
Can your website be your API and real life
PDF
Nuxeo WebEngine (Sept. 2008)
PDF
Community With BuddyPress (WordCamp Orlando 2011)
PPTX
Introduction to Backbone.js
PPTX
Top 5 Tips for Building Viral Social Web Applications and Sites
PDF
Elggで作るソーシャルメディアWeb
PDF
Nimbuzz march2012
PDF
Javascript Web Applications Otx Alex Maccaw
PPT
WordCamp Utah BuddyPress Presentation
PPTX
Intro to ExpressionEngine and CodeIgniter
PPT
Intro to-html-backbone
PDF
Facebook App Dev101 (Tyler Ballance, Slide.com)
ODP
Elgg May 09
What is new in elgg 1.8?
ElggCamp Santiago> For Developers!
ElggCamp Santiago - Dev Edition
The Elgg Social Networking Framework
'Best Practices for Elgg Plugin Developers' Cash Costello #ECSF
Elgg: Then, Now, and The Future
Devfest 1 2 Elgg
Can your website be your API and real life
Nuxeo WebEngine (Sept. 2008)
Community With BuddyPress (WordCamp Orlando 2011)
Introduction to Backbone.js
Top 5 Tips for Building Viral Social Web Applications and Sites
Elggで作るソーシャルメディアWeb
Nimbuzz march2012
Javascript Web Applications Otx Alex Maccaw
WordCamp Utah BuddyPress Presentation
Intro to ExpressionEngine and CodeIgniter
Intro to-html-backbone
Facebook App Dev101 (Tyler Ballance, Slide.com)
Elgg May 09

Recently uploaded (20)

PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Big Data Technologies - Introduction.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
A Presentation on Artificial Intelligence
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Spectroscopy.pptx food analysis technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Machine Learning_overview_presentation.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
Digital-Transformation-Roadmap-for-Companies.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Chapter 3 Spatial Domain Image Processing.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation_ Review paper, used for researhc scholars
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
MYSQL Presentation for SQL database connectivity
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
A Presentation on Artificial Intelligence
Advanced methodologies resolving dimensionality complications for autism neur...
Spectroscopy.pptx food analysis technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Machine Learning_overview_presentation.pptx
Encapsulation theory and applications.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Spectral efficient network and resource selection model in 5G networks

How to Build Your Own Social Network with Elgg?

  • 1. Jaakko Naakka Intunex Ltd. www.intunex.fi @naakka How to Build Your Own Social Network? Custom made social networking with Elgg - A technical perspective
  • 3. I really like the idea of Facebook and Twitter , but I need more privacy . How can I build a private social networking site?
  • 4. With Elgg you can!  
  • 5. I want to build a public social community with thousands of users. Is that possible?
  • 6. It sure is! It's been done already  
  • 7. What is Elgg? An open source social networking engine  You can create your own Private social networking for your organisation, Public world wide social networking sites
  • 8. Still not convinced? Here's some more details why Elgg rocks...
  • 9. Elgg Highlights in TLA's *AMP PHP SQL MVC ORM XML RPC GPL / MIT OMG!
  • 10. Elgg is an easily extendable platform to build your custom social networking site
  • 11. Extendability Not just the way you can extend and modify any Open Source project Very effective plugin system Plugins can modify , extend and disable core features , features added by other plugins
  • 12.   Lets take a closer look at the plugins
  • 13. Plugins can add new features to Elgg Elgg Core Blog User profile Groups Plugin Plugin Plugin
  • 14. Plugins can modify Elgg core features Elgg Core Blog Groups Email validation Plugin Plugin User profile Plugin Plugin
  • 15. Plugins can modify other plugins Groups Elgg Core Blog Group members Plugin Plugin User profile Plugin Email validation Plugin Plugin
  • 16. You can do practically anything without modifying Elgg core or losing upgradeability
  • 17. How is that possible?
  • 18. Ways to Extend and Modify Elgg You can replace or extend any view in Elgg A plugin can replace page handlers and actions Add functionality through events and plugin hooks
  • 19. Elgg is built on MVC architecture Plugins can modify views and change the way things look like. You can Add new views, Replace any core view, Replace any view added by another plugin, Extend any existing view
  • 20. Actions and page handlers You can add new or replace existing actions and page handlers Actions handle user actions (e.g. log in, save a blog post, update user profile) Page handlers handle the calls to URL's
  • 21. Events and plugin hooks Events and plugin hooks are an easy way to add new features By registering an event handler you can, for instance Add a new authentication method, Execute some code every time a user updates their profile, Send an email to administrators every time a new user is registered
  • 22. What about the database and saving data?
  • 23. Elgg Datamodel Everything is saved as entities , metadata , annotations , and relationships You don't need to Know any SQL at all, Create your own plugin specific tables
  • 24. How does that work exactly?
  • 25. This is all the code you need to save a blog post title and contents Example, saving a blog post // Get the form input $title = get_input('title'); $body = get_input('body'); // Create a new blog post object $blogpost = new ElggObject(); $blogpost->title = $title; $blogpost->description = $body; $blogpost->subtype = "blogpost"; // Save to database. // This is where the magic happens ! $blogpost->save();
  • 26. Cool! What about reading the database?
  • 27. Example, reading the database This is what you need to get the latest 10 blog entries $options = array( 'type' => 'object', 'subtype' => 'blogpost', 'limit' => 10 ); $blogposts = elgg_get_entities($options);
  • 28. That sounds cool! Where do I start? 
  • 29. Elgg Community http://www.elgg.org  Hundreds of free plugins Active discussion forums Friendly and helpful members
  • 30. Need something custom made? Don't hesitate to contact me! [email_address] http://www.naakka.net http://www.intunex.fi @naakka / @intunex http://www.facebook.com/intunex