Đó chính các các bước để người sử dụng có thể tạo mới một module đơn giản, và tạo các quan hệ giữa các module trong hệ thống mà không cần hiểu biết nhiều code PHP. Tuy nhiên nếu muốn mở rộng các ứng dụng của hệ thống cần có những hiểu biết về cấu trúc của từng thư mục thì mới có chỉnh sửa sâu vào hệ thống. Dưới đây là phần giới thiệu về chức năng của từng thư mục.
Thư mục Custom: Hệ thống của Sugar có chứa 1 thư mục gọi là “custom”. Thư mục này chữa đựng các file Metadata và code để mở rộng các chức năng của
CHƯƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 27
Sugar. Một số file trong thư mục này được tự động tạo ra nhờ Module Builder, Studio, và Workflow tools (Chỉ có ở Sugar Professional và Sugar enterprise) và các file cịn lại có thể được thêm vào hoặc chỉnh sửa trực tiếp tuy vào người sử dụng. Các file trong thư mục Custom bao gồm:
Vardefs : file này được dùng để định nghĩa các trường thuộc tính cho một module nào đó. Các vardefs có sẵn có thể được chỉnh sửa và ta có thể tạo ra các vardefs mới bằng cách thay đổi các file vardefs trong thư mục custom. Người sử dụng nếu muốn chỉnh sữa hoặc thêm vào các file mới trong các thư mục này này:
/custom/Extension/modules/<MODULE_NAME>/Ext/Vardefs/ Tuy nhiên cũng lưu ý đối với các file trong các thư mục
/custom/modules/<MODULE_NAME>/Ext/Vardefs/vardefs.ext.php được tự động tạo ra bởi hệ thống và khơng nên chỉnh sửa. Các file Vardefs có thể thay thế toàn bộ các định nghĩa của các field hoặc chỉ thêm vào. Nên repair lại để các field được đồng nhất với nhau (Admin->Repair->Quick Repair and Rebuild).
Languages: Người sử dụng có thể ghi đè lên các chuỗi hiển thị bằng một ngơn ngữ nào đó hoặc tạo ra các chuỗi hoàn toàn mới bằng các chỉnh sửa trong các thư mục.
/custom/include/language/ (for $app_strings or $app_list_strings) /custom/Extension/application/Ext/Include/
/custom/Extension/modules/<MODULE_NAME>/Ext/Language/ (for $mod_strings only)
1.2.2. Tùy biến trong SugarCRM bằng code
Trong khi lợi ích chính của module builder là người quản trị có thể tạo một module hồn tồn mới mà khơng phải viết code, tuy nhiên vẫn cịn một vài cơng việc cần phải viết bằng code PHP, lấy ví dụ như là : chỉnh sửa các quan hệ hoặc các dịch vụ liên quan đến Web Serivce. Có một trong hai phương pháp có thể là được điều này tạoLogic Hook và chỉnh sửa Bean Files.
1.2.2.1. Tùy biến logic hook
Logic hook là việc quản lý các sự kiện trong SugarCRM, các sự kiện có thể gọi được các action trong hệ thống ví dụ: