Simon Fell > Its just code > OSX
Thursday, March 06, 2008
SFFS![]() |
About a year ago I posted about sfdcFuse, a command line utility that exposes the Document repository in Salesforce.com as a mountable volume using MacFUSE. Unfortunately this version doesn't work on Leopard, so I've been working on a Leopard version, and at the same time, getting rid of the command line interface and putting a regular cocoa front end on it. The result is SFFS (the SalesForce File System). Much like the earlier version, this exposes a read-only copy of your document repository as a mounted volume on your Mac. You get my standard UI for login, complete with keychain support, and auto-updates via Sparkle. Its available under the open source BSD license, everything is over on the Google code project. |
Monday, February 18, 2008
SF Cubed v0.53I just released this, it fixes a problem with all day events not picking up date changes from Salesforce.com, and addresses some weirdness relating to filtering on 10.5.2 (which would manifest itself as SF3 saying it picked up local changes, but that it didn't appear to change anything in Salesforce.com). I'm working entirely out of the Google code project now, so you can see source code changes for specific issues, issues come and go in the issue tracker, and the sparkle auto-updater is now pulling builds from the google code site. Everything seems to be working just fine.
Sunday, February 17, 2008
Maildrop goes open sourceHot on the heals of SF3, Maildrop is now open source as well, checkout the source, log bugs, enhancement requests etc all over at the project home page @ Google code. My thanks to Ron and the ADN crew for helping organize this.
Thursday, February 14, 2008
10.5.2The Core Data file truncation bug I previously mentioned is fixed in 10.5.2.
Sunday, February 10, 2008
SFCubed now open sourceWith the 0.52 release of SF3 I made it open source under the BSD license. Rather than host everything myself, which is how I've handled previous open source projects of mine, (sourceforge looked to be on its last legs for quite a well, but is still going) I've decided to try out the Google code project hosting. Everything is over there, source code in SVN, an issue tracker that i loaded up with all the bugs and feature requests i know about, and there's a wiki that contains most of the content from my own SF3 page. Share & Enjoy.
Friday, February 08, 2008
SF CubedFor those folks that have ran into iCal sync problems on Leopard, try this build, let me know how you get on. (this also includes a lot of fixes for contact sync where your AB contact have more data than salesforce supports, e.g. multiple work phone numbers). I've also decided to open source SF3, as i just don't have the time to move it forward fast enough, the complexities of the sync and data mapping process/problems means you really can't work on it in little chunks of time like i can for the other apps. This should give the folks that are in need of more features and/or specific changes for their setup a chance to get what they need done.
Sunday, February 03, 2008
SoqlX superbowl editionThere's a new version of SoqlXplorer available, this version requires Leopard, it has an updated UI, support for displaying child queries (double click on the magnifying glass icon), a recent query list, and a few other bits'n'peices.
Wednesday, January 23, 2008
Office 2008I seem to be collecting Office suites that don't quite do what i want. I upgraded to iWork '08 when it came out because i was looking for something better than Excel 2004, which is bloated and sluggish (even on my 4 core mac pro). However Numbers has no way as far as i can see to get external data into it, no support for AppleScript, and no equivalent to Excel's Web Query feature, so its largely sat on the sidelines gathering dust. So, my copy of Office 2008 turned up last week, I figured the new Intel native version would at least be snappier than its rosseta stone older sibling, but no, somehow it feels about as sluggish as the previous version. Now, i was expecting the loss of VBA macro's but i didn't realize that they'd completely abandoned any document integration at all, yes I can write apple script to manipulate spreadsheets, but these scripts aren't stored in the document, i can't assign an applescript to say a button in the document, there doesn't seem to be any sort of event integration, so i can run scripts on save, or load. I now have a single menu item with a (potentially) bucket-load of apple scripts and I've got to remember which one goes with which document. And just to rub salt in the wound, Web Queries seem to be broken, you can create new one's fine, but goto do a refresh and you'll get the cryptic and unhelpful message "selection can contain a single cell only", nice, you should be able to return broken software. Guess I'm stuck with Excel 2004 for a while longer, ho hum.
Tuesday, January 22, 2008
Leopard developerDespite all the buzz, Leopard is a fairly incremental release for users, Time Machine is nice, but still needs work, the unified UI is nice, spaces is equal parts useful and annoying. But for developers Leopard is quite the candy store, I've been tinkering with a number of the new APIs, and am starting to put it into practice with an update for SoqlXplorer. NSOperation/NSOperationQueue is particularly nice, as is the reams of code i can now delete and replace with system provided equivalents (NSGradient, HUDWindow, NSSplitView, the new style source list outline view, and of course Core Animation). Still, there's a few raw edges I've run into, this core data bug, and some of the docs still need updating (I ran into this one today, the docs for setDoubleAction on NSTableView are wrong for Leopard, I found confirmation that someone else spotted the same problem, the fix is fairly easy). Continues to be a nice change of pace from the day job.
Monday, January 21, 2008
ApexDataLoaderAt Thursdays Tour de Force conference, I ran into a few folks who asked for a more upto date build of the DataLoader for OSX. I put together a new build based on the 10.0 Apex Data Loader. I've tested this on Leopard, it should also work on Tiger if you have the Java 1.5 update installed (but I haven't tried it, if you have trouble the older version was built & tested on Tiger, details here). If you're still on Tiger, let me know how you get on with it.. And a reminder, you can find the complete list of my OSX/Salesforce.com tools at http://www.pocketsoap.com/osx/.
Sunday, January 06, 2008
Updated Apex plugin for TextMateI updated the TextMate plug-in I wrote for Apex, the new version handles the keychain much better, and now supports servers other than www.salesforce.com (e.g. Sandbox or pre-release). Download the updated plugin bundle and drop it in your ~/Library/Application Support/TextMate/Bundles folder.
Thursday, November 15, 2007
10.5.1Leopard 10.5.1 Is out, unfortunately the hideous core data bug that'll loose all your data is still there. (the workaround is easy enough, but it requires every developer shipping a core data document app to know about the problem and to have shipped a patched version, and then for all there users to have updated to the patched version)
Friday, November 02, 2007
Core Data Document Apps - File Corruption on LeopardI turned up a rather nasty bug in Document based Core Data apps on Leopard, if you save a document that has no changes, it'll truncate the file to a 0 length (ouch), this only seems to affect the XML and Binary stores, not the SQLLite store. This reply on the cocoa-dev mailing list details a couple of work-arounds to address the issue.
Thursday, November 01, 2007
Tiger Table EditingAs I mentioned yesterday, the behavior of NSTableView changes in Leopard, pressing enter after editing a cell no longer starts editing the cell below it. There's some hints in the release notes, and on the Cocoa-dev mailing list, seems you have to subclass NSTableView, here's what i ended up with. Hopefully this'll save someone some time.
@interface MyTableView : NSTableView {
}
@end
@implementation MyTableView
- (void)textDidEndEditing:(NSNotification *)aNotification {
if ([[[aNotification userInfo] objectForKey:@"NSTextMovement"] intValue] == NSReturnTextMovement) {
int row = [self editedRow] + 1;
int col = [self editedColumn];
NSMutableDictionary *ui = [NSMutableDictionary dictionaryWithDictionary:[aNotification userInfo]];
[ui setObject:[NSNumber numberWithInt:NSDownTextMovement] forKey:@"NSTextMovement"];
aNotification = [NSNotification notificationWithName:[aNotification name] object:[aNotification object] userInfo:ui];
[super textDidEndEditing:aNotification];
if (row < [self numberOfRows]) {
[self selectRow:row byExtendingSelection:NO];
[self editColumn:col row:row withEvent:nil select:YES];
}
} else {
[super textDidEndEditing:aNotification];
}
}
@end
Wednesday, October 31, 2007
NSTableView changesIf you were wondering why enter works differently in Table View on Leopard, here's the low down from the AppKit release notes. Now i've got to back and work out how to get the old behavior, as that's actually what i wanted.

