SugarCRM SupportDocumentationSugar Versions8.08.0 EnterpriseSugar Enterprise 8.0 Administration GuideDeveloper ToolsStudio

Studio

Overview

Studio enables administrators to modify Sugar's fields, page layouts, and more to fit your organization's needs and terminology. Only users with administrator or developer access can make changes via Admin > Studio. This documentation will cover how to use Studio as well as the various actions and options available from within Studio.

Studio's navigation is different than other modules within Sugar. Studio is divided into three main sections: the main panel, the Modules panel, and a footer.

Main Panel

The main panel in Studio is where you can access the modules, add fields, configure layouts, and perform other in-app customizations. It displays to the right of the Modules panel and houses the various components (e.g. fields, layouts, subpanels, etc.) of the module. As you select the different components, they will load in new tabs on the main panel.
Main_Panel
For example, if you select "Fields" on the main panel, the list of available fields along with the options to configure will appear under the Edit Fields tab. Additional tabs that appear as you configure the module can be closed by clicking the "X" within the tab.
Main_Panel_Tabs
The main panel also includes a breadcrumb bar showing where in Studio you currently are. You can navigate to a specific section by clicking the link within the breadcrumb bar.
Main_Panel_Breadcrumb

To go back to the previous page that you were viewing, click the Left arrow on the breadcrumb bar. Clicking the Home icon to the right of the arrow will navigate you back to the Developer Tools home page.

Modules Panel

The Modules panel is located to the left of the screen and displays a list of existing stock and custom modules that are editable through Studio. Please note that all modules (e.g. Campaigns, etc.) using the Legacy user interface will display an asterisk (*) to the right of the module's name in Studio. The associated fields, labels, layouts, subpanels, etc. are grouped within each module. Click the plus sign (+) preceding the module name to expand the module tree and display the associated items (e.g. fields, layouts, etc.). Simply select an item in the Modules panel to load the view in the main panel to the right.
Modules_Panel_List1
Please note that if you do not see the Modules panel, it may be collapsed. Locate the gray bar to the left of the main panel and click the Right arrow to expand the Modules panel.
Module_Panel_Show

The footer is located at the bottom of Studio pages and displays buttons which enable you to navigate to the different areas (e.g. Dropdown Editor) of Developer Tools.

Studio Footer 7.7EntUlt
The options in the footer allow you to navigate to the following locations:
Menu Item Description
Home Navigates to the home page of the Developer Tools
Studio Navigates to the home page of Studio
Module Builder Opens Module Builder to create or edit modules
Sugar Portal Editor

Opens the Sugar Portal Editor to configure the Portal

Dropdown Editor Opens the Dropdown Editor to modify dropdown options

Editing Labels

Labels are used throughout Sugar to designate field headers, subpanel titles, error messages, and more. To modify the labels for a module, select "Labels" from the Modules panel under the desired module (e.g. Accounts). Please note that HTML tags are not supported in labels. 
Modules_Panel_Labels

The Edit Labels tab will open in the main panel displaying all the labels associated with the module. Please note that you can change the language for the labels by selecting from the Language dropdown list.
Label_Languages
If the label you wish to change cannot be found, change the filter dropdown option from "Frequently used labels" to "All Labels".
Label_Filter
Modify the labels accordingly per the selected language and click "Save and Deploy" when complete. This will save your changes and instantly deploy them to your Sugar instance.
Label_Save_And_Deploy
To change the name of the module, click "Change Module Name" to the right of the Save & Deploy button.

This will direct you to the Rename Modules page where you can change the labels for the module accordingly. For more information on how to rename modules, please refer to the Rename Modules section of the Developer Tools documentation.

Label_Change_Module_Name

Fields

The Fields section in Studio allows administrators to create new fields for stock and custom modules as well as update existing fields. To access the Fields section in Studio, select "Fields" from the Modules panel under the desired module (e.g. Cases) and the Edit Fields tab will open in the main panel.
Studio_ModulePanel_Fields1

Field Types

Studio comes out-of-the-box with many different types of fields which can be created in Sugar. Please note that the options and properties available when configuring the field varies for each data type.

The following data types are available when creating fields in Studio:

Data Type Description
Address

Creates fields for street, city, postal code, state, and country.

Note: Custom address fields cannot be grouped together like stock address fields (e.g. billing address).

Checkbox Creates a checkbox for data fields with a Yes/No action.
Currency Creates a field to enter a currency value. The system automatically creates a dropdown of the currency type if the field does not already exist in that module.
Date Creates a field to enter a date. Includes a button for a calendar popup.
DateTime Creates a field to enter the date and time. Includes a Calendar icon button to choose a date via the popup calendar, as well as a dropdown list to select the time.
Decimal Creates a field to hold a number rounded to a specified decimal precision. Sugar stores the exact representation of the number in the database (e.g. For a precision of 2: 1.236 is stored as 1.24).
Dropdown Creates a field where you can associate a dropdown list of values.
Encrypt Creates a field for sensitive information, such as social security numbers, whose value is to be encrypted in the Sugar database. The value is encrypted using the Blowfish algorithm prior to being captured in the database. It is decrypted prior to display in the user interface to users. The first time an encrypted field is enabled, a unique key is automatically generated and stored on the filesystem in the file ./custom/blowfish/encrypt_field.php. This generated key is used for all subsequent field level encryption and decryption operations.
Flex Relate

Creates a dropdown list from which you can relate a single record from a variety of modules.

Note: Only one Flex Relate-type field is allowed per module. Out of the box, the Flex Relate option is not available for the Accounts, Calls, Contracts, Meetings, Notes, and Tasks modules.

Float Creates a field to hold a number rounded to a specified decimal precision. Sugar stores the value differently based on the database platform Sugar is running on.
HTML Creates static HTML-formatted text to display in record views.
IFrame Creates a field to store or generate a URL to display an iFrame in record views.
Image Creates an image field to upload an image to display on a record.
Integer Creates a field to specify positive or negative numbers with no decimal places.
MultiSelect Creates a dropdown list of values where multiple values can be selected at once.
Phone Creates a field to enter a phone number.
Radio Creates a radio button for a user to select one value from a dropdown list.
Relate

Creates a field to associate a record with another module's record as a one-way relationship. You can add multiple Relate fields to a module.

Note: Relate fields and custom relationships are independent of each other. Changes made to either one are not reflected in the other. Relate fields can be added to a report, but any data on the related record cannot be accessed in the report. To access related record data in a report you will need to create a custom relationship.

TextArea Creates an open text area field for multiple lines of text.
TextField Creates a field for a single line of text.
URL Creates a field to store or generate a URL and display as a link.

Note: Name-type and ID-type fields cannot be created via Studio. Each stock module and module created via Module Builder will have a Name-type and ID-type field. The Name-type field is automatically displayed in the header of each record view (for Sidecar modules) while the ID field is not available in Studio but is a part of the unique URL for each record.

Field Options

Fields provide ways to store different data types in Sugar. While many fields come with Sugar by default, there can be instances where your organization needs to create custom fields to store additional data.

Each field, depending on the data type, will have different properties and options available when configuring the field via Studio. Please note that some properties can exist across all data types and some are unique to only a few types.

