Table of Contents Previous Next

Sugar Developer Guide

Version 5.1


Chapter 1 SugarCRM Overview : Application Framework Overview : Key Concepts

Key Concepts
These are the main files, classes and application concepts that comprise the Sugar platform.
Application Concepts
Controller: Directs all incoming page requests. It can be overridden in each module to change the default behavior. It relies on Entry point parameters - described below - to serve the appropriate page.
Views: A set of user interface actions managed by the Controller, the default views in Sugar include the DetailView, EditView and ListView.
Display Strings: SugarCRM is fully internationalized and localizable. Every language pack has its own set of display strings which is the basis of language localization. There are two types of display strings in the Sugar application: application strings and module strings. Application strings contain the user interface labels displayed globally throughout the application. The $GLOBALS[‘app_strings’] array contains these labels. There is also the $GLOBALS[‘app_list_strings’] array which contains the system-wide dropdown list values. Each language has its own application strings variables. The $GLOBALS[‘mod_strings’] array contains strings specific to the current, or in-focus, module..
Dropdown Lists: Dropdown lists are represented as ‘name’ => ‘value’ array pairs located in the application strings as mentioned above. The ‘name’ value is stored in the database where the ‘value’ is displayed to the user in the UI. You are able to create and edit dropdowns and their values via the UI in the admin Studio tool. For working with dropdown lists in EditViews use the handy get_select_options_with_id() utility function to help render the <select> input options. Also use the handy translate() utility function for translating whatever string key you are working with into the user’s currently selected display language.
Files
SugarBean.php: This file located under the ‘<sugar root>/data’ folder contains the SugarBean base class used by all business entity or module objects. Any module that reads, writes or displays data will extend this class. The SugarBean performs all of the heavy lifting for data interactions, relationship handling, etc.
modules.php: The modules.php file is a critical file in Sugar. It contains several variables that define which modules are active and usable in the application.
Variables
$dictionary: The $dictionary array contains all module field variable definitions (vardefs), as well as the relationship metadata for all tables in the database. This array is dynamically built based upon the vardefs.php definitions.

Table of Contents Previous Next

Copyright 2004-2008 SugarCRM Inc.
Product License