Thursday, January 21, 2016

Data Modelling :Creating custom object and fields

Note: All credit goes to Salesforce, I am just a developer who enjoy playing trailhead and try to make note to myself.

Best Practices for Custom Objects and Fields

  1. Unique naming: Make object and field names and labels concise, specific, and descriptive. And very importantly, unique. For example, if your recruiting app’s Position object has a field named Skill Set, use something like Candidate Skill Set on the Candidate object to describe applicants’ skills.
  2. Thoughtful architecture: When adding fields to an object, what’s the cleanest and most efficient way to capture data? For example, instead of a long list of checkboxes to track the regions that currently have a particular position open, use a picklist.
  3. Default field values: Don’t assign default values to fields that are both required and unique, as this can cause uniqueness errors.
  4. Careful renaming: If you’ve renamed objects or fields, check that these items reflect the new names:
    • List view names
    • Standard report names or descriptions that include the objects or fields
    • Email templates that contain the object or field names
    • Any other items you customized along with the renamed object or field — custom fields, page layout, or record types
    • Global data updates: Before changing a field type (for example from checkbox to picklist), make sure the change makes sense for all records that have that field.
  5. Help for users: Add help text when defining new objects or fields. Help text should describe exactly what the object or field is for.
Source:Creating custom object and fields

Data Modelling :Understanding Standard and Custom Object

Note: All credit goes to Salesforce, I am just a developer who enjoy playing trailhead and try to make note to myself.
In relational database such Oracle,MySql we use table to store data but in Salesforce we use object.Here the summary of term that use in relational database and the term that we use in Salesforce.

Relational Database Salesforce
Table Object
Column Field
Row Record

Standard Object - objects included by Salesforce by default such as Account,Opportunity,Leads.
Custom Object-object that created by user/developer to support the need of organization.

Fields and Relationships

Identitiy - ID
automatically assigned by 15 case sensitive characters.It is unique.

System Fields
Default read only field created by upon object created such as CreatedDate,CreatedBy,LastModifiedDate etc.

Name field
required but not unique, depend on how we want to identify the record.

Custom Fields
Created by user .Support type such as autonumber,picklist,text,geolocation etc.

Look up (link to other object) and Master Detail(parent child relationship)

Table is generated using Table Generator.
Source:Understanding Standard and Custom Object

Salesforce Platform Basic: Developing an AppExchange Strategy

Note: All credit goes to Salesforce, I am just a developer who enjoy playing trailhead and try to make note to myself.

AppExchange Strategy is best practice before planning to install an apps.

Steps to apply the strategy:

  1. Identify the departments using Salesforce (either now or in the future). These are your primary stakeholders for AppExchange app installations.
  2. Research AppExchange apps for the business cases provided by your stakeholders. Interview your stakeholders thoroughly to gather the requirements needed to select and evaluate the apps. Some good questions to ask include:
    • What business problem are you trying to solve?
    • What are your main pain points at present?
    • How many users?
    • What is your budget?
    • What is your timeline?
  3. Download apps into a sandbox or Developer Edition org for preview and testing. An important step is to ensure that the app you’re installing doesn’t interfere with any customizations you’ve done or other apps you’ve already installed. This is also a good time to ensure you don’t already have an app installed that provides the same functionality.
  4. Evaluate your choices. Consider budget, app functionality, and any feature gaps. Consider inviting your stakeholders into the sandbox or Developer Edition org to preview the app functionality, or invite your stakeholders to a demo of the app.Might want to use Kepner Tregoe Method for decision making.
  5. Execute and document. Prepare your users for the change in user experience (if any), including providing training or documentation as needed.

Source:Developing an AppExchange Strategy

Salesforce Platform Basic: Discovering Use Cases for the Platform

Note: All credit goes to Salesforce, I am just a developer who enjoy playing trailhead and try to make note to myself.

Identify use cases with lowest risk and effort first.

Start with easy-to-implement, high-impact apps.

Tips to identify use cases

