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
Blog It Up, Baby! Extending the new IBM Lotus Domino Blog Template
PDF
ElggCamp Santiago> For Developers!
PDF
ElggCamp Santiago - Dev Edition
PDF
Introduction to html5
PPTX
How to create your own WordPress plugin
KEY
CSI: WordPress -- Getting Into the Guts
PPTX
Zend Framework And Doctrine
PPT
An Introduction to Drupal
PDF
Get things done with Yii - quickly build webapplications
PPT
Extending Your Experience to the Office
PDF
Django tutorial
PPT
Jquery
PPT
OpenSocial Intro
PDF
No gEEk? No Problem!
PDF
Google App Engine tutorial
PPT
BP304 - Blog It Up, Baby! Extending the new IBM Lotus Domino Blog Template
PPTX
WebMatrix 100-level presentation
PPTX
Eclipse e4 on Java Forum Stuttgart 2010
PDF
Fewd week4 slides
Blog It Up, Baby! Extending the new IBM Lotus Domino Blog Template
ElggCamp Santiago> For Developers!
ElggCamp Santiago - Dev Edition
Introduction to html5
How to create your own WordPress plugin
CSI: WordPress -- Getting Into the Guts
Zend Framework And Doctrine
An Introduction to Drupal
Get things done with Yii - quickly build webapplications
Extending Your Experience to the Office
Django tutorial
Jquery
OpenSocial Intro
No gEEk? No Problem!
Google App Engine tutorial
BP304 - Blog It Up, Baby! Extending the new IBM Lotus Domino Blog Template
WebMatrix 100-level presentation
Eclipse e4 on Java Forum Stuttgart 2010
Fewd week4 slides

Recently uploaded (20)

PDF
zbrain.ai-Scope Key Metrics Configuration and Best Practices.pdf
PDF
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
PDF
Lung cancer patients survival prediction using outlier detection and optimize...
PDF
Advancing precision in air quality forecasting through machine learning integ...
PDF
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
PDF
LMS bot: enhanced learning management systems for improved student learning e...
PDF
Ensemble model-based arrhythmia classification with local interpretable model...
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PDF
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
PPTX
Module 1 Introduction to Web Programming .pptx
PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
PDF
Connector Corner: Transform Unstructured Documents with Agentic Automation
PDF
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
Build Real-Time ML Apps with Python, Feast & NoSQL
PDF
Auditboard EB SOX Playbook 2023 edition.
PDF
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PDF
SaaS reusability assessment using machine learning techniques
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
zbrain.ai-Scope Key Metrics Configuration and Best Practices.pdf
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
Lung cancer patients survival prediction using outlier detection and optimize...
Advancing precision in air quality forecasting through machine learning integ...
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
LMS bot: enhanced learning management systems for improved student learning e...
Ensemble model-based arrhythmia classification with local interpretable model...
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
Module 1 Introduction to Web Programming .pptx
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
Connector Corner: Transform Unstructured Documents with Agentic Automation
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
Data Virtualization in Action: Scaling APIs and Apps with FME
Build Real-Time ML Apps with Python, Feast & NoSQL
Auditboard EB SOX Playbook 2023 edition.
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
Early detection and classification of bone marrow changes in lumbar vertebrae...
SaaS reusability assessment using machine learning techniques
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf

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