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