.THIS .mydiv { max-width: 100em !important; max-height: 20em !important; overflow: scroll; position: relative; } .THIS table { position: relative; border-collapse: collapse; } .THIS td { padding: 0.25em; } .THIS th { padding: 0.25em; } .THIS thead th { position: -webkit-sticky !important; /* for Safari */ position: sticky !important; top: 0; z-index: 1; } .THIS table thead th:first-child { position: sticky !important; left: 0; z-index: 2; } .THIS table tbody th { position: sticky !important; left: 0; background: white; z-index: 1; }
All about SFDC
New Batch#100 (10th Nov 2021) - Salesforce Admin + Dev Training (WhatsApp: +91 - 8087988044) :https://t.co/p4F3oeQagK
Monday 1 March 2021
Lightning Datatable with fixed horizontal and vertical columns in Salesforce
Tuesday 25 August 2020
Salesforce Lightning Message Channel (LMC) communication
*** Lightning Message Channel (LMC) ***
1. Vs Code: Create a folder with the name "messagechannels" (under main\default)
2. Vs Code: Create meta file with the name "ChannelName.messageChannel-meta.xml" -
<?xml version="1.0" encoding="UTF-8"?>
<LightningMessageChannel xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>ChannelName</masterLabel>
<isExposed>true</isExposed>
<description>Message Channel used for the communication.</description>
<lightningMessageFields>
<fieldName>fieldData</fieldName>
<description>Variable used for lms data</description>
</lightningMessageFields>
</LightningMessageChannel>
3. Create a VS Page (lmcVfPage) -
<script>
let ChannelNameVar = "{!$MessageChannel.ChannelName__c}";
let subscribedRef;
function publish(){
const payload = {
fieldData: { //this name should be the channel field name
value: 'some data to send'
}
};
sforce.one.publish(ChannelNameVar, payload)
}
function subscribe(){
if(!subscribedRef)
subscribedRef = sforce.one.subscribe(ChannelNameVar, messageHandler, {scope:"APPLICATION"})
}
function unsubscribe(){
if(subscribedRef) {
sforce.one.unsubscribe(subscribedRef);
subscribedRef = null;
}
}
function messageHandler(message){
console.log(`message: ${message.fieldData}`);
}
</script>
4. Create a Aura Component (lmcAura) -
UI -
<lightning:messageChannel type="ChannelName__c" aura:id="ChannelNameId" onMessage="{!c.handleMessage}" scope="APPLICATION"/>
publish: function (cmp, event, helper) {
let msg = cmp.get("v.message")
let message ={
fieldData:{
value: msg
}
}
cmp.find("ChannelNameId").publish(message)
}
handleMessage: function (cmp, message, helper) {
if (message !=null && message.getParam("fieldData") !=null){
console.log(message.getParam("fieldData").value);
}
}
5. Create a LWC Component (lmcLwc) -
import { APPLICATION_SCOPE, publish, createMessageContext, releaseMessageContext, subscribe, unsubscribe } from 'lightning/messageService';
import ChannelNameVar from "@salesforce/messageChannel/ChannelName__c"
LightningElement {
context = createMessageContext();
publishMessage(){
const message = {
fieldData:{
value: 'Some Value'
}
}
publish(this.context, ChannelNameVar, message)
}
subscribeMessage(){
if (this.subscription){
return;
}
this.subscription = subscribe(this.context, ChannelNameVar, (message)=>{
this.handleMessage(message)
}, { scope: APPLICATION_SCOPE})
}
unsubscribeMessage(){
unsubscribe(this.subscription)
this.subscription = null
}
handleMessage(message){
console.log(lmsData? message.lmsData.value : 'No Message');
}
disconnectedCallback() {
releaseMessageContext(this.context)
}
}
5. Create an App Page and add all vf, aura and lwc components.
Thursday 30 July 2020
Wednesday 21 August 2019
Friday 5 January 2018
Bot (IBM Watson) with Salesforce Research
https://trailhead.salesforce.com/projects/surface-data-from-ibm-watson-discovery-in-salesforce/steps/set-up-a-watson-discovery-plan-on-ibm-bluemix
https://developer.ibm.com/dwblog/2017/watson-discovery-apex-sdk-salesforce/
https://developer.salesforce.com/blogs/developer-relations/2017/03/bot-toolkit-creating-deploying-bots-inside-salesforce.html
Friday 8 December 2017
Lightning Notes
flexipage:availableForAllPageTypes --> Makes your component available for record pages and any other type of page, including a Lightning app’s utility bar.
flexipage:availableForRecordHome --> If your component is designed for record pages only, implement this interface instead of flexipage:availableForAllPageTypes.
force:hasRecordId --> Add the force:hasRecordId interface to a Lightning component to enable the component to be assigned the ID of the current record.
forceCommunity:availableForAllPageTypes --> To appear in the Community Builder, a component must implement the forceCommunity:availableForAllPageTypes interface.
force:lightningQuickAction --> to a Lightning component to enable it to be used as a custom action in Lightning Experience or the Salesforce mobile app.
--------------------------
access = "global" --> To use it outside of the component name space.
-------------------------------
There are three ways of inserting a style sheet:
Inline style --> not supported in lightning compnent
Internal style sheet --> style resource
External style sheet --> <ltng:require styles="{!$Resource.***resourceName***}" />
The element Selector
---------------------
p {
text-align: center;
color: red;
}
The id Selector
----------------
#para1 {
text-align: center;
color: red;
}
The class Selector
------------------
.center {
text-align: center;
color: red;
}
specify that only specific HTML elements should be affected by a class
---------------------------
p.center {
text-align: center;
color: red;
}
p.large {
font-size: 300%;
}
<p class="center large">This paragraph will be red, center-aligned, and in a large font-size.</p>
Grouping Selectors
---------------------
h1, h2, p {
text-align: center;
color: red;
}
CSS Comments
----------------
p {
color: red;
/* This is a single-line comment */
text-align: center;
}
/* This is
a multi-line
comment */
---------------
Difference between lightning:button & ui:button
-----------
If you go thru the Lightning base components release notes, you will notice that the Base components are more of an extended implementation of the existing UI components.
here's an extract of the related section
You can find base Lightning components in the lightning namespace to complement the existing ui namespace components. In instances where there are matching ui and lightning namespace components, we recommend that you use the lightning namespace component. The lightning namespace components are optimized for common use cases. Beyond being equipped with the Lightning Design System styling, they handle accessibility, real-time interaction, and enhanced error messages.
Over a period, the base components will have more features built into it which can be easily configured / controlled by additional attributes.
---------------------
JavaScript Basics
=================
<script>
var person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
document.getElementById("demo").innerHTML = person.fullName();
</script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift(); // Removes the first element "Banana" from fruits
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop(); // Removes the last element ("Mango") from fruits
Understanding JavaScript Controllers Versus Helpers In Lightning Components
https://developer.salesforce.com/blogs/developer-relations/2015/06/understanding-javascript-controllers-versus-helpers-lightning-components.html
https://developer.salesforce.com/blogs/author/rraodv
Component Rendering -
https://developer.salesforce.com/blogs/developer-relations/2015/06/understanding-system-events-lightning-components-part-2.html
Loading External JavaScript And CSS Libraries To Lightning Components -
https://developer.salesforce.com/blogs/developer-relations/2015/05/loading-external-js-css-libraries-lightning-components.html
Event Propagation -
https://developer.salesforce.com/blogs/developer-relations/2017/08/depth-look-lightning-component-events.html
-----------------------------------------------------------
Different way of handling server callback -
**********************************
// Create server request
var action = component.get("c.getExpenses");
// Send server request
$A.enqueueAction(action);
// ... time passes ...
// Handle server response
var state = action.response.getState();
if (state === "SUCCESS") {
component.set("v.expenses", action.response.getReturnValue());
}
---------------------------------------------
Map Syntax in Lightning javaScript -
*****************************
var
parammap = {
"sortField"
: cmp.get(
"v.sortField"
),
"sortOrder"
: cmp.get(
"v.sortOrder"
),
"objectName"
: cmp.get(
"v.objectName"
),
"fieldSetName"
: cmp.get(
"v.fieldSetName"
)
};
-----------------------------------
Friday 9 June 2017
Displaying text in td cell in multiple lines Salesforce
<apex:page > <apex:form> <table> <tr><td> <div id="myDiv"/> </td></tr> </table> <apex:commandButton onclick="myFunction();" value="NextLine" reRender="dummy"/> <apex:outputPanel id="dummy"/> </apex:form> <script> function myFunction() { document.getElementById('myDiv').innerHTML='<apex:outputText escape="false" value="{!$Label.sample}"/>'; //$Label.sample -->This is <strong><font color="#FF0000"></font></strong> Test Label111 <br/> second Line alert('hi'); } </script> </apex:page> |
Result:
Labels
- 15 digit sfdc id (1)
- 18 digit sfdc id (1)
- 5 minutes (1)
- 50 million records (1)
- A logical segment of your organization's data (1)
- a new record has created in patient object (1)
- Access to object in a test class (1)
- account (1)
- actionfunction (1)
- actionregion (1)
- actionstatus (1)
- actionsupport (1)
- Adding a custom button to page layout in sfdc (1)
- adding additional fields apart from the standard field for the search layouts (1)
- Adding fields to Search Layouts in SFDC (1)
- After deleting a record in master object what will happen for the records of junction object in sfdc (1)
- after triggers (1)
- aggregate query (1)
- Ajax Partial Page Updates in visual force (1)
- annotations (2)
- Annotations in SFDC (1)
- apex (44)
- Apex Classes (2)
- Apex Data Loader (5)
- Apex Data Loader errors (1)
- Apex Programs (3)
- apex:component (1)
- assignTo (1)
- Based on picklist selection (1)
- batch apex (5)
- Batchable Apex (1)
- Before event in trigger (1)
- before triggers (2)
- Bot (IBM Watson) with Salesforce Research (1)
- bulk api (1)
- bulk triggers (1)
- call apex method using javascript (1)
- call by reference and call by value in apex (1)
- Callout from APEX Triggers (1)
- Callout Integration and Apex (1)
- CAMPAIGNS (1)
- CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY (1)
- Cascading Style Sheets (1)
- case (1)
- Cast Iron (2)
- Change Case Owner VF Page (1)
- Changing hyperlink from one color to another color (1)
- Clicking on a commandButton multiple times in a row results in action being fired multiple times (1)
- Cloud Computing Basics (1)
- Collections (3)
- configuration (3)
- Controlling Data with the Force.com Platform (1)
- Controlling Recursive Triggers (1)
- copy field values of one object to another object (1)
- Creating a Many-to-Many Relationship (1)
- CRM (1)
- Cross object update trigger test coverage failure (1)
- css (3)
- CSS for changing the color of a hyper link (1)
- custom login page (1)
- Custom settings (1)
- Data Loader batch size (1)
- Data Loader CLI (1)
- Database .Batchable (1)
- Database.Batchablecontext (1)
- Database.executeBatch (1)
- Database.Stateful (1)
- dataloader (1)
- date (3)
- Date Method to get day of the week (1)
- Define and Insert Queues in Apex Triggers and Test Classes? (1)
- Defining a Manual Sharing Rule (1)
- Delete a record in Aura Datatable (1)
- Difference between 15 digit Id and 18 digit Id in Salesforce (1)
- Difference between abstraction and abstract (1)
- Difference between Interface and Abstract Class (1)
- Difference between Sales Cloud and Service Cloud in sfdc (1)
- Difference between salesforce.com and force.com and developerforce.com (1)
- Difference between SOAP and Restful Webservice (1)
- differentiation (1)
- Disable command buttons on click in visualforce (1)
- Dispaly particular field based on the selection of the particular field (1)
- Display pageblocks based on the picklist selection (1)
- Displaying pop-up summaries on hover in visualforce (1)
- Displaying text in td cell in multiple lines Salesforce (1)
- Div and Span html tags difference (1)
- divisions in sfdc (1)
- dml (1)
- dml statements not required for before events in triggers (1)
- DML Validations (1)
- due to one record entire batch will fail (1)
- Dynamic Apex (1)
- Dynamic Visualforce Naming (1)
- Enhanced List in SFDC (1)
- enterprise wsdl (1)
- Entity deleted (1)
- Error (5)
- exchanging data between heterogenious environment (1)
- execute (1)
- external id (1)
- External Style sheet (1)
- Field sets (1)
- finish methods (1)
- fixed headers datatable (1)
- fixed horizontal and vertical headers in datatable (1)
- for others it should be hide (1)
- Force.com GUI (28)
- Formula (2)
- formula fields (1)
- Gantt Chart (1)
- Generate PDF with apex trigger (1)
- Governor Limits (3)
- Governor Limits for single apex class or entire organization (1)
- Hide/show a pageBlock depending upon the button selection (1)
- hierarchical relationship (1)
- how can I execute 200 records each time in Trigger? (1)
- how can we do it? (1)
- How many ways we can call Apex Classes? (1)
- how to access the encrypted field values (1)
- How to create a site using Apex Code (1)
- How to deactivate security token to be enter? (1)
- How to disable inputfield at particular day? (1)
- How to disable/enable all validation rules for data loading (1)
- how to display corresponding pageblock on VF page (1)
- How to disply custom client-side error messages on VF pge (1)
- How to give the Pagereference for the Save and New ? (1)
- how to lock a record? (1)
- How to publish sites using siteforce? (1)
- How to pull values of records modified 7 days ago? (1)
- how to remove a value from list without using its index (1)
- How to send the failure information in a email for the Batch process? (1)
- How to show visual force error? (1)
- I have 1000 records (1)
- I want to retrieve the records of the custom/standard object of the current user (1)
- if we click any button that country information should only display (1)
- If you click on button a text msg should display on vf page (1)
- Illegal assignment from Account List to Account List (1)
- Inline Style (1)
- Inser failed: inactive user (1)
- Integration between Cast Iron and Microsoft SQL Server 2005 (1)
- Internal Style Sheet: (1)
- Invoking Callouts Using Apex (2)
- Is it possible to refer static resources files in formula fields (1)
- Iterable (1)
- java (1)
- Javascript with Visualforce pages (1)
- Latest Versions in SFDC (1)
- Lead (1)
- lead management (1)
- lightning (1)
- List usage in Apex (1)
- List usage in Salesforce (1)
- list views (1)
- lock (1)
- lookup relationship (1)
- Managing the Heap in Salesforce.com (1)
- Manual Sharing Rule in SFDC (1)
- Manually entered Date value in Apex (1)
- many to many relationship (1)
- Map usage in Apex (1)
- Map usage in salesforce (1)
- Mater detail relationship (1)
- maximum trigger depth exceeded MyObject__c trigger (1)
- monthe (1)
- Moving data from sandbox to production (1)
- Moving data from sandbox to production in sfdc (1)
- Moving pick-list values up and down (reordering) in javaScript (Works only chrome (1)
- Multilevel Master-Detail Relationships (1)
- Multiplication pattern with Apex (1)
- not working for Firefox and IE) (1)
- order of execution of triggers (1)
- Organization Wide Defaults (1)
- Organization Wide Defaults.OWD (1)
- outputpanel (1)
- ownerid (1)
- partner wsdl (1)
- passing dynamic content to system.schedule (1)
- Passing parameters between visualforce pages (1)
- Permission Sets (1)
- Permission Sets in sfdc (1)
- PG) we should use manual sharing (1)
- Pick List in VF (1)
- Pick List in Visual Force (1)
- Process Visualizer in SFDC (1)
- Products (1)
- Querying All Contacts from One Account (1)
- Queues in SFDC (1)
- Radio-buttons simple code (1)
- Random Password Generator (1)
- Record level security (1)
- recursive triggers (1)
- regular expressions (1)
- relationships (1)
- Report should be available only to CEO (1)
- Reports (1)
- rest ful (1)
- restful api (1)
- Retrieving information from child to parent incase of standard objects using SOQL (1)
- retrieving month value from date field in apex class/Trigger (1)
- Review Points in SFDC (1)
- Role hierarchy (1)
- Roll Up Summary Fields using Trigger After events (1)
- rollup summary (2)
- rollup summary programatically (1)
- Rollup Summary using triggers (2)
- runas in Dashboard (1)
- salesforce (1)
- salesforce standard object lead (1)
- salesforce standard products (1)
- salesforce.com (1)
- Schedulable Apex (2)
- Schedulablecontext (1)
- Scheduling Batch Class after 6 minutes whenever a batch finish method executed in salesforce (1)
- Scheduling batch class for every 5 minutes using system.schedule method in salesforce (1)
- schema (1)
- security (3)
- security token (1)
- select list in VF (1)
- select list in Visual Force (1)
- self relationship (1)
- Set usage in Apex (1)
- Set usage in salesforce (1)
- sfdc (1)
- SFDC Governor Limits (2)
- sfdc id (1)
- sfdc products object (1)
- Sharing a Record Using Apex (1)
- Sharing Rules (1)
- Sharing Rules in SFDC (1)
- soap (1)
- soap api (1)
- soql (3)
- SOQL contacts (1)
- Spring '16 Important Features (1)
- srinusfdc (1)
- start (1)
- static variables (1)
- string (1)
- substring (1)
- Summer 15 Release Notes Saelsforce (1)
- system.queryException (1)
- system.schedule (2)
- Testing Apex (1)
- The default workflow user in SFDC (1)
- to create custom change owner functionality for the case record (1)
- To disable other checkboxes in a section if one is selected. (1)
- To display all the fields of sObject using Apex and VF (1)
- To make the Sharing Button visible (1)
- To pass the parameters between the VF pages which have different controllers: (1)
- To perform arithmetic operations (APEX) (1)
- To perform arithmetic operations (VF) (1)
- To return to a same page with empty fields in VF (1)
- To share a particular record to a particular user (1)
- Transient (1)
- Translation Workbench (1)
- trigger (6)
- trigger context variables (1)
- trigger on related object field (1)
- Trigger to update a field in parent record once a task is created (1)
- Triggers (11)
- Try to access info. form sObj for which don't have permissions for user using trigger (1)
- uddi (1)
- Understanding Entity Relationship Diagram (ERD) in SFDC (1)
- Upcoming Posts in SFDC (1)
- Update a record on which we are writing the trigger (1)
- Upsert (1)
- Upserting data from Cast Iron to Salesforce (1)
- Usability: Fields and Page Layouts (1)
- Using 'If' condition in formula field of SFDC (1)
- Using Batch Apex to Change the Account Owners (1)
- Using Batch Apex to Change the Account Owners and call it from trigger (1)
- Using case in formula fields of sfdc (1)
- Using Cross-Object Formula Fields and Hyperlinks in formula of SFDC (1)
- Using Data Loader from the command line (1)
- Using Hierarchy Custom Settings in Salesforce (1)
- Using ISBLANK and ISPICKVAL in Formula fileds of salesforce.com (1)
- Using Regular Expressions in SFDC (1)
- Using the Import Wizard in SFDC (1)
- Validation Rules (1)
- Validation Rules in SFDC (1)
- validations (1)
- Visual Force Basic code (1)
- Visual Force Important Points (1)
- visualforce (28)
- VisulaForceError-System.QueryException: List has no rows for assignment to SObject (1)
- vlookup (1)
- We have three country buttons (1)
- web services (6)
- web services integrations (1)
- Whenever Opportunity stagename fieldset to 'Closed Won' (1)
- Workflow and Trigger differences (1)
- Workflow Rules and Approvals (1)
- Workflows is sfdc (1)
- Wrapper Class (1)
- wsdl (1)
- xml (1)