BizTalk Utilities CV ,   Jobs ,   Code library  
 
 

Washington, September 15-18, 1999 – London, November 21-24, 1999

Managing Knowledge with Site Server

Craig McQueen

E-Commerce – “The conducting of business communication and transactions over networks and through computers”, http://www.dictionary.com/

The Intelligence Pyramid

The goal of Knowledge Management is to have employees working as far up as possible on the Intelligence Pyramid. The lower one is on the pyramid, the more manual processes they are doing in their job. The higher on the intelligence pyramid the more focus put on making business decisions.

Ø        Data – Getting data in a digital form is the first step to creating a Knowledge Management system. This means having documents

Ø        Information – Information is “data about data” or metadata. It is describing the data to make it more meaningful. For instance, adding attributes such as keywords, author and title to a Word document turns that document from data into information. Information also implies structured relationships between your data. Information is still static.

Ø        Knowledge – Knowledge is the tools used to work with information to help make decisions based on that information. For instance, Site Server Search is a tools used to create queries to find information. The better job of turning Data into Information, the better job the Knowledge tools will perform.

Ø        Wisdom – Wisdom is the experience and intuition a human brings to the decision making process. Some Expert Systems and Decision Support Systems can encode experience or “wisdom” to suggest decisions.

Lets see how we can put the Intelligence Pyramid to practical use with Site Server.

Craig McQueen
Craig is a Principal Consultant at Sage Information Consultants, Inc. His role at Sage is to assist clients in adopting Internet technologies into their existing businesses. Recently, he built the middle-tier for an online banking application. He has participated with Wrox on many projects, including XML Applications and Professional Site Server. He has presented at many conferences and seminars - most recently, a seminar Bringing the Digital Nervous System To Life (a co-presentation with Simon Witts, General Manager of Microsoft Canada). Craig can be reached at cmcqueen@sageconsultants.com.

Planning

Because much of a Site Server implementation is configuration, planning plays an important part in building the solution. Planning the solution prior to implementation results in a better overall system. Planning models the business process of managing content. Planning a Site Server application consists of the following areas:

Ø        defining the content used in the application

Ø        defining roles of users

Ø        determining how information is viewed

Ø        providing tools for finding information

For this exercise we are going to consider a scenario called the WroxShop. The WroxShop is an online computer supplier. People can describe and order a computer via the Internet through WroxShop. WroxShop is designed to be lean and mean. The goal is for each employee to be focused on either business decisions or customer service. WroxShop wants to extend its business out to its business partners. They want to provide their partners with up-to-date product information and also enable their customers to submit new product information. WroxShop wants this to be as automated as possible. They also want documents to be well organized and easy to find. Taking all these factors into consideration, WroxShop have selected have selected Site Server as the platform for this process.

Content Definition

Content Definition is similar to defining the ‘classes’ used in an object-oriented application. A submitted file is an instance of content in a similar way to how an object is an instance of a class. Defining content consists of defining Content Types and Content Attributes for each of the types.

Content Types and Attributes

Content Types are the categories of content used within an organization. The Content Types don’t need to be just documents, “Employee Photos” could be a Content Type for pictures of employees in an organization. Similarly, the submitted files don’t have to be the same file type within a Content Type. For Example, the “Employee Photos” Content Type could contain GIF, jpeg and bitmap files (or even a Word document but that doesn’t make much sense).

The first step for Content Management is to decide all the Content Types within your organization and write them out in a list. The WroxShop has the following content types:

Ø        Computer Operating Instructions

Ø        Peripheral Operation Instructions

Ø        Product Images

Ø        Product Specifications

Ø        Service Manuals

With this as a starting point, we need to assign attributes to each of the Content Types.

Content Attributes

Content Attributes describe some aspect of a Content Type such as author, title and keywords. When attributes are assigned to submitted content, they become properties of that content. Content Attributes are used to manage content posted to your site, to define search criteria for finding content and to produce reports using Site Analyst.

Once you have decided on Content Types, you need to choose the attributes for each Content Type. Let’s choose some attributes for the WroxShop. Some attributes will be common across all content types and some attributes will only be for specific types of content.

