Engine Modifying and expanding the current mechanisms that comprise the YetiForce engine is complex as it requires the developer to know what was, what is now, and what changes we plan in the future.


01 error

YetiForce CRM is a very advanced system that has thousands of files and hundreds of dependencies and the numbers are growing each day. That's why to be able to analyse problems within the system, many logging mechanisms have been created and if there is a need they can be activated in a corresponding place. There are also other ways to approach and analyse errors, but they are not listed in this article because they may require an advanced level of programming or are specific for a particular environment and implemented functionalities. 

Loader and autoloader of files

Autoloader is a mechanism that improves uploads of files and classes. It has been designed to ensure simpler creation of new modules because there is no need to upload the same files for the module to work properly. In reality, it is used only to avoid rigid writing of paths to certain files. If a class name is created according to the specification described below, the Autoloader will upload an appropriate file before the creation of an object/class. There is also a mechanism called "Loader" that is responsible for the upload of an appropriate file.

New database communication engine

Starting from version 3.3, YetiForce CRM has a new database communication engine built-in, which we continuously develop and improve together with each new release.

This allows YetiForce to communicate with multiple database engines (DBMS) that are compliant with PDO, such as MariaDB, MySQL, PostgreSQL, MSSQL, SQLite, Oracle, and Cubrid.

It does not yet have all the mechanisms rewritten to be able to fully install the system on another database engine. 

PearDatabase library based on PDO [not verified]

The connection between the application and the database has been improved in YetiForce 2.1. This improvement has been achieved by updating one of the libraries responsible for the communication. The previous versions connected to the database via ADODB, and then used MySQL drivers. The current version of PearDatabase connects directly to PDO that is built-in to PHP so it will always be up-to-date.

Types of event-handlers

Below you can find a list of event handlers that allow to perform additional actions when certain operations are executed so there is no need to modify base functions.