CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Using CiviCRM »
  • Using Core CiviCRM Functions (Moderator: Yashodha Chaku) »
  • Backward synchronization with Joomla ???
Pages: [1]

Author Topic: Backward synchronization with Joomla ???  (Read 2318 times)

volmark

  • I post occasionally
  • **
  • Posts: 81
  • Karma: -6
Backward synchronization with Joomla ???
December 27, 2007, 08:54:00 am
There is very unclear issue about how to automatically synchronize user submission in Joomla with contacts in CiviCRM.
We have planned following steps of new member submission scenario (sign up procedure):
1.   New candidate to membership must fill in the sign up registration form with some required fields. No matter that registrant becomes Joomla’s registered user or not, but appearing in CiviCRM contact list is important. 
2.   Candidates to association’s membership must be approved or become passive members without approval (we have not decided yet).
3.   After payment of member’s duty they become active members (we control money transfer to our bank account and manually change their status to active membership). 
4.   Members must have a possibility to change their user data (profile) except identification items (NIC or/and e-mail). We don’t know yet how to synchronize this process with Joomla’s profile.

We don’t know how to solve the issues above and how to organize cooperation between Joomla and CiviCRM.
Any help will be greatly appreciated

lcdweb

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1620
  • Karma: 116
    • www.lcdservices.biz
  • CiviCRM version: many versions...
  • CMS version: Joomla/Drupal
  • MySQL version: 5.1+
  • PHP version: 5.2+
Re: Backward synchronization with Joomla ???
December 28, 2007, 07:41:28 am
Here is how I would accomplish these things, and where the "holes" are.

1+2) Create a member signup form. This is a contribution form with additional profile fields added, per your needs. You can create a group for "pending applicants" and automatically add people who complete the form to this group. That gives you an easily accessible list of these pending folks.

3) You process the payment/membership through the backend. You can choose to send the user a receipt via the backend admin, and disable the auto receipt upon form submission (above) if you want. You then remove them from the "pending" group.

4) Create a profile that lists the various fields you want exposed to the member and that you want them to have permission to edit. The profile tool gives you a lot of control over what is visible and what is editable. Create a menu link to this profile form in the Joomla user menu (the menu exposed after people login to the site -- so that it's not exposed to the public user).

Now, the disconnect --
There is no way to display the Joomla USER details (username, login, etc) concurrently with CiviCRM details (i.e. on the same form). CiviCRM builds the connection between the Joomla User and CiviCRM contact when the person logs in and then takes action on a CiviCRM function (e.g. visits the profile form you created in #4). That system works pretty well, but has it's weaknesses. The biggest weakness in my mind is that the email address is duplicated in CiviCRM and Joomla, and there's currently no way to sync them. Also, in the structure you've outlined, there will need to be a two step process. 1) the user goes through the membership process and is approved; 2) a Joomla user account is created for them.

The way I've done this (I have several associations I work with that have a similar setup), is that I disable frontend Joomla registration, and generate a default Joomla username/pwd for the individual once they have become a member. That requires more admin work, but is the only way to ensure the integrity of Joomla user list.

See this post: http://forum.civicrm.org/index.php/topic,1745.0.html

I wanted to try to generate some interest and financing for building some tools to better address this disconnect. About 1/2 down the post is my bullet list of what needs to be done. One of these days I'll try to fill out the specs in better detail and see if I can actually get a quote and traction on the project. You should post there to add your voice to the Joomla user looking for this functionality.

-Brian

support CiviCRM through 'make it happen' initiatives!
http://civicrm.org/mih

volmark

  • I post occasionally
  • **
  • Posts: 81
  • Karma: -6
Re: Backward synchronization with Joomla ???
December 28, 2007, 06:09:13 pm
Thank you, Brian for your detailed guidelines. It's a great help and I appreciate it very much.
I've got some idealistic ideas about integration (replication) of user profiles between different systems and hope you can find time to read my non-structured assay below.
There are actually two issues that needed to be solved for full integration of some well known system like Joomla, Drupal, CiviCRM, Zen-cart and many others. These issues are common for all systems and can be naturally moved to standalone systems.
The first one is a standalone user-data repository that distributes (replicates) data between systems, and the second one is a system that strictly separates graphical design and programming code.
The implementation of such systems is not unrealistic or specially complicated.
For example the first one only needed few tables in database as own repository, access to other systems databases for user-data distribution (replication), and finally assigning of few session variables (login and password) for each system.
The second issue partially implemented by some developers in Smarty, Blueprint Grid and YAML. Using CSS they gradually separate programmers work and graphical design. All you need is a limited set of primitive unified templates with the same placeholders (layouts) for each system and common CSS files that contains graphical solution common for all used systems.
Below I have roughly sketched my thoughts. If you find it interesting or you know some similar systems, please let me know.
 
Preface
1.   Combination of highly functional, well maintained, often upgraded systems is preferable for competitive business solutions because of their completeness and balanced functionality.
Disadvantage: Lack of user transparency where users could smoothly navigate between different systems without visible login and graphical interface switching.
2.   Usage of patch and plug-in tactic is a good solution for non-critical and non-principal business processes because of its limitations.
Disadvantage: Poor integrity between plug-ins, incomplete functionality, unsure support and maintenance.

Possible solutions

Standalone repository for user data:
1. User data (profiles) stored in standalone repository, where users can maintain their information.
2. Controlled portions of user data are distributed (replicated) between systems upgrading user profiles in each system.
Advantages:
1.   Each system becomes unchanged and no additional system development required.
2.   User's roles, permissions and restrictions processed independently on each system.
3.   Smooth user navigation between different systems during a session is obtained.
 
PS. I'm quite new in Joomla forum and it's not clear for me how I can add my voice for your project. If you give me a tip how to do it, I'll do it with pleasure 
« Last Edit: December 28, 2007, 07:15:36 pm by volmark »

kenlyle

  • I post occasionally
  • **
  • Posts: 116
  • Karma: 7
Re: Backward synchronization with Joomla ???
January 14, 2008, 07:58:40 am
I have done as Brian suggests, with Joomla 1.0.13 and the now current CiviCRM, and it fundamentally works.

I set up a $0 lifetime membership in Civi, and make a public link to it.  The post-purchase instructions then say to register a Joomla account, which actually uses Community Builder in my case, ***using the same email address***.  The Community Builder registration instructions say to login and Click the CiviCRM Profile link that I created on the UserMenu in Joomla.  There is now a record in the civicrm_uf_match that correlates the two IDs.

I haven't determined what this buys me yet, because Civi, by default doesn't allow recording Activities against Contacts in the frontend, which is what I am after:

http://forum.civicrm.org/index.php/topic,1985.msg8608.html#msg8608



Ken

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Using CiviCRM »
  • Using Core CiviCRM Functions (Moderator: Yashodha Chaku) »
  • Backward synchronization with Joomla ???

This forum was archived on 2017-11-26.