ATTRIBUTES

Title

Model Number

Shot Type

Supplier

Part Number

Computer OI

X

X

 

 

 

Peripheral OI

X

 

 

X

X

Product Images

X

X

X

 

 

Product Specifications

X

X

 

 

 

Service Manuals

X

X

 

 

 

Ø        Title – a description of the content

Ø        Model Number – the code used for the product

Ø        Shot Type – one of: front, back or side

Ø        Supplier – the name of the peripheral supplier

Ø        Part Number – the supplier’s part number for a peripheral

Users and Groups

So far we categorized and described the type of content to be used on the web site. We have not discussed who will create the content and who will use the published content. Obviously, people that use the Content Management application have different roles and thus fall into different categories or groups. Three groups of users are Content Producers, Content Editors and Content Consumers.

A Content Producer is someone who creates and publishes content to a web site. The Content Producer is the source of the information. A Content Editor controls the publication of content to a web site. Some content may be published directly but others may require an approval step before they are available to the Content Consumers. A Content Consumer reads the content published on a web site.

The users will fall into one or many of these three groups. The first step is determining the application’s users. Then each of these users will be assigned permissions according to what their roles and responsibilities are within the Content Management application.

WroxShop has the following groups of users:

Ø        Customer

Ø        Technical Staff

Ø        Sales Person

Ø        Marketing Person

Ø        Media

Ø        Service Person

Ø        Supplier

Content Producers

For WroxShop, the content is generated by three groups of people: Marketing, Technical Staff and WroxShop’s suppliers. The Marketing group creates the product images and specifications. The technical staff create the computer operating instructions and service manuals. WroxShop suppliers pass along service manuals and operating instructions for the peripherals.

CONTENT TYPE

Computer OI

Peripheral OI

Product Images

Product Specifications

Service Manuals

Marketing

 

 

Y

Y

 

Technical Staff

Y

 

 

 

Y

Supplier

 

Y

 

 

Y

Content Editors

Any content from suppliers needs to be approved before it can be published. As well, the technical staff wants to review product specifications for accuracy before they are published.

CONTENT TYPE

Computer OI

Peripheral OI

Product Images

Product Specifications

Service Manuals

Approval Required

No

Yes

No

Yes

Yes

Content Consumers

The following chart indicates which groups of users access which content types. Suppliers only have access to their own content.

CONTENT TYPE

Computer OI

Peripheral OI

Product Images

Product Specifications

Service Manuals

Customer

All

All

 

 

 

Technical Staff

All

All

All

All

All

Sales Person

All

All

All

All

 

Marketing Person

All

All

All

All

 

Media

 

 

All

All

 

Servicer

All

All

 

 

All

Supplier

 

Some

 

 

Some

Accessing Content

Once content is “in the system” there has to be methods to access it. To a Site Server developer, accessing content reduces to returning lists of content based on certain criteria. However, to a user, it is usually visually accessible in two ways: as a predefined list or by explicitly executing a search. Another important consideration is deciding if access to certain content should be restricted.

For planning your Content Management application decide which content you will want available as a linear list and which content the user will be able to find using a query.

Lists of Content

Lists of Content are usually a pre-configured list. The lists are usually constrained by time, such as press releases of the week, or as an ordinal list, such as the top ten projects that have overrun the budget. Often the list is constrained using the Content Type (such as “product specifications” in WroxShop). However, the list can also be created based on the Content Attributes.

For lists of content, you as a Site Server developer decide the search criteria. This makes it easy for the users to navigate the user interface because the only decision they have to make is which link to click on. However, the ease of use results in sacrificing flexibility. To make the application more flexible, creating the search is put in the hands of the user. When designing searches it is also important to consider performance implications. See the Site Server capacity planning guides available from http://www.microsoft.com/siteserver.

Searching for Content

Sometimes a predefined query such as ‘whitepapers’ will not get the content a user wants. For example, a user might want a list of content across all Content Types for a specific product. In this case, the user is able to provide parameters to the query to customize the content search. In the planning phase, you must find out what types of queries the user will want to perform to find documents.

