View Single Post
I think it would be ok if we published a RelaxNG schema for the file format (that would be a policy decision I should float around first), but I don't think it will help. Some important data is not saved as part of the file format. For example, rather than persisting the start date of a task we store all the factors that limit when the task can be started and re-calculate the start date when the file is loaded. You really don't want to re-create that algorithm. It's also important that RelaxNG isn't capable of expressing perfectly exactly what the data in the file needs to look like, which boils down to "no user serviceable parts inside". That is, if you edit the contents of a .oplx file it may no longer work properly in OmniPlan.

We actually have a setup similar to what you describe for our internal tracking system, but it has to be compiled into the app, which is not an option for you. We have explored developing a plugin architecture but haven't yet solved some key technical challenges. Sounds like you're looking for true syncing (bi-directional). The data you need and how you want it synced is an important design consideration, here. You may be best off developing some AppleScripts. Another possibility is to sync via Calendar Server reminders.

I still dream of having a plugin pub/sub architecture but that will be a lot of development effort that will be of benefit to very, very few users and require a great deal of support for them to utilize effectively. I'm afraid it may never make the cut.

-Tom