• zak
  • NEWBIE
  • 65 Points
  • Member since 2004

  • Chatter
    Feed
  • 0
    Best Answers
  • 4
    Likes Received
  • 0
    Likes Given
  • 5
    Questions
  • 104
    Replies
[Originally posted to the salesforce/mac mailing list]

> Using Safari in Salesforce to select "Printable View" on a Report
> causes a file "reportXXX.xls.html" to be created rather than a regular Excel file.
> The same function works properly in Firefox, however, my client prefers Safari.
>
> Any suggestions?
>
> Thanks --
>
> Dru Mogge
>

Yeah, Safari doesn't honor the content type like most other browsers,
the file contents are identical, and the .html version you can open in
excel. Hopefully the Leopard version of Safari will fix some of these
issues.

Cheers
Simon
  • March 14, 2007
  • Like
  • 1
[Originally posted to the salesforce/mac mailing list]

> Would a Spotlight integration actually be useful, or is it just an
> interesting hack ? What Mac tools are missing?

Not sure if I would want Spotlight to search outside of my system. If
you already sync your SF contacts and appointments, most information
is already covered by spotlight anyway.

Maybe a dashboard gadget would better: Ideally, it would show me
search results, and then let me click on one of the entries which
would launch a web page. If you make it, please make sure I can have
multiple SFSearch gadgets on my dashboard, each for different
accounts/organizations

I'd love an address book plug in that shows me the opportunities,
cases, accounts for a contact. I'd also like it work in Mail so in a
message I click the down arrow next to a From contact and see its
opportunities.

I'd love to see in mail and address book whether a contact is in SF.

Making the document library work like iDisk would be terrific (plus,
it would make the document library spotlight searchable).

A utility that converts all Solutions articles into a Mac help
document (and periodically regenerates).

A dashboard gadget that takes any SF report and shows it in table
format, refreshing it periodically (so I can always the current case
load by just clicking F12).

That's what comes to mind for now...

- Mike

  • March 14, 2007
  • Like
  • 1
I've built a number of OSX app's that integrate with Salesforce.com, all of them are free.

Maildrop - easily copy emails from Mail.app or Entourage to Salesforce
Trapdoor - manage all your saleforce logins on the keychain and quickly login as any of them.
SoqlXplorer - a developer to explore your salesforce.com schema, and try out queries, generate schema reports.
ZKSFoirce - an open source Cocoa library for the Salesforce.com API

Still Beta
SF3 - synchronized contact, events & tasks between salesforce and addressbook / iCal
Quicksilver plugin - quickly search and upload documents to saleforce.com from Quicksilver.
sfdcFuse - using macFuse, mount your salesforce.com document repository as a real OSX volume.

Comments & Suggestions welcome.

  • March 09, 2007
  • Like
  • 1
Welcome to the Mac forum, feel free to discuss any topics relating to Salesforce & Apple Mac's here.
  • March 09, 2007
  • Like
  • 1
For those of you using VB6, i put together an intro tutorial that shows how to use PocketSOAP to access SForce.

http://www.pocketsoap.com/weblog/stories/2004/05/0026.html

Cheers
Simon

Message Edited by zak on 05-10-2004 07:38 AM

  • May 10, 2004
  • Like
  • 0
[Originally posted to the salesforce/mac mailing list]

> Using Safari in Salesforce to select "Printable View" on a Report
> causes a file "reportXXX.xls.html" to be created rather than a regular Excel file.
> The same function works properly in Firefox, however, my client prefers Safari.
>
> Any suggestions?
>
> Thanks --
>
> Dru Mogge
>

Yeah, Safari doesn't honor the content type like most other browsers,
the file contents are identical, and the .html version you can open in
excel. Hopefully the Leopard version of Safari will fix some of these
issues.

Cheers
Simon
  • March 14, 2007
  • Like
  • 1
[Originally posted to the salesforce/mac mailing list]

> Would a Spotlight integration actually be useful, or is it just an
> interesting hack ? What Mac tools are missing?