The following properties and options are available for fields in Studio:

  • Audit : Select this checkbox to audit the field for changes made in Sugar.
    • Users can view the changes made to audited fields via the View Change Log option in the module's record view (for Sidecar modules) or detail view (for Legacy modules).
    • Fields marked as "Audit" will generate update posts in the activity stream for Sidecar modules (e.g. Accounts, Contacts, etc.) whenever the field gets updated. For more information on activity streams, please refer to the Activity Streams documentation.
    • Note: The Audit option is available for all data type fields.
  • Boost value : Enter a boost value for the field to enhance the relevancy of the field for full-text search. 
    • The default boost value is 1.0 which indicates a neutral boost. To apply a positive boost, set the boost value higher than 1. To apply a negative boost, use values lower than 1. For example a value of 1.35 will positively boost a field by 135%. But using a value of 0.60 will apply a negative boost.
    • Note: It is not necessary to perform a full system index when boost values are changed for fields.
  • Border : Select this checkbox to add a border around the image for this field.
    • Note: The Border option is only available for Image data type fields.
  • Calculated Value : Select this checkbox to designate this field as a calculated field.
    • This opens up the Formula option and disables the Default Value and Importable options. For more information regarding entering a formula for a calculated value, please refer to the Formula option listed in this section.
      Fields_Calculated
    • The result of the formula will be entered into the field for any new or modified records. When selecting this option, the field value cannot be modified by users.
    • Note: The Calculated Value option is only available for the following data type fields:
      Checkbox Currency
      Date Datetime
      Decimal Encrypt
      Float Integer
      Phone TextArea
      TextField  
  • Columns : Enter the number of columns to specify the width of a TextArea data type field.
    • Note: The Columns option is only available for TextArea data type fields.
  • Comment Text : Enter a comment or description about the field. The comment text is only viewable via Studio.
    • Note: The Comment Text option is available for all data type fields except Flex Relate.
  • Default Value : Specify or select a default value for this field when a record is created. Default values for the record are populated by default on the record view (for Sidecar modules) and edit view (for Legacy modules) layout but can be modified by users.
    • Note: The Default Value option is available for all data type fields except HTML, Image, Flex Relate, and Relate.
  • Dependent : Select this option to designate this field as being dependent on a formula or a parent dropdown.
    • For dropdown data type fields you can select "Parent Dropdown" or "Formula" for the dependency.
      Fields_DD_Dependent
    • Selecting "Parent Dropdown" will open the Parent Dropdown option as shown below. Selecting "Formula" will open the "Visible If" option to create a dependency formula. For other field data types (e.g. Date), select the Dependent checkbox to open the Visible If option. For more information regarding entering a formula to make a dependent field visible, please refer to the Visible If option listed in this section.
      Fields_Dependent
    • Note: The Dependent option is available for all data type fields except Address.
  • Disable Format : Select this checkbox to disable number formatting such as the thousands separator.
    • Note: The Disable Format option is only available for Integer data type fields.
  • Display Label : Enter a value to display as the field label and header in layouts. Normally defaults to the Field name entered when creating field.
    • This value is also modifiable via the Labels section of Studio.
    • Note: The Display Label option is available for all data type fields except Flex Relate. Flex Relate uses the Label Value option.
  • Drop Down List : Select a list of values to associate to the field.
    Fields_Dropdown_List
    • Only values in the chosen list will be available for selection in the field. Click "Edit" to change the values for the currently selected list, or click "Add" to create a new list.
    • Note: The Dropdown List option is only available for the dropdown, multiselect, and radio data type fields. For more information on editing dropdown values via the Dropdown Editor, please refer to the Editing Dropdown Lists section of the Developer Tools documentation.
  • Duplicate Merge : Select one of the following options to determine the field's functionality when records are being merged:
    • Disabled : Selected by default. The field will not appear on the Merge Duplicates screen.
    • Enabled : The field will appear on the Merge Duplicates screen.
    • In Filter : (Legacy/BWC modules only) The field will appear in the Merge Duplicates feature, and will also be available in the Find Duplicates feature.
    • Default Selected Filter : (Legacy/BWC modules only) The field will be used for a filter condition by default in the Find Duplicates page, and will also appear in the Merge Duplicates feature.
    • Filter Only: (Legacy/BWC modules only) The field will not appear in the Merge Duplicates feature but will be available in the Find Duplicates feature.
    • Note: The Duplicate Merge option is available for all data type fields except Image.
  • Field Name : Enter the name of the field being created. Once a field has been created the field name cannot be changed.
    • Field names can contain only alphanumeric characters as well as the underscore character.
    • Custom fields added via Studio are automatically appended with "_c" to ensure the field does not conflict with a current or future stock field.
    • Note: The Field Name option is required for all data type fields.
  • Full Text Searchable : Specify whether or not the field should affect Global Search results.
    • Disabled : Select "Disabled" if you do not want this field to be captured when the database is indexed for searches. Search indices collect the values of searchable fields for evaluation by the Global Search.
    • Searchable : Select "Searchable" to include this field's value in search indexes.
      • Selecting "Searchable" will reveal the Boost value field, which allows you to set a relevance weight for searches.
        When a user's search query matches the value of a field with a higher boost level, the record will appear higher in the search results. For more information regarding boost values in Full-Text Search, please refer to the Search documentation in the Application guide.
      • The Full Text Searchable option is only available for the following data type fields:
        Phone TextArea
        TextField URL
    • Note: For a list of searchable fields for each module for global search, please refer to the Search documentation in the Application guide.
  • Formula : Contains the current formula to return a calculated value.
    • Click "Edit Formula" to launch the formula builder and change the formula. For more information on how to build a formula using the formula builder, please refer to the Using Sugar Logic section of this documentation.
      Fields_Calculated_Formula
    • Note: The Formula option is only available when the Calculated Value option is selected when editing or creating a field.
  • Generate URL : Select this checkbox to allow variables from the current module to be placed into the Default Value option for creating dynamic URLs.
    Fields_Generate_URL
    • This is useful for providing links or iFrames to internal systems such as an ERP or to external systems such as Google Maps.
    • Select the desired field to add from the dropdown and click "Insert Field" to add the field to the Default Value. When selecting this option, the field value cannot be modified by users.
    • Note: The Generate URL option is only available for the IFrame and URL data type fields.
  • Height : Enter the number of pixels to vertically scale the image for this field. Enter only the Width or Height options to retain the aspect ratio of the image.
    • Note: The Height option is only available for Image data type fields.
  • Help Text : Enter basic instructions for populating this field. The text entered here will display below the field when creating or editing a record for modules using the Sidecar user interface. For modules using the Legacy user interface, the help text will appear when users hover their mouse within the field in the Edit View layout.
    • Note: The Help Text option is available for all data type fields.
  • HTML : Enter static rich text with formatting or HTML code to display on a record. For more information on how to use the text editor please refer to the TinyMCE section of the User Interface documentation in the Application guide.
    Fields_HTML
    • Note: The HTML option is only available for HTML data type fields.
  • IFrame Height : Enter the number of pixels for the height of the IFrame field. The width of the IFrame field is always the width of the field container.
    • Note: The IFrame Height option is only available for IFrame data type fields.
  • Importable : Select one of the following options to determine the field's functionality when records are being imported:
    • Yes : The field can be included in an import operation.
    • No : The field cannot be included in an import.
    • Required : A value for the field must be provided in any import.
  • Label Value : Enter a value to display as the field label and header in layouts. This value is also modifiable in the Modules panel under Labels. Defaults to "Flex Relate".
    • Note: The Label Value option is only available for Flex Relate data type fields.
  • Mass Update : Select this checkbox to add this field as an option to mass update.
    • Note: The Mass Update option is only available for the following data type fields:
      Date Datetime
      Dropdown MultiSelect
      Radio  
  • Max Size : Enter the maximum number of characters (or, for DB2 databases, the maximum number of bytes) allowed for this field. Defaults to 255.
    • Note: The Max Size option is only available for the following data type fields:
      Address Decimal
      Float IFrame
      Integer Phone
      URL TextField
  • Max Value : Enter the highest value allowable for this field. If a user enters a higher value in the field than the specified value, a notification will appear upon save informing them of the set maximum value.
    • Note: The Max Value option is only available for Integer data type fields.
  • Min Value : Enter the lowest value allowable for this field. If a user enters a value in the field that is lower than the specified value, a notification will appear upon save informing them of the set minimum value.
    • Note: The Min Value option is only available for Integer data type fields.
  • Module : Select a module from the dropdown to relate to the current module.
    • A module can relate back to itself, a good example of this would be a relate field on Contacts to relate back to Contacts for a referred by field. This will allow users to select which contact record referred a different contact. The chosen module cannot be modified once the field is created.
      Fields_Module
    • Note: The Module option is only available for Relate data type fields.
  • Open Link In : Select one of the following options to determine how a URL will open:
    • New Window : Opens the URL in a new Tab or Window depending on your browser and settings.
    • Same Window : Opens the URL in the same window as the record you are currently browsing.
    • Note: The Open Link In option is only available for URL data type fields.
  • Parent Dropdown : Select an option from the dropdown to specify the parent that controls the visibility of this dropdown field.
    • The Parent Dropdown option is populated with the other dropdown data type fields in the current module.
      Fields_Parent_Dropdown
    • Note: The Parent Dropdown option is only available when the Dependent option has "Parent Dropdown" selected.
    • Click "Edit Visibility" to specify which options are available from the current dropdown for each value of the parent dropdown. In the Visibility Editor window, drag values from the current dropdown list to the value sections of the parent dropdown.
      Fields_Parent_Dropdown_Visibility_1
    • This will determine which options in the dropdown list are available when the parent dropdown is set to the specified value. In this example, if the parent dropdown is set to "Apparel", then the current dropdown will have options 1, 2, and 3 where if the parent dropdown is set to "Banking", then the current dropdown will only have options 2 and 3 available. If there are no available options for a parent dropdown value, then the dependent dropdown will not display. To remove an item from the list, simply click and drag the value to the Trash bin on the left. Once the values are set, click "Save" to preserve your changes.
      Fields_Parent_Dropdown_Visibility_Save
  • Precision : Enter a number to specify the number of digits to the right of the decimal point the value should be stored as in Sugar.
    • Note: The Precision option is only available for the Decimal and Float data type fields.
  • Reportable : Select this checkbox to allow the field to be used in reports.
    • Note: The Reportable option is available for all data type fields except Encrypt, Flex Relate, HTML, IFrame, and Image.
  • Required Field : Select this checkbox to mark the field as required in Sugar. The user will be required to enter a value for the field when saving the record.
    • Note: The Required option is available for all data type fields except Checkbox and HTML.
  • Rows : Enter the number of rows to specify the height of a TextArea data type field.
    • Note: The Rows option is only available for TextArea data type fields.
  • System Label : Enter the system value for storing the label of the field. This is defaulted to the name of the field preceded with "LBL_". Any lowercase characters entered will be converted to an uppercase upon saving. Once the field has been created, the system label cannot be changed.
    • It is recommended that administrators avoid naming fields with the same system label in order to prevent the same label and header values from existing in the system.
    • Note: The System Label option is available for all data type fields.
  • Visible If : Contains the current formula to determine if a field is visible on the layout or not. Click "Edit Formula" to launch the formula builder to change the formula.
    Fields_Visible_If
    • The formula must result in a Boolean (true/false) response. For more information on how to build a formula using the formula builder, please refer to the Using Sugar Logic section of this documentation.
    • Note: The "Visible If" option is only available when the Dependent option is checked or "Formula" is selected from the dropdown.
  • Width : Enter the number of pixels to horizontally scale the image for this field. Enter only the Width or Height options to retain the aspect ratio of the image.
    • Note: The Width option is only available for Image data type fields.

