Integrate Shindig with Joomla
Upcoming SlideShare
Loading in...5

Integrate Shindig with Joomla



This Ppt will give you idea how to integrate shindig with Joomla or any CMS. It was presented at PHPCamp, Pune, on Sept.'20th, 2008.

This Ppt will give you idea how to integrate shindig with Joomla or any CMS. It was presented at PHPCamp, Pune, on Sept.'20th, 2008.



Total Views
Views on SlideShare
Embed Views



12 Embeds 85 42 16 8 7 3 2 2
http://valws2 1 1 1 1 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment
  • Agenda will be Introduction to joomla Introduction to shindig Integrating shindig with Joomla

Integrate Shindig with Joomla Integrate Shindig with Joomla Presentation Transcript

  • Introduction
    • Name: Anand Sharma
    • Company: Satyam Computer Service Ltd. ,Bangalore
    • Website:
    • About Me: <?php
    • Cut or Copy , Paste and Modify With License 
    • That’s how I promote Open Source.
    • ?>
  • Integrate Shindig with Joomla
    • Agenda
    • Phonetic spelling for the Swahili word &quot;Jumla&quot;, which means &quot;all together&quot; or &quot;as a whole“
    • Open source application
    • CMS (Content Management System)
    • Completely database driven via PHP and MySQL
    • Extremely extensible via the use of components, modules, etc.
    • Browser based application (compatible with either Internet Explorer or Firefox or Opera)
    What is joomla ?
    • A short list of some important features of Joomla are the following:
    • Page Caching
    • Web Indexing
    • RSS Feeds
    • Printable Page Versions
    • Newsflashes
    • Blogs
    • Forums
    • Polls
    • Calendars
    • Website Searching
    • Language Internationalization
    • Online commerce
    • the possibilities are limitless…
    What is joomla ?
    • Using the core framework, developers can easily build:
    • Integrated e-commerce systems
    • Inventory control systems
    • Data reporting tools
    • Custom product catalogues
    • Complex business directories
    • Reservation and booking systems
    • Communication tools
    • Application bridges
    • or any kind of application to suit a unique need.
    Joomla for Developers
  • Functional breakdown
    • Joomla is divided into two sub parts . They are
    • 1] Administrator side.
    • 2] User side.
    • From administrator side of joomla we can keep control on whole website or on whole application.
    • From administrator side we can do following :
    • create & delete components.
    • create & delete modules.
    • create new user & delete and update existing user.
    • display banners, create new banners.
    • create & publish the news.
    • create menu and submenus.
    • create static contents & publish it.
    • change a existing template.
    • install components.
    • customize front page.
    • block the access of user.
    1] Administrator side
    • user side of joomla is again divided into three parts
    • Templates
    • Components
    • Modules.
    2] User side
    • The template and its associated files provide the visual ‘ look and feel ’ of your web site and are maintained separately from the web site content.
    • This is stored in a MySQL database.
    • In Joomla there are two preinstall templates they are
    • 1] madeyourwe b
    • 2] rhuk_solaflare_ii.
    • Template files are located in the templates folder, in the root directory
    1 ] Templates
    • Components are core elements of Joomla!’s functionality and are displayed in the main body of the web site’s template .
    • The code for the main body will appear in the template as follows :
    • <?php mosMainBody(); ?>
    • Components are used for complex functionality .
    • We can call only one component at a time .
    • Single component can be used on multiple pages.
    2 ] Components
    • A Module is a small piece of content that can be displayed anywhere that your template allows.
    • Modules extend the capabilities of Joomla giving the software new functionality.
    • We can call multiple modules on a single web page.
    • Single module can be used on multiple pages.
    3 ] Modules
    • Opensource Apache project – implementation of OpenSocial and Gadgets specifications.
      • Gadget Container JavaScript -- core JavaScript foundation for general gadget functionality.
      • Gadget Server – renders the gadget XML into JavaScript and HTML
      • OpenSocial Container JavaScript -- OpenSocial specific functionality (profiles, friends, activities, datastore)
  • Shindig
    • APIs for building social applications running on the web
    • Applications use these APIs to provide social-aware functionality
      • These application could be written using Gadget Specification !
    • Social websites that implement these OpenSocial APIs are called OpenSocial Containers
    • Provides a standardized way for web-applications to access social information from any OpenSocial container
      • Write Once Run Anywhere (i.e. on any OpenSocial capable container)
    OpenSocial Specification
  • Shindig Features
  • OpenSocial Architecture Common Database Presentation Layer Gadget IFrame Services Layer Services Layer Gadget Services OpenSocial Services Social Application Customized Shindig
  • Shindig in Action Running the application Request is made from Client Data is returned and rendered Application Installation Gadget XML is loaded and cached on OpenSocial Container Gadget XML Source
  • Integrate Shindig
    • Purpose:
    • To make Joomla! an OpenSocial container by interfacing the CMS with Shindig.
    • It would be easy way to plug additional functionality into joomla without having to develop a lot of extra features.
  • 1]Step
    • Shindig Installation Checkout Shindig code
    • svn co Install Shindig
  • 2]Step
    • Download Joomla
    • Install Joomla 1.5
  • 3]Step
    • Create Module or Component of OpenSocial
    • Write Module for Opensocial
  • 3]Step contd.
    • Purpose of mod_opensocial
    • 1. Login
    • 2. Sign Up
    • 3. Add Gadgets
    • 4. Run Gadget
  • Flow Shindig Joomla Mod_opensocial Database
  • 4]Step
    • Implement All service classes of shindig 1. JoomlaPeopelService.php 2. JoomlaAppDataService.php 3. JoomlaActivityService.php 4. JoomlaMessageService.php
  • 4]Step contd.
    • Modify
    • shindig/php/config/container.php // custom data handlers for the J! Environment
    • 'people_service' => 'JoomlaPeopleService',
    • 'activity_service' => 'JoomlaActivitiesService',
    • 'app_data_service' => 'JoomlaAppDataService',
    • 'messages_service' => 'JoomlaMessagesService',
    • 'extension_class_paths' => JPATH_LIBRARIES . DS . 'shindig' . DS . 'classes’
  • 5]Step
    • Alter Joomla tables or create new table to store OpenSocial gadgets and their preferences New Tables to be added 1.user 5.gadget 2.user_relation 6.activity_streams 3.user_profile 7.activity 4.application_data
  • Login Page
  • Sign Up Page
  • OpenSocial Logged In
  • Gadget Display
  • Demo
    • Demo Of OpenSocial In Joomla
  • Joomla Resources
    • Project Site:
    • Demo Site: [front end - the users view]
    • Demo Site: [back end - administrative tool (use &quot;admin&quot; as log in name and password)]
    • End-User Documentation:
    • Developer Network:
    • Extension Directory:
    • Content above taken directly from:
    • GNU General Public License:
    • Joomla Testing & Development Process: /
    • Joomla 1.5 Roadmap:
    • The official website is :
    • Visit this for all detailed information, recent releases, more & more extensions including templates, components, Modules, Plug-ins,
    • recent patches, latest news about joomla etc.
    More details on Joomla
  • Open Source Rocks!!! Thank YOU
    • The official website is :
    • Visit this for user-manual and some presentation files (e.g. Joomla 1.5)
    Joomla help files
  • OpenSocial resources
    • Specification
    • Sandboxes
    • For container developers
  • Contact Me
    • anandkumar_sharma[AT]satyam[DOT]com
    • anandkumarsharma11[AT]gmail[DOT]com