Documented / Undocumented API – Why Should I care? – Part 3

Part 3 - How to identify 3rd party products using undocumented program internal intefaces

I have discussed problems when using undocumented program internal interfaces and how they affect support in Part 1 and Part 2 of this article. Now lets focus on 3rd party products as these might consume such interfaces which would also impact your current environment.

The most reliable way to identify if a 3rd party product uses any undocumented program internal interfaces is to ask the 3rd party company. Hopefully they will tell the truth.

Beside that: you can be sure that the 3rd party product uses undocumented program internal interfaces if the product offers features that cannot be build using the documented API.

For MCMS you can be sure that undocumented program internal interfaces are used if the 3rd party product offers at least one of the following features:

  • create resource galleries
  • create custom channel properties
  • manage rights groups
  • manage users in rights groups
  • assign rights groups to channels, resource galleries or template galleries
  • move channels, template galleries or resource galleries

None of the above featues can be achieved with MCMS without using undocumented program internal interfaces.

If you currently own such a product you should definitly read Part 1 and Part 2 of this article. You might also want to check with the 3rd party company to see if they have a version of their software that uses only documented API.


Part 1 - Technical Background
Part 2 - What would YOU do?

Comments (18)

  1. Dominik says:

    Nice writeup Stefan. I think it definitely helps customers to decide about some 3rd party "products" that may be available. I hope and do expect that most of the "features" you listed that some 3rd party products may achieve (e.g. user management by API) are covered with vNext. The problem with the 3rd party products is in my opinion, that they may cover things that especially large companies really miss in MCMS (e.g. user management *g*)



  2. Hi Dominik,

    absolutly! That are exactly those missing features. It would have been nice to have these requirements be addressed in the current version of the product. The product team has very high focus on these feature for v.Next.



  3. Erjan says:


    Very nice post, Stefan!



  4. Chris says:

    I just don’t understand why a feature such as managing users couldn’t have been released in a service pack. Developers are buying third party tools to do these things out of necessity.

    How many service packs have come out for wss since the latest MCMS version was released? How hard would it have been to have an intern write a few stored procedures and release a updated dll for the papi. MCMS is a very expensive product, and MS dropped the ball here.

  5. Hi Chris,

    Microsoft usually does not provide new feature in a service pack.

    New functionality is only provided in a new version of a product.

    The product team has a very high focus on these features and other customers requirements for next version.



  6. sandeep says:

    1. Having myself experimented with wrapping the COM API in .NET code to carry out the required functionality, it is very difficult to understand why the same cannot be provided by Microsoft in the form of supported API’s.

    2. Please read the release notes of CMS2002SP1. Some new functionality was added in the API.

    3. Be aware that this is resulting in some high profile clients wishing to move to other competitor products. is still an year and a half away, and clients would require another 3 to 6 months to migrate, after its release.

    3. Stefan, do you know is any of the products listed in the CMS web site in the partners section are using the unpublished API’s?


  7. Hi Sandeep,

    1) That is due to time constraints. Implementing this API would have slipped MCMS 2002 release by half a year. That was not acceptable.

    2) That is correct. These new API calls were required for hotfix to work. Means to fix a bug in WebAuthor.

    3) We are aware of this but this still does not change anything

    4) As far as we are aware of: non of these partners is using undocumented API.



  8. Anonymous says:

    Tarek Yehin posted an article on how to create resource galleries programmatically. As already discussed…

  9. Joost says:

    Very bad that Microsoft still doesn’t have these things:

    – create resource galleries

    – create custom channel properties

    – manage rights groups

    – manage users in rights groups

    – assign rights groups to channels, resource galleries or template galleries

    – move channels, template galleries or resource galleries

    It would make live much easier. 🙁

  10. Vlax says:

    Is this product using undocumented API calls?

    Thanks for the advice

  11. Hi Vlax,

    based on the information on their website this product allows to create resource galleries.

    If this is true, then they are using undocumented API.



  12. slywook says:


    I’ve just a question, Is it possible to develop in c# a code in order to manage the channels tree without using CMS 2002 interfaces ?

  13. slywook says:

    Could you give me the objects/methods to manage/move the channels on CMS 2002 ?

    I don’t find any helps concerning this point.

  14. Hi Slywook,

    unfortunatelly it is not that simple. You cannot directly move a channcel directly.

    You need to create a channel with the desired name in the destination location and then move the postings there.



  15. slywook says:


    I always come back with my channels tree.

    As I can’t do a drag and drop channel. I will try to do a creation of a new channel and I will move the postings.

    Can I do the move with a part of the channel tree ?

    I have another question, we use template page for each channel.

    Is there a possibility to link templates pages with a channel and  to keep this link during a move operation on the channel tree?

    Thanks  🙂

  16. slywook says:

    In fact,

    Is it possible to manage channel (create,move,delete) and template page (linked to channel) using API and without the Interface CMS ?

    thanks in advance 🙂

  17. Hi Slywook,

    no this is not possible. You need to adjust the links.



  18. Hi Slywook,

    regarding your second question: you cannot move channels. But you can create and delete them.

    Not sure what you mean with a template page. That is not a MCMS term. Are you talking about a channel rendering script?

    If yes: yes you can assign a channel rendering script to a channel programmatically.



Skip to main content