Look for processes such:

  • Reliance on spreadsheets.
  • Collaboration via email
  • Documents shared on local file directories
  • Time-intensive, manual steps
  • Impact to a few departments maximum (keep the minimum when get started)

  • Some samples provided: A table describing the uses of the platform by department.

    Source:Discovering Use Cases for the Platform

    Salesforce Platform Basic: Navigation Setup

    Note: All credit goes to Salesforce, I am just a developer who enjoy playing trailhead and try to make note to myself.

    #ItemWhat it is and why you shouldn’t miss it
    1Company Information
    • At-a-glance view of your org overall
    • Find your org ID
    • See your licenses in use and how many you have available
    • Monitor important limits, including APIrequests, data usage, and file usage
    • Reset passwords
    • Manage user licenses, profiles, and permission sets
    • Create new users and deactivate or freeze existing users
    3Profiles & Permission Sets
    • Assign permissions for your overall org
    • View standard profiles and permission sets, and create your own custom ones as needed
    4View Setup Audit Trail
    • 6 months of history on changes made to your org
    • Date, time, and user stamped on who made the change
    • Although not all changes are tracked, this is an essential tool for troubleshooting issues and finding root cause
    5Login History
    • 6 months of history on who logged into your org
    • View date, time, user, IP address, browser, application, and other important data
    • Important for both security tracking purposes and adoption
    • At-a-glance view of sandbox types, including how many are available and in use
    • List of sandboxes, their last copy (“refresh”) date, and links to log in, delete, edit, and if available, refresh
    • Sandboxes are a vital tool for administrators and developers and a worthwhile investment; if budgets absolutely do not permit, consider development in a free Developer Edition org
    7Scheduled Jobs
    • View all future jobs, including Apex jobs, dashboard refreshes, and reporting snapshots
    • Monitor a job in progress
    • Delete future jobs
    8Apex Jobs
    • Monitor the status of all Apex jobs
    • Abort a job in progress
    • Create a custom list view to see only future methods or Apex batch jobs
    9Schema Builder
    • Visual, interactive display of your standard and custom objects
    • Create objects and fields on the fly
    • Create and modify relationships between objects, all from one screen
    10Storage Usage
    • Monitor your overall file and data usage
    • View a granular list of storage by object, and top users in your org who are consuming storage limits
    Source:Navigation Setup

    Salesforce Platform Basic: Understand the Salesforce Architecture

    Note: All credit goes to Salesforce, I am just a developer who enjoy playing trailhead and try to make note to myself.

    Architecture Basic

    Trusted Multitenant Cloud

    • Able to deliver Software as Services
    • Seamless upgrade 3 times a year
    A multitenancy analogy.

    Scalable,Metadata platform 

    • Meta data is data about data.
    • Metadata driven architecture means everything schema,code,configuration are specified in metadata.

    Fast App development and customization

    Because it use metadata,so it is quicker.
    Vastly reduce app development time.

    Largest Enterprise Ecosystem.

    Complete CRM

    • Support sales,service,analytics,marketing,community and apps needs.

    API(Application Programming Interface)

    • A contract between two pieces of software, allowing them to connect to each other and exchange information
    • Provided with powerful API.

    Salesforce Platform Basic: Getting started with Platform

    Note: All credit goes to Salesforce, I am just a developer who enjoy playing trailhead and try to make note to myself.

    What the platform is?

    Platform is where customer can use SFDC technologies to build apps.Platform enable customer to customize standard functionality or build an app from the scratch.

    Customer/Developer able toSFDC platform functionality:
    Manage internal project requestsCustom objects for managing projects
    Add custom fields to capture important dataCustom fields for standard and custom objects
    Set up automatic email alertsProcesses with email alert actions
    Build a custom internal appLightning Components and Lightning App Builder for creating an employee app
    Build a custom customer-facing appHeroku for creating a customer-facing app

    Explain the differences between declarative and programmatic development.

    Point-and-click functionality in Salesforce.No code required,just configuration.
    User InterfaceCreate forms and page layouts using drag-and-drop tools in the Page Layout editor.
    LightningProcess BuilderCreate rules that take time-dependent actions and automate multi-step processes using Workflows. Automate the processes your organization uses to approve Salesforce records using Approvals.
    Schema BuilderCustomize objects and create relationships between them using drag-and-drop tools in Schema Builder.
    Reports and DashboardsPresent data quickly and comprehensively using Report Builder. Show data from source reports as visual components using Dashboards.

    Code-driven functionality in Salesforce, mean using Apex,Visualforce,Lightning,Javascript,CSS etc.
    ApexDevelop with an object-oriented, Java-like programming language that’s optimized and tuned for accessing Salesforce database objects.
    VisualforceDefine user interface components and construct visual elements using a markup language similar to HTML, thus allowing the user to interact with and modify data from the database.
    SOQLLook at a specific set of data, like all contacts in a geographic region, using’s object database query language, similar in syntax to SQL.SOQL is used in many of the Salesforce APIs.
    LightningComponentsDevelop dynamic web apps for mobile and desktop devices, using a modern, component-based UI framework.

    The module end up with challenge to build a simple app.

    Source:Getting started with Platform