Creating Fields

Use the following steps to create a new field via Studio:

  1. Expand out the tree under the desired module (e.g. Cases) in the Modules panel and select "Fields".
    ModulePanel_Fields1
  2. In the main panel, click "Add Field".
    Fields_Add_Field
  3. Enter appropriate values for the Field Options.
    Note: Field Name is required.
  4. Once the necessary information is entered, click "Save".
    Fields_Add_Field_Save

Please note that once a field is created, it must be placed on the record view (for Sidecar modules) or edit view (for Legacy modules) layout before users can enter data into that field. For more information on editing layouts, please refer to the Editing Layouts section of this documentation.

Editing Fields

Use the following steps to edit an existing field via Studio:

  1. Expand out the tree under the desired module (e.g. Cases) in the Modules panel and select "Fields".
    ModulePanel_Fields1
  2. In the main panel, select a field to edit. Sorting the fields by the column header will help in locating the field faster.
    • Note: Fields created via Studio will display an asterisk next to their names.
    Fields_Edit_Field
  3. Enter appropriate values for the Field Options.
  4. Once the necessary information is entered, click "Save".
    Fields_Edit_Field_Save

Deleting Fields

Use the following steps to delete an existing field via Studio:

  1. Expand out the tree under the desired module (e.g. Cases) in the Modules panel and select "Fields".
    ModulePanel_Fields1
  2. In the main panel, select a field to delete. Sorting the fields by the column header will help in locating the field faster.
    • Fields created via Studio will display an asterisk (*) next to their names.
    • Note: Stock fields cannot be deleted.
    Fields_Edit_Field
  3. Click "Delete" to remove the field.
    Fields_Edit_Field_Delete
  4. A pop-up message will display asking for confirmation. Click "Ok" to proceed.
    • When deleting fields, both the field and all the data related to the field in the database will be permanently removed. Before deleting a field, confirm that the field is no longer used or displayed in the following places:
      • Report filters or display columns
      • Workflows that filter by or display the field
      • Dashlets that filter by or display the field
      • Sugar Logic formulas for other fields
      • Email templates
      • Saved searches (legacy modules)
  5. The field will automatically be removed from any module layouts when deleted.

Cloning Fields

Use the following steps to clone an existing field via Studio:

  1. Expand out the tree under the desired module (e.g. Cases) in the Modules panel and select "Fields".
    ModulePanel_Fields1
  2. In the main panel, select a field to delete. Sorting the fields by the column header will help in locating the field faster.
    • Note: Fields created via Studio will display an asterisk (*) next to their names.
    Fields_Edit_Field
  3. Select "Clone" to duplicate the field.
    • Note: Some non-standard stock fields (e.g. Name) do not have the ability to clone.
    Fields_Edit_Field_Clone
  4. Enter appropriate values for the Field Options.
  5. Once the necessary information is entered, click "Save".
    Fields_Clone_Save

Relationships

Relationships define the links between different modules in Sugar and allow records between those modules to be related. Related records display in fields or subpanels on a module's record view (for Sidecar modules) or detail view (for Legacy modules) depending on the relationship type. When you create a new relationship between two modules, the system automatically creates the necessary subpanels, related fields, and metadata relationships. Relationships provide the added benefit in reports to allow access to a related records fields in addition to the base module's fields.

The relationships section in Studio allows administrators to create new relationships between custom and stock modules as well as change some properties on existing relationships. To access the Relationships section in Studio, select "Relationships" from the Modules panel and the module's relationship tab will open in the main panel.
ModulesPanel_Relationships

Relationship Types

Sugar contains a few different types of relationships you can create between modules. The relationship type will determine which fields or tables will be created in the database as well as what the interface will look like to the user when managing relationships for the affected records.

When you create a relationship between modules, the module you initiate the relationship from is considered the primary module and the module that you relate it to is the related module.

The following sections explain the relationship types available in Studio. 

One-to-One Relationships

When records in the primary module and the related module are uniquely related to each other, you have a one-to-one relationship. In other words, each primary record will relate to only one related record and vice-versa.

As an example, in a one-to-one relationship between Accounts and Contacts, an account can be associated with only one contact and a contact can be associated with only one account. The relationship will show as a field in each module's record view. For this two-way relationship, changing the related record from one module's record will also change the value in the other module's record.

  • From the primary Accounts module:
    711-1-to-1rev
  • From the related Contacts module:
    711-1-to-1

Note: You can alternatively create a one-way relationship between modules using relate fields. For more information regarding relate fields, please refer to the Field Types section of this documentation.

One-to-Many and Many-to-One Relationships

In one-to-many relationships, one primary record may relate to many records in the related module, but the related module records will only be able to relate to one primary record. This is often referred to as a parent-child(ren) relationship.

Note: Only modules with subpanels available can be on the "Many" side of a relationship. For example, the Product Catalog module lacks a subpanel; therefore, Product Catalog can only be selected on the "One" side of a relationship.

As an example, in a one-to-many relationship between Accounts and Contacts, an account can be associated with many contacts, but each contact can be associated with only one account. The record view of the primary module will display a subpanel for the related module, and the record view of the related module will display a field containing a link to the related record.

A one-to-many relationship is the same as a many-to-one relationship except the primary and related modules are reversed. 

  • From the primary Accounts module:
    711-1-to-m
  • From the related Contacts module:
    711-1-to-1

You can also create a one-to-many relationship between a module and itself. For example, Sugar relates Accounts to Accounts in order to allow "Member Organization" sub-accounts within the primary "Member of" parent account.

Note: Adding a custom one-to-many relationship to "Activities" will add custom relationships to calls, meetings, notes, tasks, and emails. This will also automatically add these subpanels to the record view.

Many-to-Many Relationships

In many-to-many relationships, many primary records may be related to many related records, often overlapping. For example, the contact Joe Smith may relate to many different Sugar campaign records, and each of those campaign records may relate to many contacts in addition to Joe Smith.

