• Francesco Guarino
  • NEWBIE
  • 0 Points
  • Member since 2015
  • Engineer
  • New Energy Group

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 3
    Replies
Hi all,
I'm in a big trouble trying to find such a tool. Anyone knows a tool or a workaroud to do that?  The only thing I've thinked is using a trigger when an event is created that does somithing to emule sending an invite, like this:
public class SendEmail {
    public String sendTo { get; set; }
    public String Subject { get; set; }
    public Event objEvent{get;set;}
    public SendEmail() {}
    public sendInvite() {
        Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
        String[] toAddresses = new String[] {sendTo};
        mail.setToAddresses(toAddresses);
        mail.setSubject(Subject);
        mail.setPlainTextBody('');
        Messaging.EmailFileAttachment attach = new Messaging.EmailFileAttachment();
        attach.filename = 'meeting.ics';
        attach.ContentType = 'text/calendar;';
        attach.inline = true;
        attach.body = invite();
        mail.setFileAttachments(new Messaging.EmailFileAttachment[] {attach});
        Messaging.SendEmailResult[] er = Messaging.sendEmail(new Messaging.Email[] {mail});
        return null;
    }
    private Blob invite() {
        String txtInvite = '';
 
        txtInvite += 'BEGIN:VCALENDAR\n';
        txtInvite += 'PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN\n';
        txtInvite += 'VERSION:2.0\n';
        txtInvite += 'METHOD:PUBLISH\n';
        txtInvite += 'X-MS-OLK-FORCEINSPECTOROPEN:TRUE\n';
        txtInvite += 'BEGIN:VEVENT\n';
        txtInvite += 'CLASS:PUBLIC\n';
        txtInvite += 'CREATED:20150709T083709Z\n';
        txtInvite += 'DTEND:20150709T010000Z\n';
        txtInvite += 'DTSTAMP:20150708T203709Z\n';
        txtInvite += 'DTSTART:20150709T000000Z\n';
        txtInvite += 'LAST-MODIFIED:20150708T203709Z\n';
        txtInvite += 'LOCATION:Online\n';
        txtInvite += 'PRIORITY:5\n';
        txtInvite += 'SEQUENCE:0\n';
        txtInvite += 'SUMMARY;';
        txtInvite += 'LANGUAGE=en-us:Meeting\n';
        txtInvite += 'TRANSP:OPAQUE\n';
        txtInvite += 'UID:4036587160834EA4AE7848CBD028D1D200000000000000000000000000000000\n';
        txtInvite += 'X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><HTML><HEAD><META NAME="Generator" CONTENT="MS Exchange Server version 08.00.0681.000"><TITLE></TITLE></HEAD><BODY><!-- Converted from text/plain format --></BODY></HTML>\n';
        txtInvite += 'X-MICROSOFT-CDO-BUSYSTATUS:BUSY\n';
        txtInvite += 'X-MICROSOFT-CDO-IMPORTANCE:1\n';
        txtInvite += 'END:VEVENT\n';
        txtInvite += 'END:VCALENDAR';
 
        return Blob.valueOf(txtInvite);
    }
}