Planning Summary

The planning process outlined here provides a strong base for implementing Content Management. At the end of the planning process, you should have a document with tables similar to the ones described in the previous sections. Planning gets the business issues out the way and allows you to focus on technical issues during implementation.

Implementation

Once you have decided what content you want to publish and the workflow around you are ready to build your Site Server application. Take the following steps when building your application:

Ø        Create a Content Store

Ø        Create Groups

Ø        Create Users

Ø        Create Publishing and Approval Pages

Ø        Create View Pages

Ø        Create Search Mechanisms

Creating a Content Store

The first step to creating a content store is to run the Site Server script makecm.vbs. You can either run it to create an empty content store or you can script the creation of content types and attributes. I recommend you edit makecm.vbs to create your content types and attributes. This way you have a record of what you created and can easily re-create the same content store on another machine.

It is easy to define your content types and attributes in makecm.vbs. Here is sample code for creating the Computer Operating Instructions content type for the WroxShop content store. First the object representing the content type is created.

Set DocList.ComputerOI        = CreateObject(DictionaryProgId)

The object representing the content type attributes and the attributes themselves are created.

=============================================================

Set DocList.ComputerOI.Fields = CreateObject(DictionaryProgId)

DocList.ComputerOI.Fields.Title      = "Yes"

DocList.ComputerOI.Fields.ModelNumber= "Yes"

Set DocList.ComputerOI.Fields.Topic

     = CreateObject(DictionaryProgId)

Doclist.ComputerOI.Fields.Topic.Type= "Vocabulary"

Additional information describing the content store is set such as whether documents of that content type require approval.

DocList.ComputerOI.Directory   = "ComputerOI"

DocList.ComputerOI.HTMLFile    = "ComputerOI.asp"

DocList.ComputerOI.Description

= "Computer Operating Instructions"

DocList.ComputerOI.Approve             = 0

See the Site Server documentation for the command line arguments for running makecm.vbs

Creating Groups

Groups for the content store are created with either WebAdmin or MMC.

If you are using a Membership Directory instead of Windows NT Authentication you must map the P&M groups to Windows NT groups. The reason is Windows NT requires NT rights for any resource access. The Authentication Service automatically creates a Windows NT group for each group created in the Membership Directory. The NT group is NOT automatically created if Site Server is installed on a BDC (Backup Domain Controller), you must create it manually.

There is a name mapping from a P&M group to a Windows NT group. The P&M group is prefixed with “Site_directoryname_” to create the NT group. The ‘directoryname’ is the name of you Membership Directory. For example, a group named Marketing in the WroxShop directory would have the NT group name: Site_WroxShop_Marketing.

A developer or administrator most likely sets up groups in the early stages in a project. They should not change much over the life of the application.

Creating Users

Users can be manually added with either WebAdmin or MMC just like Groups. However, Users differ from Groups in that they probably change often during the life of an application. New users are added and others are deleted on an ongoing basis. For this reason it is important to allow creation and deletion of user from the application. Site Server makes this easy with the Membership Design Time Controls.

The Membership Design Time Controls

You use three DTCs for creating a user and their attributes: Membership Header, Membership Attribute and Membership Footer.

The Membership Header DTC allows you to create a new user or update an existing user. For Windows NT Authentication you can only update existing users. New users are added by creating a Windows NT account. You configure the Membership Header DTC with a user and password that exists in the Membership Directory and has sufficient privileges for creating users.

After the Membership Header DTC you add one or more Membership Attribute DTCs. The Membership Attribute DTC will logon to the Membership Server to get a list of valid attributes. After selecting an attribute you can impose constraints on it and specify the HTML the user will see when entering data for that attribute.

After all the Membership Attribute DTCs you add a Membership Footer DTC.  The Membership Footer DTC will create the “Submit” button for the HTML form where the user information is entered. The Membership Footer configuration information includes the Group to add the user to and the URL to go to after successfully submitting the form.