For a many-to-many relationship between Accounts and Contacts, an account could be associated with many contacts, and a contact, in turn, could be associated with many accounts. Both modules' record views would display a subpanel for the opposite module.

Note: Only modules with subpanels available can be on the "Many" side of a relationship. For example, the Product Catalog module lacks a subpanel; therefore, Product Catalog can only be selected on the "One" side of a relationship.

Creating Relationships

Use the following steps to create a new relationship via Studio:

  1. Expand the tree under the desired module (e.g. Cases) in the Modules panel and select "Relationships".
    ModulesPanel_Cases_Relationships
  2. In the main panel, click "Add Relationship".
    Relationships_Add_Relationship
  3. Enter appropriate values for the following options:
    Type : Select the type of relationship to create from the options in the Relationship Types section.
    Module : The Primary module is set as the module to which you are adding the relationship. Select the related module from the dropdown list to the right. The Primary and Related module can be the same in order to create a parent-child relationship.
    Label : Enter a label to reference the Primary module or Related module's subpanels for this relationship.
    • Note: This option is only available for the "Many" side of a relationship.
    Subpanel from : Select a subpanel option to display the Primary or Related module's records in. This will determine the fields displayed in the subpanel.
    • Note: This option is only available for the "Many" side of a relationship.
  4. Once the necessary information is entered, click "Save & Deploy".
    Relationships_Add_Relationship_Save_And_Deploy
  5. The required fields and subpanels are instantly created and deployed to the appropriate modules.

Editing Relationships

Use the following steps to edit a relationship via Studio:

  1. Expand out the tree under the desired module (e.g. Cases) in the Modules panel and select "Relationships".
    ModulesPanel_Cases_Relationships
  2. In the main panel, select a relationship to edit.
    • Sorting the column header will help in locating the relationship faster.
    • Note: Relationships created via Studio will display an asterisk next to their names.
      Relationships_Select_Relationship
  3. The only editable field on a relationship is the Label field for naming the Primary or Related modules subpanels.
    • Note: This option is only available for the "Many" side of a relationship.
  4. Once the necessary information for the Label field is entered, click "Save".
    Relationships_Edit_Relationship_Save

Deleting Relationships

Use the following steps to delete a relationship via Studio:

  1. Expand out the tree under the desired module (e.g. Cases) in the Modules panel and select "Relationships".
    ModulesPanel_Cases_Relationships
  2. In the main panel, select a relationship to delete.
    • Sorting the column header will help in locating the relationship faster.
    • Note: Relationships created via Studio will display an asterisk next to their names.
      Relationships_Select_Relationship
  3. Select "Delete" to remove the relationship.
    Relationships_Edit_Relationship_Delete
  4. A pop-up message will display asking for confirmation. Click "Yes" to proceed.
    • Note: If you wish to retain the data and table structure that currently exists for the relationship, select the "Do Not Remove Tables" option. Leaving the "Do Not Remove Tables" unchecked will delete the relationship data and remove the tables for the relationship from the database.
    • Before deleting a relationship please verify and resolve the following issues:
      • Relationship must be removed from any report filters or displays
      • Relationship must be removed from any workflows that filters or displays fields from the relationship
      • Relationship must be removed from any Sugar Logic formulas referencing the relationship
        Relationships_Edit_Relationship_Delete_Confirm

Layouts

The layouts in Studio are used to represent the various views (e.g. record view, list view, edit view, etc.) in Sugar. Users with administrator or developer access have the ability configure these layouts via Admin > Studio. Please note that the layouts available to configure will vary based on whether the module uses the Sidecar or Legacy user interface. All modules using the Legacy user interface will display an asterisk (*) to the right of the module's name in Studio. The available layouts for the selected module will appear once you open up the Layouts option.
New_BWC_Module_Layouts_List1

Layout Types

Sugar comes with different types of layouts to represent different sections of Sugar. Please note that not all layouts are available in every module.

The following layout options are available in Sugar:

  • Convert Lead : The Convert Lead layout can be configured to mark modules as required for lead conversion, add or remove modules from the convert lead layout, etc. Please note that the Convert Lead layout is only available for the Leads module. For more information on modifying the Convert Lead layout, please refer to the Editing Convert Lead Layout section below.
  • Record View (for Sidecar modules) : Record view is used to modify, create, or view the current record's details within a specified module. This layout is specific to modules using the Sidecar user interface and controls the layout for viewing, creating, and editing a record, as well as the quick-create layout and the fields displayed when the record is viewed via the preview pane.
  • Edit View (for Legacy modules) : Edit view layout is used to modify or create records in the specified module.
  • Detail View (for Legacy modules) : Detail view layout is used to view the current data for a record within the specified module.
  • List View : List view layout is used to view multiple records within the specified module. The list view is also used for displaying the results from module search (for Sidecar modules), as well as Basic or Advanced search (for Legacy modules).
  • Quick Create (for Legacy modules) : Quick Create layout is used in Sugar to quickly view and modify records within a specified module without having to navigate away from the current page. For example, logging a call from the Quotes detail view will open up the call's quick create form.
  • Popup List View : Pop-up list view layout is used to view a list of records in a pop-up window when selecting one or more records to relate to a current record. 
    Popup_List_View_Layout
  • Popup Search (for Legacy modules) : Pop-up search layout allows users to search for records in the pop-up window to relate to a current record and appears above the pop-up list view in the same window. Legacy modules (e.g. Quotes) use this layout for pop-up searching while Sidecar modules (e.g. Accounts) use the Search layout's configuration.
    Popup_Search_Layout
  • Search : Search layout is used to allow users to search for records from a module's list view via module search (for Sidecar modules) or Basic and Advanced search (for Legacy modules). This layout is also used by Sidecar modules on the pop-up search and select. In addition, changes made to the Search layout for Sidecar modules affects the list of available fields to filter for the module's list view dashlet (e.g. My Contacts) since it is controlled by the same layout as well.
    Note: Encrypt fields cannot be added to Search layouts.

Layout Options

Administrators have the ability to configure the various layouts (e.g. record view, list view, etc.) available via Studio. The following are some of the options available to administrators when configuring layouts in Studio.

Record views may be configured to display differently based on the viewing user's role.

Panels

Every field on a layout is contained within a panel, which can be organized to contain groups of similar or related fields to assist in organization. Modules using the Legacy user interface will have fields grouped by default into the Overview and Other panels while modules using the Sidecar user interface will have the Business Card and Show More panels. You can change the panel header titles by clicking the Pencil icon to the right of the panel name. 

Note: You can have the panel collapsed by default on the Record View, Edit View, or Detail View by marking the Collapse? checkbox to the far right of the panel header.

Record View layout (for Sidecar modules):
Studio7.7 BusinessCard Sidecar
Edit View layout (for Legacy modules):
Studio Overview Collapse Legacy

Tabs

Each of the panels (Business Card, Overview, etc.) may optionally be displayed as tabs in the layout. You can also nest panels within other panels defined as tabs. For example, if you set the Business Card panel as a "Tab" and leave "Show More" as a panel in the Record View layout, the Show More panel will appear within the Business Card tab.
Studio7.7 Display TabPanel
Every panel listed under a Tab display type will be a panel within the tab until the next Tab display type panel is reached. So if you add a new panel below "Show More" and set both the Business Card and Show More panel as "Tabs", then the newly added panel will appear within the Show More tab.

Restoring Layouts

Sugar keeps a history of the changes made to each layout. You can preview and restore historical layouts via "View History". For more information on viewing the history of layouts, please refer to the Viewing Layout History section of this documentation.

It is also possible to restore the Record View, Detail View, etc. layouts back to the default out-of-the-box layout. For more information on how to reset a layout to default, please refer to the Restoring Default Layouts section in this documentation.

Note: When using role-specific record view layouts, the functionality of the Restore Default Layout button changes depending on which the Role dropdown's selection. Please refer to the Restoring Customized Role-Views to the Default Role-View Layout section for more information.

Sync And Copy (Legacy Modules)

Sugar provides administrators with the ability to sync and copy certain layouts to assist in configuring layouts. Often it makes sense for a module's edit view and detail view layouts to be identical. Instead of having to duplicate any changes made to one layout, administrators can configure the detail view layout to be synced to the edit view layout.

