Site Server 3.0 Content Management FAQ

ID: Q181163


The information in this article applies to:

Q: What is Content Management?

A: Content Management is an application used by content authors, editors, and site administrators to submit, tag, approve, and publish content on a single Web server. Content can include documents, spreadsheets, images, or any other information that you would want to publish on an intranet or Internet Web site. By using Active Server Pages provided with Content Management, content authors with limited HTML experience can submit their content to a server. Site administrators, using Web-based Administration (WebAdmin), can create content types and attributes that enable tagging, approval, and management of the content. In conjunction with Content Deployment, the content can be deployed from a single staging server to multiple destination servers.

Q: Who is Content Management for?

A: Content Management is targeted for intranet environments in which you have a significant number of earlier and native document formats that you want to share with others in your organization. After the system has been designed, it allows content authors to self-publish, thus reducing the burden on site administrators to be involved in publishing new content to the site.

Q: Where do I get started?

A: Start by reviewing the online documentation at http://localhost/siteserver/docs. After you have familiarized yourself with the documentation, try the concepts in either of the two sample sites. These are http://localhost/cmsample and http://localhost/fpsample.

Q: How do I create new content stores?

A: The first release of Content Management does not expose a user interface for creating new content stores. You start with two content stores, one for each sample site. After you are comfortable with the concepts of Content Management and are ready to build your own site from scratch, consult the Advanced Features section of the documentation. This section provides the information you need to run the Makecm.vbs script file to build additional content stores.

Q: How do I create roles and security?

A: There are many ways to secure sites. The samples provided are unsecured, so that you can easily maneuver through them. When you are ready to lock down certain areas, you can use NTFS file permissions in combination with Windows NT users and groups, or you may decide to leverage Membership authentication or some other means to control who can access the various parts of your site. Refer to the Advanced Features section to get an idea of how to lock down your site based on NTFS.

Q: What components make up Content Management?

A: Content Management pulls together many core components of Microsoft Site Server as well as Microsoft Internet Information Server. The upload technology is comprised of an ActiveX upload control that uses WebPost APIs. On the server, the Posting Acceptor responds to these calls and gets the file uploaded to the appropriate directory. During this process, meta data is applied to the content for later retrieval. The schema for this meta data is contained within the Membership Directory Store. After content has been uploaded to the server, Content Index filters the content for known properties and updates its index. Within the two sample sites provided, Content Index queries are made that retrieve content based on certain properties. For example, "show me all content of type WhitePapers" is a possible query.

Q: Where do I create new content types?

A: You create new content types and attributes through the Publishing WebAdmin, which can be found at the following Internet site:
http://localhost/siteserver/admin/publishing.
Q: What is the structure of a view page?

A: A Content Management view page is an ASP page that contains a query that retrieves content found by Content Index. Every view page has the same basic core structure. There is an include of Common.asp where core Content Management code functions exist. There is also an include for a PRF file. This is the actual rule or query used to retrieve content. The PRF files can be built by hand or created through the Site Server Rule Manager tool. The code after the PRF file is formatting code for the recordset of the query. In this case, the results are formatted into a basic table. The recordset of the query is called MemRecordSet, and properties are referenced within the parentheses. For example, MemRecordSet("abstract") returns the data in the column of the recordset that contains the property called "abstract." The sample sites use several of these view pages. The best way to start building your own is to modify some existing ones to observe behavior.

Every produced view page has these common elements: For more information about the above codes, please consult the online documentation and use any of the View Page buttons on the Publishing sample sites.

The above codes are from the online documentation "Generating Property and View Pages."

Q: What is the structure of an upload page?

A: The sample sites provide two metaphors for uploading content. In the CMSample site, you go to a separate page, Submit.asp, to upload content. In the FPSample site, the upload control is on the default page. You can implement the upload functionality either way, as long as you include the following core code in your .asp file. You place the asp command <% PlaceUploadControl "UploadIt" %> where the upload control appears on the page:

