Development Basics - radus28/Vtiger-DevOps GitHub Wiki
As the original source was referred as "CRM" though it is called as same here. But mostly it is used as multi purpose app framework to build different business models.
This app's architecture is HMVC (Hierarchical Model View Controller). It has modularization and it has several standard modules such as Contacts, Products, Invoices and Vendors. This App can be customized to match wide range of business models. The customization can be done by
- Adding modules (Custom Modules)
- workflows
- Extensions/plugins
- Several other functionalities. Example Mail scanner, web forms, portal , LDAP(SSO), Asterisk(Phone system) etc
Understanding Code
Following materials provide basic understanding of Code and data structures. Anyway you have to deep dive to get sufficient experience on coding
Modules
Modules are actually "Entities" in this App. For example, Student is an entity of a Student Management System (just ER Diagram concept). modules are classified as
- Entity module - Just to store entity information such as Contacts, Student etc..
- Extension module - Just to add a functionality to the app. Eg, Email, SMS, Print, Generate PDF etc
Creating custom module
To add new module for specific business requirements, steps are shown in below video. In the video a sample module named "test" is used. Steps are shown to rename it into "Branches" module. It will create a sub module under "Organization" module as branche.
Any number of fields can be created under each module
Adding Picklist to module
Picklists are just managed drop downs.
How to add a custom picklist field
Set Related module (Related Tab) to a module
Related modules are just 1:M or M:M Relationship. Example Contact can have Invoices (1:M).
Workflows
Workflows are used to automate Business Processes. Example, approving a Purchase order to send supplies.
Create workflows : Settings > Automation > Workflows, Choose module, then click "Add Workflow" button.
Update fields
An entity module's fields can be auto populated / updated when a workflow condition is met
How to add a workflow - Update field
Send email
Emails can be sent through workflows
How to add a Workflow - Send email
Create Entity
// pending content
Custom function
Custom functions are just PHP functions which can be executed when a workflow condition is met.Use below script to register a custom function. https://github.com/radus28/vt.training/tree/master/register-customfunctions
How to add a Workflow Using Custom Function
_Happy coding _:)