Better than open source

I’ve spent some time, recently, integrating third-party time tracking software to work with our payroll workflow. It just doesn’t happen to code billable time the way we need to do it. I’m also involved on the other end, getting our accounting system to receive the time data. The same company that makes the time tracking software also provides a way of sending it to our accounting system (in another, licensable, application), but it is not quite what we need, either.

Not only in my professional career do I find challenges in getting disparate systems to share information, but also on a regular basis as a consumer. I’ve recently been trying to move from a Community Server blogging system to WordPress blogs. I’m preparing to upgrade my operating system to Windows 7 RC. I use online applications that change from time to time.

I can see why some people feel it is easier to start over instead of migrating data when it comes to using a new application, especially in small businesses. If you look at the examples I have used above, in reverse order, you’ll recognize that using a new version of an online application is usually straightforward. There may be a notice about new features and changes, but there’s not much work on the users’ end to get their information into the new interface.

If you consider a desktop application update or operating system update, there may be some work required – as in updating Microsoft Office file formats to a latest version – but there is very likely an upgrade path available.

As soon as we consider moving information from one proprietary system to another one, there is a tremendous amount of work involved. This work has been reduced in a few select cases, but it feels like wading through water on a sandy and pebble-strewn beach trying to find a lost ring.

Try migrating image tags from Microsoft Windows Photo Gallery to Microsoft Expression Media. Good luck! It’s another one of those situations where a seemingly natural transition is not available. As for my blog migration plans, I’ve not yet been able to put my existings posts up on WordPress. I’m trying to migrate from one blog to another, that seems natural, right? I’m not trying to pull my Facebook posts into a blog, or the letters I have sent to my family.

Back to the example about extending the usefulness of a time tracking system. With 100+ flavors of such software available in the Google Directory, wouldn’t it seem that the wheel was already reinvented enough so that we could sift through what’s available and find an excellent solution? Here’s what keeps me in the business of developing software: we needed to fine tune the way a product works, and there’s no simple, straightforward, predictable way of  making those changes (unless the product creators thought of the type of change you want to make). So we end up with a need to understand how to move information through the existing product. Oh and there’s little documentation on how to do that.

Plenty of opportunity lies ahead. Developers could write pages of documentation to make extending their solutions easier, but they would need to include some functionality that their software doesn’t directly need to function. You tend to see software that can import information more than you see software that shares what it “knows.”  WCF encourages exchange of information, but I haven’t yet seen a way of exposing data in a completely transparent fashion without spending considerable time developing such an API. Twenty or thirty years from now, will we see more connected applications? I hope we will. And I hope it will be easier to connect them.

Who’s done the best making your information transportable?

Managing my blog

Now that I have used Microsoft Windows Live Writer and WordPress for a few days, I want to state my enthusiasm! I’ve found Live Writer to provide most of the features I want, and some really nice features that Word 2007 doesn’t provide like extensibility and setting publish dates in the future. I’ve installed a useful plug-in for pasting code from visual studio. I love the way Live Writer creates thumbnail previews of my pictures in my post. It has an extremely smooth setup process with WordPress, as well.

I’m still trying to pick a theme that works well, and isn’t too distracting. I’m sure this will change again. Pasting code from Visual Studio that is too wide, tends to get hidden, so I either have to use some tricky coding, or shorten any offending lines. It is helpful that Live Writer shows me a preview of how my post will appear. I hope WordPress ads don’t start appearing all over my pages, but I’m taking this risk.

I can say that I’m excited about this new setup.

Insert and Update Queries in ComputerEase

I’m appreciative when I am able to quickly find a solution to a challenge. I tend to prefer to recall those times over long draw out battles, but see some of both, of course.

After I had given up trying to insert dates into ComputerEase, I tried again and found a post in the MSDN forum to be helpful.

Dates should follow the {d’yyyy-mm-dd} format. Here’s an example:

UPDATE jcjob SET name=’CUST NAME’, dateopen={d’1998-11-20′}, contractamt=1200.00 WHERE jobnum = ‘AK0002’

The trick here is padding the date with zeros as needed to make it 10 characters long. The following method [C#] may be useful.

/// <summary>
/// Returns a string that can be used to insert
/// the given date in the ComputerEase database
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
private static string FormatDateForQuery(DateTime date)
{
    return String.Format(@"{{d'{0:yyyy-MM-dd}'}}", date);
}

How to connect to ComputerEase database via ODBC

Those supporting an accounting department that uses ComputerEase software may have found that there isn’t much documentation on how to interface with the software. There may be some sort of training available, but it probably isn’t inexpensive.

I do not believe any modification of the UI is possible as the software doesn’t seem to provide any sort of plug-in architecture, however after a fair amount of guess and check research, we discovered a couple ways to connect to the ComputerEase database.

These are the connection strings that worked for us. The 0 in both cases refers to the specific company database to which you wish to connect. I’ve added line breaks to this post for readability.

DSN-less

“DRIVER={ComputerEase};
DBQ=C:compeaseDirNameHereData;
uid=userHere;pwd=passwordHere;"

With DSN

"Dsn=Company 0;uid=userHere;pwd=passwordHere;"

How Do I Customize the Microsoft Office 2007 Ribbon?

Have you wondered whether you could do more to the new Office 2007 menu system than add buttons to the quick launch toolbar?

Here are two addins that may help you further customize the Ribbon in Office 2007. I’ve not used either of them.

You can also download a trial version of Office 2007.

Students can get a deep discount on Office Ultimate 2007.