If no tool is available, is there a way to automate this process? Thanks!
Hello, I'm looking for a way to open an Infowindow by clicking a link "Show on map" from outside a google map in a Visualforce page. Here is my code:
<apex:page sidebar="false" standardController="Lead" recordSetVar="leads">
    <script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.1.min.js"></script> 
    <script src="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.3/jquery-ui.min.js"></script> 
    <script>
		$( document ).ready(function() {
			var Call = document.getElementsByClassName('MarkerCallback');
			var marker = document.getElementby
			Call.onclick = generateTriggerCallback(marker,"click");
			
			function generateTriggerCallback(object, eventType) {
				return function() {
					google.maps.event.trigger(object, eventType);
				};
			}
		});
	</script>
       <apex:pageBlock title="Selected Leads">

            <apex:form>
            <apex:pageBlockTable value="{!selected}" var="lead">
                <apex:column>
					<apex:inputCheckbox value="{!lead.id}">
					</apex:inputCheckbox>
				</apex:column>
                <apex:column value="{!lead.name}"/>
                <apex:column value="{!lead.city__c}"/>
                <apex:column value="{!lead.state__c}"/> 
                <apex:column>
					<apex:outputlink value="http://www.maps.google.com/?q={!lead.city__c}+{!lead.street__c}+{!lead.number__c}+{!lead.State__c}" target="_blank">
						Open on Google Maps
					</apex:outputlink>
				</apex:column>
				<apex:column><a href="#" id="{!lead.id}" class="MarkerCallback">Show on map</a>
                </apex:column>
            </apex:pageBlockTable>
            </apex:form>
        </apex:pageBlock>
        <apex:pageBlock>
            <apex:map width="1024px" height="768px" mapType="roadmap"
                center="{!selected[0].street__c},{!selected[0].city__c},{!selected[0].state__c}">

                <apex:repeat value="{! selected }" var="lead">
                    <apex:mapMarker title="{! lead.Name }" position="{latitude: {!lead.Latitude__c},longitude: {!lead.Longitude__c}}" icon="{! IF (lead.structure__c = 'HOTEL', URLFOR($Resource.Markers, 'GoogleMark/2.png'),URLFOR($Resource.Markers, 'GoogleMark/3.png') ) }">
                        <apex:mapInfoWindow >
                            <apex:outputPanel layout="block" style="font-weight: bold;">
                                <apex:outputText >{!lead.Name }</apex:outputText>
                            </apex:outputPanel>

                            <apex:outputPanel layout="block">
                                <apex:outputText >{!lead.Street__c}, {!lead.number__c}</apex:outputText>
                            </apex:outputPanel>               

                            <apex:outputPanel layout="block">
                                <apex:outputText >{!lead.City__c}, {!lead.state__c}</apex:outputText>
                            </apex:outputPanel>               

                            <apex:outputPanel layout="block">
                                <apex:outputLink value="/{!lead.id}" target="_blank">Open sheet</apex:outputLink>
                            </apex:outputPanel> 

                            <apex:outputPanel layout="block">
                                <apex:outputlink value="http://www.maps.google.com/?q={!lead.City__c}+{!lead.Street__c}+{!lead.number__c}+{!lead.State__c}" target="_blank">
                                    Open on Maps
                                </apex:outputlink>
                            </apex:outputPanel>

                            <apex:outputPanel layout="block">
                                <apex:outputLink value="{! 'tel://' + lead.Phone }">
                                    <apex:outputText >{!lead.Phone}</apex:outputText>
                                </apex:outputLink>
                            </apex:outputPanel>  

                        </apex:mapInfoWindow>
                    </apex:mapMarker>

                    <!-- /> -->
                </apex:repeat>
            </apex:map>
        </apex:pageBlock>

</apex:page>

Thanks to all!
Hi all,
I'm in a big trouble trying to find such a tool. Anyone knows a tool or a workaroud to do that?  The only thing I've thinked is using a trigger when an event is created that does somithing to emule sending an invite, like this:
public class SendEmail {
    public String sendTo { get; set; }
    public String Subject { get; set; }
    public Event objEvent{get;set;}
    public SendEmail() {}
    public sendInvite() {
        Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
        String[] toAddresses = new String[] {sendTo};
        mail.setToAddresses(toAddresses);
        mail.setSubject(Subject);
        mail.setPlainTextBody('');
        Messaging.EmailFileAttachment attach = new Messaging.EmailFileAttachment();
        attach.filename = 'meeting.ics';
        attach.ContentType = 'text/calendar;';
        attach.inline = true;
        attach.body = invite();
        mail.setFileAttachments(new Messaging.EmailFileAttachment[] {attach});
        Messaging.SendEmailResult[] er = Messaging.sendEmail(new Messaging.Email[] {mail});
        return null;
    }
    private Blob invite() {
        String txtInvite = '';
 
        txtInvite += 'BEGIN:VCALENDAR\n';
        txtInvite += 'PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN\n';
        txtInvite += 'VERSION:2.0\n';
        txtInvite += 'METHOD:PUBLISH\n';
        txtInvite += 'X-MS-OLK-FORCEINSPECTOROPEN:TRUE\n';
        txtInvite += 'BEGIN:VEVENT\n';
        txtInvite += 'CLASS:PUBLIC\n';
        txtInvite += 'CREATED:20150709T083709Z\n';
        txtInvite += 'DTEND:20150709T010000Z\n';
        txtInvite += 'DTSTAMP:20150708T203709Z\n';
        txtInvite += 'DTSTART:20150709T000000Z\n';
        txtInvite += 'LAST-MODIFIED:20150708T203709Z\n';
        txtInvite += 'LOCATION:Online\n';
        txtInvite += 'PRIORITY:5\n';
        txtInvite += 'SEQUENCE:0\n';
        txtInvite += 'SUMMARY;';
        txtInvite += 'LANGUAGE=en-us:Meeting\n';
        txtInvite += 'TRANSP:OPAQUE\n';
        txtInvite += 'UID:4036587160834EA4AE7848CBD028D1D200000000000000000000000000000000\n';
        txtInvite += 'X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><HTML><HEAD><META NAME="Generator" CONTENT="MS Exchange Server version 08.00.0681.000"><TITLE></TITLE></HEAD><BODY><!-- Converted from text/plain format --></BODY></HTML>\n';
        txtInvite += 'X-MICROSOFT-CDO-BUSYSTATUS:BUSY\n';
        txtInvite += 'X-MICROSOFT-CDO-IMPORTANCE:1\n';
        txtInvite += 'END:VEVENT\n';
        txtInvite += 'END:VCALENDAR';
 
        return Blob.valueOf(txtInvite);
    }
}

