View Full Version : XRMS Plugin
phpWalter
19-03-06, 09:55 AM
Seems there was some interest in XRMS back in '04.
XRMS has come a LONG way since then. New team, rebuilt, etc.
I just discovered dotProject and instantly thought of some kind of integration between the 2 projects.
I'm not sure what, where, how and or really why.
If anyone has any ideas, thoughts, some code along the way, please drop a few notes, comments, etc in here.
Walter
Greetings Walter;
The integration that I would like to see is using a single set of Contacts/Companies. XRMS is great for pre sales, but once all of the contact, company, and other CRM info that led to the sale has been captured there (in XRMS), it would be great to then be able to create a DotProject project using the same info. Also, for my company, repeat business is our life blood so having some kind of link between completed projects and the CRM info would be great.
We chose XRMS because it is one of the few open source CRM apps that fully supports contacts, companies, addresses, and departments as seperate but linked objects. We do business with school boards, state and local governments, etc. so this is abgsolutely criticle for us. When a new company is added, a default address is created so the capability is transparent and painless when dealing with a company with a single address, yet powerful and flexible when dealing with larger entities.
I would see it as a 2-way plugin situation, where DP has the users and companies populated from XRMS, and XRMS would have a menu on the companies, departments, and contacts screens that would show and let the user select any projects associated with that company, department, or contact. XRMS has a mature plugin architecture, too.
p.s. I am a great DotProject fan!
Paul
braverock
07-05-06, 09:56 AM
The integration that I would like to see is using a single set of Contacts/Companies. XRMS is great for pre sales, but once all of the contact, company, and other CRM info that led to the sale has been captured there (in XRMS), it would be great to then be able to create a DotProject project using the same info. Also, for my company, repeat business is our life blood so having some kind of link between completed projects and the CRM info would be great.
We chose XRMS because it is one of the few open source CRM apps that fully supports contacts, companies, addresses, and departments as seperate but linked objects. We do business with school boards, state and local governments, etc. so this is abgsolutely criticle for us. When a new company is added, a default address is created so the capability is transparent and painless when dealing with a company with a single address, yet powerful and flexible when dealing with larger entities.
I would see it as a 2-way plugin situation, where DP has the users and companies populated from XRMS, and XRMS would have a menu on the companies, departments, and contacts screens that would show and let the user select any projects associated with that company, department, or contact. XRMS has a mature plugin architecture, too.
So, if I understand this request correctly, XRMS CRM would be the system of record for Companies and Contacts, with new Companies and Contacts pushed into dotProject.
Also, there would be facitilies inside XRMS to Start a New Project, probably as a step in Opportunity Workflow inside XRMS.
On the XRMS Company, Contact, and Opportunity pages, you would like to be able to see some summary project details.
Please let me know if this is a correct rendition and understanding of what you are suggesting.
Regards,
- Brian
caseydk
08-05-06, 02:07 AM
The concept is pretty simple...
The data from each system should have an exact duplicate in other system along with a way of keeping them in sync. What you need to do is capture each piece of data as it is changed (on either end) and push the new data to the other end.
My product - Domino Bridge - does this already. We used dotProject and SugarCRM as the proof of concept because we ran into the sales/PM problem that seems to hit everyone.
Greetings Brian;
That is most of it.
One caveat is calendar integration. It would be a drag to have to check 2 (or more) calendars to see if some one is free or busy.
eGroupware has a dynamite calendar module that handles displaying and filtering events from multiple sources in a very elegant way. Maybe it could be ported to XRMS?
I'm really glad to see some interest in this!
Paul
braverock
09-05-06, 11:31 PM
The concept is pretty simple...
The data from each system should have an exact duplicate in other system along with a way of keeping them in sync. What you need to do is capture each piece of data as it is changed (on either end) and push the new data to the other end.
My product - Domino Bridge - does this already. We used dotProject and SugarCRM as the proof of concept because we ran into the sales/PM problem that seems to hit everyone.
Two points on your post:
1. SugarCRM is not released under an approved open source license, and every new version of their license is more restrictive.
2. Where can we find more information on your Domino Bridge product? All I was able to find was this: http://blogs.caseysoftware.com/?q=node/154
Basically, one of the things I'm struggling with as I look at integration between dotProject and XRMS CRM is that dotProject doesn't seem to have a real-time integration API, such that all changes in dotProject raise events or call hooks that other code could be integrated into. This suggests that the integration on the dotProject side would be rather fragile, if it was totally based on changes to the DB. Any feedback or pointers would be appreciated.
Regards,
- Brian
braverock
09-05-06, 11:37 PM
One caveat is calendar integration. It would be a drag to have to check 2 (or more) calendars to see if some one is free or busy.
eGroupware has a dynamite calendar module that handles displaying and filtering events from multiple sources in a very elegant way. Maybe it could be ported to XRMS?
XRMS also has a multi-user calendar display.
See: http://sourceforge.net/project/screenshots.php?group_id=88850&ssid=31809
Some of the XRMS calendar code came from another open source CRM app. The eGroupware calendar was examined, but couldn't be easily ported because of the way it handles it's data. The "Meeting Scheduler" code in the XRMS calendar is pretty rudimentary, and could really use some dedicated volunteer time (or corporate sponsorship) to improve.
Regards,
- Brian
braverock
09-05-06, 11:55 PM
The data from each system should have an exact duplicate in other system along with a way of keeping them in sync. What you need to do is capture each piece of data as it is changed (on either end) and push the new data to the other end.
I just thought I'd clarify something. You are describing a bidirectional syncronization. This is inherently more complex than a 'system of record' model, where one system is used as the system of record for one type of data, and the other system is the system of record for some other data types.
For example:
XRMS CRM is the system of record for Companies and Contacts
dotProject is the system of record for projects and project tasks
This is somewhat simplified, of course, but should serve to illustrate the point. Syncronization isn't an issue if one of the systems doesn't have the data objects described. XRMS CRM knows nothing about projects, so any project display in XRMS would simply be a look-through to dotProject data. XRMS *does* have Companies and Contacts. Industry best practices suggest that the CRM system should be your system of record for Company and Contact data.
If bi-directional syncronization is feasible given the architecture of the two products, then this is easier on users without truly integrating the applications to appear to be a single app from the user perspective.
Regards,
- Brian
Greetings:
It seems to me that duplicate data is not the best way to go. There was an old post by Delware, another DotProject member, who was doing some kind of mod that replaced the contacts module with an api to get that data from another application. Here is the link:
http://www.dotproject.net/vbulletin/showthread.php?t=1054&page=2
I don't know if he finished it or contributed it... I'll post a question in that thread.
- Paul
braverock
11-05-06, 11:55 AM
Greetings:
It seems to me that duplicate data is not the best way to go. There was an old post by Delware, another DotProject member, who was doing some kind of mod that replaced the contacts module with an api to get that data from another application. Here is the link:
http://www.dotproject.net/vbulletin/showthread.php?t=1054&page=2
I don't know if he finished it or contributed it... I'll post a question in that thread.
XRMS CRM has a complete API set for doing the create, read, upodate, delete, and search functions.
So, integration like this would be pretty straightforward if dotProject's contacts module can be hooked into or wrapped.
caseydk
27-05-06, 11:26 PM
I'll be bringing a demo online sometime soon and then you can play with it all you wish.
caseydk
27-05-06, 11:34 PM
I just thought I'd clarify something. You are describing a bidirectional syncronization. This is inherently more complex than a 'system of record' model, where one system is used as the system of record for one type of data, and the other system is the system of record for some other data types.
If bi-directional syncronization is feasible given the architecture of the two products, then this is easier on users without truly integrating the applications to appear to be a single app from the user perspective.
I think you *must* have bi-directional sync since you can't always expect each person to know "for this information I go here, but for this other related information, I go to this other place"
Yes, it is more complex, but it is much better and a complete solution.
Dear readers,
I am using Dotproject for years and I am very found with it. I am not a programmer so I have to do with the normal functionality.
What I do to simulate CRM functionality in Dotproject is as follows.
I create a project calles CRM
Within that project I create tasks such as Lead, Client etc.
Within a task I create a subtask with the names of companies. Within this task I create a task with the name of the contactperson (or more tasks if I have more contactpersons). Everytime I have a contact moment, I create a tasklog (with reference e-mail, telephone, letter etc) with al the information of that contactmoment. That way I create a logical row of all the contactmoments.
For me it works (for now), but it would be nice if it would be posible to have more functionality for CRM purpose. And thinking of that, it isn't that difficult to use one central database for crm and project purpose? I would suggest that some functionality of a crm application would be stripped and de company table of dotproject would be extend.
spiffytech
08-06-06, 03:07 AM
I also wonder why not have the same database for both? If you make sure that both programs are calling from the same tables for the same functions (i.e. both programs use "companies" table to store companies), wouldn't that be all that's needed?
vBulletin® v3.6.4, Copyright ©2000-2013, Jelsoft Enterprises Ltd.