Arunoda Susiripala

 

Phase 1.1 - May 23rd to July 12th

  • Fake External Site  --   2 Days
  • Joomla Site-Component  --  4 Days
  • Joomla Plugin-System ( Internal API) -- 6 Days
  • Joomla Plugin-User -- 4 Days
  • Joomla Component - Admin (Just the basic functionality) -- 10 Days
  • Enhancing User Sync --  8 Days
                                                                        Total =34 Days

Phase 1.2 - July 12 ++

  • Enahancing Joomla Component -Admin -- 6 Days 
  • Testing -- ++
  • Documentation + Tutorials -- ++

 

Before I Proceed

  • I need to specially thanks Marius van Rijnsoever(co-mentor) because he is with my project even before my project accepted.
  • And with him I always talk[argue] about the project and the feasibility of doing it and still...
  • And also need to mention Akarawuth Tamrareang(co-mentor) help me when I going outside of my project and guide what should Joomla needs from me.

Why

  • First I want to integrate Elgg and WordPress with Joomla (that's my actual GSOC project which is accepted)
  • I had a plan which used a gateway to do those integration
  • Then I realized there is some existing framework(JFusion) to do that... and simply given up my gateway idea .
  • I tried JFusion. Ya It was nice and easy and Its deal with Databases and almost every thing done inside the Joomla.
  • But when I need to communicate from External Application(Ex-App) to Joomla I need to go to the Ex-App side do some coding (But I simply didn't do that I give up using it)
  • Therefore I have to deal with 2 softwares ( Joomla and and Ex-App)
  • Then I think of a new way to do this..
  • Then I came back to my gateway idea with some modification
  • And that's the begin of JConnect
  • The main advantage of JConnect is when you are integrating some software with Joomla You are doing it totally independent from Joomla code or Joomla Framework

Features-Phase 1.1

  • Plugin based integration of External Application (Ex-App) with Joomla
  • Fully User Synchronization
  • Universally accepted XML-RPC data interchange
  • IP and secret key based security
  • Dual way communication (between Joomla and Ex-App)

for developers who need to integrate Ex-App with Joomla

    • Forget Joomla Framework and simply work on your codes ( no need to deal with Joomla in order to integrate your Ex-App)
    • Implement few methods and start integration
    • able to use-with any language any platform because of XML-RPC technology

Features-Phase 1.2

  • entralized management in Joomla
  • Documentation + Tutorials

Features-Phase 2

  • Activity module (see updates of Ex-App in Joomla)
  • Search Joomla site
  • deal with weblinks and contact in Joomla
  • Special API's for
    • User community softwares
    • Blogging software
    • Forums

Project Main Tasks

Within GSOC Period

  • Create JConnect Framework (Phase 1.1 and 1.2)

After GSOC

  • Phase 2
  • Elgg and Wordpress Integration

Architecture

Step to Step Procedure

  1. Create testing External Application ( a xml-rpc server) which listening joomla .
  2. Create Internal Joomla Plugin (System)
  3. Create Plugin to oversee user detail changes(user)
  4. Create component-site
  5. Create admin-component (no enhanced GUI)
  6. Create WP/Elgg integration
  7. create activity module and update Extenal Apps accordingly
  8. create WP/Elgg integration
  9. Modify admin-component ( for GUI)
  10. testing..

Database ERD

Details Description

Methods Listeninig on External App

  • createUser(secKey,userObj):true|errorObj
  • updateUser(secKey,userObj):true|errorObj
  • getUsers(secKey,usernameList):array of userObjs
         if(usernameList==NULL) return all users
  • deleteUser(secKey,username):true|errorObj
  • getUserList(secKey,compareOptions):array of usernames
         compareOptions is a speciial where clause to filter usernames
         if(compareOptions ==NULL) return all usernames
  • syncUsers(secKey,userObjList):true|falutObjList
  • login(secKey,username,password):true|errorCode

In above the username field will be either username or email depending on the External Application & that information is provided to the JConnect in the configuration process.

---------------------------------------
                 User
---------------------------------------
+username
+email
+password
---------------------------------------

---------------------------------------
                Error
---------------------------------------
+code
+message
---------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------

I would like to here your comments on this as above details will not be my final project specs..
Your comments will be influenced to modify my project...
     please comment on here..
     https://forum.joomla.org/viewtopic.php?f=231&t=400473

Joomla GSOC 2009 Student Arunoda SusiripalaI am from a village called Kosgoda and I am a student of the University of Kelaniya - Sri Lanka.  I am 21 years old. Currently I am following a B.Sc. Degree in Management and Information Technology.

My Project Details - We cannot stay alone anywhere in the world. So that is also true for the cyberspace also.. High interoperability means you can survive in the jungle for a long time and Joomla needs to be interoperated more than ever.  One thing missing in Joomla is Social Netwoking.  Instead of reinventing the wheel it's worthwile if we could use existing pieces of code.  Elgg is known for one of the best Social Netwoking framework/applications. What my project does is create a integration engine for Joomla! and do the Elgg integration. and the same time that engine can also be used to integrate other applications with Joomla!

 

Latest Blogs on Arunoda's Project

Arunoda's Project Links