To sync the layouts, select the Sync to DetailView checkbox on the upper right of the EditView layout and click "Save & Deploy".
Studio7.7 SyncDetailView
The current detail view layout will be replaced with the current edit view layout. At this point, changes cannot be made to the DetailView layout in Studio, but any changes made to the EditView layout will automatically be synced to the DetailView layout when saved.

As an alternative to syncing the layouts, administrators can copy the layout from the EditView to the DetailView or QuickCreate layouts. This is especially useful if you want the layouts to be similar, but different. Make any necessary changes to the EditView layout, then navigate to either the DetailView or QuickCreate layout. Select "Copy from EditView" to replace the current layout with details from the EditView layout. Once copied, you can continue to edit the DetailView layout as you wish.
Studio7.7 CopyEditView
Note: The copy feature is a one-time copy of the layouts. Any future changes to the EditView layout will not be reflected on the DetailView layout without performing the copy again.

Editing Layouts

You can add, remove, hide, etc. the fields for the available layouts in the module by selecting the specific layout under the Modules panel to edit. Please note that the List View, PopupView, and Search layouts have columns where you can designate fields users can and cannot see. 

Record views may be configured to display differently based on the viewing user's role.

Editing Record View Layout

The following steps cover editing the Record View layout for the Accounts module as an example:

  1. Expand "Layouts" from the Modules panel under the Accounts module and select "Record View". The Record View layout will display in the main panel to the right.
    Studio7.7 AccountsRecordView
  2. To add a field to the Record View layout, drag the field from the list of fields in the Toolbox to a "(filler)" location on the layout per your preference.
    • You can also drag a field to a location on the layout that already has a field in place. The newly added field and the existing field on the layout will swap places.
      Studio7.7 AddField
  3. To remove a field from the layout, drag and drop the field from the layout to the trash bin in the toolbox to remove the field from the layout. You may remove an entire row in the layout using the same method.
    Studio7.7 RemoveField
  4. To expand or minimize the field column in the layout, click the Plus icon (+) to stretch the field over two columns or click the Minus icon (-) to fit the field into one column.
    • Note: The layout will display a "(filler)" if there is no field in that location.
      Studio7.7 ExpandField
  5. To add a new row, drag the "New Row" item in the Toolbox to the layout to allow additional fields or blank spaces to be added.
    Studio7.7 NewRow
  6. To add a new panel, drag the "New Panel" item in the Toolbox to the layout to group different sets of fields together in the Record View layout.
    Studio7.7 NewPanel
  7. Once the layout is finalized, click "Save & Deploy" to preserve your changes and deploy immediately.
    • You can click "Save" if you wish to preserve the changes made but not deploy to Sugar's user interface.
      Studio7.7 SaveDeploy

Note: It is recommended that dependent fields be placed below and/or to the right of the independent field in order to preserve the correct display of fields on the layout.

Creating Role-Based Record View Layouts

Record Views can be configured to display customized layouts based on the viewing user's role. The availability and organization of fields may be altered to provide only the relevant fields for each user's role according to your business practices. When editing a particular module's record view, the Role dropdown appearing on the top right contains all existing roles in the Sugar application. By default, none of the Sugar roles have customized views, so changes made to the Default role-view will automatically be copied to the other role-views upon save. This means that as long as no role-views are customized here, all users will continue to see the record view layout matching the Default role-view. 

Note: It is recommended to assign each user to a maximum of one role. Users belonging to multiple roles which each have customized role-views may experience unexpected behavior when using record views. For more information about roles, please refer to the Role Management documentation.

Note: Role-based customizations to record views are included when exporting customizations from Studio. For more information, please refer to the Exporting Role-Based Customizations section and the Module Loader documentation.

If you wish to cause certain roles to use a modified record view for a module (e.g. Accounts), navigate to Admin  > Studio > Accounts > Layouts > Record View and select the desired role from the Role dropdown to make changes specific to that role (e.g. Marketing Administrator).
Studio7.7 SelectRole MA

When viewing a Sugar role's role-view (e.g. Marketing Administrator), you have the option add, remove, and rearrange fields and panels. You may manipulate the layout as described in the Editing Record View Layout section above. The inclusion and location of fields will be specific to the role-view you are customizing. However, changes made to a field's display label from any of the role-views will update that field's display label on all role-views.

Once you have saved a modification to a role-view, it is considered customized and will display an asterisk (*) next to the role's name in the Role dropdown. Adding, removing, and rearranging fields or panels on the Default role-view will no longer have any effect on customized role-lists.
RBV_DD_customized

Note: Role-based views are not available for Legacy modules' detail views or any other sidecar layouts besides the record view. The Sidecar module must be available for editing in Studio for you to be able to create role-based record views for it.

Copying a Role-View From a Customized Role-View Layout

Customized role-view layouts may be copied to any other role-view except for the Default role-view.

  1. Select the role-view you wish to alter in the Role dropdown
  2. Click "Copy from..." and select the customized role-view you wish to duplicate.
    Note: The Copy from... button will only appear when a customized role-view is available to be copied.
  3. Click "Copy" and save. 
    Studio7.7 CopyfromMA

This will update the role-view to match the copied layout, and the role-view will now be considered customized and display an asterisk (*) next to the role's name in the Role dropdown.

Restoring Customized Role-Views to the Default Role-View Layout

The Restore Default Layout button may be used to bring a customized role-view back to the Default role-view's layout.

  1. Select the customized role-view in the Role dropdown.
  2. Click "Restore Default Layout" and save. 
    Studio7.7 Role RestoreLayout

This will re-establish the link between the selected role-view and the Default role-view so that changes to the Default role will once again be automatically applied to the selected role-view. This will also remove the asterisk from the selected role-view's name in the Role dropdown since it is no longer considered customized.

Restoring the Default Role-View to the System Default Layout

The Restore Default Layout button can also be used to bring the Default role-view back to the system stock record view layout.

  1. Select the Default role-view in the Role dropdown
  2. Click "Restore Default Layout" and save.
    Studio7.7 Restore Default Layout

This will remove any Studio changes to the layout so that it once again matches the system's stock layout. All other, non-customized role-views will also be updated to match.

Editing List View Layout

The List View layout has columns where you can define the fields that users can and cannot see. The List View layout also controls the list of available fields for the module's list view dashlet (e.g. My Contacts). Once the appropriate configurations are made in Studio, the deployed changes will be reflected in the Columns field of the corresponding module dashlet's Configuration Options page. Keep in mind that the module dashlet will not automatically reflect the Studio changes and users must edit the dashlet in order to view the changes, add new fields to the layout, etc. 

To configure the List View layout, move the displayed fields among the Default, Available, and Hidden columns :
studio-cols

  • Default : Drag fields into the Default column to display them on the default List view layout. The top-to-bottom order of fields corresponds with the left-to-right presentation of columns on the list view (or right-to-left for users viewing an RTL language). For example, the topmost field in the default column will be shown in the leftmost column of the list view.
  • Available : Drag fields into the Available column to make them available for users to personalize their view of the layout without making them part of the default layout. Users will be able to click the Column Selection icon to see the list of available fields. For more information on working with columns in the list view, please refer to the User Interface documentation.
    • Note: Not all list-type layouts have an Available fields section.
  • Hidden : Drag fields into the Hidden column to hide them from users in the list view. Hidden fields will be unavailable in list view regardless of a user's team or role settings, but they may still be available to users in other places such as in reports or the record view.

Note: To enable fields as filters in a Sidecar module's list view and list view dashlet (e.g. the "My Contacts" dashlet), please refer to the Editing Search Layout section. 

The following steps cover editing the List View layout as an example:

  1. Expand "Layouts" from the Modules panel under the Accounts module and select "List View".
    Studio_ModulesPanel_ListView
  2. To add a field to the List View layout, drag and drop the fields from the Hidden column to the Default column.
    • Note: The fields in the Default column will be available to add as display columns in the corresponding module dashlet (e.g. My Accounts).
      Studio7.7 Listview DefaultColumn
  3. To remove a field from the layout, drag and drop the field from the Default column to the Hidden column.
  4. To change the left-to-right order of the fields displayed on the list view, drag and drop fields up or down within the Default list.
    • Note: The order of fields designated for the List View layout also affects the order for the list of available fields in the corresponding module dashlet (e.g. My Accounts).
  5. Optionally, modify the label and width for the field. Click the Pencil icon next to each field, enter the new label or select the width (e.g. small, medium, large), then click "Save". Changes to a field's label will affect all List View layouts for this module. For more information on setting column widths, please refer to the List View Column Widths section.
    Studio_ListView_LabelWidth1
  6. Click "Save & Deploy" to preserve your changes and deploy immediately.
