Adding functionality on top of CWYW

I’m not sure if this is the right section, since this is about aspects of our project that don’t directly call the API, but it feels closer in spirit to the API than any of the other sections.

I’ve mentioned to plugin that I’ve been working on in another post. In addition to grabbing libraries from our web service, it adds some functionality ontop of CWYW. 

  1. We convert documents that were built using our own in-house citation software into a document cited by EndNote. You get the library, press the convert button, and you can now format your citations.
  2. We cause the citations and the list of authors in the bibliography to link to their web pages in research database.
  3. This is kind of a side effect. Some of our older documents end up with fields that have gotten corrupted at some point. These throw an exception (I think CWYW choked on them too, which is why I mention it) if you try to access them. We have debugging and tracing code that can log information about where errors occur and make them easier to find. We still need to make this a little more robust, but it helps deal with seemingly mysterious crashes. 

I’m mainly curious about how much I can depend on CWYW to not introduce changes that will cause our code to break. (Will there ever be a public API or standard relating to CWYW?)

We depend on being able to write our own unformatted/temporary citations that can then be formatted by EndNote.

For generating links, we get information from the XML field codes generated by EndNote and depend on parsing the existing hyperlinks generated by EndNote before we replace them. We also parse the bibliography to add links over just the author’s names.

Is it likely that our code will break with future versions of EndNote? (right now, we only support X4)