Building Websites with Microsoft Content Management Server : A Fast-Paced and Practical Tutorial Guide for C# Developers Starting Out with MCMS 2002

by ; ;
Format: Paperback
Pub. Date: 2004-10-31
Publisher(s): Lightning Source Inc
List Price: $79.98

Rent Textbook

Select for Price
There was a problem. Please try again later.

Rent Digital

Rent Digital Options
Online:1825 Days access
Downloadable:Lifetime Access
$47.99
*To support the delivery of the digital material to you, a digital delivery fee of $3.99 will be charged on each digital item.
$47.99*

New Textbook

We're Sorry
Sold Out

Used Textbook

We're Sorry
Sold Out

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Table of Contents

Introduction 1(6)
Overview of Microsoft Content Management Server
7(18)
Why Content Management?
8(1)
The Solution---Content Management Servers
9(1)
The Components of MCMS
10(1)
MCMS is a Content Server
11(4)
How MCMS Renders Content
11(2)
How to Locate the MCMS ISAPI Filters
13(1)
Security Service
14(1)
MCMS Is a Content Repository
15(1)
MCMS Integrates with Visual Studio .NET
15(1)
.NET Framework
15(1)
Integration with other Microsoft Server Products
15(1)
Publishing API
15(1)
MCMS Is a Web Authoring Tool
16(2)
Web Author
16(1)
Authoring Connector
17(1)
What Authors can do with MCMS Web Authoring Tools
17(1)
MCMS is a Website Manager
18(2)
MCMS Enables Deployment of Content Across Systems
18(1)
What Microsoft Content Management Server Is Not
19(1)
MCMS Objects
20(3)
Channels
21(1)
Postings
21(1)
Resource Galleries
22(1)
Resources
22(1)
Template Galleries
22(1)
Templates
22(1)
Roles and Rights Groups
22(1)
Users
22(1)
Summary
23(2)
Installing MCMS 2002 for the Developer
25(26)
Pre-Installation Checklist for the Developer
25(14)
Ensuring that the Computer Meets the Minimum Hardware Requirements
26(1)
Running Windows Update
27(1)
Configuring Internet Information Services (IIS)
27(2)
Ensuring that Internet Explorer is Version 6.0 or Above
29(1)
Installing Microsoft Visual Studio .NET 2002 or 2003
29(1)
Installing Microsoft SQL Server 2000
30(2)
Deciding on an MCMS System Account
32(1)
Creating the MCMS Database in SQL Server 2000
33(1)
Creating the MCMS Web and Server Configuration Application Entry Points (Windows 2000 Server and Windows Server 2003 only)
34(3)
Installing Internet Explorer Web Controls
37(1)
Installing the Visual J# Redistributable
37(1)
Setting the Maximum Size for Uploaded Resources and Site Deployment (Windows Server 2003 only)
37(1)
Ensuring that the Account Running the ASP.NET Process has Impersonation Privileges
38(1)
Considerations for Windows XP with Service Pack 2
39(1)
Installing Microsoft Content Management Server 2002 with SP1a
39(5)
Installing from the Released To Manufacturing version of MCMS
44(2)
Applying SP1a on the RTM version of MCMS
45(1)
What has been Installed on My Computer?
46(1)
New Additions to the Start Menu
46(1)
Additional Items in the File System
47(1)
New Service Available
47(1)
New Keys in the System Registry
47(1)
Frequently Asked Questions
47(2)
Summary
49(2)
The Database Configuration Application
51(16)
The DCA Links MCMS Server to the Database
51(1)
The DCA Toggles between Databases
51(1)
Running the DCA for the First Time
52(10)
Final Steps
61(1)
Connecting to an Existing MCMS Database
62(1)
DCA---Behind the Scenes
63(2)
New Virtual Directories in Internet Service Manager
63(1)
Additional Database Tables
63(1)
Additional Stored Procedures
63(1)
Background Processing
64(1)
Additional Keys in the Registry
64(1)
Addition to the Start Menu
65(1)
Summary
65(2)
The Server Configuration Application
67(18)
Starting the SCA
67(2)
Launching SCA from a Remote Machine
69(1)
About the MCMS Host, Version, and Database
70(1)
MCMS Host
70(1)
MCMS Version
70(1)
MCMS Database
70(1)
General Settings
71(1)
URL Format
71(1)
Map Channel Names to Host Header Names
72(1)
Cache Settings
72(3)
Configuring Cache Settings
73(2)
Web Settings
75(2)
Access Settings
77(6)
Modifying the List of Domains
77(1)
Security Settings
78(1)
MCMS System Account
79(4)
License Settings
83(1)
Summary
83(2)
Setting Up a Website from Scratch
85(28)
Laying the Foundations
85(1)
Designing and Building the Channel Structure
86(6)
Channel Naming Guidelines
87(1)
It's All for Display
88(1)
The Channel Structure
88(4)
Designing and Building the Template and Resource Gallery Structure
92(19)
Designing the Gallery Structure for Authors
93(1)
Building Template Galleries with Site Manager
94(2)
Building Resource Galleries with Site Manager
96(2)
Creating the TropicalGreen Project in Visual Studio .NET
98(4)
What the MCMS Project Creation Wizard Does
102(2)
Setting the Authentication Mode
104(1)
Setting up a Multi-Developer Environment
105(6)
Summary
111(2)
Creating Templates and Postings
113(14)
Something About Templates
113(1)
MCMS Template Files
114(1)
Template Gallery Items
114(1)
Before We Begin
114(1)
Creating the Plant Template File
115(1)
Editing the Template File
116(2)
Adding the Default Console
117(1)
Creating a Template Gallery Item
118(3)
Viewing the MCMS Template Explorer
118(1)
Creating the Plant Template Gallery Item
119(1)
Linking the Template Gallery Item to the ASPX Template
119(1)
Saving the Template Gallery Item
120(1)
Checking In the Template Gallery Item
121(1)
Creating the First Posting
121(4)
Opening the Built-In Channel Rendering Script
121(1)
Creating a New Page
122(3)
The Difference between a Template File and a Regular ASP.NET Web Form
125(1)
Summary
126(1)
Working with Placeholders
127(28)
Using Placeholders
128(2)
Placeholder Controls
128(1)
Placeholder Definitions
129(1)
Placeholder Objects
130(1)
Before We Begin
130(1)
Drafting the Prototype
131(1)
HtmlPlaceholder
132(10)
Adding an HtmlPlaceholderDefinition
133(2)
Properties of the HtmlPlaceholderDefinition
135(3)
HtmlPlaceholderControls
138(1)
Adding an HtmlPlaceholderControl
139(1)
Linking the Placeholder Control to the Placeholder Definition
140(1)
Properties of an HtmlPlaceholderControl
141(1)
AttachmentPlaceholder
142(4)
Adding an AttachmentPlaceholderDefinition to the Template
143(1)
AttachmentPlaceholderDefinition Properties
144(1)
SingleAttachmentPlaceholderControl
144(1)
Adding a SingleAttachmentPlaceholderControl
145(1)
ImagePlaceholders
146(4)
Adding an ImagePlaceholderDefinition to the Template
146(1)
ImagePlaceholderDefinition Properties
147(1)
SingleImagePlaceholderControl
148(1)
Adding a SingleImagePlaceholderControl
148(1)
SingleImagePlaceholderControl Properties
149(1)
The Completed Page
150(1)
Linking a Stylesheet to the Template File
151(2)
Summary
153(2)
Debugging Template Files
155(12)
Before We Begin
155(2)
Enable Debugging on the TropicalGreen Project
157(1)
Debugging the Template File: The Wrong Way
158(2)
Attempting to Test the Plant.aspx Template File: The Wrong Way
158(2)
Debugging the Template File: The Correct Way
160(2)
Debugging with a Debug Start Page
160(2)
Debugging by Starting from a URL
162(3)
Debugging by Attaching the Debugger to the ASP.NET Worker Process
163(2)
Solving the Problem
165(1)
Removing Breakpoints
166(1)
Summary
166(1)
Default Postings and Channel Rendering Scripts
167(20)
Default Postings
168(7)
Using Site Manager to Assign the Default Posting Name
168(2)
When There Are No Postings in the Channel with the Default Posting's Name
170(1)
When More Than One Posting Has the Default Posting's Name
170(1)
Coding the Summary Page
170(5)
Channel Rendering Scripts
175(9)
Creating a Channel Rendering Script
175(2)
Testing the Channel Rendering Script
177(1)
When a Channel Rendering Script Meets a Default Posting
177(2)
Channel Rendering Scripts are used to `Frame' a Page
179(5)
Navigation URL
184(1)
Wrapping up the Summary Page
184(2)
Tips and Tricks
186(1)
Summary
186(1)
Understanding the MCMS Publishing Workflow
187(32)
The Eight User Roles in MCMS
187(1)
Rights Groups Organize Users
188(1)
Rights Groups are Assigned to Containers
189(2)
The Complete Publishing Workflow when a Posting is Created
191(1)
Before We Begin
192(2)
Creating Local Accounts for TropicalGreen Users
193(1)
Setting up the Environment for Testing
193(1)
Creating Rights Groups
194(2)
Assigning Users to Rights Groups
196(2)
Assigning Rights Groups to Containers
198(3)
Method 1: The Properties Dialog of the Selected Container
198(2)
Method 2: The Groups Rights Tab
200(1)
An Authors-Only Workflow
201(4)
Log in as Author1
201(1)
Edit the Hibiscus Posting as Author1
202(1)
Authors Can Only Edit Postings They Own
203(1)
Submitting a Posting
204(1)
An Author-Editor Workflow
205(6)
Assign Editors to the PlantCatalog Channel
206(1)
Author Submits a Posting to the Editor
206(1)
What Editors See in the Web Author Console
207(1)
Editor Declines Posting
208(1)
Editor Approves Posting
209(1)
Editor Edits Posting
209(1)
Editor Submits Posting
210(1)
Editors Do Not Get Triggered When Authors Change the Properties of a Posting
210(1)
An Author-Editor-Moderator Workflow
211(7)
Moderators Approve Changes to Posting Properties, not Content
211(1)
Assign Moderators to the PlantCatalog Channel
212(1)
Author Submits a Posting
213(1)
Editor Approves a Posting
214(1)
What Moderators See in the Web Author Console
214(1)
Moderator Declines Posting
215(1)
Moderator Approves Posting
215(1)
Moderator Submits Posting
216(2)
Deleting Postings
218(1)
One Last Thing
218(1)
Summary
218(1)
Authoring with Microsoft Content Management Server
219(46)
How Users Edit Postings
219(1)
The Default Web Author Console
220(15)
Investigating the Web Author Console
220(15)
Editing the Hibiscus Posting
235(12)
Start Editing
235(1)
Adding HTML Content
236(6)
Adding Pictures
242(2)
Adding Attachments
244(3)
Publishing the Changed Posting
247(1)
Creating a New Plant Posting
248(2)
Managing Workflow
250(3)
Using the Production Manager
250(1)
Using the Approval Assistant
251(2)
Revisions
253(4)
Using the Revision History
253(2)
Viewing Revisions by Date
255(1)
Clearing the Revision History
256(1)
Managing Resources
257(6)
Adding Resources to the Resource Gallery
257(3)
Using Shared Resources in Postings
260(1)
Replacing Resources
261(1)
Deleting Resources
262(1)
Summary
263(2)
The Publishing Application Programming Interface
265(40)
Setting Up the Work Area
266(1)
The Namespaces
267(1)
Accessing Objects
268(13)
Getting a Reference to the Current CmsHttpContext
270(1)
Getting the Root Channel
271(1)
Getting the Values of Object Properties
272(2)
Moving Down the Hierarchy
274(2)
Moving Up the Hierarchy
276(2)
Using GetByRelativePath() to Access other Objects
278(2)
Getting the Current Channel or Posting
280(1)
Using the Searches Class to Reference Any Object
281(7)
Searches.GetByPath()
284(2)
Searches.GetByGuid()
286(2)
Searches.GetByUrl()
288(1)
Accessing Placeholder Content
288(15)
The AttachmentPlaceholder
291(3)
The HtmlPlaceholder
294(2)
The ImagePlaceholder
296(2)
Detecting when Placeholders are Empty
298(5)
Summary
303(2)
Building Navigation Controls
305(30)
Common Navigation Controls
305(11)
Web User Controls Promote Design Consistency
307(1)
A Simple Menu---Creating the Top Menu Web User Control
307(2)
Changing the Display Name of the TropicalGreen Channel
309(1)
Using Channel Custom Properties to Differentiate Between Top and Right Menu Items
310(3)
Filtering the Top Menu
313(3)
Menus with JavaScript---Creating the Right Menu Web User Control
316(8)
The First-Level Menu Items
317(2)
The Second-Level Menu Items
319(4)
Working with External URLs
323(1)
A BreadCrumb Control
324(3)
Generating the Entire Site Map---A TreeView Control
327(6)
Adding the First Node
330(1)
Building the Rest of the Tree Recursively
331(1)
Creating the SiteMap Page
332(1)
Summary
333(2)
Customizing Placeholder Controls
335(30)
Before We Begin
336(2)
Creating the TropicalGreenControlLib Project
336(1)
Adding References to the TropicalGreenControlLib Project
337(1)
Deriving from the BasePlaceholderControl Class
338(10)
About the BasePlaceholderControl Class
338(2)
Building a Single-Line TextBox Placeholder Control
340(7)
Populating a Custom Control with Default Content
347(1)
Deriving from the MCMS Placeholder Controls
348(5)
Building the AlignedImagePlaceholderControl
349(2)
Adding the AlignedImagePlaceholderControl to the Plant Template File
351(2)
Wrapping up the AlignedImagePlaceholderControl
353(1)
Using PresentationTemplates
353(4)
Building a Presentation Template for Flash Content
354(3)
Creating Custom Placeholder Controls for the XmlPlaceholder
357(7)
Properties of the Xml Placeholder Definition
358(1)
Building a CheckBoxListPlaceholderControl
359(5)
Summary
364(1)
Building Custom Placeholder Definitions and Placeholders
365(20)
Why Build Custom Placeholder Definitions?
365(1)
Before We Begin
366(1)
Adding the Required References to the Project
366(1)
Setting the Version of the Project
367(1)
The HtmlStrippingPlaceholderDefinition / HtmlStrippingPlaceholder Pair
367(7)
The HtmlStrippingPlaceholderDefinition
368(3)
The HtmlStrippingPlaceholder
371(3)
Making the Placeholder Definition Available to Template Designers
374(1)
Registering the Placeholder Definition Assembly in the GAC
374(1)
Adding the HtmlStrippingPlaceholderDefinition to the Publishing.config File
375(1)
Adding the HtmlStrippingPlaceholderDefinition to the Template
375(3)
The HtmlStrippingPlaceholderControl Class
378(4)
Trying it Out
382(1)
Summary
383(2)
Extending the Workflow
385(28)
Before We Begin
386(1)
MCMS Publishing Events
386(1)
Registering Event Handlers
387(1)
Monitoring Workflow Events
388(7)
Sequence of Events Raised when Creating a New Page
390(1)
Sequence of Events Raised when a Page is Saved
391(1)
Sequence of Events Raised when a Page is Submitted, Approved, or Declined
392(1)
Sequence of Events Raised when a Page is Copied
393(1)
Sequence of Events Raised when a Page is Deleted
393(1)
Sequence of Events Raised when a Page is Moved
394(1)
Sequence of Events Raised when Updating Page Property/Custom Property Values
394(1)
Sequence of Events Raised when Updating Channel Properties
395(1)
E-mail Notification
395(11)
The Notification Class
396(6)
The Approved Event Handler
402(2)
The Declined Event Handler
404(2)
Canceling an Operation
406(4)
Preventing Authors from Saving Pages with Identical Names
406(2)
Avoiding Recursive Loops
408(1)
Preventing Deletes
409(1)
Generic Event Handlers
410(1)
Summary
411(2)
Publishing with Authoring Connector
413(30)
Before We Begin
413(1)
Installing Authoring Connector
414(3)
Columns
417(1)
Building the Column Template
418(3)
Creating the Template Object
418(1)
Creating the Template File
419(2)
The OfficeHtmlPlaceholder and OfficeAttachmentPlaceholder Definitions
421(2)
Publishing from Microsoft Word
423(7)
Updating the Page
430(2)
Replacing Any Page
432(1)
Submitting Selected Text
433(2)
Maintaining a Consistent Look and Feel
435(3)
Reducing the Spacing between Line Breaks
437(1)
Changing the Server Name
438(2)
Changing the Server Name for Hundreds of Documents
439(1)
Creating Publishing Tasks
440(2)
Modifying the Location of PublishingTasks.xml and PublishingTasks.xsd
442(1)
Summary
442(1)
Implementing Forms Authentication
443(22)
About Forms Authentication
443(3)
How It Works
444(2)
Configuring IIS to Allow Anonymous Access
446(1)
Configure Settings in the Web.config File
447(2)
Creating the Login Page
449(4)
Logging on to the Site
453(1)
The CmsFormsAuthentication Class
454(1)
What's in the Cookie
455(1)
When Users Do Not Have Rights to View the Requested Page
455(1)
When the Cookie is Deleted or No Longer Valid
456(1)
Welcoming Guests to the Site
457(2)
Determining or Creating the MCMS Guest Account
457(1)
Turning on Guest Access in the SCA
458(1)
Assign the Guest Account Subscriber Rights
458(1)
Visiting the Site as a Guest
459(1)
Creating a Login/Logout Button for Authors
460(2)
Creating a Login Channel for Authors
462(1)
Summary
463(2)
Customizing the Web Author Console
465(34)
Before We Begin
466(1)
The Different Faces of the Web Author Console
466(1)
The Console in the Seven Modes of the Web Author Context
466(1)
Using the PAPI to Determine the Current Web Author Context Mode
467(1)
Building Blocks of the Web Author Console
467(4)
Changing the Look and Feel of the Default Console
471(2)
Changing Colors
472(1)
Changing Fonts
472(1)
Changing Text on Action Controls
472(1)
Changing Action Controls from Hyperlinks to Buttons
473(1)
Removing Controls from the List
473(1)
Adding Custom Action Controls to the Console
473(15)
Inheriting from a BaseAction Class
474(3)
Inheriting from a BasePostbackAction Class
477(5)
Releasing the Ownership of a Posting
482(3)
Inheriting from the BaseNewWindowAction Class
485(3)
Modifying Existing Actions
488(10)
Declining with Reason
489(3)
Identifying the Person Who First Edited a Posting
492(6)
Summary
498(1)
Creating Connected Templates and Pages
499(26)
About Connected Templates and Postings
500(2)
Connected Templates
500(1)
Connected Postings
501(1)
Before We Begin
502(1)
Creating Connected Templates
503(6)
The First Template
503(4)
The Connected Template
507(2)
Creating Connected Postings
509(6)
Creating the Original Posting
509(1)
Creating the Connected Posting
510(5)
Going to a Connected Page
515(3)
Connected Postings Share Workflow Processes
518(2)
Submission or Approval of a Posting Submits or Approves all Connected Postings
518(1)
Connected Postings Follow the Workflow of the Posting that has been Submitted/Approved
518(2)
Alternatives to Connected Postings
520(4)
Creating Printer-Friendly Pages with Template Switching
521(3)
Summary
524(1)
Aggregating Content
525(12)
Create the Channel Rendering Script
526(10)
Adding the Summary of Sections
528(2)
Recent Content
530(6)
Alternative Functionality
536(1)
Summary
536(1)
Enhancing Performance with Caching
537(18)
How MCMS Works with Caching
537(1)
What MCMS Caches by Default
538(3)
The Disk Cache
538(1)
The Node Cache and High-Level Caches
539(1)
Tuning the Node Cache
540(1)
Improving Performance with ASP.NET Output Caching
541(11)
Enabling ASP.NET Output Caching
542(1)
Caching the Plant Fact Sheet
542(3)
Caching the Site Map
545(4)
Personalization and Invalidation
549(3)
Proving that Caching Enhances Site Performance
552(1)
Summary
553(2)
Site Deployment
555(48)
Using the Site Deployment Manager
556(1)
Opening the Site Deployment Export Dialog
557(13)
Choosing Objects for Export
558(2)
Excluding Objects from the Export Package
560(1)
Exporting Containers Only
561(1)
Viewing Template Dependencies
562(1)
Removing Objects from the Included and Excluded Export Objects List
563(1)
Exporting Rights Groups and Users
564(1)
Specifying the Location of the Export Package
565(1)
Saving an Export Profile
565(1)
Previewing the Contents of an Export Package
565(4)
Creating the Export Package
569(1)
Importing Packages
570(14)
Creating a Fresh Database for Testing Import Jobs
570(1)
Opening the Site Deployment Import Dialog
571(1)
Container Rules
571(8)
Importing an Existing Site Deployment Object File
579(5)
Running Import Processes on a Live Production Site
584(1)
Before We Continue
584(1)
Automating Deployment Using the Site Deployment API
584(16)
Differences between the Site Deployment API and the Site Deployment Manager
585(1)
Writing a Server-Side Export Script
586(5)
Writing a Server-Side Import Script
591(5)
Writing a Script to Back up and Restore Rights Groups and Users
596(3)
Server-Side Deployment Scripts vs. Client-Side Deployment Scripts
599(1)
Planning for Contingencies
600(1)
Summary
600(3)
Hosting Multiple Websites and Adding SSL Security
603(12)
Hosting Multiple MCMS Websites
603(8)
Multiple Channels and One MCMS Application
604(1)
Multiple Channels and Multiple MCMS Applications
605(1)
Mapping Channel Names to Host Header Names
605(6)
Adding SSL Security
611(3)
Summary
614(1)
Appendix A: Upgrading from MCMS 2001 to MCMS 2002
615(6)
Backing Up the MCMS 2001 Site
615(1)
Upgrading the MCMS Software
616(1)
Upgrading the Database
616(1)
Noticing the Differences
617(1)
Site Manager Replaces the Site Builder
617(1)
Visual Studio .NET for Templates
617(1)
Web Author Console
618(1)
ASP or ASP.NET?
618(2)
Staying with ASP
618(2)
Go for Broke: ASP.NET
620(1)
Summary
620(1)
Appendix B: References
621(4)
Microsoft Resources
621(1)
Knowledge Base Articles Referenced in the Book
622(1)
MSDN and TechNet Articles Referenced in the Book
622(1)
Author Blogs
623(1)
Community Resources
623(1)
Other References from the Chapters
623(1)
About Tropical Plants
623(2)
Index 625

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.