• Jonathan Boulter
  • NEWBIE
  • 14 Points
  • Member since 2015
  • IT Manager & Salesforce Admin / Developer
  • InterWorks Europe


  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 3
    Questions
  • 9
    Replies
Does anyone know if Lightning Sync for Microsoft Exchange works with Events created via Process Builder or Apex? And if so what do I need to do to make it work as I cannot find any documentation and just creating an Event doesn't seem to do anything.

The only Events that sync are those I manually create via the Lightning UI, which seems a bit pointless, so I'm really hoping I've missed something. I'm guessig there is another object somewhere that is being used as there is noting on the Event object that looks like it could be used to keep it in sync with 

I don't really want to install a third party add on just to do this

Thanks in advance
Help :(

I've followed this guide for setting up Office 365 as a Connected App:
 
but I'm just getting an error when I click the app:
 
NotFound

not too bad, as I was just testing but now no one can login to Office 365 as it is redirecting to my Dev Org...

I've tried this command:
 
Set-MsolDomainAuthentication -DomainName <your.domain> -Authentication managed

from here:
 
but its still doing the same. How do I turn this off, I'm guessing I've got to change the IssuerUri, but to what?

Hi,

I've found that my triggers are becoming difficult to maintain, so I decided to create a framework that would hopefully make things easier. I've used Kevin O'Hara post (https://developer.salesforce.com/page/Trigger_Frameworks_and_Apex_Trigger_Best_Practices) as a starting point, but I've stripped out a lot of it.

My code is working, but is a little messy because I've hit a problem with testing Trigger.isBefore:

private void setTriggerContext(string ctx) {
        
        if(ctx == null){
            if(Trigger.isBefore && Trigger.isInsert) {
                this.context = TriggerContext.BEFORE_INSERT;
            } else if(Trigger.isBefore && Trigger.isUpdate) {
                this.context = TriggerContext.BEFORE_UPDATE;
            } else if(Trigger.isBefore && Trigger.isDelete) {
                this.context = TriggerContext.BEFORE_DELETE;
            } else if(Trigger.isAfter && Trigger.isInsert) {
                this.context = TriggerContext.AFTER_INSERT;
            } else if(Trigger.isAfter && Trigger.isUpdate) {
                this.context = TriggerContext.AFTER_UPDATE;
            } else if(Trigger.isAfter && Trigger.isDelete) {
                this.context = TriggerContext.AFTER_DELETE;
            } else if(Trigger.isAfter && Trigger.isUndelete) {
                this.context = TriggerContext.AFTER_UNDELETE;
            } else {
                this.context = TriggerContext.UNKNOWN;
            }            
        } else {            
            if(ctx == 'before insert') {
                this.context = TriggerContext.BEFORE_INSERT;
            } else if(ctx == 'before update') {
                this.context = TriggerContext.BEFORE_UPDATE;
            } else if(ctx == 'before delete') {
                this.context = TriggerContext.BEFORE_DELETE;
            } else if(ctx == 'after insert') {
                this.context = TriggerContext.AFTER_INSERT;
            } else if(ctx == 'after update') {
                this.context = TriggerContext.AFTER_UPDATE;
            } else if(ctx == 'after delete') {
                this.context = TriggerContext.AFTER_DELETE;
            } else if(ctx == 'after undelete') {
                this.context = TriggerContext.AFTER_UNDELETE;
            } else {
                this.context = TriggerContext.UNKNOWN;
            }
        }
        system.debug('Context Set: ' + this.context);
    }
What I'd like to write is:
private void setTriggerContext(String ctx) {
    
    if(ctx == 'before insert' || (Trigger.isBefore && Trigger.isInsert)) {
      this.context = TriggerContext.BEFORE_INSERT;
    } else if(ctx == 'before update' || (Trigger.isBefore && Trigger.isUpdate)) {
      this.context = TriggerContext.BEFORE_UPDATE;
    } else if(ctx == 'before delete' || (Trigger.isBefore && Trigger.isDelete)) {
      this.context = TriggerContext.BEFORE_DELETE;
    } else if(ctx == 'after insert' || (Trigger.isAfter && Trigger.isInsert)) {
      this.context = TriggerContext.AFTER_INSERT;
    } else if(ctx == 'after update' || (Trigger.isAfter && Trigger.isUpdate)) {
      this.context = TriggerContext.AFTER_UPDATE;
    } else if(ctx == 'after delete' || (Trigger.isAfter && Trigger.isDelete)) {
      this.context = TriggerContext.AFTER_DELETE;
    } else if(ctx == 'after undelete' || (Trigger.isAfter && Trigger.isUndelete)) {
      this.context = TriggerContext.AFTER_UNDELETE;
	} else {
      this.context = TriggerContext.UNKNOWN;
    }
	
}
Unfortunatly when I test this I get an Attempt to de-reference a null object error, which I'm guessing is because its not being run from a Trigger. I've tried: 
if(Trigger == null) {
            // Set Trigger to something...
        }
But get greeted with unexpected token: 'Trigger'...

Is there a way around these problems or do I just have to accept some messy code and only 70% coverage :(   
Help :(

I've followed this guide for setting up Office 365 as a Connected App:
 
but I'm just getting an error when I click the app:
 
NotFound

not too bad, as I was just testing but now no one can login to Office 365 as it is redirecting to my Dev Org...

I've tried this command:
 
Set-MsolDomainAuthentication -DomainName <your.domain> -Authentication managed

from here:
 
but its still doing the same. How do I turn this off, I'm guessing I've got to change the IssuerUri, but to what?

Hi,

I've found that my triggers are becoming difficult to maintain, so I decided to create a framework that would hopefully make things easier. I've used Kevin O'Hara post (https://developer.salesforce.com/page/Trigger_Frameworks_and_Apex_Trigger_Best_Practices) as a starting point, but I've stripped out a lot of it.

My code is working, but is a little messy because I've hit a problem with testing Trigger.isBefore:

private void setTriggerContext(string ctx) {
        
        if(ctx == null){
            if(Trigger.isBefore && Trigger.isInsert) {
                this.context = TriggerContext.BEFORE_INSERT;
            } else if(Trigger.isBefore && Trigger.isUpdate) {
                this.context = TriggerContext.BEFORE_UPDATE;
            } else if(Trigger.isBefore && Trigger.isDelete) {
                this.context = TriggerContext.BEFORE_DELETE;
            } else if(Trigger.isAfter && Trigger.isInsert) {
                this.context = TriggerContext.AFTER_INSERT;
            } else if(Trigger.isAfter && Trigger.isUpdate) {
                this.context = TriggerContext.AFTER_UPDATE;
            } else if(Trigger.isAfter && Trigger.isDelete) {
                this.context = TriggerContext.AFTER_DELETE;
            } else if(Trigger.isAfter && Trigger.isUndelete) {
                this.context = TriggerContext.AFTER_UNDELETE;
            } else {
                this.context = TriggerContext.UNKNOWN;
            }            
        } else {            
            if(ctx == 'before insert') {
                this.context = TriggerContext.BEFORE_INSERT;
            } else if(ctx == 'before update') {
                this.context = TriggerContext.BEFORE_UPDATE;
            } else if(ctx == 'before delete') {
                this.context = TriggerContext.BEFORE_DELETE;
            } else if(ctx == 'after insert') {
                this.context = TriggerContext.AFTER_INSERT;
            } else if(ctx == 'after update') {
                this.context = TriggerContext.AFTER_UPDATE;
            } else if(ctx == 'after delete') {
                this.context = TriggerContext.AFTER_DELETE;
            } else if(ctx == 'after undelete') {
                this.context = TriggerContext.AFTER_UNDELETE;
            } else {
                this.context = TriggerContext.UNKNOWN;
            }
        }
        system.debug('Context Set: ' + this.context);
    }
What I'd like to write is:
private void setTriggerContext(String ctx) {
    
    if(ctx == 'before insert' || (Trigger.isBefore && Trigger.isInsert)) {
      this.context = TriggerContext.BEFORE_INSERT;
    } else if(ctx == 'before update' || (Trigger.isBefore && Trigger.isUpdate)) {
      this.context = TriggerContext.BEFORE_UPDATE;
    } else if(ctx == 'before delete' || (Trigger.isBefore && Trigger.isDelete)) {
      this.context = TriggerContext.BEFORE_DELETE;
    } else if(ctx == 'after insert' || (Trigger.isAfter && Trigger.isInsert)) {
      this.context = TriggerContext.AFTER_INSERT;
    } else if(ctx == 'after update' || (Trigger.isAfter && Trigger.isUpdate)) {
      this.context = TriggerContext.AFTER_UPDATE;
    } else if(ctx == 'after delete' || (Trigger.isAfter && Trigger.isDelete)) {
      this.context = TriggerContext.AFTER_DELETE;
    } else if(ctx == 'after undelete' || (Trigger.isAfter && Trigger.isUndelete)) {
      this.context = TriggerContext.AFTER_UNDELETE;
	} else {
      this.context = TriggerContext.UNKNOWN;
    }
	
}
Unfortunatly when I test this I get an Attempt to de-reference a null object error, which I'm guessing is because its not being run from a Trigger. I've tried: 
if(Trigger == null) {
            // Set Trigger to something...
        }
But get greeted with unexpected token: 'Trigger'...

Is there a way around these problems or do I just have to accept some messy code and only 70% coverage :(   
Hi,

I trying to validate trailhead challenge " Quick Start: Heroku Connect Provision the Heroku Connect Add-on " but I have the error :
"Step Not yet complete... here's what's wrong:
The Heroku Connect Add on has not been setup correctly. "

I don't understand why, cause I've checked the listen and write option and selected the 7 fields in the mapping.
Moreover the contact is correctly updated in Salesforce.

I have tested with region Europe and also United States as mentionned here : https://developer.salesforce.com/forums/?id=906F00000005IX8IAM
but still the same error message.

Could you please advise ?
Hi,

I successfully configure heroku connect. i also deploy the application(NodeJs) on heroku.
but when i try to validate the bagde : "Provision the Heroku Connect Add-on" and "Change and Redeploy the Application"

When i click "Verify step", i get the following error:
User-added image

Did you know what kind of verifications the Trailhead does to validate these two steps ?

Thanks
 
I am receiving the following error in the Creating Global Quick Actions Trailhead module challenge - "The global quick action was not created or it was not named 'New Detailed Account' "

Have read the previous posts and suggestions to fix, but my Global Actions are identical to the correct responses and the Publisher Layouts are displayed.  When I go into Chatter and Home on one of the Apps, I still do not see the New Detailed Account action listed in the feed though.  Is there some other setting I need to fix that will enable this to display BESIDES the Global Page Layout??
User-added imageUser-added image
User-added image

Hi Team,

 

I recently installed the Force.com IDE plug in in Eclipse 3.6(indigo).

When i am trying to create a new project and clik on next it displays an error saying " Unable to fetch organization details for (my usename)".

 

Can anyone please help me in getting this corrected?

 

Thanks,

Rony

  • May 24, 2013
  • Like
  • 1
I'd like to re-open the discussion of SortOrder on the OpportunityLineItem object. A thread from 3.5 years ago can be located here:
http://community.salesforce.com/sforce/board/message?board.id=general_development&message.id=3154

Looks like people from SF were going to look into it but obviously nothing has come to fruition. The reason I have put this in the Visualforce board is that we have have a few VF applications that could really take advantage of access to this field. Visualforce has also opened up new possibilities to UI design where the ability to manage SortOrder could be useful.

Also, no offense to salesforce.com, but the tool for sorting OpportunityLineItems is not that useful when there are multiple products with the same name. I have actually built a pretty slick sorting application but this is currently useless.

A lot of the concerns were about error handling. What happens if you have 3 line items but sort order is defined as, 1, 2, 2. Or 1, 2, 4. How about just throwing a sortOrder exception and force the developers to write good code?

Ideas? Thoughts?
http://ideas.salesforce.com/article/show/10092062/OpportunityLineItem_SortOrder_to_be_CreatableUpdatable

-Jason


Message Edited by TehNrd on 09-05-2008 01:22 PM
  • September 03, 2008
  • Like
  • 1