This is a collection of questions and answers about Microsoft® Content Management Server (MCMS) gathered from the MCMS newsgroup. This content is provided "AS IS" with no warranties, and confers no rights. If you have feedback about one of these topics or would like to add information, please post your comments to the MCMS newsgroup. Thank you, Stefan Goßner Escalation Engineer Steve Cawood Program Manager
How does the MCMS disk cache work?
When a web request to a MCMS object comes in, the MCMS ISAPI filter, Reauthfilt.dll will be notified. The filter will parse the HTTP request headers and the URL information.
An MCMS session will be created. Behind the scenes, the MCMS server core component, 'AEServerObject' will process the information from ISAPI calls.
MCMS will check if item exists in the resource cache on Rdonlyres or not by interacting with the 'AESecurityService' process.
If a resource requested from the incoming URL does not exist, MCMS will copy the resource into the rdonlyres folder. This avoids additional round trips to the MCMS SQL database for future requests.
If the disk cache is filled up by more than 90% of the specified limit a clean-up process will start and remove least recently used items. The clean-up will stop at 75% of the specified limit.
Understanding the process will help you to isolate where MCMS failed to write the cached data in the rdonlyres folder.
How is the node cache refreshed? For example, if I have all my nodes in the cache, then I make a change (e.g. an import). Is the node cache actively managed? Will MCMS mark the affected nodes as changed?
The MCMS node cache is a map of node GUIDs to nodes. The nodes at this level are totally independent of each other. A change to one does not impact any others. When a change to a particular node is detected (i.e. an entry in the database change table), the node is tossed out of the cache and is re-read when it is next requested.
When a change to any node is detected, the upper level (output, fragment, etc.) caches are cleared, because we don't know the dependencies involved. For example, what URLs are invalid because of a name or state change, what additional channels have to be added to navigation, etc.
We would like to use MCMS 2002 Standard Edition as production server and MCMS 2002 Enterprise Edition as authoring server to allow more than 15 authors to be used and to keep costs low. Load balancing is not required and authoring will not be done on the production server. Is this possible?
Yes this is possible under the following cirumstances:
MCMS allows to create postings and channels with identical name side by side so that both end up with the same path. Can this "feature" savely be used or are there any problems if I have a channel with identical name beside a posting?
Using identical channel and posting names side by side is highly not recommended. This can cause problems with your application logic as it is not predictable which object is returned when using Searched.GetByPath as both objects have the same path.
In addition links to postings or channels which have non-unique parts in the path can cause problems with the MCMS link management feature as the algorithm analyzing the URL might end up at the wrong object and might not find the item in the respository (similar problem as with GetByPath). Then the link is stored as unmanaged link and not as managed link which will cause problems when the site structure is changed (e.g. moving postings to other channels).
/Channels/ /AAA <--- Posting /AAA <--- Channel /B <--- Posting
A link to posting B might be stored as unmanaged link if the algorithm analyzing the URL (/AAA/B) first finds the posting AAA and not the channel AAA)
Is it possible to use Server.Transfer with MCMS 2002?
No this is not possible. MCMS requires that all requests pass the ISAPI filter to create the correct CmsHttpContext for the requested item. Server.Transfer bypasses the ISAPI filter. You need to use Response.Redirect instead.
Which enhancements does MCMS 2002 provide compared with MCMS 2001?
These are some of the main enhancements in MCMS 2002:
What programming languages were used to create MCMS 2002 SP1a?
MCMS has been around for many years so there is a wide variety of technology involved. Here is the breakdown: MCMS Server - C++DB Stored Procs - SQLCOM PAPI - C++.Net PAPI - C#Site Manager - VBSite Manager proxy - J#Web Author - both ASP (VBScript) and ASP.Net (C#) versions ship with MCMS 2002
This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.
Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.
© 2004 Microsoft Corporation. All rights reserved.
Microsoft, ActiveX, Visual Studio, Windows, and Windows Server are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.