Your SlideShare is downloading. ×
How to Build Your Own Social Network with Elgg?
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

How to Build Your Own Social Network with Elgg?

9,180
views

Published on

A technical perspective to custom made social networking with Elgg. …

A technical perspective to custom made social networking with Elgg.

Published in: Technology

3 Comments
11 Likes
Statistics
Notes
No Downloads
Views
Total Views
9,180
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
3
Likes
11
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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
  • 2. Jaakko Naakka
  • 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