List View Column Widths

Administrators can easily set the column widths for specific fields when configuring the List View layout. You can choose from a pre-defined list of width sizes (e.g. small, medium, large) that are available out-of-the-box with Sugar or enter a custom width value. The custom width value should be entered in pixels (e.g. 200) for Sidecar modules. Legacy modules should be entered as a percentage (e.g. 40) of the total width of the list view that should be dedicated to the column.

The following table describes the available column width sizes for fields in Sugar's list-view layouts. The Approximate Characters column indicates the maximum number of characters that the column will display before indicating overflow with an ellipsis. For example, a column size with an Approximate Characters value of 4 would display "University of Miami" as "Univ...". This number is an approximation due to the various widths of characters in the alphabet (e.g. a "w" character occupies more horizontal space than an "i" character). Users may expand the default column width manually or hover over the ellipses to reveal the field's entire contents.

Name Width Approximate
Characters
xxsmall 20px 1
xsmall 40px 2
small 68px 8
medium 128px 15
large 180px 30
xlarge 280px 50
xxlarge 460px     85

Note: For currency fields, Sugar enforces a minimum 141px column width. Therefore, only the "large" setting and above will apply and custom values must be defined as 141 or wider.

Editing Search Layout

The Search layout controls which fields are available as filters in a module's list view or list view dashlet. You edit the Search layout in the same fashion as the List View layout, but using only the Default and Hidden columns. Fields placed in the Default column will be available as filters for users in the module's list view and list view dashlet; fields placed in the Hidden column will not. For more information on dragging and dropping fields between the Default and Hidden columns, please refer to the Editing List View Layout section of this page.

Note: After an administrator edits the Search layout for a module in Studio, users must edit or re-create their list view dashlets to see the deployed changes to their available filters or columns. 

Editing Convert Lead Layout

The Convert Lead layout in Sugar is structured differently from the other layouts as it is specific to the lead conversion page for the Leads module. Administrators can configure which modules are available to convert, mark modules as required, add modules to the Convert Lead page, etc.
Studio_ConvertLeadLayout1

The following settings are available when configuring the Convert Lead layout:

  • Required : Makes the module required during lead conversion. Required modules must be created or selected on the Convert Lead page in order for the lead to be converted and saved.
  • Copy Data : Copies data from the Leads fields (stock and custom) to fields with the same name in the newly created record for the module.
    • Note: The field name and type must match between both modules (e.g. Leads and Accounts) in order for the data to copy over.
  • Delete : Removes the module from the Convert Lead layout.

The following steps cover adding the Notes module to the Convert Lead layout:

  1. Select the Notes module from the dropdown list above the convert lead table then click "Add Module".
    Studio7.6_add_notes_modules_meetings
  2. The Notes module will appear in the convert lead table and you can configure the settings as necessary. Click "Save" to preserve your changes.
    • Note: Modules added to the Convert Lead layout can be re-arranged by dragging and dropping the row (e.g. Notes) within the table. The Contacts, Accounts, and Opportunities modules cannot be re-arranged on the layout.
      Studio_ConvertLeadLayout_Notes

Subpanels

Related records between modules in Sugar are commonly displayed in Subpanels. Similar to list type layouts, administrators can modify the subpanel layouts to change which fields are shown in a module's subpanel. You can add or remove fields for these subpanels depending on the information you want to be displayed to users. You can also rename a subpanel if needed. To access the subpanels section in Studio, expand "Subpanels" from the Modules panel under the desired module and the available subpanels will appear. Please note that the list of available subpanels for each module will vary.
Studio_ModulesPanel_Subpanels1

Subpanel Options

When configuring the Subpanel layout in Studio, there are options which allow you to change the subpanel title, view historical layout changes, as well as restore the default layout.

The following options are available when configuring subpanels in Studio:

  • Subpanel Title : Sugar administrators have the option to modify the name of the subpanel. This will change the display value of the subpanel when viewing the record view (for Sidecar modules) or detail view (for Legacy modules) of a record from the specified module.
  • View History : Sugar keeps a history of the changes made to each subpanel. You can preview and restore historical layouts via "View History". For more information on viewing the history of subpanels, please refer to the Viewing Layout History section of this documentation.
  • Restore Default Layout : Restores the subpanel layout back to the default out-of-the-box layout. For more information on how to reset a subpanel to the default layout, please refer to the Restoring Default Layouts section of this documentation.
    Studio7.7 Subpanels

Editing Subpanels

The following steps cover editing the Notes subpanel for the Cases module as an example:

  1. Expand "Subpanels" from the Modules panel under the Cases module and select "Notes". The Notes subpanel layout will display in the main panel to the right.
    Studio7.7 EditingSubpanels
  2. To add a field to the Subpanel layout, drag and drop the fields from the Hidden column to the Default column. You can then drag the field up and down the list to change the position of the field in the subpanel.
    Studio7.7 EditingSubpanels2
  3. To remove a field, drag and drop the fields from the Default column to the Hidden column.
    Studio7.7 EditingSubpanel3
  4. Click the Pencil icon to change the column width of the field in the subpanel.
    • Note: Administrators can choose from a pre-defined list of width sizes (e.g. default, small, medium, etc.). Please note that selecting the Default width will set the list view column to equal the Medium width size. Selecting "custom" from the list will allow you to enter a custom width value in the open box. The custom width value should be entered in pixels (e.g. 200) for Sidecar modules. Legacy modules should be entered as a percentage (e.g. 40) of the total width of the list view that should be dedicated to the column.
    • When defining the column width for currency fields (e.g. Likely, Best, etc.), only "large" and above applies because there is a minimum width requirement in Sugar for this field type. In addition, when defining a custom width for currency fields, the value must be 141px or wider.
      Studio_Cases_NotesSubpanel_EditColWidth
  5. Click "Save & Deploy" to preserve your changes and deploy immediately.

Mobile Layouts

Mobile layouts are used to represent the views in Sugar Mobile. The mobile layouts section in Studio allows administrators to add fields and configure the various mobile layouts. To access the mobile layouts section in Studio, expand "Mobile Layouts" from the Modules panel under the desired module. The available mobile layouts for the selected module will appear under "Mobile Layouts".
ModulesPanel_Accounts_MobileLayouts

Mobile Layout Types

There are various mobile layouts in Sugar to represent the different areas of the Sugar Mobile application. Please note that not all layouts are available in every module and the different mobile applications will use the information defined here differently.

The following mobile layouts are available in Sugar:

  • Edit View : Edit view layout is used to modify or create records in the specified module.
  • Detail View : Detail view layout is used to view the current data for a record within the specified module. Certain fields are translated to Sugar Mobile as buttons instead of data. For example, instead of seeing the phone number, there is a phone icon to be able to call the number on the record.
  • List View : List view layout is used to view multiple records within the specified module. Only the first two fields in the list view section will be displayed in Sugar Mobile.

Mobile Layout Options

Administrators have the ability to configure the various mobile layouts available via Studio.

The following options are available when configuring mobile layouts in Studio:

  • View History : Sugar keeps a history of the changes made to each layout. You can preview and restore historical layouts via "View History". For more information on viewing the history of layouts, please refer to the Viewing Layout History section of this documentation.
  • Restore Default Layout : Restores the mobile layout back to the default out-of-the-box layout. For more information on how to restore the default layout, please refer to the Restoring Default Layouts section in this documentation.
  • Role : Record views may be configured to display differently based on the viewing user's role. For more information, please refer to the Creating Role-Based Record View Layouts section.

Studio7.7 MobileLayout

Editing Mobile Layouts

You can add, remove, hide, etc. the fields for the available layouts in "Mobile Layouts" by selecting the specific layout under the Modules panel to edit. Please note that the Mobile EditView and DetailView layouts are modified in similar fashions. The Mobile ListView layout has columns where you can designate fields users can and cannot see.

