View
6.508
Download
1
Embed Size (px)
DESCRIPTION
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.
Citation preview
Introduction Name: Anand Sharma
Company: Satyam Computer Service Ltd. ,Bangalore
Website: http://anandshahil11.wordpress.com
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 "Jumla", which means "all together" or "as a whole“Open source applicationCMS (Content Management System)Completely database driven via PHP and MySQLExtremely 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
1. Templates
2. Components
3. 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] madeyourweb 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
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 DatabaseCommon Database
Presentation Layer
GadgetIFrame
Services Layer Services Layer
Gadget Services
OpenSocial Services
Social Application Customized Shindig
Shindig in Action
Gadget XML SourceGadget XML SourceRunning the application Request is made from Client Data is returned and rendered
Application Installation Gadget XML is loaded and cached on OpenSocial Container
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 InstallationCheckout Shindig code
svn co http://svn.apache.org/repos/asf/incubator/shindig/trunk/ Install Shindig http://www.chabotc.com/guides/shindig_install/
2]Step
Download Joomla
http://developer.joomla.org/code.html
Install Joomla 1.5
http://www.siteground.com/tutorials/joo
mla/joomla_administration.htm
http://help.joomla.org/content/view/1943/306/
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: http://www.joomla.org Demo Site: http://demo.joomla.org [front end - the users view] Demo Site: http://demo.joomla.org/administrator [back end -
administrative tool (use "admin" as log in name and password)] End-User Documentation: http://help.joomla.org Developer Network: http://dev.joomla.org Extension Directory: http://extensions.joomla.org Content above taken directly from: www.opensourcematters.org GNU General Public License: http://www.gnu.org/copyleft/gpl.html Joomla Testing & Development Process:
http://dev.joomla.org/content/view/39/63/ Joomla 1.5 Roadmap: http://dev.joomla.org/content/view/23/61/
The official website is : www.joomla.org
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 : http://joomla.org/
Visit this for user-manual and some presentation files (e.g. Joomla 1.5)
Joomla help files
OpenSocial resources
http://www.opensocial.org
Specificationhttp://code.google.com/apis/opensocial
http://code.google.com/opensocial http://code.google.com/p/opensocial-resources
Sandboxeshttp://developer.myspace.com/http://www.hi5networks.com/developer/http://opensocial.ning.com/http://pulse.plaxo.com/pulse/gadgets/http://code.google.com/apis/orkut/
For container developershttp://opensocialapis.blogspot.com/2007/12/lets-get-this-shindig-started.htmlhttp://incubator.apache.org/shindig/http://code.google.com/p/google-caja
Contact Me
anandkumar_sharma[AT]satyam[DOT]com
anandkumarsharma11[AT]gmail[DOT]com
http://anandshahil11.wordpress.com
http://ProjectBee.org