<!--#include file="common.asp" -->
   <!--#include Virtual="/SiteServer/Publishing/upload.inc" -->

   <%
       Dim g_strClientScriptLang

       'g_fUseActiveX is defined in Upload.inc
       If g_fUseActiveX Then
           g_strClientScriptLang = "VBScript"
       Else
           g_strClientScriptLang = "JavaScript"
       End If

       'Translatable strings
    Const L_PageTitle_HTMLTitle        = "Site Server Content Publishing"
       Const L_CategorySelect_HTMLText    = "Select a Category:"
   %>
   <html>
   <head>
   <title>Submit New Content</title>

   <script language="<% =g_strClientScriptLang %>">
   <% If g_fUseActiveX Then %>
       Sub InitializeControl
         <% InitializeUploadControl "UploadIt" %>
       End Sub
   <% Else %>
       function InitializeControl() {
           <% InitializeUploadControl "UploadIt" %>
       }
   <% End If %>

   <% GenerateUploadCode "UploadIt", "", "", "submit.asp" %>
   <% GenerateCommonUploadCode %>
   </script>
   </head>

   <body language="<% =g_strClientScriptLang %>"
   onLoad="InitializeControl()">


   <%
       Dim User
       On Error Resume Next
       Set User = Server.CreateObject("Membership.Userobjects")
       If err Then
           Response.Write "Failed to get User Object<BR>"
       End If
       User.GetInfo
   %>

   <% PlaceUploadControl "UploadIt" %>

   </body>
   </html>
 
For a real implementation of this upload control code, please visit the Publishing Sample sites, select Submit New Content, and select View Code.

Q: How can I customize the upload control graphic?

A: You cannot currently customize the upload control graphic for beta 3; however, for the release version, you will be able to provide a URL to a .gif, .jpg, or .bmp file to use as the presentation for the control.

Q: Can I use script to access the control so I don't have to make a visible upload control, or if I want to start upload functionality from a menu?

A: You cannot currently use script to access the control for beta 3; however, for the release version, you will be able to execute script to open the controls browse dialog box, bypassing the graphic representation on the page.

Q: Why does it take a while for content uploaded to appear?

A: Content Management uses Content Index to filter content and extract properties. The minimum time footprint is 15-30 seconds after content is submitted for it to be visible in a view on the site. Under a heavy server load, that minimum time can increase, because the Content Index thread runs at idle priority. Consult the Content Index documentation on changing thread priority to speed indexing time under heavier server load.

Q: Where is content stored?

A: Content Management creates two sample content stores. These are no more than subdirectories on your hard disk. For the sample sites, these are under the \data\publishing subdirectory under the main Site Server directory. Under each top-level directory, there are subdirectories for each content type that has been created. Content is stored in these directories. In addition, there are some temporary holding directories for approval and upload; for example, CMSample Specs WhitePapers Upload Approve. You should back up these directories regularly, because they are the heart of your site's content.

Q: Where are properties stored?

A: It depends on the kind of content. If the content being submitted is Office documents that support compound document storage, Content Management actually stores the properties inside the document file itself. If the content is HTML, Content Management stores properties as standard HTML meta tags. If the content is a type that Content Management does not specifically understand, such as an EXE file or a graphics file, Content Management creates an HTML stub file that contains the properties and is associated to the original file. This allows Content Management to filter and work against all types of content submitted.

Q: I see the following error message in the sample sites:
Content Index is corrupt.
What do I do?

A: This error message means that your Index Server catalog has been damaged. The system will repair itself, and no content or properties should be lost. Cycle the Content Index service, which allows it to rebuild the catalog. If you check the event logs, you should see a corruption entry as well as an entry indicating the problem has been cleaned up.

Q: When I try to add an attribute to a content type in WebAdmin, WebAdmin responds that the attribute already exists. WebAdmin will not let me add it.

A: This limitation is being investigated. At this time, you can only add attributes off the "suggested list" or create new ones. If the attributes already exist in the Membership Directory, you cannot add them through WebAdmin. You can add them to the document class through the Membership Directory snap-in of Microsoft Management Control.

Keywords          : 
Version           : winnt:3.0
Platform          : winnt 
Issue type        : kbinfo 

Last Reviewed: July 15, 1999