Not sure if I would want Spotlight to search outside of my system. If
you already sync your SF contacts and appointments, most information
is already covered by spotlight anyway.

Maybe a dashboard gadget would better: Ideally, it would show me
search results, and then let me click on one of the entries which
would launch a web page. If you make it, please make sure I can have
multiple SFSearch gadgets on my dashboard, each for different
accounts/organizations

I'd love an address book plug in that shows me the opportunities,
cases, accounts for a contact. I'd also like it work in Mail so in a
message I click the down arrow next to a From contact and see its
opportunities.

I'd love to see in mail and address book whether a contact is in SF.

Making the document library work like iDisk would be terrific (plus,
it would make the document library spotlight searchable).

A utility that converts all Solutions articles into a Mac help
document (and periodically regenerates).

A dashboard gadget that takes any SF report and shows it in table
format, refreshing it periodically (so I can always the current case
load by just clicking F12).

That's what comes to mind for now...

- Mike

  • March 14, 2007
  • Like
  • 1
I've built a number of OSX app's that integrate with Salesforce.com, all of them are free.

Maildrop - easily copy emails from Mail.app or Entourage to Salesforce
Trapdoor - manage all your saleforce logins on the keychain and quickly login as any of them.
SoqlXplorer - a developer to explore your salesforce.com schema, and try out queries, generate schema reports.
ZKSFoirce - an open source Cocoa library for the Salesforce.com API

Still Beta
SF3 - synchronized contact, events & tasks between salesforce and addressbook / iCal
Quicksilver plugin - quickly search and upload documents to saleforce.com from Quicksilver.
sfdcFuse - using macFuse, mount your salesforce.com document repository as a real OSX volume.

Comments & Suggestions welcome.

  • March 09, 2007
  • Like
  • 1
Welcome to the Mac forum, feel free to discuss any topics relating to Salesforce & Apple Mac's here.
  • March 09, 2007
  • Like
  • 1
With the Winter 07 release, we are taking advantage of making some of our custom objects private.  I am trying to track down the object that manages the security for these custom objects.  This would be the equivalent to AccountShare, OpportunityShare, CaseShare, etc.  Is there an sObjectShare?  We need to identify this for some of our custom applications.
 
Thank you!!
  • March 14, 2007
  • Like
  • 0

Hi

 

I have taken querysize = 2000. And when I am trieng to process more than 2000 records I am getting Invalid Query Locator Error.

 

But if I take querysize = 500 and when I process the application, Query Locator is working fine for 4 batches of 500 each. and then failing at 5th batch i.e, its unable to locate 2001st  record in any case.

 

Is there any restriction on querysize maximum value as 2000.  If any one knows the solution please post the solution in this forum.

 

Thanks and regards,

Niranjan.

I am new to the SalesForce.I have downloaded the PHP toolkit and was trying to create a Contact which includes the Account details

This was the code i have tried

