Saurabh Gupta
IndividualForum Replies Created
-
Saurabh
MemberMarch 27, 2017 at 8:11 am in reply to: Has anyone used Big Objects for any production use for storing data? How much it costs per GB?Hi Danna,
you can look upon this link for getting information about Salesforce Big Objects -: BigObjects Implementation Guide
For information about Salesforce Big Objects pricing/cost & storage, you can look upon this link: https://www.shellblack.com/data/storage/
Hope this will help you:
Thanks
-
Saurabh
MemberMarch 27, 2017 at 5:58 am in reply to: Why only HTML email are tracked by Email Status in Salesforce Lead object? Is there any way to track Text Email also?Hi Pranav,
Only users who sent the HTML email can generate the HTML Status report.
The HTML Email Status report must be generated while logged into the user account that sent the HTML Email. Otherwise the HTML Email Status report will return zero records, even when generated by a System Administrator.
The HTML tracking is only beneficial if the email is received and opened in the HTML format. Many organizations may not permit the reception of HTML emails due to potential security issues they can cause. This will cause the HTML version of the email (and tracking element) to be refused. In those cases, the Text Only version is sent. This Text Only version is more likely to be received, but there are no tracking features available to it.
Workarounds
1. Add your HTML Email Status report to a Salesforce.com Dashboard, and set the 'View Dashboard As:' setting to the user that sent out the email(s). You can then save this dashboard as something like 'Email Campaigns - Sent from [user]'. Any user viewing the dashboard will see the HTML email status, even if they did not send it, and they can refresh the dashboard too.
2. Schedule a run for the report changing the running user from you to a different user.
#On the other hand second part of your question The short answer is no. It's not possible in that kind of passive way (an open resulting in a request to load an image).
Of course you can provide a link in the message and track those conversion - not the same as opens, obviously, but at least a way to measure engagement.
-Consider that an email is something that is inherently static. The only way to know if someone has "opened" an email is for the email to send some information back to your server. Most email clients these days support HTML emails, which means that you can get the client to request an image (or anything else) from your server by embedding the proper HTML tags. Other than this, you cannot force an email client to do anything it doesn't want to do. It's a separate program on a remote computer, and you have no control over it.
-There's no foolproof way. There will always be emails you can't track. If someone downloads their email and disconnects from the internet before reading it, you can't track that email. Most email clients allow you to disable image loading now as well if you want to, so that can block tracking too.
Hope this will help you:
Thanks
-
Saurabh
MemberMarch 24, 2017 at 10:55 am in reply to: After creating different record types for account , how can we add the master record type in the pick list of record type?Hi pranav,
The master record type is a placeholder record type when the system is set up out of the box. As the master record type is a place holder it does not have a record type id. If there are no other record types then you will need to assign the page layout you would like your profiles to use to the master record type.
If other record types exist, then the master record type page layout selection is not relevant. It will always be populated with a page layout but not used if there are other record types in the system.
Once a custom record type is created the master record is no longer available for selection not only on page layouts but also on actions.
More over the "Master" Record Type is just the initial null record type when you initially have NO custom record types. It doesn't technically exist until you create a custom RT. Then it becomes selectable. But, often is never used again. It's just a base line. Once you start using custom RT's you never use it again really.
Any 'available' record type can be selected from the 'new record' screen for that object. If you don't want Users to be able to create a new record of a specific record type, make sure that record type is not 'available'.
They will still be able to view records of that record type, but won't be able to create records of that record type.we often use a set of 'available' record types to use for the 'new record' screen, then use WFR Field Updates to change to specific other record types based on the values entered on the record. This lets me control the page layout for 'new' vs. existing records.
Hope this will help you:
Thanks
-
Saurabh
MemberMarch 24, 2017 at 7:38 am in reply to: How to use vf page of custom controller in sobject page?Hi Pranav,
If i am not wrong i think you want to create an sobject page replica by using custom controller.
you can try this:
#vf page for making sobject account with field accountname:
<apex:page controller=”myController” >
<apex:form >
<apex:pageBlock title=”My Content” mode=”edit”>
<apex:pageBlockButtons >
<apex:commandButton action=”{!save}” value=”Save”/>
</apex:pageBlockButtons>
<apex:pageBlockSection title=”My Content Section”
columns=”2”>
<apex:outputLabel for=”aName”>Account Name:</
apex:outputLabel>
<apex:inputText value=”{!accountName}”/>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>#And the controller class for this:
public with sharing class myController {
private final Id accountId ;
public final String accountName {get; set; }public myController() {
Account account = [select Id, Name from Account where id
= :ApexPages.currentPage().getParameters().get(‘id’)];
accountId = account.Id ;
accountName = account.Name ;
}public PageReference save() {
Account myAccount = [select name from Account where id
= :accountId];
myAccount.name = accountName ;
update myAccount;
return null;
}
}Similarly you can add more fields as you wanted by adding components in vf page and creating functions in controller class.
Hoping this is the solution for you question:
Thanks
-
Saurabh
MemberMarch 23, 2017 at 3:03 pm in reply to: Can we demand for additional component in a existing app?Hi Tannu,
When you’re ready to add components to your app, you should first look at the out-of-the-box components that come with the framework. You can also leverage these components by extending them or using composition to add them to custom components that you’re building.
Components are encapsulated and their internals stay private, while their public shape is visible to consumers of the component. This strong separation gives component authors freedom to change the internal implementation details and insulates component consumers from those changes.
The public shape of a component is defined by the attributes that can be set and the events that interact with the component. The shape is essentially the API for developers to interact with the component. To design a new component, think about the attributes that you want to expose and the events that the component should initiate or respond to.
Once you have defined the shape of any new components, developers can work on the components in parallel. This is a useful approach if you have a team working on an app.
#To add a new custom component to your app you can see developer console
The Developer Console enables you to perform these functions.
Use the menu bar (1) to create or open these Lightning resources.
Application
Component
Interface
Event
Tokens
Use the workspace (2) to work on your Lightning resources.
Use the sidebar (3) to create or open client-side resources that are part of a specific component bundle.
Controller
Helper
Style
Documentation
Renderer
Design
SVG#For more information refer to this link
Hope this will help you:
Thanks
-
Saurabh
MemberMarch 23, 2017 at 2:38 pm in reply to: What are the custom email handler in salesforce?Hi,
For every email the Apex email service domain receives, Salesforce creates a separate InboundEmail object that contains the contents and attachments of that email. You can use Apex classes that implement the Messaging.InboundEmailHandler interface to handle an inbound email message. Using the handleInboundEmail method in that class, you can access an InboundEmail object to retrieve the contents, headers, and attachments of inbound email messages, as well as perform many functions.
Custom Email handler is a feature of salesforce.com where, the user can assign an Apex Class that implements the Messaging.InboundEmailHandler interface to a configuration which allows you to process the email contents, headers and attachments. Using this Information, you can cater a variety of requirements . Listing few, create a new contact if one does not exists with that email address, receive job applications and attached the person’s resume to their record.
Email services are basically an option to a developer to develop a functionality , where an email can be received at a particular address and some operations can happen on the data retrieved from the email. These operations are done by the Apex Code, thus giving us a spectrum of options that fulfils requirements.
# general template to create the apex class for the email services is:
global class myHandler implements Messaging.InboundEmailHandler {
global Messaging.InboundEmailResult handleInboundEmail(Messaging.InboundEmail email, Messaging.InboundEnvelope envelope) {
Messaging.InboundEmailResult result = new Messaging.InboundEmailresult();
return result;
}
}#Apex Code with test method:
global class CreateContactFrmEmail implements Messaging.InboundEmailHandler {
global Messaging.InboundEmailResult handleInboundEmail(Messaging.InboundEmail email,
Messaging.InboundEnvelope envelope) {Messaging.InboundEmailResult result = new Messaging.InboundEmailresult();
String subToCompare = 'Create Contact';
if(email.subject.equalsIgnoreCase(subToCompare))
{
Contact c = new Contact();
c.LastName = email.plainTextBody;
insert c;// Save attachments, if any
for (Messaging.Inboundemail.TextAttachment tAttachment : email.textAttachments) {
Attachment attachment = new Attachment();attachment.Name = tAttachment.fileName;
attachment.Body = Blob.valueOf(tAttachment.body);
attachment.ParentId = c.Id;
insert attachment;
}//Save any Binary Attachment
for (Messaging.Inboundemail.BinaryAttachment bAttachment : email.binaryAttachments) {
Attachment attachment = new Attachment();attachment.Name = bAttachment.fileName;
attachment.Body = bAttachment.body;
attachment.ParentId = c.Id;
insert attachment;
}
}result.success = true;
return result;
}static testMethod void testCreateContactFrmEmail() {
Messaging.InboundEmail email = new Messaging.InboundEmail() ;
Messaging.InboundEnvelope env = new Messaging.InboundEnvelope();email.subject = 'Create Contact';
email.plainTextBody = 'FromEmail';
env.fromAddress = '[email protected]';CreateContactFrmEmail creatC = new CreateContactFrmEmail();
creatC.handleInboundEmail(email, env );
}
}#After creating the above Apex class, click Your Name | Setup | Develop | Email Services.
Click New Email Service to define a new email service.
Select above apex class, add email address from where to accept the request and activate the service.Email Address Information - Salesforce
#After filling the form, click on “Save and New Email Address”
Note: The domain name in Email address must qualify the domain name entered at “email services” in first step. For example : we have entered “gmail.com” in first step that means it will accept the email address only from the gmail.com and that’s why in second step I have used email address displayed in screen shot.
After all the above steps, one email address is generated by the salesforce. Send the email to that address with subject line “Create Contact” and contact name in email body.
In the above tutorial, I have used very simple example just to demonstrate that how the email services works in the salesforce.Hope it may help:
Thanks
-
Saurabh
MemberMarch 23, 2017 at 2:02 pm in reply to: If It is possible to bypass the api in salesforce?Hi Mohit,
No, We cannot bypass Api. As Api stand for Application Programming interface so we need a Api to interact with our third party platform
as we need a interface so that it can interact with our third party platform. For interacting with third party we need some interacting platform where we can perform various operation. That the reason we need the Api so that the salesforce and the third party can interact with each other.Hope it may help:
thanks
-
Hi,
I think you must try this
Please don't keep the Table inside the table rather than use only one table and for inner table us the <tr> tag of the table.
Hope it may help:
thanks
-
Saurabh
MemberMarch 23, 2017 at 1:23 pm in reply to: How can we query contentdocument which is inserted by community user only?Hi,
There is no default sharing for an organization, so you have to add a record for it. If you wanted to share everything, you'd add a ContentDocumentLink record for the Org ID. Here is example code of doing that for all ContentDocuments:
Id orgId = UserInfo.getOrganizationId();
List<ContentDocumentLink> existingCDL =
[SELECT Id, LinkedEntityId, ContentDocumentId, ShareType, Visibility
FROM ContentDocumentLink Where LinkedEntityId = :orgId];Set<Id> alreadyLinked = new Set<Id>();
for(ContentDocumentLink cd : existingCDL)
alreadyLinked.add(cd.ContentDocumentId);List<ContentDocumentLink> cdl = new List<ContentDocumentLink>();
for(ContentDocument cd : [Select Id From ContentDocument])
{
if(! alreadyLinked.contains(cd.Id))
cdl.add(new ContentDocumentLink(
LinkedEntityId = UserInfo.getOrganizationId(),
ContentDocumentId=cd.Id,
ShareType = 'C',
Visibility = 'AllUsers'));
}
insert cdl;Hope it will help:
Thanks
-
Saurabh
MemberMarch 23, 2017 at 12:15 pm in reply to: ShowHeader and Sidebar problem in Visualforce page.Hi,
I think if your Lightning is enabled for the org but when user is viewing in classic mode, custom visualforce pages aren't showing header or sidebar.
Adding standardStylesheets="true" can solve the problem.
When you disable the inclusion of the Salesforce stylesheets, only your custom stylesheets affect the styling of the page. For the purposes of building up styles that partially or fully match the Salesforce look and feel, you might want to look at and use selected contents from the default stylesheets.
Salesforce stylesheets aren’t versioned, and the appearance and class names of components change without notice. Salesforce strongly recommends that you use Visualforce components that mimic the look-and-feel of Salesforce styles instead of directly referencing—and depending upon—Salesforce stylesheets.
Hope it may helps:
Thanks
-
Saurabh
MemberMarch 23, 2017 at 11:45 am in reply to: How can we design a custom community template in Salesforce?Hi,
You can not use Visualforce code in these templates. So themes like (Kokua, Koa, Napili, Aloha) templates let you quickly and easily build a self-service community that gives customer the same visual and functional customer experience weather they use tablet or mobile
Community Builder makes it super easy to customize your community. Simply edit a few of the components to include information about your community, add a few images to extend your branding, and you’re ready to go without any coding.
With community builder Templates you can-:
Easily build a mobile-optimized Community
Apply a color scheme to your Community
Change your header and page background color
Customize your font family (from a drop-down list), font size, and font colorif you want a more customer experience, you can create custom pages, add components to pages, use custom Lightning components, and expose additional Salesforce objects.
Rebrand with Custom Theme Layouts
Theme layout is the top level layout of the template pages. It includes headers, footers, navigations and search. The power of using this is flexibility to customize the header, footers, navigation and provide your community with custom themes.
Developers can implement forceCommunity:themelayout to implement custom branding and themes.
Hope it may helps:
Thanks