Mobile EditView and DetailView can both be configured to display customized layouts based on the viewing user's role. The availability and organization of fields may be altered to provide only the relevant fields for each user's role according to your business practices. For more information about configuring role-based layouts, please refer to the Creating Role-Based Record View Layouts section above.

The following steps cover editing the Mobile EditView layout for the Cases module as an example:

  1. Expand "Mobile Layouts" from the Modules panel under the Cases module and select "Mobile EditView". The Mobile EditView layout will display in the main panel to the right.
    Studio7.7 Mobile EditView
  2. To add a field to the Mobile EditView layout, drag the field from the list of fields in the Toolbox to a "(filler)" location on the layout per your preference.
  3. You can also drag a field to a location on the layout that already has a field in place. The newly added field and the existing field on the layout will swap places.
    Studio7.7 Mobile EditView2
  4. To remove a field from the layout, drag and drop the field from the layout to the trash bin in the Toolbox to remove the field from the layout. You may remove an entire row in the layout using the same method.
    Studio7.7 MobileEditView RemoveField
  5. To add a new row, drag the "New Row" item in the Toolbox to the layout to allow additional fields or blank spaces to be added.
    Studio7.7 Mobile NewRow
  6. Once the layout is finalized, click "Save" to preserve your changes or "Save & Deploy" to preserve your changes and deploy them instantly.

Unlike the Mobile EditView layout, the Mobile List View layout has columns were you can designate fields users can and cannot see. When configuring the Mobile List View layout, you will see three columns (Default, Available, Hidden) where fields can be dragged and dropped accordingly.

  • Default : This column contains fields that are displayed in the list view.
  • Available : Available fields are fields that will not show by default in the layout, but if the layout can be personalized, users can add these fields to their view of the layout. Not all list type layouts have an available fields section.
  • Hidden : This column contains fields that will not be displayed in the list view.

The following steps cover editing the Mobile List View layout as an example:

  1. Expand "Layouts" from the Modules panel under the Cases module and select "Mobile List View".
    Studio_Cases_MobileListView3
  2. To add a field to the Mobile ListView layout, drag and drop the fields from the Hidden column to the Default column.
    Studio7.7 Mobile ListView PX
  3. Click the Pencil icon to modify the label of the field as well as the width size the field will take up in the list view. Please note that the modified label will display in all List View layouts.
  4. Click "Save & Deploy" to preserve your changes and deploy immediately.

Using Sugar Logic

Sugar Logic allows administrators to write simple formulas and logic checks to provide a calculation for a field or to set the visibility of a field. For more information regarding the types of field that you can use Sugar Logic in, please refer to the Field Options section of this documentation. A calculated field uses a formula to derive its value based on the values of other fields as well as mathematical or logical operators. A dependent field uses a formula to determine whether or not the field should be displayed. These formulas are automatically recalculated when the record is updated. In addition, when a record containing a formula's input field is updated, the formula is automatically recalculated.

Note: When creating a calculated formula for a Currency field, the currency symbol should not be used for a value (e.g. $100) in the formula. The formula should only define the numeric value (e.g. 100), as including the currency symbol will result in improperly calculated values.

When a calculated or dependent field is created or its formula is modified, all existing records in the module will not use the new formula until they have undergone a save action. To update the existing records to use the new formula, the module's list view includes a Recalculate Value action. Admin users or users with developer-level access can use this feature to cause existing records to recalculate affected fields without having to perform an update on each record individually. For more information, please refer to the User Interface documentation in the Application Guide.

Administrators can access the formula builder for the fields and options that accept formulas by selecting "Edit Formula".
Fields_Calculated_Formula

For more information and examples using Sugar Logic, please refer to the Sugar Logic section of the Knowledge Base, which includes articles covering the use of dependent and calculated fields. Topics range from introductory information to example Sugar Logic formulas and detailed walkthroughs of how to construct various fields and formulas in the formula builder.

Functions

Functions are listed on the lower left-hand corner of the formula builder and provide a variety of calculations, logic checks, and formatting options. To locate the function you need, simply scroll through the list or enter search criteria to narrow the list.
Logic_Functions_Search
To see how to use a function, simply hover over the function to view the syntax, parameters, and a brief description of what the function does.
Logic_Functions_Hover
The function name is followed by a comma-separated list of parameters to the function. The list specifies the data type expected for each parameter. For example, the function "daysUntil" expects one parameter of Date type.

The description in the hover text will typically specify what data type is being returned, but if it does not, the symbol to the right of the function also represents the function's data type.
Logic_Functions_Return_Data_Type
The following is a list of the possible return type symbols and the data types they return:

Symbol Description
# Returns a Number
Calendar Returns a Date object with a date and time
% Returns a Boolean (true or false) value
A Returns Text
[ ] Returns a List
? Returns a variable data type that could be any of the above

List of Functions

Some functions require a given number of parameters while others are more flexible. Most parameters require a specific data type to be passed in for the function to work. Functions with the same data type can be nested in a single formula.

The following functions and their parameters (multiple parameters are represented by "...") are available in Sugar:

Function Description Parameters Return Type
abs Returns the absolute value of $param1. Number $param1 Number
add Returns the sum of the given parameters. Number $param1, … Number
addDays Returns $date moved forward or backwards by $days. Date $date, Number $days Date
and Returns true if and only if all given parameters are true. Boolean $param1, … Boolean
average Returns the average of the given parameters. Number $param1, … Number
ceil Returns $param1 rounded up to the next integer. Number $param1 Number
concat Returns all of the given parameters appended together in the order passed. String $param1, … Text
contains Returns true if $needle is within $haystack. String $haystack, String $needle Boolean
count Returns the number of records related to this record by $module Relate $module Number
countConditional Returns the number of records related to this record by $link and that match the value of a specific field. Relate $link, Field $string, Values $list Number
createList Returns a List of the given parameters. Generic $param1, … List
date Returns $param1 as a Date object. String $param1 Date
dayofweek Returns the number of the day of week that $param1 falls on. Date $param1 Number
daysUntil Returns the number of days from now until $param1. Date $param1 Number
divide Returns the $numerator divided by the $denominator. Number $numerator, Number $denominator Number
equal Returns true if $param1 is equal to $param2. Generic $param1, Generic $param2 Boolean
floor Returns $param1 rounded down to the next integer. Number $param1 Number
forecastIncludedCommitStages Returns all the included commit stages for the Forecast module.   List
forecastSalesStages Returns all the included sales stages for the Forecast module from the sales_stage_dom; If you pass in "false" for the $includeWon or $includeLost, those values will not be returned in the list. Boolean $includeWon, Boolean $includeLost List
getDropdownKeySet Returns a List of the keys in the dropdown named $param1. This list must be defined in the Dropdown editor. String $param1 List
getDropdownValue Returns the value for the $key found in the dropdown named $list. This list must be defined in the Dropdown editor. String $list, String $key Text
getDropdownValueSet Returns a List of the values in the dropdown named $param1. This list must be defined in the Dropdown editor. String $param1 List
getListWhere Returns the matched array from lists. String $trigger, Enum $lists List 
greaterThan Returns true if $param1 is greater than $param2. Number $param1, Number $param2 Boolean
hoursUntil Returns the number of hours from now until $param1.  Date $param1 Number
ifElse Returns $return1 if $condition is true or $return2 if $condition is false. Boolean $condition, Generic $return1, Generic $return2 Variable
indexOf Returns the position of $needle in $haystack or -1 if $haystack does not contain $needle. The index starts at 0. Generic $needle, List $haystack Number
isAfter Returns true if $param1 is after $param2. Date $param1, Date $param2 Boolean
isBefore Returns true if $param1 is before $param2. Date $param1, Date $param2 Boolean
isForecastClosed Returns true if $status is in the forecast config for sales_stage_won or sales_stage_lost String $status Boolean
isForecastLost Returns true if $status is in the forecast config for sales_stage_lost  String $status Boolean 
isForecastWon Returns true if $status is in the forecast config for sales_stage_won String $status Boolean 
isInList Returns true if $needle is contained within $haystack. Generic $needle, List $haystack Boolean
isValidDate Returns true if $param1 is a valid date string. String $param1 Boolean
isValidEmail Returns true if $param1 is in a valid email address format. String $param1 Boolean
isWithinRange Returns true if $value is greater than or equal to $min and less than or equal to $max. Number $value, Number $min, Number $max Boolean
ln Returns the natural log of $param1. Number $param1 Number
log Returns the $base Log of $value. Number $value, Number $base Number
max Returns highest value of the given parameters. Number $param1, … Number
maxRelatedDate Returns the highest value of $field in records related to $module. Relate $module, String $field Date
median Returns the median of the given parameters. Number $param1, … Number
min Returns lowest value of the given parameters. Number $param1, … Number
monthofyear Returns the number of the month that $param1 is in. Date $param1 Number
multiply Returns the value of the given parameters multiplied together. Number $param1, … Number
negate Returns the negated value of $param1. Number $param1 Number
not Returns true if $param1 is false, and false if $param1 is true. Boolean $param1 Boolean
now Returns a Date object representing todays date and the current time.   Date
number Returns the numeric value of $param1. String $param1 Number
or Returns true if any given parameters are true. Boolean $param1, … Boolean
pow Returns the $value raised to the power of $exponent. Number $value, Number $exponent Number
related Returns the value of $field in the related $module. Relate $module, String $field Variable
rollupAve Returns the average value of $field in records related to $module. Relate $module, String $field Number
rollupConditionalSum Returns the sum of the values of $field in records related by $link where $conditionField contains something from $conditionalValues. Relate $link, String $field, String $conditionField, List $conditionalValues  Number 
rollupMax Returns the highest value of $field in records related to $module. Relate $module, String $field Number
rollupMin Returns the lowest value of $field in records related to $module. Relate $module, String $field Number
rollupSum Returns the sum of the values of $field in records related to $module. Relate $module, String $field Number
strlen Returns the number of characters in $param1. String $param1 Number
strToLower Returns $param1 converted to lower case. String $param1 Text
strToUpper Returns $param1 converted to upper case. String $param1 Text
subStr Returns the portion of $value specified by $start and $length. The position starts at 0. String $value, Number $start, Number $length Text
subtract Returns $param1 minus $param2. Number $param1, Number $param2 Number
timestamp Returns the passed in datetime string as a unix timestamp.   Date
today Returns a Date object representing todays date.   Date
toString Returns $param1 converted to a string. Generic $param1 Text
translateLabel Returns the translated value of $label for $module. String $label, String $module Text
valueAt Returns the value at position $index in $haystack. Number $index, List $haystack Variable

