We got our first inquiry about Now Up-to-Date (NUTD) a few years back, when I thought they like every other software company who hitched their wagon so tightly to Apple had been rendered into Elmer's and Alpo. Since the inquiry involved all of twenty users, we just ignored it. Turns out Now is still around (though the move from Oregon to Ohio must have been pretty traumatic).
And these are pretty much all the options you've got -- your only choice is order, and whether to take them or ignore them. Let's work with the defaults. An export of 1 standalone appointment, 1 meeting, and 1 repeating appointment (which I erroneously called a meeting in the screenshot) results in the following text file (split for ease of viewing):
There are very few surprises here. You have the date of the appointment, the start and end times, the title, notes, categories, and priorities. You can clearly read this into any spreadsheet of your choice and order / manipulate the data into something that almost any other client will accept. If you need iCalendar that will require some more work but it's computer science, not rocket science.
- This format strips all recurrence patterns and leaves recurrences as individual instances - the usual default in client-side exports (in Oracle Calendar migrations we need to re-create those, which we don't recommend you try on your own - it took us a few months to get right)
- This format strips the guest list - which is pretty much the rule in client side-exports, but still fairly unforgivable from an end user / synchronization perspective: WHO you are meeting with is just as important as WHEN.
- Forget meeting locations and resources since the guest list is by all appearances managed server-side. In fact it's kind of goofy the export does not include a "Location" field.
- You need to take direct control of your time zone info
- There's a variety of other info types which you can take or not depending on your target system. Usually banners and tasks will map well, the rest you can assign as your users / constraints dictate
- Going into Outlook/Exchange watch out with Holidays and Banners - these are best dealt with as All-Day Events
- Rooms and Resources - ignore these at your peril. You need to migrate those as well -- and it looks as though the best way is to have the Proxy for the room/resource view it and export it in the same manner and format as their own calendar.
- International users: Keep an eye on the character sets, I wouldn't be surprised if there are issues for accented characters.
Next thing to notice.
Following down the path C:\Program Files\Now Software\Now Up-to-Date
I find that my data file (*.nud) is 62 KB in size, containing a total of three meetings / appointments of various sizes.
Following down the path to my server (C:\Program Files\Now Software\NSM\Servers\SumatraNUTDServer) where I have already created another user, some public categories, a Meeting Room, and a Resource, I find that file to be 4 KB in size. This size disparity between server and client speaks volumes.
Server Side AnalysisPretty much the only thing you can do is start it, stop it, add / configure users, resources, and rooms, and a few other things. While there is an automated backup option, noticeable absent is any kind of server-side export capability (which allowed us to migrate Oracle and Meeting Maker wherever they need to go) or any tools for direct manipulation of data server-side.
So let's see what we can grab off the shelf.
First thing we'd notice is that on Windows this server file helpfully has a .DB extension, indicating that it is a database (d'oh), most probably relational (semi d'oh again - there are object-oriented calendar databases) and perhaps built with an off-the-shelf package whose judicious use of import / export and clever analysis might result in the schema and associated data structures.
Let's hold that last idea for a bit (because it will be quite a lot of work fumbling about for the right package and I already went through two candidates) and just let our ADHD selves open the server database with a binary file viewer, the curious calendar migrator's best friend. I like BinViewer.
The meeting "First Meeting" is definitely in here. I know on the client side that I associated it with Room222, Resource1, and my co-worked Russ....
... who also all exist in this database. I'll leave it as an exercise to the interested reader to determine if the Administrator passwords for these objects are in the clear or weakly encoded.Most notably here where we see the name of the meeting in clear text and the human guest associated with it. A little additional work is required to see the relationship of the associated resource and room. Searching for the name of any appointment you created client-side comes up negative, confirming that the appointments are not present on the server. Notice I have not dug into the issue of recurrence patterns in meeting data server side yet because I already know where this is leading.
Short answer: we know the relevant meeting data is present server-side, and we know if we start coding into the bit field of a shutdown server database we have very good odds of reconstructing it.
The more important issue is: DO WE WANT TO?
We already know that at the very least we're going to need to touch every client to extract their appointments, banners, tasks, etc. Running another server-side process to get at the live meeting data sounds questionable: it's running two disparate processes where one is almost always far and away preferable, and making sure both processes jibe with each other.
Conclusion
Unless you've got a few thousand NUTD users (which is hard to believe) who all absolutely need their guest lists and recurrence patterns, stay client-side and don't spend a lot other than scripting time when you decide to migrate.
2 comments:
Any solid solution for mass user calender & contact migration from Now up-to-date to Exchange servers?
In course of time I am looking for 1000 users to migrate their calender to exchange.
Waiting for your input. thanks,
Regards,
Brajesh
brpanda23@gmail.com
The real problem is extracting the data from Now Up-to-Date. Because of the architecture of the system you're stuck going to each client to extract the calendar data.
I don't see any other way -- but I also have no motive for looking for a clever solution -- so necessity being the mother of invention if you find one I congratulate you.
If pulling calendar data out as it exists is acceptable to you then you could theoretically insert the calendar data on the server side (save you some time), but it won't reproduce the live meeting nature.
For Exchange 2007 the smart thing is to use EWS.
We have some tech that could insert it, but given the limitations of the extract we don't want to hold it out as a solution for you. There's just too many compromises all around.
Since contacts are static data there's more hope for you.
Thanks go to Glen in Australia for these really useful postings:
http://gsexdev.blogspot.com/2008/05/creating-contact-with-exchange-web.html
http://gsexdev.blogspot.com/2008/12/importing-and-synchronizing-contacts.html
http://gsexdev.blogspot.com/2008/11/syncronizing-contacts-in-exchange-2007.html
You'd still need to pull the data out of Now Contact on the client level, but you could insert server-side.
I wouldn't hold my breath for Now to do a migrator. Our experience with companies with declining user bases is that they are very rarely far-sighted enough to say "we're losing them anyway, so let's buy or build the conversion technology and do it ourselves."
Post a Comment