Epesi ENS | Epesi Academy | epesi.cloud PaaS | GitHub

Help Me! | Download from SourceForge Download Epesi BIM Free & Open Source CRM


Hi All,

I am new with epesi, but I am amazed. I have 10s of years in development but this is one of the best opensource projects I have ever seen. Congratulations!!! We decided to use your framework. Originally I am a Java guy new in php so maybe that is why I need your help. I am sure if we have a successful project here we will able to find the way for some donation for your project also.
I have to create a system where my client can track projects integrated with basic CRM functions. Your platform looks suitable for the task.
I have some problems to solve:
1. I have to add several input fields to client data
2. I have to add several input fields to project data
3. I have to connect tasks with not only contacts but with projects also
4. I have to add more statuses to projects
5. I have a user privilege matrix with project status and function in dimensions
6. at a point we will need to make a pdf from client and project data - contract
7. we may not need tickets for projects
8. we will need to hide some data from certain type of users (clients, sales)

my questions are:
1. do you have a recommendation for the structure?
2. do you recommend to add the fields from gui?
2a. how can I add radio buttons and combo boxes with fixed values like (male/female)?
2b. do you have a solution for a "google recommend"-type of ajax input?
2c. do you have an automated mapping between form data and database?
3. should I need to create new modules?
4. how would I start the work, anyway!


Thanks for your help!

Peter

Hello,

I'm glad you like this software and it looks really nicely suited for your current needs.
So, let me start giving a comment on each of your aims:
1. & 2. - The nature and complexity of fields to be added is most important here. In general, as a programmer yourself, I believe it's better not to resort to GUI for adding fields but write your own module instead.
3. Sounds like adding select field would be enough. You may however tweak Tickets instead and add contact field there. CRM_Tasks were designed to hold more private and individual data, but it's always your decission if you want to leave it like that.
4. Easily doable. Just change CommonData table 'Premium_Projects_Status' - you can do that by calling

		Utils_CommonDataCommon::new_array('Premium_Projects_Status',array(0=>'Planned',1=>'Approved',2=>'Canceled',3=>'In Progress',4=>'Completed',5=>'On Hold' <new values here>),true,true);

in Installation part of your new module.
5. Permissions for RecordBrowser sets are all set by using access method. I'm not sure if that's enough for your needs, but we can discuss it later, if you bring more details about how privileges are to be used.
6. We do have support in generating PDF files (we're using TCPDF library - works like a charm). It's quite easy - as you can just prepare HTML format of this report and call writeHTML() method. Some conditions apply to this HTML - in general you just need to keep it simple and use css inline, in HTML tags.
7. You can just skip installing (or uninstall) this module and it should work all fine.
8. RecordBrowser access has option for field-based access, so it should be no problem.

Now to answer your questions:
1. I'd just create one module that modifies existing contacts/projects/tickets modules. As they are based on RecordBrowser, everything you listed can be achieved.
2. Not really. It's a good option only if you are not a programmer and you need only few and simple fields to be added.
2a. Actually, we do not support radio buttons. All Yes/No choices are placed in select elements - simply to save some space, sometimes to give an "empty" the choice. All in all, we didn't find radio buttons suitable for the application, yet it's possible to add such field, quite easily.
2b. We are using prototype autocomplete. There are multiple tutorials on the web. This one looks fine:
http://www.ajaxdaddy.com/scriptaculous- ... plete.html
You don't actually need more than a half of what's there, but it gives you basic how-to you need. It's quite simple, once you get this thing on. 🙂
2c. RecordBrowser is complete CRUD solution, customizable and expendable. If you relay on this, I guess you won't even need to build one HTML QuickForm or call any SQL queries.
3. Yes, new module is good option to keep your modifications organized, grouped and most importantly - you can still perform epesi updates on your installation.
4. The best option is, I believe, to look at modules/Custom/TasksModified module - it gives you basic reference on how to modify recordSets, add new field, set your own permissions.

Hope this helps,
Arek

Write a Reply...