Custom Controller: A custom
controller is an Apex class that implements all of the logic for a page without
leveraging a standard controller. Use custom controllers when you want your
Visualforce page to run entirely in system mode, which does not enforce the
permissions and field-level security of the current user.
Controller extension: A controller
extension is an Apex class that extends the functionality of a standard or
custom controller.
Although custom controllers and controller extension classes execute in system
mode and thereby ignore user permissions and field-level security, you can
choose whether they respect a user’s organization-wide defaults, role hierarchy,
and sharing rules by using the with sharing keywords in the class
definition.
2. What are different kinds of reports?
1. Tabular: Tabular reports are the simplest and fastest way
to look at data. Similar to a spreadsheet, they consist simply of an ordered set
of fields in columns, with each matching record listed in a row. Tabular reports
are best for creating lists of records or a list with a single grand total. They
can’t be used to create groups of data or charts, and can’t be used in
dashboards unless rows are limited. Examples include contact mailing lists and
activity reports.
2. Summary: Summary reports are similar to tabular reports,
but also allow users to group rows of data, view subtotals, and create charts.
They can be used as the source report for dashboard components. Use this type
for a report to show subtotals based on the value of a particular field or when
you want to create a hierarchical list, such as all opportunities for your team,
subtotaled by Stage and Owner. Summary reports with no groupings show as tabular
reports on the report run page.
3. Matrix: Matrix reports are similar to summary reports but
allow you to group and summarize data by both rows and columns. They can be used
as the source report for dashboard components. Use this type for comparing
related totals, especially if you have large amounts of data to summarize and
you need to compare values in several different fields, or you want to look at
data by date and by product, person, or geography. Matrix reports
without at least one row and one column grouping show as summary reports on the
report run page.
4. Joined: Joined reports let you create multiple report
blocks that provide different views of your data. Each block acts like a
“sub-report,” with its own fields, columns, sorting, and filtering. A joined
report can even contain data from different report types.
3. What are different kinds of dashboard component?
1. Chart: Use a chart when you want to show data
graphically.
2. Gauge: Use a gauge when you have a single value that you
want to show within a range of custom values.
3. Metric: Use a metric when you have one key value to
display.
- Enter metric labels directly on components by clicking the empty text field
next to the grand total. - Metric components placed directly above and below each other in a dashboard
column are displayed together as a single component.
4. Table: Use a table to show a set of report data in column
form.
5. Visualforce Page: Use a Visualforce page
when you want to create a custom component or show information not available in
another component type
6. Custom S-Control: Custom S-Controls can contain any type
of content that you can display or run in a browser, for example, a Java applet,
an ActiveX control, an Excel file, or a custom HTML Web form.
4. How to schedule a class in Apex?
To invoke Apex classes to run at specific times,
first implement the Schedulable interface for the class, then specify the
schedule using either the Schedule Apex page in the Salesforce user interface,
or the System.schedule method.
After you implement a class with the Schedulable interface, use
the System.Schedule method to execute it. The scheduler runs as system: all
classes are executed, whether the user has permission to execute the class or
not.
The System.Schedule method takes three arguments: a name for the job, an
expression used to represent the time and date the job is scheduled to run, and
the name of the class.
Salesforce only adds the process to the queue at the scheduled time. Actual
execution may be delayed based on service availability.
The System.Schedule method uses the user’s time zone for the basis of all
schedules. You can only have 25 classes scheduled at one time.
5. What is PermissionSet?
PermissionSet represents a set of permissions that’s
used to grant additional access to one or more users without changing their
profile or reassigning profiles. You can use permission sets to grant access,
but not to deny access.
Every PermissionSet is associated with a user license. You can only assign
permission sets to users who have the same user license that’s associated with
the permission set. If you want to assign similar permissions to users with
different licenses, create multiple permission sets with the same permissions,
but with different licenses.
6. What are governor limits in Salesforc.com?
Governor limits are runtime limits enforced by the Apex
runtime engine. Because Apex runs in a shared, multitenant environment, the Apex
runtime engine strictly enforces a number of limits to ensure that code does not
monopolize shared resources. Types of limits that Apex enforces are resources
like memory, database resources, number of script statements to avoid infinite
loops, and number of records being processed. If code exceeds a limit, the
associated governor issues a runtime exception that cannot be handled thereby
terminating the request.
7. What are custom settings?
Custom settings are similar to custom objects and
enable application developers to create custom sets of data, as well as create
and associate custom data for an organization, profile, or specific user. All
custom settings data is exposed in the application cache, which enables
efficient access without the cost of repeated queries to the database. This data
can then be used by formula fields, validation rules, Apex, and the SOAP
API.
There are two types of custom settings:
List Custom Settings
A type of custom setting that provides a reusable set of static data that can
be accessed across your organization. If you use a particular set of data
frequently within your application, putting that data in a list custom setting
streamlines access to it. Data in list settings does not vary with profile or
user, but is available organization-wide. Because the data is cached, access is
low-cost and efficient: you don’t have to use SOQL queries that count against
your governor limits.
Hierarchy Custom Settings
A type of custom setting that uses a built-in hierarchical logic that lets
you “personalize” settings for specific profiles or users. The hierarchy logic
checks the organization, profile, and user settings for the current user and
returns the most specific, or “lowest,” value. In the hierarchy, settings for an
organization are overridden by profile settings, which, in turn, are overridden
by user settings.
8. What are different portals in Salesforce.com?
Partner Portal:
A partner portal allows partner users to log in to Salesforce.com through a
separate website than non-partner users. Partner users can only view & edit
data that has been made available to them. An organization can have multiple
partner portals.
Customer Portal:
Customer Portal provides an online support channel for customers allowing
them to resolve their inquiries without contacting a customer service
representative. An organization can have multiple customer portals.
9. What is the use of Salesforce.com Sites?
Force.com Sites enables you to create public websites and applications
that are directly integrated with your Salesforce organization without requiring
users to log in with a username and password. You can publicly expose any
information stored in your organization through a branded URL of your choice.
Sites are hosted on Force.com servers and built on native Visualforce pages. You
can user authentication to a public site using customer portal.
10. What actions can be performed using Workflows?
1. Email Alert:
that are generated using an email template by a workflow rule or approval
process and sent to designated recipients, either Salesforce users or others.
Workflow alerts can be sent to any user or contact, as long as they have a valid
email address.
2. Field Update:
that specify the field you want updated and the new value for it. Depending on
the type of field, you can choose to apply a specific value, make the value
blank, or calculate a value based on a formula you create.
3. Task:
specify the Subject, Status, Priority, and Due Dateof the task. Tasks are
workflow and approval actions that are triggered by workflow rules or approval
processes.
4. Outbound Message:
milestone action that sends the information you specify to an endpoint you
designate, such as an external service. An outbound message sends the data in
the specified fields in the form of a SOAP message to the endpoint.