Szczegóły ebooka

Advanced Microsoft Content Management Server Development. Working with the Publishing API, Placeholders, Search, Web Services, RSS, and Sharepoint Integration

Advanced Microsoft Content Management Server Development. Working with the Publishing API, Placeholders, Search, Web Services, RSS, and Sharepoint Integration

Stefan Gossner, Lim Mei Ying, Angus Logan, Andrew Connell

Ebook
Microsoft Content Management Server 2002 is a dynamic web publishing system with which you can build websites quickly and cost-efficiently. MCMS provides the administration, authoring, and data management functionality, and you provide the website interface, logic, and workflow. Microsoft SharePoint Portal Server (SPS) also features in the book. SPS 2003 enables enterprises to deploy an intelligent portal that seamlessly connects users, teams, and knowledge so that people can take advantage of relevant information across business processes to help them work more efficiently.You've mastered the basics of MCMS, and setup your own MCMS installation. You've only scratched the surface. This book is your gateway to squeezing every penny from your investment in MCMS and SPS, and making these two applications work together to provide an outstanding richness of content delivery and easy maintainability. As a developer, the Publishing API (PAPI) is at the heart of your work with MCMS, and this book starts by taking you on the most detailed tour of the PAPI you will find anywhere. As a live example, a component that reveals the structure of your MCMS site is created, taking you through how to manage the common elements of MCMS programmatically. Getting SharePoint and MCMS to work together is the next stop in the book. You will see how to use SharePoint's search engine to search MCMS content, publish content between the two systems, and create SharePoint Web Parts to draw content from MCMS.To ease your everyday work with MCMS, there are chapters on placeholder validation, and some useful custom placeholders for common MCMS tasks, such as a date-time picker, a placeholder for multiple attachments, and a DataGrid placeholder among others. There are a number of ways to consume MCMS content from the outside world, and we look at two exciting ways here; RSS and InfoPath/Web Services. The InfoPath solution provides another interface to MCMS content that allows content authors to concentrate on content and not the presentation. The book is rounded off with a number of must-have MCMS tips and tricks.



Revert a posting to a previous version

Change a postingÔø???s template

Build a recycle bin

Deal with links to deleted resources

Update a postingÔø???s properties directly from a template file

Re-write ugly URLs to friendly URLs

Export resource gallery items using the site deployment API (SDAPI)

Configure the position and size of the Web Author Console Dialogs