$mySforceConnection = new SforcePartnerClient();
  $sforceSoapClient = $mySforceConnection->createConnection($wsdl);
  $mySforceConnection->setEndpoint($location);
  $mySforceConnection->setSessionHeader($sessionId);

    $FirstName = "sample";
    $LastName = "Test";
    $MailingStreet = "xxx";
    $MailingCity = "yyy";
    $MailingState = "zzzz";
    $MailingCountry = "India";
    $MailingPostalCode = "500 081";
    $Phone = "9886754427";
    $Email = "test@gmail.com";
    $LeadSource = "Web";
    $Languages__c = "English";
    $Level__c = "Primary";
    $Account = "xxx account name";
    $fieldsToCreate
      =array('FirstName'=>$FirstName,'LastName'=>$LastName,'MailingStreet'=>$MailingStreet,'MailingCity'=>$MailingCity,'MailingState'=>$MailingState,'MailingCountry'=>$MailingCountry,'MailingPostalCode'=>$MailingPostalCode,'Phone'=>$Phone,'Email'=>$Email,'LeadSource'=>$LeadSource,'Languages__c'=>$Languages__c,'Level__c'=>$Level__c,'Account=>$Account);
    $sObject = new SObject();
    $sObject->fields = $fieldsToCreate;
    $sObject->type = 'Contact';
    $acct = $mySforceConnection->create(array ($sObject));


When working with this code getting an error

SoapFault Object ( [message:protected] => INVALID_FIELD: No such column 'Account' on entity 'contact'. [string:private] => [code:protected] => 0 [file:protected] => C:\wamp\www\php toolkit\soapclient\SforceBaseClient.php [line:protected] => 324 [trace:private]

Please help me regarding this,of how can i include the account info when creating a contact

Thanks in Advance
  • March 14, 2007
  • Like
  • 0
[Originally posted to the salesforce/mac mailing list]

> Would a Spotlight integration actually be useful, or is it just an
> interesting hack ? What Mac tools are missing?

Not sure if I would want Spotlight to search outside of my system. If
you already sync your SF contacts and appointments, most information
is already covered by spotlight anyway.

Maybe a dashboard gadget would better: Ideally, it would show me
search results, and then let me click on one of the entries which
would launch a web page. If you make it, please make sure I can have
multiple SFSearch gadgets on my dashboard, each for different
accounts/organizations

I'd love an address book plug in that shows me the opportunities,
cases, accounts for a contact. I'd also like it work in Mail so in a
message I click the down arrow next to a From contact and see its
opportunities.

I'd love to see in mail and address book whether a contact is in SF.

Making the document library work like iDisk would be terrific (plus,
it would make the document library spotlight searchable).

A utility that converts all Solutions articles into a Mac help
document (and periodically regenerates).

A dashboard gadget that takes any SF report and shows it in table
format, refreshing it periodically (so I can always the current case
load by just clicking F12).

That's what comes to mind for now...

- Mike

  • March 14, 2007
  • Like
  • 1
Hi Simon,
How would it take to create MacOS X friendly salesforce.com Data Loader?

I believe Excel Sforce connector relies on Apex Connect Outlook module which makes it very hard to move it to MacOS platform. However Data Loader uses API calls only and it's written in Java.

The latest Mac port is very old (dated June 23, 2005) and it does not "support user frienldy" GUI mode.

Thanks
Tomasz

Message Edited by TomaszOczapowsk on 03-13-2007 10:38 PM

please tell me how to polling  for closed case in crm system
posting on this board as recommended by Simon...

I am using osx 10.4.8 and also have PocketMac synch to synch with blackberry and
am
using entourage synching too.

anybody have any ideas ?

--- In pocketsoap@yahoogroups.com, "tobysan73" wrote:
>
>Firstly, great software...thanks for making.
>
>I am using it, but notice when I synch, i seem to get an additional
saleforce.com calendar
>added into my iCalendars each time. Is there a way to make it synch
and not create a new
>calendar each time ?
>

Weird, I've never seen it do that. Are you running OSX 10.4.8? Are you
using any additional syncing tools (SpanningSync, the sync in
entourage etc?).

Finally, this might be better over on the MacForce list
http://groups.yahoo.com/group/macforce/

Cheers
Simon
I'm attempting to prototype some simple outbound messaging scenarios with my Sandbox instance. Looking at the API docs for Winter07, a note is made that

"To avoid an infinite loop of outbound messages that trigger changes that trigger more outbound messages, we recommend that you update objects with a user whose profile has the PermissionsDisableNotifications set to true"

Try as I have within AppEx Builder I can't find the particular option as an assignable value. Out of curiosity, I checked using SForceExplorer on the User object. Found similarly named permission flags for marking a user as offline or as an AvantGo user, but nothing that looked remotely related to OM. I also tried a cursory search on my live instance as well as on a dev instance with the same results.

I'm not gated by this and my end point to consume the outbound message isn't going to do anything of note, so the fear of an infinite loop of messaging is remote. However once we do prepare to roll live with this, this might be of greater concern, so knowing where to set this and adding it to our deploy checklist would be great... :P

Am I just blind and absolutely glossing over it somehow?
I've built a number of OSX app's that integrate with Salesforce.com, all of them are free.

Maildrop - easily copy emails from Mail.app or Entourage to Salesforce
Trapdoor - manage all your saleforce logins on the keychain and quickly login as any of them.
SoqlXplorer - a developer to explore your salesforce.com schema, and try out queries, generate schema reports.
ZKSFoirce - an open source Cocoa library for the Salesforce.com API

Still Beta
SF3 - synchronized contact, events & tasks between salesforce and addressbook / iCal
Quicksilver plugin - quickly search and upload documents to saleforce.com from Quicksilver.
sfdcFuse - using macFuse, mount your salesforce.com document repository as a real OSX volume.

Comments & Suggestions welcome.

  • March 09, 2007
  • Like
  • 1
Welcome to the Mac forum, feel free to discuss any topics relating to Salesforce & Apple Mac's here.
  • March 09, 2007
  • Like
  • 1
I am getting a little lost where development documentation is placed within the salesforce site. Does anyone know of a site map, or index page that lists developer documents and their purposes in a central location?
 
Specifically, I am having to look all over for relationship query syntax. I found it once, but didn't remember to bookmark it.
 
James Wikkerink
Municipal Software
Hi there,

I have read many documents and learnt a lot about SalesForce, but am still unable to do a simple task that is call one single API function 'setPassword' in javascript..

The result I am getting is "Invalid ID"..

I have tried both with the 15 character ID, and the 18 character ID..

Currently I have the code loaded into an SControl and have it displaying on the contacts page..I have attached the HTML contents of the SControl below.. Can you please either confirm it is supposed to work? Or comment on how to fix my broken code?

This is created as an SControl, and added to the users information page in salesforce..

All I want to do is reset their password for the Self Service Portal (Cases) to a password that I directly specify..

I also noticed that SalesForce uses 2 (yes, two) identifying ID's for everything.. One which is 15 characters long - case sensitive, and used throughout the SalesForce.com website - and another which is 18 characters long - not case sensitive and used throughout the APIs'.. I have had to write a function to determine the 18 character code based upon other forum users comments.. Can you please answer why there is two IDs to begin with? And also if my javascript code is correct to generate the appropriate ID for using with the SalesForce API?

If my javascript code (Convert15to18ID) is correct, then others are more than welcome to use it for their needs.. Otherwise, please help me fix it!

If I have got it completely wrong, then please let me know!


Code:
<script type="text/javascript" src="/soap/ajax/8.0/connection.js"></script>
<script type="text/javascript">
function Convert15to18ID(InID)
{
  // Converts a 15 character ID to an 18 character, case-insensitive one ...
  var InChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ012345";
  var InUpper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

  var Result = '';
  var tmpGroup = '';

  var iVal = new Array(5)

  iVal[0] = 0;
  iVal[1] = 1;
  iVal[2] = 2;
  iVal[3] = 4;
  iVal[4] = 8;
  iVal[5] = 16;


  var tmpGroup = 0;
  var bFirstTime = true;

  for (var i = 14; i >= 0; i--)
  {

    if (((i % 5) == 0) && (bFirstTime == false))
    {
      Result = InUpper.substring(tmpGroup, tmpGroup + 1) + Result;
      tmpGroup = 0;
    }

    if (InUpper.indexOf(InID.substring(i, i + 1)) >= 0)
    {
      tmpGroup = tmpGroup + iVal[(5 - (i % 5))];
    }

    bFirstTime = false;
  }

  return InID + Result;
}
function setPasswordSuccess() {alert('Password Reset Success');}
function setPasswordFail() {alert('Password Reset FAILED');}
</script>
<a href="javascript&colon;sforce.connection.setPassword(Convert15to18ID('{!Contact.Id}'), '{!Contact.newPassword}', {onSuccess:setPasswordSuccess, onFailure:setPasswordFail});">Reset Self-Service Portal Password</a>

 


Message Edited by only_me on 03-06-2007 02:11 PM

I'm using the SOAP technique to read Sales Force data into a disconnected ADO recordset via "classic" ASP.  I'm having a problem any time apostrophes appear in the Sales Force source data.  If I view a problem record containing an apostrophe in a record in the Sales Force explorer it appears as some strange rectangle.  If I copy and paste that character into my code in an attempt to execute a "replace" I get errors in my development environment about converting the page to unicode.
 
Any ideas?  I'm sure I'm not the first person to have this problem but I haven't been able to find a resolution.
 
Thanks in advance.
 
Rich
I found myself needing to implement Dependent Picklists in a UI I'm working on.  However, as has been noted in other threads, dependent picklists aren't actually implemented in the Ajax Beta 3.3 Toolkit.  So, I went and got them working.  Here's what I implemented.  I welcome any comments, critiques, suggestions, etc.

Frankly, there have been a lot of bugs and code fixes submitted by people on these boards, I REALLY think it's time for a Beta 4.0, or, god forbid, a Production version of the Ajax toolkit.

I hope this helps some of you, thanks, Steve Bower.


(In general, I make changes by overriding code in sforceClient.js by inserting my own changed code after the "<script src=...sforceClient.js> tag. )

First, this block can be added to the sforceClient.js section where the other prototypes for PicklistEntry are defined.  Somewhere around line 2530.

Note: I know that the sample code for the Java version used a bitmask of 0x80 before shifting it.  That just didn't work for me, it was off by one.  So, it's possible I've done something wrong here, but this code is working fine. 

Code:
Sforce.PicklistEntry.prototype.getValidFor = function() { return this.validFor; }
Sforce.PicklistEntry.prototype.getLabel = function() { return this.label; }
Sforce.PicklistEntry.prototype.getValue = function() { return this.value; }
Sforce.PicklistEntry.prototype.isValidFor = function(n) {
 // ValidFor is a bitmap.  Each bit corresponds to an entry in the controlling 
 // picklist, so if the Controlling field has 0=colors 1=tastes, then this
 // validFor field will have two significant bits indicating if this PicklistEntry
 // is valid for each of the two categories.  Reading left to right, the first
 // bit indicates if this entry is valid for Colors, and the next bit for Tastes.
 //
 // First isolate which number in the array we want to inspect by dividing 
 // the index we're looking for by 8.  (n>>3 is a bitwise divide by 8).
 // Now we have the number, we need to figure out which single bit to mask off.
 // This would be the remainder after the divide by 8.  Build a mask for it.
 // Note: using 0x40 instead of 0x80 seems to work for me.  0x80 was off.
 return (((0x40 >> (n%8)) & (this.validFor[(n>>3)])) != 0);
}

 Now, as someone else noted, the "validFor" value in the picklistEntry's that are being returned in a Sforce.DescribeSObjectResult object appear to be missing.  That's because they are.  So, we need to add some code to the createPicklistValues function that is defined in the DescribeSObjectResult function definition.  I'd say "around" line 2316, however in actuality the entire createPicklistValues function is defined on that one line in one huge run-on line of code.   Either way, you want to add:

Code:
picklistEntry.validFor = [0,0,0,0];
// vFor is a four character string holding the bitset.
var vFor = Sforce.DOM.GetElementValue (node[i], "validFor");
if (vFor != "" && vFor != null ) {
        for (var j=0;j<vFor.length;j++) {
         // Convert the letters to a numeric array so bitwise 
  // operations are possible.
  var n = vFor.charCodeAt(j);
  picklistEntry.validFor[j] = n;
 }
}

into the function. So createPickListValues ends up looking like:

Code:
 createPicklistValues = function(node) {
  if (node.length == 0) {
   return new Array();
  } else {
   var ret = new Array();
   for (var i=0;i<node.length;i++) {
    var picklistEntry = new Sforce.PicklistEntry();
    picklistEntry.active = Sforce.DOM.GetBool(Sforce.DOM.GetElementValue (node[i], "active"));
    picklistEntry.defaultValue = Sforce.DOM.GetBool(Sforce.DOM.GetElementValue (node[i], "defaultValue"));
    picklistEntry.label = Sforce.DOM.GetElementValue (node[i], "label");
    picklistEntry.value = Sforce.DOM.GetElementValue (node[i], "value");
    picklistEntry.validFor = [0,0,0,0];
    // vFor is a four character string holding the bitset.
    var vFor = Sforce.DOM.GetElementValue (node[i], "validFor");
    if (vFor != "" && vFor != null ) {
     for (var j=0;j<vFor.length;j++) {
      // Convert the letters to a numeric array so bitwise 
      // operations are possible.
      var n = vFor.charCodeAt(j);
      picklistEntry.validFor[j] = n;
     }
    }
    ret[i] = picklistEntry;
   }
   return ret;
  }
 };


Ok, so now you have data in the fields and methods to access it.
All you need is a code example which shows how to use it. In the sample
provided for Java, they are building a matrix by going "across" one
picklistEntry at a time and determining it's status for each bit.

All I really wanted was some code to generate a new Options array
for an element depending on the index of the controlling field
which I would pass in. So, yes, I'm expensivly rebuilding my
Options lists whenever needed instead of building a cached array
of Select Option arrays and then referring to them, but this is
fine for this particular usage.

Sample:
function reloadDependentPicklistElement(element,bean,fld,depIndex) {

  /*
  element: the DOM element we are going to create a new Option list for.
  It should be a Select element, we aren't checking that.
  
                bean: the type of bean we are looking at:  "opportunity", "account", etc.
  
                fld: the field in the bean we are building a picklist from.  This should
  obviously be a picklist type field but we aren't checking that.
  
                depIndex: the index into the Controller Picklist that we are testing.
  (Normally this will come from a nearby DOM controllerElement.indexSelected 
  type of construct.)
  
  Returns an Options array loaded into the requested Element.
  */
  var j = bean.fieldMap.getItem(fld);
  var startopt = 0;
  element.options.length = 0; 
  for (var i=0; i < j.picklistValues.length; i++) {
   var plv = j.picklistValues[i];
   if (j.dependentPicklist == true) {
    if (plv.isValidFor(depIndex)) {
     element.options[startopt++] = new Option(plv.label,plv.value);
    }
   } else {
    element.options[startopt++] = new Option(plv.label,plv.value);
   }
   if (plv.defaultValue == true) {
    element.options[startopt-1].selected = true
    element.selectedIndex = startopt-1; // this one.
   }
  }
  element.options.length = startopt;
 }

 
I appreciate any feedback, comments, tips, improvements, etc. Thanks, Steve.

 

I have a client who is evaluating Salesforce and is tasking me with the migration from his existing home-grown solution.

Luckily I have the data from the home-grown app pulled out and semi-standardized. My problem is now importing it into Salesforce and maintaining the accuracy of the historical data.

Simply put, as an example, each contact/account/oppourtunity record (they're the same thing) in his home-grown system has a series of timestamped notes.

I've looked through the results of the describe object for the notes table and it does not appear that I can set the create/modified date property to match the actual timestamp of the note.

While notes are truely problematic, expecially in the way he uses them to keep a cronological record, it gets worse with the actual account/contact/oppourtunity records.

The last modified and created timestamps are used currently (and will be used) to drive workflow in the system based on the 'age' of the oppourtunity (think: how stale is it) and the last activity in it certain events get fired off.

How can I get past this problem?

  • August 11, 2004
  • Like
  • 0

Is there a discussion board for business users?  If so, I apologize for creating this topic here but I don't know where I should post this.

I work for a software company where we sell software licenses.  As part of the license, customers purchase an annual support and maintenance contract.  The S&M contract is renewable each year but it is unknown if the customer will renew.  What I like to see in Salesforce is:

* Upcoming renewals
* Email notification of upcoming S&M renewals
* 1 year forecast of S&M revenue

Is this possible in SF?  If so, can a business user create the workflow?  Any advice is appreciated.  We currently use SF enterprise.

Thanks,

Nitesh 

  • November 03, 2003
  • Like
  • 0