integrate shindig with joomla

Post on 13-Sep-2014

6.508 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

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.

TRANSCRIPT

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

top related