Get frames and IFrames to work correctly in a template file
  • Advanced Microsoft Content Management Server Development
    • Table of Contents
    • Advanced Microsoft Content Management Server Development
    • Credits
    • About the Authors
      • Shared Acknowledgements
    • About the Reviewers
    • Introduction
      • What This Book Covers
      • What You Need for This Book
      • Conventions
      • Reader Feedback
      • Customer Support
        • Downloading the Example Code for the Book
        • Errata
        • Questions
    • 1. Building CMS Explorer
      • A Central Administrative Tool: CMS Explorer
      • Creating the Workspace
      • The Four MCMS Publishing Modes
        • Determining the Current Publishing Mode
        • Changing the MCMS Publishing Mode
          • The Ugly URL Querystring Specifies the Publishing Mode
          • Toggling Modes with CmsHttpContext
          • Toggling Modes with CmsApplicationContext
          • Adding Querystring Parameters to the URL with CmsHttpContext.PropagateParameter()
      • Specifying the Parent Container
      • Rendering Collections in a DataGrid
        • Displaying Only Selected Properties in the DataGrid
          • Considerations for Template Galleries and Resource Galleries
        • Adding Custom Columns to the DataGrid
        • Building an Edit Menu
        • Building the Toolbar
          • The Up Button
          • The Refresh Button
          • The DropDownList
          • The Channels Button
          • The Templates Button
          • The Resources Button
        • The Completed User Interface
      • Using Reflection to List Properties and their Values
      • Updating Property Values
      • Summary
    • 2. Managing Channels and Postings with the PAPI
      • Managing Channels and Postings
        • Creating Channels
          • Validating Names
          • Testing the Create Channel Dialog
      • Creating Postings
        • Connected Postings
      • Copying Postings
      • Moving Postings
      • Summary
    • 3. Managing Templates, Template Galleries, and Resources
      • Managing Template Galleries and Templates
        • Creating Template Galleries
        • Creating Templates
          • Submitting the Template
          • Creating Custom Property Definitions
          • Creating Placeholder Definitions
          • Creating Connected Templates
        • Copying Templates
        • Moving Template Galleries and Templates
      • Managing Resources
        • Creating Resources
        • Replacing Resources
      • Deleting Objects
      • Summary
    • 4. Preparing Postings for Search Indexing
      • Influencing Search Engines with the ROBOTS META Tag
        • The RobotMetaTag Control and Channel Rendering Scripts
      • Outputting META Tags
        • Using <%= %> within Template Files
        • Pulling META Tag Content from Custom Properties
          • Using Literal Controls
          • Overriding the Render Method of a Web User Control
      • Configuring Templates to Allow Postings to Return Accurate Last Modified Time
        • Dealing with Output Caching
      • Increasing Search Accuracy by Generating Search Engine Specific Pages
        • Interrogating the User Agent
        • Hiding Navigational Elements
        • Creating a Posting/Channel Listing User Control
      • Tips for Search Engine Optimization
        • Design and Navigation Considerations
          • Frames
          • Flash Content
          • Image Maps and JavaScript Navigation
        • Adding Details to the Title Tag
        • Using META Tags
          • Choosing your Keywords and Density
          • Description
      • Summary
    • 5. Searching MCMS with SharePoint
      • MCMS Search Options
      • Microsoft SharePoint Portal Server Search
      • Preparing the MCMS Site for Indexing
        • Disabling Channel Names to Host Header Names Mapping
        • Assigning a Search Account
        • Enable Guest Access for Tropical Green
        • Output Caching and Last-Modified Dates of Postings
        • The Connector SearchMetaTagGenerator Control
      • Configuring SharePoint Portal Server Search
        • Creating a New Content Source
          • Creating a Content Source with the MCMS Connector Utility
            • Creating a New Search Scope
          • Creating a Content Source Manually
        • Search Rights for the MCMS Application Pool Account
      • Adding a Search Page to the MCMS Site
        • Searching with the MCMS SharePoint Connector
        • Building a Custom Search Implementation
          • About the SharePoint Portal Server Query Service
          • Building a Search Input Control
          • The Advanced Search and Results Page
            • Building the Microsoft SQL Full-Text Query
            • Building the MSQuery XML String
      • Summary
    • 6. Publishing Content Between MCMS and SharePoint
      • Using MCMS and SharePoint Together
      • Joining MCMS and SharePoint in a Single Solution
      • Using SharePoint to Display MCMS Content
        • The MCMS Connector for SharePoint Technologies
          • Installing the MCMS Connector Web Parts
          • MCMS Page Listing Web Part
            • A Custom View for the MCMS Page Listing Web Part
          • The MCMS Pages in Production Web Part
          • The MCMS Pages Waiting for Approval Web Part
        • Limitations of the MCMS Connector for SharePoint
      • Using MCMS to Display SharePoint Content
        • The MCMS Connector for SharePoint Technologies
          • Using the SharePoint Document Placeholder
        • Limitations of the MCMS Connector for SharePoint
          • A Placeholder Control to Display SharePoint List Contents
      • Summary
    • 7. Building SharePoint Web Parts
      • The SharePoint MCMS Navigation Control
      • Preparing the Development Environment
      • Creating the Web Part Project
      • Creating the Web Part
      • Defining Custom Properties for the Web Part
      • Developing Custom Properties for the Web Part
      • Building the Data Layer
      • Building the Presentation Layer
      • Web Part Deployment
        • Preparing the Web Part Description (.DWP) File
        • Preparing the Web Part Manifest File
        • Creating the Deployment Project
        • Executing the Deployment
        • Right-Click Deployment of Web Part CAB Files
      • Adding Our Web Part to a Page
      • Configuring the Web Part
      • Debugging the Web Part
      • Summary
    • 8. Useful Placeholder Controls
      • Before We Begin
      • A Date-Time Picker Placeholder Control
        • The DateTimePickerPlaceholderControl Class
        • Loading the Controls for Authoring
        • Retrieving Saved Content
        • Saving the Date and Time
        • Validating the Date and Time
        • Presenting the Selected Date and Time
        • The Date and Time Picker Dialog
        • Adding the Placeholder Control to a Template File
      • A Placeholder Control for Multiple Attachments
        • The MultipleAttachmentPlaceholderControl Class
        • Generating the Table of Attachments
        • Deleting Attachments
        • Reusing the Insert Attachment Dialog
          • Calling the Dialog
          • Returning Values from the Dialog
            • Client-Side Script for All Types of Placeholder Controls
            • Passing Attachment Information to the Placeholder Control
            • Generating the WBC_setThinEditIEAttachment() Method
        • Saving the List of Attachments
        • Retrieving Saved Content
          • Preparing Arrays for Storing Information about the Attachments
          • Retrieving Previously Saved XML
          • Extracting Information about the Attachments from the XML
          • Populating the Table with the Saved Attachments
        • Displaying the Attachments
        • Using the MultipleAttachmentPlaceholderControl
      • An Image Rotator Placeholder Control
        • The ImageRotatorPlaceholderControl Class
        • Specifying the Resource Gallery
        • Loading the TextBox
        • Saving the Selected Resource Gallery Path
        • Loading Previously Saved Values
        • Rotating Images Randomly
        • Using the Image Rotator Placeholder Control
      • A Placeholder Control to Store All HTML Tags
        • The AllTagsHtmlPlaceholderControl Class
        • Saving All Kinds of Tags
          • Escaping Tags
          • UnEscaping Tags
        • Loading Content for Authoring and Presentation
        • Using the AllTagsHtmlPlaceholderControl
      • A DataGrid Placeholder Control
        • The DataGridPlaceholderControl Class
        • Loading the DataGrid for Authoring
        • Retrieving Placeholder Content
        • Saving the Modified XML
        • Adding a Row
        • Deleting a Row
        • Editing a Row
        • Updating a Row
        • Displaying the XML in Presentation Mode
        • Using the DataGrid Placeholder Control
        • Turning Off the Leave Warning Alert
      • Summary
    • 9. Validating Placeholder Controls
      • Limitations of the ASP.NET Validation Controls
      • The MCMSValidators Project
      • Validating the HtmlPlaceholderControl
        • Retrieving the Current Value of the HtmlPlaceholderControl
        • Checking for an Empty HtmlPlaceholderControl
          • Matching Tags with Regular Expressions
        • Building the Required HTML Placeholder Validator
          • Overriding the ControlPropertiesValid() Method
          • Overriding the OnPreRender() Method
          • Overriding the AddAttributesToRender() Method
          • Overriding the EvaluateIsValid() Method
        • Adding the Custom Validator to the Template File
      • Preventing Pages with Invalid Content from Being Saved
        • Save New Page with Validation
        • Save and Exit with Validation
        • Save with Validation
        • Adding the Modified Buttons to the Authoring Console
      • Implementing Server-Side Validation
        • The HtmlPlaceholderControl with Validation
        • The RequiredHTMLPHValidator with Server-Side Validation
          • Checking the Length of Text Entered
          • Canceling the Save Operation
      • Validating the SingleImagePlaceholderControl
        • Retrieving the Value of the SingleImagePlaceholderControl
        • Checking for an Empty SingleImagePlaceholderControl
        • The RequiredImagePHValidator
      • Validating the SingleAttachmentPlaceholderControl
        • Stored Values of the SingleAttachmentPlaceholderControl
        • Checking for an Empty SingleAttachmentPlaceholderControl
        • The RequiredAttachmentPHValidator
      • Summary
    • 10. Staging Static Pages
      • Site Stager in Brief
        • Installing Site Stager
        • Defining the Destination User
        • The Site Stager Administration Dialog
        • Creating a Staging Profile
        • Running a Job
        • Scheduling a Profile
        • Deleting a Profile
      • The ASP.NET Stager Application
        • The DotNetSiteStager Project
        • Configuring Stager Settings
        • Recording Messages to a Log File
        • Logging in as the Stage As User
        • Revealing Hidden Postings
        • Staging Channels and Postings
          • Getting the Start Channel
          • Iterating Through the Channel Tree
          • Issuing an HTTP Request
          • Getting Responses and Creating Files
        • Staging Attachments
          • Collecting a List of Attachments to Download
          • Scanning Pages for Attachments
          • Storing Information about the Attachments to a List
          • Enhancing the Searches.GetByUrl() Method
          • Downloading the Attachments
        • Running the DotNetSiteStager
        • Suggested Improvements
      • Summary
    • 11. InfoPath with MCMS Web Services
      • Project Overview
      • What are ASP.NET Web Services?
      • Creating the MCMS Web Service Project
      • Creating the Business Layer
        • Maintaining Custom Properties
        • Creating the Lightweight Template Class
        • Maintaining Placeholder Values
        • Maintaining Placeholder Collections
        • Creating an Object to Maintain Postings
      • Creating the ASP.NET Web Service
        • The GetPosting() Web Method
        • Configuring IIS Security
        • Testing the Web Service
        • The SavePosting() Web Method
      • Preparing the InfoPath Environment
      • Creating the InfoPath Document
      • Creating the Controls in InfoPath
      • Cleaning up the Generated Form
      • Testing the InfoPath Form
        • Saving the InfoPath Form
      • Possible Enhancements to this Solution
      • Summary
    • 12. MCMS and RSS
      • Looking Ahead
      • The Structure of an RSS Feed
      • Providing Content as an RSS Feed
        • Creating the RSS Feed
        • Defining Global Settings in the Web.config
        • Testing the RSS Feed
        • Testing the RSS Feed in an Aggregator
      • Aggregating an RSS Feed into MCMS
        • Creating the Placeholder Control
        • Setting up the Authoring Interface
        • Retrieving and Parsing the RSS Feed
        • Rendering the RSS Feed in Presentation Mode
        • Adding the Control to a Template
          • Creating the Placeholder Definition in the Template
          • Adding the RSS Reader Placeholder to the Template
          • Testing the Template
        • Possible Enhancements
          • Enhancements to the RSS Feed Generator
          • Enhancements to the RSS Aggregator Placeholder Control
      • Summary
    • 13. Essential How-Tos, Tips, and Tricks
      • Tip #1: How to Revert a Posting to a Previous Version
        • The Revert Page to Previous Version Dialog
          • How to Get and Sort a List of Page Revisions
          • Programming the Button that Triggers the Page Reversion Process
            • Accessing the ItemCommand() Event Handler of the DataGrid
            • Retrieving the Selected Revision
            • Triggering the Page Reversion Process
            • Rolling Back When the Reversion Process is Unsuccessful
            • Refreshing the Parent Window
          • Copying Content from One Placeholder to Another
          • Copying Custom Property Values
        • Adding the New Action to the Web Author Console
      • Tip #2: How to Change a Postings Template
        • The Change Template Dialog
        • Creating a Copy of the Posting Based on the New Template
        • Adding the Change Template Button to the Web Author Console
      • Tip #3: How to Build a Recycle Bin
        • Creating a Recycle Bin Channel
        • Deleting the Posting
        • Restoring the Posting
          • The Recycle Bin Dialog
          • Listing All Deleted Items in the Recycle Bin
          • Restoring a Deleted Item
          • Permanently Deleting Items from the Bin
          • Adding the Recycle Bin Button to the Web Author Console
      • Tip #4: How to Deal with Links to Deleted Resources
        • What Happens When Resources Used by Postings Get Deleted
        • Detecting When Placeholder Content has Changed
        • Identifying Links to Deleted Resources
        • Removing Links from ImagePlaceholders and AttachmentPlaceholders
        • Removing Links from HtmlPlaceholders
          • Handling Images
          • Handling Attachments
      • Tip #5: How to Generate a Resource Dependency Report
        • The FindResources Project
        • Walking the Tree
        • Scanning Placeholder Content for Resources
        • Generating the Report
      • Tip #6: How to Update Posting Properties Directly from a Template File
        • Designing the Web User Control
        • Getting the Postings Display Name
        • Hiding the Web User Control in Published Mode
        • Capturing the Postings Save Event
      • Tip #7: How to Re-write Unfriendly URLs as Friendly URLs
        • An HttpModule to Intercept All Requests
        • Converting Unfriendly URLs to Friendly URLs
        • Handling Unfriendly URLs Caused by Postbacks
        • Activating the HttpModule
      • Tip #8: How to Export Resource Gallery Items using the Site Deployment API
        • The SDAPIResourceExport Project
        • Setting Export Parameters
        • Collecting Resources
        • Creating the Service Posting
        • Starting the Export Process
      • Tip #9: How to Configure the Position and Size of the Web Author Console Dialogs
      • Tip #10: How to Get Frames and IFrames to Work Correctly in a Template File
        • When the Frame or IFrame Links to Another Site
        • When the MCMS Page is Embedded Within a Frame or IFrame of Another Website
      • Summary
    • A. Setting up MCMS and SPS on the Same Virtual Server
      • SharePoint and MCMS-Managed URLs
      • Creating a New Virtual Server
      • Creating a New SharePoint Portal
      • Creating a New MCMS Web Entry Point
      • Configuring SharePoint to Allow MCMS Requests
      • Trust Settings for MCMS Web Applications
      • Verifying that SharePoint and MCMS are Functioning Correctly
      • Summary
    • B. MCMS Connector for SharePoint Technologies
      • Installation
      • Leveraging SharePoint Portal Search within an MCMS Site
      • Integrating MCMS Content into a Portal site
      • Publishing SharePoint Document Library Documents within an MCMS Site
      • Additional Utilities Included
      • MCMS Connector Sample Data, Project, and Documentation
      • Summary
    • C. Installing the Tropical Green Website
      • Downloading the Sample Code
      • Creating the TropicalGreen Web Application
        • Adding the CMS Virtual Directory
      • Importing the Site Deployment Object File
      • Creating the Guest Account
      • Checking the Server Configuration
      • Setting www.tropicalgreen.net to Execute Locally
      • Configuring the Browser to Bypass the Proxy
      • Testing the Tropical Green Website
    • Index
  • Tytuł: Advanced Microsoft Content Management Server Development. Working with the Publishing API, Placeholders, Search, Web Services, RSS, and Sharepoint Integration
  • Autor: Stefan Gossner, Lim Mei Ying, Angus Logan, Andrew Connell
  • Tytuł oryginału: Advanced Microsoft Content Management Server Development. Working with the Publishing API, Placeholders, Search, Web Services, RSS, and Sharepoint Integration
  • ISBN: 9781847190406, 9781847190406
  • Data wydania: 2005-11-16
  • Format: Ebook
  • Identyfikator pozycji: e_3b6u
  • Wydawca: Packt Publishing