Vtiger CRM 5 Developer Guide
From vtiger.com
Abbreviations
Contributor: Neil
ER Diagram
To be started
This might help... Forum Scroll up for image..
API Documentation
See : http://api.vtiger.com/
UI Types for Fields
Contributors: Joe Bordes, Jens Hamisch
See: UI types
Creating New Module
Contributors: Minnie, Gopal and Sanguis Development
See: Creating New Module NEW
New Guide Started: Forum Posting
Note: this artice is old and incomplete.
Creating New Fields in Existing Modules
Contributors: Dennis Grant, Joe Bordes
See: Creating New Fields in Existing Modules
Creating User Specific Related Lists
Contributor: Richie
Step 1: Copy CallRelatedList.php and put in the required folder Put entry in include/language/en_us.lang if needed
Step 2: Back-end coding Put default entries in Users/DefaulDataPopulator.php
//Inserting User Related Lists
$this->db->query("insert into vtiger_relatedlists
values(".$this->db->getUniqueID('relatedlists').","
.getTabid("Users").",".getTabid("Activities").
",'get_activities',1,'Activities',0)");
$this->db->query("insert into vtiger_relatedlists
values(".$this->db->getUniqueID('relatedlists')
.",".getTabid("Users").",".getTabid("Contacts")
.",'get_contacts',2,'Contacts',0)");
$this->db->query("insert into vtiger_relatedlists
values(".$this->db->getUniqueID('relatedlists')
.",".getTabid("Users").",".getTabid("Users").",'get_user_groups',3,'Groups',0)");
Step 3: Front-end coding
(1) In the Users/User.php file, write methods to get the data from the database for the related lists. Refer the mentioned file for details.
You would like to see the Related List in the More Information tab.
(2) In the UserDetailView.tpl file, add additional entry
(3) Add a file called CallRelatedList.php in Users folder.
Creating Dashboards
Contributor: Michel JACQUEMES
For more details on developing new charts refer to the following articles: Developing Charts using ImageGraph
Adding Dashboards
Contributor: Richie
Follow the steps given below to add a dashboard to the existing dashboards list:
- Open display_charts.php
- Write a query //if the query is not proper, the dashboard will not be shown append an try in the $graph_array similar to ticketsbyaccount //if you do not do the above step, the name will not be shown in the list of dashboards itself
- Search for Tickets by Account. Copy paste a similar if condition
- Open Entity_charts.php
- Search for Tickets by Account. Copy a similar if condition
- In Dashboard/index.php, add entry similar to ticketsbyaccount
- In Dasbhoard/language/en_us.lang.php, add entry similar to ticketsbyaccount
Security Management
See: vtiger CRM - New Security Model
Translating vtiger CRM
Contributor: Gopal
Merging a Local Working Copy of vtiger CRM to a New SVN Release
Contributor: Dennis Grant
Developer:Debug techniques
Contributor: Neil
See: Developer:Debug techniques
Changing default listviews
Contributor: Opto, later found the same in referenced forum post
Listview: How to change the fields and columns displayed in Listviews
The var $list_fields = Array() and var $list_fields_name = Array() arrays now seem to be obsolete (5.0.4), at least for generation of the listview, maybe not for other purposes.
The default listview that is displayed is just one of the customviews defined to be the default. See tables vtiger_customview and vtiger_cvcustomview.
The following forums post explains the syntax of the entries: http://forums.vtiger.com/viewtopic.php?t=20416