Fields

Fields are listed on the lower right-hand corner of the formula builder and contain the fields for the current module. Fields can be referenced in formulas and will start with a $. To locate the field you need, simply scroll through the list or enter search criteria to narrow the list.
Logic_Fields_Search
To add a field to the formula, simply click on the field to be added. The variable name for the field will be placed at the end of the formula. You can also type the variable names manually in the formula.

Related fields are available to be added to formulas via the related function. You can manually add related function calls to your formula or you can build the syntax for the related function by clicking "Related Field".
Logic_Related_Field

This will open a dialog box which will assist in building the syntax to use the related function. Select a module and a field within that module to pull the related field from and click "Insert".
Logic_Related_Field_Insert

The resulting syntax for the selected options will be added to the formula.

Note: If a record has multiple related records to a module, the related function will pull the field from one of the related records. It is not recommended to rely on the related function to pull the same related records for a many relationship.

Rollup

In addition to adding related fields, you can also add aggregate functions on related fields to formulas via the rollup functions. You can manually add rollup function calls to your formula or you can build the syntax for the rollup function by clicking "Rollup".
Logic_Rollup
This will open a dialog box which will assist in building the syntax to use the rollup function. Select the type of rollup function (Sum, Average, Minimum, or Maximum) to perform on the module field. To perform a count of related records, please refer to the count function listed in the Functions section. Select a module and a field within that module to perform the rollup function on and click "Insert".
Logic_Rollup_Insert
The resulting syntax for the selected options will be added to the formula.

Note: Rollup functions can only aggregate number type fields.

Viewing Layout History

Layouts, subpanels, and mobile layouts in Studio keep a history of the last ten changes made to the specific layout. To view the history for any of these layouts, simply select "View History" from the Record View (for Sidecar modules), List View, Edit View (for Legacy modules), etc. layout in Admin > Studio.

The following steps cover viewing the layout history for the Record View layout as an example:

  1. Navigate to the Record View layout in Admin > Studio.
  2. Click the View History button on the upper left of the layout editor.
    Studio7.7 ViewHistory
  3. The History dialog box will appear showing the timestamps of the last ten saves to the selected layout.
    ViewHistory_TimeStamp
  4. Click the timestamp or Preview button and a preview of the modified layout will appear in a new tab of the main layout panel.
    ViewHistory_PreviewTab
  5. To restore a specific layout per the history, click the Restore button within the Preview layout or from the History dialog box.
    ViewHistory_Restore

The chosen Record View layout will load into the editor and you may make appropriate changes to the layout as you wish. Click "Save" to preserve your changes or "Save & Deploy" to preserve your changes and deploy immediately.

Restoring Default Layouts

Various layouts in Studio can be restored back to the default out-of-the-box configuration, which will revert all changes made to the specific layout (e.g. list view, record view, etc.). To restore the default layout, simply click the Restore Default Layout button from the Record View (for Sidecar modules), List View, Edit View (for Legacy modules ), etc. layout in Admin > Studio.

From Record View layout (for Sidecar modules) :
Studio7.7 Restoring Default Layouts
From Edit View layout (for Legacy modules) :
Studio7.7 Restoring DefaultLayouts Legacy
The default layout will load into the editor and you may make appropriate changes to the layout as you wish. Click "Save" to preserve your changes or "Save & Deploy" to preserve your changes and deploy immediately.

Note: When using role-specific record view layouts, the functionality of the Restore Default Layout button changes depending on which the Role dropdown's selection. Please refer to the Restoring Customized Role-Views to the Default Role-View Layout section for more information.

Resetting Modules

Sugar comes with the ability to reset an entire module back to the default settings. You can also pick and choose which customizations you would like to remove. To reset a module, select the module from the Modules Panel and click "Reset Module" in the Main Panel.
Studio_ResetModules_Option1
The next screen will give you the following options to remove specific customizations:

  • Clear Relationships : Deletes all relationships added via Studio.
  • Remove Custom Fields : Deletes all fields added via Studio.
  • Reset Layouts : Resets the layouts back to the out-of-the-box configuration. You will need to click "Save & Deploy" on edit view and detail view layouts to be able to access the layouts.
  • Reset Labels : Deletes the custom language files located in ./custom/modules/{Module Name}/language/ which sets the labels for the module.
  • Clear Extensions : Deletes any customizations made to stock or custom fields and sets them back to the default. Deletes the module folder located in ./custom/Extension/modules/.

Select the desired options and click "Reset" to execute the reset.
Studio_ResetModules

Exporting Customizations

Sugar allows you to export a module's customized layouts, fields, and field labels from one Sugar instance to import into another Sugar instance. To do this, you will need to package the customizations in Studio, export it to your local machine, and then upload it into another Sugar instance. The system applies the customizations to the appropriate layouts, fields, and field labels.

Note: Safari users will need to change the default browser setting to disable automatic unzipping of files to ensure that exported packages install properly in Sugar. Navigate to Safari > Preferences > General and uncheck "Open 'safe' files after downloading" to disable the setting. 

Use the following steps to export your customizations via Studio:

  1. From the Studio home page, select "Export Customizations" in the main panel.
    Export_Customizations
  2. Enter appropriate values in the following fields. All required fields are marked with a red asterisk and must be completed prior to saving.
  • Package Name : Enter the name of the package to be displayed during installation.
  • Author : Enter the name of the author creating the package to be displayed during installation.
  • Description : Enter a description of the export to be displayed during installation.
  • Select at least one module to include in the customization export and click "Export".
    Export_Customizations_Export
  • The customizations are saved to your computer in a zip file that can be loaded into a different instance of Sugar via the module loader. For more information regarding installing packages, please refer to the Module Loader documentation.

Exporting Role-Based Customizations

If you have created role-based custom record views or custom dropdown lists, these role-based customizations will be included in your exported package. When installing the package on another Sugar instance, you will be given the opportunity to map role-based customizations from the package's roles to the destination instance's roles. Please refer to the Module Loader documentation for more information.

Last modified: 2019-08-21 17:48:21