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.
Reference
Permalink
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*)
Cheers,
Dominik
Permalink
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.
Cheers,
Stefan
Permalink
Indeed!
Very nice post, Stefan!
Cheers,
Erjan
Permalink
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.
Permalink
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.
Cheers,
Stefan
Permalink
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. v.next 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?
Cheers!
Permalink
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.
Cheers,
Stefan
Permalink
Tarek Yehin posted an article on how to create resource galleries programmatically. As already discussed…
Permalink
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. 🙁
Permalink
Is this product using undocumented API calls?
http://mcms.ithit.com/
Thanks for the advice
Permalink
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.
Cheers,
Stefan
Permalink
Hi,
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 ?
Permalink
Could you give me the objects/methods to manage/move the channels on CMS 2002 ?
I don’t find any helps concerning this point.
Permalink
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.
Cheers,
Stefan
Permalink
Hi,
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 🙂
Permalink
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 🙂
Permalink
Hi Slywook,
no this is not possible. You need to adjust the links.
Cheers,
Stefan
Permalink
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.
Cheers,
Stefan