If no tool is available, is there a way to automate this process? Thanks!
Hello, I'm looking for a way to open an Infowindow by clicking a link "Show on map" from outside a google map in a Visualforce page. Here is my code:
<apex:page sidebar="false" standardController="Lead" recordSetVar="leads">
    <script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.1.min.js"></script> 
    <script src="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.3/jquery-ui.min.js"></script> 
    <script>
		$( document ).ready(function() {
			var Call = document.getElementsByClassName('MarkerCallback');
			var marker = document.getElementby
			Call.onclick = generateTriggerCallback(marker,"click");
			
			function generateTriggerCallback(object, eventType) {
				return function() {
					google.maps.event.trigger(object, eventType);
				};
			}
		});
	</script>
       <apex:pageBlock title="Selected Leads">

            <apex:form>
            <apex:pageBlockTable value="{!selected}" var="lead">
                <apex:column>
					<apex:inputCheckbox value="{!lead.id}">
					</apex:inputCheckbox>
				</apex:column>
                <apex:column value="{!lead.name}"/>
                <apex:column value="{!lead.city__c}"/>
                <apex:column value="{!lead.state__c}"/> 
                <apex:column>
					<apex:outputlink value="http://www.maps.google.com/?q={!lead.city__c}+{!lead.street__c}+{!lead.number__c}+{!lead.State__c}" target="_blank">
						Open on Google Maps
					</apex:outputlink>
				</apex:column>
				<apex:column><a href="#" id="{!lead.id}" class="MarkerCallback">Show on map</a>
                </apex:column>
            </apex:pageBlockTable>
            </apex:form>
        </apex:pageBlock>
        <apex:pageBlock>
            <apex:map width="1024px" height="768px" mapType="roadmap"
                center="{!selected[0].street__c},{!selected[0].city__c},{!selected[0].state__c}">

                <apex:repeat value="{! selected }" var="lead">
                    <apex:mapMarker title="{! lead.Name }" position="{latitude: {!lead.Latitude__c},longitude: {!lead.Longitude__c}}" icon="{! IF (lead.structure__c = 'HOTEL', URLFOR($Resource.Markers, 'GoogleMark/2.png'),URLFOR($Resource.Markers, 'GoogleMark/3.png') ) }">
                        <apex:mapInfoWindow >
                            <apex:outputPanel layout="block" style="font-weight: bold;">
                                <apex:outputText >{!lead.Name }</apex:outputText>
                            </apex:outputPanel>

                            <apex:outputPanel layout="block">
                                <apex:outputText >{!lead.Street__c}, {!lead.number__c}</apex:outputText>
                            </apex:outputPanel>               

                            <apex:outputPanel layout="block">
                                <apex:outputText >{!lead.City__c}, {!lead.state__c}</apex:outputText>
                            </apex:outputPanel>               

                            <apex:outputPanel layout="block">
                                <apex:outputLink value="/{!lead.id}" target="_blank">Open sheet</apex:outputLink>
                            </apex:outputPanel> 

                            <apex:outputPanel layout="block">
                                <apex:outputlink value="http://www.maps.google.com/?q={!lead.City__c}+{!lead.Street__c}+{!lead.number__c}+{!lead.State__c}" target="_blank">
                                    Open on Maps
                                </apex:outputlink>
                            </apex:outputPanel>

                            <apex:outputPanel layout="block">
                                <apex:outputLink value="{! 'tel://' + lead.Phone }">
                                    <apex:outputText >{!lead.Phone}</apex:outputText>
                                </apex:outputLink>
                            </apex:outputPanel>  

                        </apex:mapInfoWindow>
                    </apex:mapMarker>

                    <!-- /> -->
                </apex:repeat>
            </apex:map>
        </apex:pageBlock>

</apex:page>

Thanks to all!

Hi,

 

Can salesforce for outlook be used on mobile devices?

 

I got the solutions from success.salesforce.com but its a year old. Is this solution still remains same?

 

https://success.salesforce.com/questionDetail?qId=a1X30000000HgxEEAS

https://success.salesforce.com/questionDetail?qId=a1X30000000JsDZEA0

https://success.salesforce.com/questionDetail?qId=a1X30000000I8qGEAS

 

Regards,

Shylaja