• Ben Jones, Collabrax
  • NEWBIE
  • 5 Points
  • Member since 2010
  • CEO
  • Collabrax

  • Chatter
    Feed
  • 0
    Best Answers
  • 1
    Likes Received
  • 0
    Likes Given
  • 9
    Questions
  • 18
    Replies
I have the following workflow critera and it's didn't trigger.

AND( 
Deadline_Bank_Balance__c = DATE(2015,12,31) , 
ISBLANK( Year_End_Bank_Balance__c ), 
TODAY() = (Deadline_Remind_Client_Bank_Bal__c + 7) 
)

Deadline_Bank_Balance__c = 12/31/2015
Year_End_Bank_Balance__c is blank
Deadline_Remind_Client_Bank_Bal__c = 12/16/2015

So, on 12/23/2015 it should have triggered and processed the time dependent workflow.  Please help.

Is there a API for accessing Communities Chatter feeds and posts? Or, does the current Chatter API only give access to production org Chatter?

I am trying to setup SSO for Salesforce Communities where the Auth Provider is Salesforce.  So, Salesforce users from other org will be signing on to my Communities pages.  I have followed mostly the steps described in this article (http://wiki.developerforce.com/page/Salesforce_as_an_Identity_Provider_for_Customer_Portal).

 

I have a Connected App to get the Consumer Key, Secret, and Callback URL.  I then setup an Auth Provider as Salesforce and for the RegistrationHandler, I clicked the option to "Automatically create a registration handler template".  The resulting Class was created.  I'm not fluent in APEX, so I don't know if this code alone should work or if it requires modification.  Note in all cases for my SSO, the person logging into my Community will already have been given Community access and Community User will exist, so I don't need the Handler to create a user; just find one.

 

The error I'm getting when the person tries to connect is...

 

 
I thought perhaps I didn't need the Handler, but when I take it out the error is...
 

 

 

//TODO:This autogenerated class includes the basics for a Registration
//Handler class. You will need to customize it to ensure it meets your needs and
//the data provided by the third party.

global class AutocreatedRegHandler1384140305788 implements Auth.RegistrationHandler{
global boolean canCreateUser(Auth.UserData data) {
  //TODO: Check whether we want to allow creation of a user with this data
  //Set<String> s = new Set<String>{'usernamea', 'usernameb', 'usernamec'};
  //if(s.contains(data.username)) {
    //return true;
  //}
  return false;
}

global User createUser(Id portalId, Auth.UserData data){
  if(!canCreateUser(data)) {
    //Returning null or throwing an exception fails the SSO flow
    return null;
  }
  if(data.attributeMap.containsKey('sfdc_networkid')) {
    //We have a community id, so create a user with community access
    //TODO: Get an actual account
    Account a = [SELECT Id FROM account WHERE name='Acme'];
    Contact c = new Contact();
    c.accountId = a.Id;
    c.email = data.email;
    c.firstName = data.firstName;
    c.lastName = data.lastName;
    insert(c);

    //TODO: Customize the username and profile. Also check that the username doesn't already exist and
    //possibly ensure there are enough org licenses to create a user. Must be 80 characters or less.
    User u = new User();
    Profile p = [SELECT Id FROM profile WHERE name='Customer Portal User'];
    u.username = data.username + '@acmecorp.com';
    u.email = data.email;
    u.lastName = data.lastName;
    u.firstName = data.firstName;
    String alias = data.username;
    //Alias must be 8 characters or less
    if(alias.length() > 8) {
      alias = alias.substring(0, 8);
    }
    u.alias = alias;
    u.languagelocalekey = UserInfo.getLocale();
    u.localesidkey = UserInfo.getLocale();
    u.emailEncodingKey = 'UTF-8';
    u.timeZoneSidKey = 'America/Los_Angeles';
    u.profileId = p.Id;
    u.contactId = c.Id;
    return u;
  } else {
    //This is not a community, so create a regular standard user
    User u = new User();
    Profile p = [SELECT Id FROM profile WHERE name='Standard User'];
    //TODO: Customize the username. Also check that the username doesn't already exist and
    //possibly ensure there are enough org licenses to create a user. Must be 80 characters
    //or less.
    u.username = data.username + '@myorg.com';
    u.email = data.email;
    u.lastName = data.lastName;
    u.firstName = data.firstName;
    String alias = data.username;
    //Alias must be 8 characters or less
    if(alias.length() > 8) {
      alias = alias.substring(0, 8);
    }
    u.alias = alias;
    u.languagelocalekey = UserInfo.getLocale();
    u.localesidkey = UserInfo.getLocale();
    u.emailEncodingKey = 'UTF-8';
    u.timeZoneSidKey = 'America/Los_Angeles';
    u.profileId = p.Id;
    return u;
  }
}

global void updateUser(Id userId, Id portalId, Auth.UserData data){
  User u = new User(id=userId);
  //TODO: Customize the username. Must be 80 characters or less.
  //u.username = data.username + '@myorg.com';
  u.email = data.email;
  u.lastName = data.lastName;
  u.firstName = data.firstName;
  //String alias = data.username;
  //Alias must be 8 characters or less
  //if(alias.length() > 8) {
    //alias = alias.substring(0, 8);
  //}
  //u.alias = alias;
  update(u);
}
}

I have a customer using Milestones PM.  They have a Salesforce Platform User that is the owner of a Project records and they can't use the clone button as it says they have insufficient privledges.  The profile gives them full access to this object.  Is there something else that needs to be set?

 

Thanks!

I have a customer button that creates a Opportunity record.  However I need it to also prefill the Record Type.

 

/006/e?retURL=/{!MyGovWatch__c.Id}&
opp3={!MyGovWatch__c.Buyer_Contract_Name__c}&
opp4={!MyGovWatch__c.Friendly_Name__c}&
CF00NE0000000KKWk={!MyGovWatch__c.Name}&
00NE0000000KP9r={!MyGovWatch__c.Forward_Flow_Dollars__c}

 

I tried adding...

 

&RecordTypeID="the name"

 

...but it didn't work.  How can I define the record type.  Right now it is making the record type the default.

We are trying to use Swarm in a PE instance.  For the last week, new oportunities have swarmed as desired.  Today a user converted a Lead and that Opportunity didn't swarm.  Are there some scenarios where Opps won't swarm?

Does anyone know if you can install both versions of the connector on the same machine and instance of Excel?

I have the follow visualforce page that uses a manage APEX Class.  The problem I have is that the output sort order seems to be completely random.  This page is run by clicking a button on an Account and Contact list view after selecting the records you want generated.  Since I don't have access to the APEX, is there a way to control the sort order elsewhere?

 

<apex:page standardController="Account" recordSetVar="SelectedContact" renderAs="pdf">
<apex:variable var="number" value="{!0}"/>
<apex:repeat value="{!selected}" var="SelectedAccount">
<apex:variable var="number" value="{!number + 1}"/>
<Scout9:StandardSheetLabel LabelNumber="{!number}" ProductName="5164" Brand="Avery" ShowBorder="false">
<table width="100%" height="100%" cellpadding="2" border="0">
<tr><td align="left">&nbsp;</td></tr>
<tr><td align="left">&nbsp;</td></tr>
<tr><td align="left">&nbsp;</td></tr>
<tr><td align="left">&nbsp;</td></tr>
<tr><td align="left">&nbsp;</td></tr>
<tr><td align="left">&nbsp;</td></tr>
<tr><td align="center" style="font-family:Arial, Helvetica, sans-serif; font-size:16px; font-weight:bold;">{!SelectedAccount.Salutation} {!SelectedAccount.FirstName} {!SelectedAccount.LastName}
{!IF(ISBLANK(SelectedAccount.Other_Name__c),'','& ')}
{!IF(ISBLANK(SelectedAccount.Other_Name__c),'',SelectedAccount.Other_Name__c)}</td></tr>
<tr><td align="center" style="font-family:Arial, Helvetica, sans-serif; font-size:16px; font-weight:bold;">{!SelectedAccount.BillingStreet}</td></tr>
<tr><td align="center" style="font-family:Arial, Helvetica, sans-serif; font-size:16px; font-weight:bold;">{!SelectedAccount.BillingCity},
{!SelectedAccount.BillingState}&nbsp;&nbsp;&nbsp;{!SelectedAccount.BillingPostalCode}</td></tr>
</table>
</Scout9:StandardSheetLabel>
</apex:repeat>
</apex:page>

 

Collabrax is a Northern Virginia based cloud computing solution provider that is looking for an enthusiastic independent contractor (1099) who enjoys implementing cloud based solutions. We seek confident professionals who can focus on customer success and team players who are strong problems solvers. This opportunity will be on a project-by-project basis.

WHAT IS THE POSITION?

  • Work directly with our customers to help them utilize Salesforce.com and related solutions to streamline and automate their business processes.
  • Be involved throughout projects from initial requirement gathering through application configuration, testing and deployment.
  • Work with the extended team including developers, architects, and account executives to ensure our customer success.

PRIMARY DUTIES:

  • Manage complex projects/programs from design and development to production within sales and customer support CRM systems.
  • Build and maintain effective customer relationships with business area stakeholders to understand current and future business requirements for information technology services and systems.
  • Use best practices and functional expertise in Salesforce.com to drive change through adoption of technology and business process redesign.
  • Apply functional knowledge of CRM systems to customer needs and requirements.
  • Document business needs, identify gaps between business needs and standard application functionality, suggest, design and document solutions that fill the gaps, and provide detailed business requirements specifications.
  • Perform application configuration, testing and evaluation to ensure quality and consistency.
  • Prepare and perform data conversion requirements.
  • Develop, document, and execute test plans to assess the integrity and accuracy of business processes, module functionality setup and modification, enhancement, customization, and patches.
  • Deliver end user training.
  • Develop and maintain business process documentation and consider compliance in all business process analysis and redesign activities.
  • Support, analyze, and resolve critical production application issues as required.

WHO ARE WE LOOKING FOR?

The ideal candidate will have the following qualifications:

General

  • Self-motivated and driven to exceed customer and project goals, while contributing to a successful team.
  • A critical thinker with strong analytical skills.
  • Excellent written and verbal communication skills.
  • Excellent customer service skills.
  • Excellent project management skills with software deployments.
  • Ability to convey technical information to non-technical customers.
  • Prior consulting experience preferred but not required.

Technical

  • Prefer 1+ year experience with CRM system implementation, ideally using Salesforce.com.
  • Minimum 2 years experience creating and managing projects in relational databases.
  • Minimum 2 years experience with Salesforce.com as a user.
  • Demonstrated ability to generate and maintain clear technical and training documentation.
  • Salesforce.com or other technical certification a plus.

If interested in this position, please send a cover letter and resume to careers@collabrax.com or visit our careers page.

I am trying to setup SSO for Salesforce Communities where the Auth Provider is Salesforce.  So, Salesforce users from other org will be signing on to my Communities pages.  I have followed mostly the steps described in this article (http://wiki.developerforce.com/page/Salesforce_as_an_Identity_Provider_for_Customer_Portal).

 

I have a Connected App to get the Consumer Key, Secret, and Callback URL.  I then setup an Auth Provider as Salesforce and for the RegistrationHandler, I clicked the option to "Automatically create a registration handler template".  The resulting Class was created.  I'm not fluent in APEX, so I don't know if this code alone should work or if it requires modification.  Note in all cases for my SSO, the person logging into my Community will already have been given Community access and Community User will exist, so I don't need the Handler to create a user; just find one.

 

The error I'm getting when the person tries to connect is...

 

 
I thought perhaps I didn't need the Handler, but when I take it out the error is...
 

 

 

//TODO:This autogenerated class includes the basics for a Registration
//Handler class. You will need to customize it to ensure it meets your needs and
//the data provided by the third party.

global class AutocreatedRegHandler1384140305788 implements Auth.RegistrationHandler{
global boolean canCreateUser(Auth.UserData data) {
  //TODO: Check whether we want to allow creation of a user with this data
  //Set<String> s = new Set<String>{'usernamea', 'usernameb', 'usernamec'};
  //if(s.contains(data.username)) {
    //return true;
  //}
  return false;
}

global User createUser(Id portalId, Auth.UserData data){
  if(!canCreateUser(data)) {
    //Returning null or throwing an exception fails the SSO flow
    return null;
  }
  if(data.attributeMap.containsKey('sfdc_networkid')) {
    //We have a community id, so create a user with community access
    //TODO: Get an actual account
    Account a = [SELECT Id FROM account WHERE name='Acme'];
    Contact c = new Contact();
    c.accountId = a.Id;
    c.email = data.email;
    c.firstName = data.firstName;
    c.lastName = data.lastName;
    insert(c);

    //TODO: Customize the username and profile. Also check that the username doesn't already exist and
    //possibly ensure there are enough org licenses to create a user. Must be 80 characters or less.
    User u = new User();
    Profile p = [SELECT Id FROM profile WHERE name='Customer Portal User'];
    u.username = data.username + '@acmecorp.com';
    u.email = data.email;
    u.lastName = data.lastName;
    u.firstName = data.firstName;
    String alias = data.username;
    //Alias must be 8 characters or less
    if(alias.length() > 8) {
      alias = alias.substring(0, 8);
    }
    u.alias = alias;
    u.languagelocalekey = UserInfo.getLocale();
    u.localesidkey = UserInfo.getLocale();
    u.emailEncodingKey = 'UTF-8';
    u.timeZoneSidKey = 'America/Los_Angeles';
    u.profileId = p.Id;
    u.contactId = c.Id;
    return u;
  } else {
    //This is not a community, so create a regular standard user
    User u = new User();
    Profile p = [SELECT Id FROM profile WHERE name='Standard User'];
    //TODO: Customize the username. Also check that the username doesn't already exist and
    //possibly ensure there are enough org licenses to create a user. Must be 80 characters
    //or less.
    u.username = data.username + '@myorg.com';
    u.email = data.email;
    u.lastName = data.lastName;
    u.firstName = data.firstName;
    String alias = data.username;
    //Alias must be 8 characters or less
    if(alias.length() > 8) {
      alias = alias.substring(0, 8);
    }
    u.alias = alias;
    u.languagelocalekey = UserInfo.getLocale();
    u.localesidkey = UserInfo.getLocale();
    u.emailEncodingKey = 'UTF-8';
    u.timeZoneSidKey = 'America/Los_Angeles';
    u.profileId = p.Id;
    return u;
  }
}

global void updateUser(Id userId, Id portalId, Auth.UserData data){
  User u = new User(id=userId);
  //TODO: Customize the username. Must be 80 characters or less.
  //u.username = data.username + '@myorg.com';
  u.email = data.email;
  u.lastName = data.lastName;
  u.firstName = data.firstName;
  //String alias = data.username;
  //Alias must be 8 characters or less
  //if(alias.length() > 8) {
    //alias = alias.substring(0, 8);
  //}
  //u.alias = alias;
  update(u);
}
}

I have the following workflow critera and it's didn't trigger.

AND( 
Deadline_Bank_Balance__c = DATE(2015,12,31) , 
ISBLANK( Year_End_Bank_Balance__c ), 
TODAY() = (Deadline_Remind_Client_Bank_Bal__c + 7) 
)

Deadline_Bank_Balance__c = 12/31/2015
Year_End_Bank_Balance__c is blank
Deadline_Remind_Client_Bank_Bal__c = 12/16/2015

So, on 12/23/2015 it should have triggered and processed the time dependent workflow.  Please help.

I have a customer button that creates a Opportunity record.  However I need it to also prefill the Record Type.

 

/006/e?retURL=/{!MyGovWatch__c.Id}&
opp3={!MyGovWatch__c.Buyer_Contract_Name__c}&
opp4={!MyGovWatch__c.Friendly_Name__c}&
CF00NE0000000KKWk={!MyGovWatch__c.Name}&
00NE0000000KP9r={!MyGovWatch__c.Forward_Flow_Dollars__c}

 

I tried adding...

 

&RecordTypeID="the name"

 

...but it didn't work.  How can I define the record type.  Right now it is making the record type the default.

Hi,

 

We have a Lead Swarm Rule with the criteria of "Only Leads owned by my direct reports" and the CEO set to follow the records. I am in the next role below the CEO and our sales rep is in another role directly below the CEO.

 

The CEO and I are both system administrators and the sales rep has a custom marketing user profile with read access to all swarm objects. We are using Enterprise edition.

 

When I create a new lead, I am the only one following it. I can edit and save any lead and the CEO does not swarm the record. The same happens when the sales rep creates or edits a lead. The CEO is not swarming any leads.

 

We have a Case rule for all cases and the CEO is swarming those just fine. The CEO is only following 271 records in Salesforce so he is not hitting the 500 limit.

 

Am I missing something on the lead swarm rule?

 

Thanks for your help,

George

We are trying to use Swarm in a PE instance.  For the last week, new oportunities have swarmed as desired.  Today a user converted a Lead and that Opportunity didn't swarm.  Are there some scenarios where Opps won't swarm?

I have the follow visualforce page that uses a manage APEX Class.  The problem I have is that the output sort order seems to be completely random.  This page is run by clicking a button on an Account and Contact list view after selecting the records you want generated.  Since I don't have access to the APEX, is there a way to control the sort order elsewhere?

 

<apex:page standardController="Account" recordSetVar="SelectedContact" renderAs="pdf">
<apex:variable var="number" value="{!0}"/>
<apex:repeat value="{!selected}" var="SelectedAccount">
<apex:variable var="number" value="{!number + 1}"/>
<Scout9:StandardSheetLabel LabelNumber="{!number}" ProductName="5164" Brand="Avery" ShowBorder="false">
<table width="100%" height="100%" cellpadding="2" border="0">
<tr><td align="left">&nbsp;</td></tr>
<tr><td align="left">&nbsp;</td></tr>
<tr><td align="left">&nbsp;</td></tr>
<tr><td align="left">&nbsp;</td></tr>
<tr><td align="left">&nbsp;</td></tr>
<tr><td align="left">&nbsp;</td></tr>
<tr><td align="center" style="font-family:Arial, Helvetica, sans-serif; font-size:16px; font-weight:bold;">{!SelectedAccount.Salutation} {!SelectedAccount.FirstName} {!SelectedAccount.LastName}
{!IF(ISBLANK(SelectedAccount.Other_Name__c),'','& ')}
{!IF(ISBLANK(SelectedAccount.Other_Name__c),'',SelectedAccount.Other_Name__c)}</td></tr>
<tr><td align="center" style="font-family:Arial, Helvetica, sans-serif; font-size:16px; font-weight:bold;">{!SelectedAccount.BillingStreet}</td></tr>
<tr><td align="center" style="font-family:Arial, Helvetica, sans-serif; font-size:16px; font-weight:bold;">{!SelectedAccount.BillingCity},
{!SelectedAccount.BillingState}&nbsp;&nbsp;&nbsp;{!SelectedAccount.BillingPostalCode}</td></tr>
</table>
</Scout9:StandardSheetLabel>
</apex:repeat>
</apex:page>

 

Hello - I am having problems logging into the Excel Connector the 1st time for Salesforce Professional Edition after installing.

 

After adding the Excel Connector to my list of add-ons within Excel 2007 and attempting to run the add-on, I receive a Microsoft Visual Basic error message which reads "Can't find project or library."

 

I am then prompted for a sf_connector Password.  When I enter my Salesforce password (with my security token added to it), I receive a Project Locked error message which reads "Invalid Password".

 

Can anyone point me in the right direction and let me know how I can get the Excel Connector to work on my machine?

 

Thanks in advance for the help.

Hey everyone,

 

I'm trying to create a validation that is triggered when the Stage, "Closed Lost" is selected, that verifys the Multi-select picklist Field called "Closed_lost_reasons_c" is not blank. 

 

I can't use the IsPickVal like in the normal picklist so I am at a loss.

 

Any help you guys have is greatly appreciated.

 

Thanks everyone!

  • March 03, 2010
  • Like
  • 0