SugarCRM is a very nice and open source CRM (Customer relationship management) system. And with being open source means that you are able to alter the internals of it and also are able to write modules for it easier than closed source applications because you can follow the direction of things if you are for example debugging etc.
The hooks part of the sugarCRM setup allows to place your own code into the base code at set parts of execution e.g. after retrieve of data, or post processing of data updates.
Here is a link to the sugarcrm site of hooks definitions. Basically there is 3 main types, with subhooks attached to those types.
- Application hooks
- after_ui_frame – Fired after the frame has been invoked and before the footer has been invoked
- after_ui_footer – Fired after the footer has been invoked
- server_round_trip – Fired at the end of every SugarCRM page
- Module hooks
- before_delete – Fired before a record is deleted
- after_delete – Fired after a record is deleted
- before_restore – Fired before a record is undeleted
- after_restore – Fired after a record is undeleted
- after_retrieve – Fired after a record has been retrieved from the database. This hook does not fire when you create a new record.
- before_save – Fired before a record is saved.
- after_save – Fired after a record is saved.
- process_record – Fired immediately prior to the database query resulting in a record being made current. This gives developers an opportunity to examine and tailor the underlying queries. This is also a perfect place to set values in a record