© 2015 X2Engine Inc.
Most of the functionality of X2EngineCRM is contained within modules. Modules are in essence self-contained applications in themselves acting as sub-applications of the main web application. A convention followed in X2EngineCRM's codebase is that the first part of the url past the entry script is the name of the module being accessed by the request. So,
contacts/[route] would access the route
[route] within a controller belonging to the contacts module.
Creating a module
The first step one can take to create a module is to use X2Studio. That will create a basic customizable module whose model can be extended and customized using X2Fields. Once satisfied with the fields, one can further tailor the module to practically any purpose by modifying/adding properties to all the classes in the module.
(todo: expand upon this with the new procedure for the URL rules and the conventions for naming classes)