Implementing Workflow

The start of creating the workflow for WroxShop is modifying the submission, content provider and approval pages.

The submission page (submit.asp) is used as the initial point of uploading a document. It is the start of a series of steps for putting a document into content management. You may extend the workflow by changing any of the pages along the way. For instance, for every document put into content management you may want to change some information in your ERP system.

The approval page (approve.asp) is used for content editors to approve content before it is published. There are some modifications you may want to make at this point. You may want to involve many people in the approval processes (see references). You might want to implement version control. You might want to change it from an approval process to one where each individual adds more information at each step.

The content provider page (cpview.asp) is used bythe content producers to manage documents that they have published. From here they can delete document or modify their attributes.

Creating View Pages

Content Management will automatically create generic view pages. You will probably want to brand them to suit your organization.

You can also change the attributes used for the query that returns results. If you want to create a parameterized query you will have to modify the rule file.

Restricting Content

Content can be restricted in two ways: programmatically and using NT permissions.

Programmatically restricting content means not allowing using to see links to context. For instance, the following function will test if a user belongs to a group.

Function IsMemberOf( strCNMember, testGroup )

Dim objIADsContainer

Dim objIADs

Dim strGroups

Dim nLoopArray

IsMemberOf = false

Set objIADsContainer=GetObject(MEMBERSHIP_MEMBERS_PATH)

Set objIADs=objIADsContainer.getobject("member", "cn="& strCNMember)

strGroups=objIADs.getex("groups")

' Check to see if the value in the groups property is an array

if IsArray (strGroups) then

       for nLoopArray = lbound(strGroups) to Ubound(strGroups)

             If testGroup = strGroups(nLoopArray) then

                   IsMemberOf = true

                   exit function

             end if

       next

else

       If strGroups = testGroup then

             IsMemberOf = true

       end if

end if

End Function

This does not secure the content however. To secure the content you use NT permissions on the directories and files. Provide read access for only the groups that you want to see the content. Site Server Content Management makes it easy since the Content Stores and Content Types have their own directories.

As well, the indexing engine keeps track of file permissions so search results will only be returned for those documents that the user has permissions for.

Searches

Searches can be performed using content types, content attributes or the full text. Using Content Type and Attributes enables the user to perform a targeted search – resulting in more accurate search results.

Knowledge Manager

Queries themselves can be considered as a source of knowledge. As such, there should be a way to save and share them. Site Server Knowledge Manager allows you to do this. Searches are stored as “Briefs”. They can be either private briefs or shared briefs. Private briefs are only available to the logged in user. Shared briefs are available to everyone. They are created by appointed “Knowledge Experts”.

A person is designated as an expert if they belong to the Administrator, SiteServer Administrators or SiteServer Knowledge Administrators group. Alternatively, modify the permission on the Experts.txt file to include the group that you want to be a Knowledge Expert.

References

Site Server Multiple Approval Process for Publishing

http://www.microsoft.com/siteserver/site/30/whitepapers/MultipleApproval.htm


 

Recent Jobs

A great opportunity to Digital Vide
here is a greate opportunity as a S
A great opportunity as a Network En
A Greate Opportunituy as a SQL Deve
An immediate job opportunity as a B

View all Jobs (Add yours)
View all CV (Add yours)



chicago web site design
affordable conference calls
Host Department NOLIMIT Web Hosting
UK Web Designers
Emporio armani sunglasses
New Jersey pool contractor
answering service
conference call services
swimming pool builder
MSN
sunglasses


    Email TopXML  

Front Page Daily Stuff TopXML Forum XML blogs XML Newsgroups BizTalk Biztalk Utilities Biztalk Utilities Tutorial B2B SAP XML Microsoft .NET Dotnet System XML Soapformatter SQLXML XMLserializer XQuery PHP PHP SimpleXML PHP XML Dom PHP XML RPC PHP XSLT Java Java Java XML Xalan Microsoft ASP ASP Schemas XML SQL Server XML XMLDom XSL XSL Tutorial XSLT Stylesheets General Javascript CSS XHTML WAP