Site Studio Tutorial - oracle.com · Site Studio Tutorial 1-1 Chapter 1.WELCOME TO THE SITE STUDIO...

148
Cover Page Site Studio Tutorial 10g Release 3 (10.1.3.3.0) March 2007

Transcript of Site Studio Tutorial - oracle.com · Site Studio Tutorial 1-1 Chapter 1.WELCOME TO THE SITE STUDIO...

Cover Page

Site Studio Tutorial10g Release 3 (10.1.3.3.0)

March 2007

Site Studio Tutorial, 10g Release 3 (10.1.3.3.0)Copyright © 2007, Oracle. All rights reserved.

Contributing Authors: Sean Cearley

The Programs (which include both the software and documentation) contain proprietary information; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited.

The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose.

If the Programs are delivered to the United States Government or anyone licensing or using the Programs on behalf of the United States Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the Programs, including documentation and technical data, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement, and, to the extent applicable, the additional rights set forth in FAR 52.227-19, Commercial Computer Software--Restricted Rights (June 1987). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of such applications if the Programs are used for such purposes, and we disclaim liability for any damages caused by such use of the Programs.

Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

The Programs may provide links to Web sites and access to content, products, and services from third parties. Oracle is not responsible for the availability of, or any content provided on, third-party Web sites. You bear all risks associated with the use of such content. If you choose to purchase any products or services from a third party, the relationship is directly between you and the third party. Oracle is not responsible for: (a) the quality of third-party products or services; or (b) fulfilling any of the terms of the agreement with the third party, including delivery of products or services and warranty obligations related to purchased products or services. Oracle is not responsible for any loss or damage of any sort that you may incur from dealing with any third party.

T a b l e o f C o n t e n t s

Chapter 1: Welcome to the Site Studio TutorialAbout the Ravenna Hosting Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-2

About the Site Studio Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3

Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3Distribution Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4Conventions Used In This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4

Chapter 2: Ravenna Hosting ArchitectureSite Hierarchy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-2

Hidden and Contributor-only Sections . . . . . . . . . . . . . . . . . . . . . . . . . .2-3Hidden Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-4Contributor-only Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-5

Layout Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-6Primary and Secondary Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-6Reusing Layout Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-6Naming Convention For Layout Pages . . . . . . . . . . . . . . . . . . . . . . . . .2-8

Fragment Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-10

Running Web Sites in the Content Server . . . . . . . . . . . . . . . . . . . . . . . . .2-12Special Metadata used by Ravenna Hosting. . . . . . . . . . . . . . . . . . . .2-12

New Content Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-13Scripting Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-13

Contribution Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-14Ravenna Hosting Contribution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-14

Metadata Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-14

Chapter 3: Ravenna Hosting FeaturesLayout Page Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-1

Site Studio Tutorial iii

Table of Contents

Content Added Directly To The Layout Page . . . . . . . . . . . . . . . . . . . .3-2Fragments and Contribution Regions . . . . . . . . . . . . . . . . . . . . . . . . . .3-3

Fragment Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-4Parts of Fragments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5Snippet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5Asset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-6Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-6Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-6

Ravenna Hosting Fragments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-7

Ravenna Hosting Main Navigation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-8Ravenna Hosting Main Navigation: Snippets . . . . . . . . . . . . . . . . . . . .3-9

Include (Head Snippet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9Presentation (Drop-point Snippet). . . . . . . . . . . . . . . . . . . . . . . . .3-10

Ravenna Hosting Main Navigation: Assets . . . . . . . . . . . . . . . . . . . . .3-10rvh_mainnavigation.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-10rvh_mainnavigation.css. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-13Graphics Denoting Menu Expanding/Collapsing. . . . . . . . . . . . . .3-20

Ravenna Hosting Top Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-21Ravenna Hosting Top Navigation: Snippets . . . . . . . . . . . . . . . . .3-22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-23Ravenna Hosting Top Navigation: Assets. . . . . . . . . . . . . . . . . . .3-24

Ravenna Hosting Breadcrumb. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-25Ravenna Hosting Breadcrumb: Snippets . . . . . . . . . . . . . . . . . . .3-26Ravenna Hosting Breadcrumb: Assets . . . . . . . . . . . . . . . . . . . . .3-27

Ravenna Hosting Site Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-29Ravenna Hosting Site Map: Snippets . . . . . . . . . . . . . . . . . . . . . .3-30Ravenna Hosting Site Map: Assets. . . . . . . . . . . . . . . . . . . . . . . .3-31

Ravenna Hosting Footer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-35Ravenna Hosting Footer: Snippets . . . . . . . . . . . . . . . . . . . . . . . .3-36Ravenna Hosting Footer: Assets. . . . . . . . . . . . . . . . . . . . . . . . . .3-38

Ravenna Hosting Search Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-39Ravenna Hosting Search Box: Snippets . . . . . . . . . . . . . . . . . . . .3-40Ravenna Hosting Search Box: Assets . . . . . . . . . . . . . . . . . . . . .3-41Ravenna Hosting Search Box: Parameters. . . . . . . . . . . . . . . . . .3-41

Ravenna Hosting Search Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-43Parameterized Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-43Ravenna Hosting Search Result: Snippets . . . . . . . . . . . . . . . . . .3-44Ravenna Hosting Search Result: Assets . . . . . . . . . . . . . . . . . . .3-47Ravenna Hosting Search Result: Parameters. . . . . . . . . . . . . . . .3-48

Ravenna Hosting Question 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-50Ravenna Hosting Question 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-52Ravenna Hosting Page Title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-53

Ravenna Hosting Page Title: Snippet . . . . . . . . . . . . . . . . . . . . . .3-54Ravenna Hosting Page Title: Parameters . . . . . . . . . . . . . . . . . . .3-54

Ravenna Hosting Error Handler Message . . . . . . . . . . . . . . . . . . . . . .3-55Ravenna Hosting Error Handler Message: Snippet . . . . . . . . . . .3-56

iv Site Studio Tutorial

Table of Contents

Ravenna Hosting Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-56Contribution Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-57Contribution Region with a WYSIWYG Element . . . . . . . . . . . . . . . . .3-58Contribution Region with a Custom Element . . . . . . . . . . . . . . . . . . . .3-61Ravenna Hosting Products List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-62

Ravenna Hosting Products List: Snippets . . . . . . . . . . . . . . . . . . .3-63Ravenna Hosting Products List: Assets . . . . . . . . . . . . . . . . . . . .3-65Ravenna Hosting Products List: Parameters . . . . . . . . . . . . . . . .3-66

Ravenna Hosting Sidebar Products List . . . . . . . . . . . . . . . . . . . . . . .3-67Ravenna Hosting Sidebar Products List: Snippets . . . . . . . . . . . .3-68Ravenna Hosting Sidebar Products List: Assets. . . . . . . . . . . . . .3-70Ravenna Hosting Sidebar Products List: Parameters . . . . . . . . . .3-73

Ravenna Hosting KB List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-74Ravenna Hosting KB List: Snippets . . . . . . . . . . . . . . . . . . . . . . .3-75Ravenna Hosting KB List: Assets . . . . . . . . . . . . . . . . . . . . . . . . .3-78Ravenna Hosting KB List: Parameters . . . . . . . . . . . . . . . . . . . . .3-78

Ravenna Hosting Locations List . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-80Ravenna Hosting Locations List: Snippets . . . . . . . . . . . . . . . . . .3-82Ravenna Hosting Locations List: Elements. . . . . . . . . . . . . . . . . .3-83

Ravenna Hosting Partners List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-84Ravenna Hosting Partners List: Snippets . . . . . . . . . . . . . . . . . . .3-85Ravenna Hosting Partners List: Elements. . . . . . . . . . . . . . . . . . .3-86

Ravenna Hosting News List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-87Ravenna Hosting News List: Snippets . . . . . . . . . . . . . . . . . . . . .3-89Ravenna Hosting News List: Assets . . . . . . . . . . . . . . . . . . . . . . .3-91Ravenna Hosting News List: Parameters . . . . . . . . . . . . . . . . . . .3-91

Ravenna Hosting Sidebar News . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-93Ravenna Hosting Sidebar News: Snippets . . . . . . . . . . . . . . . . . .3-95Ravenna Hosting Sidebar News: Assets. . . . . . . . . . . . . . . . . . . .3-97Ravenna Hosting Sidebar News: Parameters. . . . . . . . . . . . . . . .3-97

Ravenna Hosting Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-99Ravenna Hosting Downloads List . . . . . . . . . . . . . . . . . . . . . . . . . . .3-100

Ravenna Hosting Downloads List: Snippets . . . . . . . . . . . . . . . .3-101Ravenna Hosting Downloads List: Assets. . . . . . . . . . . . . . . . . .3-103Ravenna Hosting Downloads List: Parameters. . . . . . . . . . . . . .3-104

Apache Software License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1

W3C® Software Notice and License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2

Zlib License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4

General BSD License. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5

General MIT License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5

Unicode License. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6

Miscellaneous Attributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-7

Site Studio Tutorial v

Table of Contents

vi Site Studio Tutorial

C h a p t e r

1.WELCOME TO THE SITE STUDIOTUTORIAL

The Site Studio Tutorial explains how the Ravenna Hosting sample site works and how it was created using Site Studio. The Tutorial is available as an online Help system that can be accessed directly from the site using context-sensitive help icons. The icons appear when the site is viewed in Contributor mode.

The Tutorial is also available as a PDF (Portable Document Format) so that you can print it out if you like.

There are two ways to use the Tutorial:

Jump right in and explore the Ravenna Hosting web site. When you see a feature that interests you, enable Contributor mode, and then click the Help icon beside or below that feature in order to view the Tutorial on that particular subject.

Read the Tutorial from beginning to end to learn how the site works and how it was put together. The PDF version of the Tutorial is available for this purpose.

These topics are covered next:

About the Ravenna Hosting Web Site (page 1-2)

Documentation (page 1-3)

Note: Before you begin the Tutorial, you should first go through the rest of the Site Studio documentation to familiarize yourself with the product, key features, and Site Studio terminology.

Site Studio Tutorial 1-1

Welcome to the Site Studio Tutorial

ABOUT THE RAVENNA HOSTING WEB SITEThe Ravenna Hosting web site is a sample web site that you can set up and run on your content server. The web site is available as a packaged ZIP file in the Documentation\RVH_Tutorial\ folder of the Site Studio distribution CD. You can set up the site using the Site Studio Backup and Restore page (see the “Ravenna Hosting Setup Guide”).

Once the site is installed, you can browse through a complete, fully-functional web site created with Site Studio.

The web site itself depicts a fictitious web hosting company called “Ravenna Hosting,” and it offers some of the most common and popular features found on web sites today (see figure).

Figure 1-1 Ravenna Hosting sample web site

Each feature was built using Site Studio technology, including layout pages, fragments, contribution regions, and more.

With the site installed and running on the content server, you can view it with a web browser, preview it and make changes to it with Contributor, Manager, and Designer. You might even decide to copy certain features or best practices and implement them on your own site. The sample site is there for you to make the most of Site Studio.

1-2 Site Studio Tutorial

Welcome to the Site Studio Tutorial

ABOUT THE SITE STUDIO TUTORIALThe Site Studio Tutorial accompanies the Ravenna Hosting sample site. The Tutorial describes the web site in detail and many of the decisions that went into creating it.

The Tutorial is available as an online Help system accessible directly from the web site (using context-sensitive Help icons ), and it is available in the Portable Document Format (PDF) from within the Help system (just click the button in the Help toolbar).

This way, you can either browse through the web site until you see a feature that you would like to learn about, at which point, you can enable Contributor mode, and click the Help icon associated with that feature (see figure). Or, you can open the PDF of the Tutorial, print it out, and read through it from beginning to end to see how the site was put together.

Figure 1-2 Ravenna Hosting sample web site with Tutorial

The Tutorial has two parts:

Chapter 2 (Ravenna Hosting Architecture)

Chapter 3 (Ravenna Hosting Features)

DOCUMENTATIONThis section has these topics:

Distribution Location (page 1-4)

Conventions Used In This Guide (page 1-4)

Site Studio Tutorial 1-3

Welcome to the Site Studio Tutorial

Distribution LocationThe documentation for the sample site and Tutorial are available on the Site Studio distribution CD as follows:

Conventions Used In This GuideThe Tutorial uses the following conventions:

Documentation Format Availability

Ravenna Hosting Setup Guide

PDF The file “Tutorial Setup.pdf” is available in the “Documentation/RVH_Tutorial” folder on the Site Studio distribution CD.

Site Studio Tutorial PDF, Help

The tutorial is available in the “Documentation/RVH_Tutorial/tutorial” folder on the Site Studio distribution CD.During the setup of the Ravenna Hosting site and Tutorial, you copy this folder to the content server where it can be accessed from the web site.

Convention Definition

Bold Indicates an item that you select in the product interface, such as a button or menu, in order to perform a specific task. (For example: “Click OK to confirm this action.”)

> Indicates a menu choice. (For example, “Choose File > Open” means “Click the File menu, and then click Open.”)

Code Text in this font indicates actual code used by Designer (and other products) and code that you can enter in Source view in Designer or any text editor.

1-4 Site Studio Tutorial

C h a p t e r

2.RAVENNA HOSTINGARCHITECTURE

The Ravenna Hosting web site demonstrates a number of common and popular features found on the Web. At the same time, it demonstrates a sound architecture. The “architecture” refers to the site hierarchy, use of layout pages, file-naming conventions, and other, behind-the-scenes attributes.

The architecture isn’t the most visible part of the site, but it is extremely important. Creating the site architecture is a key part in the planning stage of your site (see “Planning your web site” in the Designer User Guide).

The Ravenna Hosting site was first viewed conceptually in terms of its purpose, design, and content—all things that can be derived from a company’s brand and product line.

Once the purpose, design, and content are mapped out, you can address the technical details that make up the site architecture.

For the Ravenna Hosting site, these include:

Site Hierarchy (page 2-2)

Layout Pages (page 2-6)

Running Web Sites in the Content Server (page 2-12)

Scripting Language (page 2-13)

Contribution Model (page 2-14)

Metadata Model (page 2-14)

Site Studio Tutorial 2-1

Ravenna Hosting Architecture

SITE HIERARCHYPlanning the hierarchy of a web site with Site Studio is no different from planning the hierarchy of a web site in another web development program. But with the powerful contribution model provided by Site Studio, you begin to think about your site hierarchy in a completely different way.

Site Studio offers a contribution model that allows users to contribute (add content to) the web site at any time. As the designer of the site (the individual working in the Designer application), it is up to you as to how much contribution you want to allow. Do you want to limit the amount of editing that managers and contributors can do on the web site, or do you want to allow them more control, with the ability to add new sections and pages? You make these decisions and others as you create your site hierarchy.

The Ravenna Hosting site hierarchy was thought out on paper before anything was done in Site Studio. The hierarchy was geared toward the Ravenna Hosting product line, which is web hosting products and services.

The site hierarchy comprises several top-level sections (Products, Services, Support, and so on), and it goes three levels deep (Products > Servers > Web Servers) in places. See figure.

Figure 2-1 Outline for Ravenna Hosting site hierarchy

2-2 Site Studio Tutorial

Ravenna Hosting Architecture

The site hierarchy, once it is created in Designer, is also used by Site Studio to organize layout pages, data files, and more. It is also used to generate the site navigation, as can be seen in the Ravenna Hosting Main Navigation (page 3-8) (see figure).

Figure 2-2 Site hierarchy

The site hierarchy is used to create navigation links in Site Studio. As a result, the site hierarchy not only helps you, the designer, organize the site, but it also helps visitors understand your site, navigate the site, and find the information they’re looking for.

The site hierarchy can be modified and expanded by site managers, and pages can be added by site contributors (see Ravenna Hosting Contribution on page 2-14). Some sections, like “Web Servers” and “News,” were designed specifically for this purpose, displaying new web pages as part of the site navigation (for example, see Ravenna Hosting Products List on page 3-62).

Hidden and Contributor-only SectionsIn addition to the sections that appear on the web site, there are some hidden sections and a contributor-only section that serve the special purpose on the site.

A “hidden” section is one not included in the site navigation and therefore not visible on the site (see “Showing sections in the site navigation” in the Designer User Guide). It is used for certain features, like search results and custom error pages. In the Site Hierarchy

Site Studio Tutorial 2-3

Ravenna Hosting Architecture

pane, they have a different icon than the sections that appear in the site navigation (see figure).

Figure 2-3 Detail of Error Handler icon in the site heirarchy

Hidden sections in the Ravenna Hosting site hierarchy

A “contributor-only” section is one not included in the site navigation, unless the page is viewed in Contributor mode. It is used primarily for contributors, managers, and any user responsible for contributing to the site.

These types of sections are used as follows on the Ravenna Hosting site:

Hidden Sections (page 2-4)

Contributor-only Sections (page 2-5)

Hidden SectionsThe Ravenna Hosting site uses hidden sections in the site hierarchy for the following features:

Search Results Page (page 2-4)

Custom Error Page (page 2-5)

Search Results PageWhen you add a search feature to your web site, you need to do two things: add the search box (see Ravenna Hosting Search Box on page 3-39) and designate a search results area.

The search results area displays the results of the search that was performed by the user. The search results page typically comprises a search results fragment (see Ravenna Hosting Search Result on page 3-43) on a layout page residing in a hidden section. The layout page needs to be in a hidden section so that users don’t access the search results page directly (which would not make sense to the user). The search results page, as a result, only appears when users perform a search on the web site.

On the Ravenna Hosting site, this section is called “Search Results,” and it contains a layout page with a search results fragment.

2-4 Site Studio Tutorial

Ravenna Hosting Architecture

Custom Error PageThere are a number of circumstances when visitors or site contributors may encounter an error on the web site. For example, if a secondary layout page is missing in the section where a data file is being referenced, or if a native document is removed but a hard-coded link to it remains on the site, the user will encounter an error. This error message is generated by Content Server, and it will take the user from your web site to the content server environment.

You prevent the user from seeing this content server error message by creating your own custom error page (see Ravenna Hosting Error Handler Message on page 3-55) and placing it in a section designated as an error handler (see “Designating a section as an error handler” in the Designer User Guide).

Similar to the search result section, an error handler section is another example of a hidden section in the site hierarchy because it is not intended for display on the web site. That is, users should not be accessing this section using the site navigation. They only access this section when they encounter an error.

On the Ravenna Hosting site, this section is called “Error Handler,” and it contains a layout page with a custom error fragment (see Ravenna Hosting Error Handler Message on page 3-55).

Contributor-only SectionsMaking a section only display in Contributor mode can be useful to communicate between designers and managers, managers and contributors, and so on. You can place instructions for contributing to the site or make certain features available that only make sense in Contributor mode.

On the Ravenna Hosting site, a contributor-only section is used to display the Manager application (see Ravenna Hosting Manager on page 3-99). Site managers, as a result, can go to the site, enable Contributor mode, go to the “Manage Site” section, and start making changes to the site hierarchy.

This creates the experience of a central location on the site where managers can add and remove section, change the layout page associated with a section, modify the properties of the site, and so on.

Site Studio Tutorial 2-5

Ravenna Hosting Architecture

LAYOUT PAGESThere are a number of ways to handle layout pages. For every section of your site, you can add one primary page and one secondary page. You can even reuse primary pages and secondary pages throughout the site, and, as a result, create a consistent look and feel with fewer layout pages.

Primary and Secondary Pages (page 2-6)

Reusing Layout Pages (page 2-6)

Naming Convention For Layout Pages (page 2-8)

Primary and Secondary PagesPrimary and secondary pages serve two distinct purposes in Site Studio:

A primary page is required for each section: it represents that section on the web site. When visitors go to a particular section of the site, they see the primary page associated with that section.

A secondary page is optional: it is used as the backdrop for new files (contributor data files and native documents) added to the site by a contributor. When contributors add new files to the site, they display in a secondary page.

You can create a web site comprised entirely of primary pages and then allow contributors to simply edit those pages. But if you do this, you (the designer) will have to add a new section with a primary page (using Designer) each time a contributor wants to add a new web page to the web site.

As a result, contributors may end up bombarding you with requests to add pages for them to edit, and this can create a publishing bottleneck that ultimately restricts the growth of the site.

The Ravenna Hosting site contains both primary and secondary pages throughout most of its site hierarchy so that contributors can freely edit and add new web pages whenever they like. Therefore, the site can grow without the designer having to intervene.

Reusing Layout PagesAs you build the site hierarchy, you can create a new primary and a new secondary page in each section. Or, you can reuse those layout pages in more than one section of the web

2-6 Site Studio Tutorial

Ravenna Hosting Architecture

site. When a layout page is reused, it begins to act like a template for other web pages. There are advantages and disadvantages to reusing layout pages:

With a unique layout page in each section, you have more flexibility to change the look and feel of that particular page. You can reposition objects on it or redesign the page altogether. However, the more distinctive your layout pages are, the more you will need to make manual updates throughout the site if you ever make global changes (such as changing the location of a company logo).

By reusing layout pages in more than one section, you can maintain the look and feel of the web site with fewer layout pages. If you ever need to make a global change to the site, you can do so in just one or a handful of layout pages, and your changes will be seen immediately in every section where it is used. However, when reusing layout pages, you are limited when it comes to making unique changes to a specific page or section.

You may end up with just a handful of layout pages or hundreds of them, depending on how often you reuse layout pages. Ideally, you will want to achieve a balance between unique layout pages and reused layout pages.

The Ravenna Hosting site uses such a combination. For instance, the Services section reuses a primary page (“rvh_default”) for multiple subsections there, while the Support section uses unique layout pages (“rvh_faqprimary,” “rvh_kbprimary,” etc.) for multiple subsections there (see figure).

Site Studio Tutorial 2-7

Ravenna Hosting Architecture

Figure 2-4 Layout pages are reused in the Services section but not in the Support section

The same layout page was used in the Services section because the content on those pages is very similar—essentially, it is the text and graphics that describe Ravenna services.

On the other hand, the Support section contains sections that are notably different from one another. The FAQ contains bulleted lists with hyperlinks, and the Knowledge Base contains a search box to search for individual articles. Those sections need to be unique, therefore they use unique layout pages.

Naming Convention For Layout PagesThe Content ID and file name of each layout page are very important, because they will ultimately help you better manage the files on your site (see Metadata Model (page 2-14)). These files are stored in the content server like any other content item. When you build a site, it’s helpful to know which layout page you are adding to a particular section and why.

You should come up with a good file-naming convention for your layout pages when you plan your web site (see “Planning your web site” in the Designer User Guide). How you

Note: For a complete listing of the layout pages used on the Ravenna Hosting site, see Naming Convention For Layout Pages on page 2-8.

2-8 Site Studio Tutorial

Ravenna Hosting Architecture

name these files may depend on whether you’re using unique layout pages or reusing layout pages across the site.

If, for example, you are using unique layout pages, you might use a name that describes that section of the site (like “companyname_about_us”). If, on the other hand, you are reusing layout pages, you might use a name that reflects the purpose or the ingredients of that layout page (like “companytitle_default_layout”).

The Ravenna Hosting site uses a combination of names that reflect both unique layout pages and reused layout pages in the site hierarchy:

Note: The Content ID of a layout page cannot exceed 30 characters, as this is the character limit of a dDocName in Content Server.

Layout page Description

rvh_default Primary page used in multiple sections in the site hierarchy (Services, Support, Company Information, etc.) and also serves as the home page.

rvh_productsprimary Primary page used in multiple sections within the Products section (Web Servers, Application Servers, Firewalls, etc.).

rvh_productssecondary Secondary page used in multiple sections within the Products section (Web Servers, Application Servers, Firewalls, etc.).

rvh_faqprimary Primary page used only in the FAQ section.

rvh_faqsecondary Secondary page used only in the FAQ section.

rvh_kbprimary Primary page used only in the Knowledge Base section.

rvh_kbsecondary Secondary page used only in the Knowledge Base section.

rvh_kbsearchresults Primary page used only in the Knowledge Base section to display search results for that section. (It is placed in the Search Results section located beneath the Knowledge Base section. See Note below on sections that display search results.)

Site Studio Tutorial 2-9

Ravenna Hosting Architecture

FRAGMENT LIBRARIESA fragment is a container for code (HTML, Idoc Script, JavaScript, and optionally, JSP or ASP), and outside files referenced by the code (graphics, style sheets, additional scripts,

rvh_downloadsprimary Primary page also used as a secondary page in the Downloads section.

rvh_newsprimary Primary page used only in the News section.

rvh_managesite Primary page used in the Manage Site section and contains the Ravenna Hosting Manager fragment.

rvh_newssecondary Secondary page used only in the News section.

rvh_partnersprimary Primary page used only in the Partners section.

rvh_partnerssecondary Secondary page used only in the Partners section.

rvh_officelocationsprimary Primary page used only in the Office Locations section.

rvh_contactusprimary Primary page used only in the Contact Us section.

rvh_sitemap Primary page used only in the Site Map section.

rvh_searchresults Primary page used in the Search Results section to display the search results for the entire site.Note: The Search Results section is set up differently from the other sections. It does not actually display on the web site as a section; rather, it is there to display the results of a search performed anywhere on the site.

rvh_errorhandler Primary page used in the error handler section to display in place of a content server-generated error message should the user encounter one.Like the Search Results section, the error handler section does not display on the web site as a section. It only displays if an error occurs.

Layout page Description

2-10 Site Studio Tutorial

Ravenna Hosting Architecture

and so forth). The fragment specification is written in XML (Extensible Markup Language) and is stored in a fragment library (along with other fragments, if you like).

The fragment library comprises a single XML file that describes its contents and a zip file that stores its assets that are used by the fragments in the library. Fragment libraries are stored in Content Server. They are automatically checked in when you install the Site Studio component.

As you start building your own fragments, you should create your own fragment libraries and store your custom fragments in those libraries. This way, you compartmentalize your fragments for the web site, and you can easily move them to another site or create backups of them.

By storing your fragments in new fragment libraries (rather than ones created by other users), you also reduce the chance of your fragments being overwritten by other users. In fact, once you add the new fragments to the new fragment library, you can mark the library as read-only to prevent others from modifying them (see “Making a fragment library read-only” in the Designer User Guide).

The fragments used on the Ravenna Hosting site are all stored in one fragment library called “rvh_fragments” (see figure):

Figure 2-5 Content Information Page for the rvh_fragments library

Site Studio Tutorial 2-11

Ravenna Hosting Architecture

As a fragment library, the Ravenna Hosting fragments can be easily moved from one location to another.

When checked into the content server, the fragment library contains two parts: the native file, which is a zip file that contains one or more fragments and their assets, parameters, and elements; and the alternate file (Web Location), which is an XML file that describes everything in the fragment library.

For more information on the metadata values chosen for the fragment library, see Metadata Model (page 2-14).

RUNNING WEB SITES IN THE CONTENT SERVERBefore you can view the Ravenna Hosting web site, you need to properly set up the content server to handle the site.

This includes:

Adding the necessary components (Site Studio component, Dynamic Converter component, etc.) required by the Ravenna Hosting site.

Configuring the content server with the necessary metadata content types.

Special Metadata used by Ravenna HostingDuring the planning stage of the Ravenna Hosting site, it was determined that several new content types needed to be created in the content server.

It is extremely helpful to come up with these values before you start creating and checking files into the content server. If you create the site first and then create the new metadata as you go, you will need to perform numerous metadata updates for content items already checked into the content server.

Furthermore, you might break certain features when you update the metadata, such as missing images that result when their metadata has changed.

Note: For more information on these requirements and other useful settings, see the Ravenna Hosting Setup Guide (available on the Site Studio distribution media).

2-12 Site Studio Tutorial

Ravenna Hosting Architecture

New Content TypesThe Ravenna Hosting site introduces several new content types. The content types are used to manage the files that belong to the web site, especially for dynamic lists and searches (which query the content server for documents matching a certain content type).

SCRIPTING LANGUAGEIn Site Studio, you can use HTML, XML, JavaScript, Idoc Script, JavaServer Pages (JSP) and Active Server Pages (ASP) to build a web site. Using ASP and JSP require a slightly different implementation. If you choose either of these scripting languages, you will need to make different choices when creating the initial site, new layout pages, fragments, and so on (see “Web sites in HCSP, JSP, and ASP” in the Designer User Guide).

The Ravenna Hosting site uses the native Idoc Script language for its server-side scripts.

Name Description

rvh_fragments Ravenna Hosting Fragment Library

rvh_layout Ravenna Hosting Layout File

rvh_productdescription Ravenna Hosting Product Description

rvh_newsstory Ravenna Hosting News Story

rvh_supportfaq Ravenna Hosting Support FAQ

rvh_knowledgebasearticle Ravenna Hosting Support KB Article

rvh_parnerdescription Ravenna Hosting Partner Description

rvh_image Ravenna Hosting Image File

rvh_other Ravenna Hosting Miscellaneous File

rvh_download Ravenna Hosting Download File

Note: For information on setting up these content types, see the Ravenna Hosting Setup Guide (available on the Site Studio distribution media).

Site Studio Tutorial 2-13

Ravenna Hosting Architecture

CONTRIBUTION MODELSite Studio allows you to create and maintain web sites in an entirely different way than what you might be used to. Instead of having a webmaster or web team responsible for adding new content to the site and maintaining it, any user with a web browser and access to the site can modify it. These users are referred to as “contributors.”

As the designer of the site (the individual working in the Designer application), it is up to you to determine how much contribution is allowed. You can set up a web site with limited contribution, whereby individual contributors can edit certain parts of existing web pages.

Or, you can set up the web site to allow complete contribution, whereby individual contributors and managers can edit entire web pages, add new web pages, and add new sections to the web site. Much of this comes down to a “contribution model,” or how content will be placed on the web site.

Ravenna Hosting ContributionThe Ravenna Hosting site was set up to allow contributors and managers to modify the entire web site and add new sections or pages to parts of the site. Specifically, contributors will be able to modify a part (the body area) of every web page on the site. They can format the text however they like (change the typeface, make it bold or italic, add numbered lists, insert hyperlinks, and so forth).

Contributors will not, however, be able to modify the main navigation, footer text, company logo, and certain sidebar items on the site. Managers, on the other hand, can change the site hierarchy, affecting the navigation.

Furthermore, contribution to the site will be the same regardless of the user’s login credentials. There is no conditional display of regions based on the user’s credentials. Although this conditional display is possible, and can be set up using the existing content server security model.

METADATA MODELAs you build and maintain a web site with Site Studio, you need to come up with a way to manage all the files that belong to the site—especially when the site is stored in the content server with numerous other, potentially unrelated, content items.

The Ravenna Hosting site uses a number of content types that must be created in the content server before the site can be built (see New Content Types on page 2-13). Every

2-14 Site Studio Tutorial

Ravenna Hosting Architecture

layout page, fragment, contributor data file, and native document that is checked into the content server will use one of these content types.

In addition to the metadata Type, you should think carefully about the other metadata values that describe your web site files, such as the Content ID, Title, and Comments. Much of this relates to the naming convention you choose for the files on your site (see Naming Convention For Layout Pages on page 2-8).

Here is a sampling of each type of file (layout page, fragment, native document, etc.) on the Ravenna Hosting site and the metadata values assigned to each:

File type Naming convention and metadata

Project file Content ID: rvh_projectType: rvh_other - Ravenna Hosting Miscellaneous FileTitle: Ravenna Hosting Tutorial Site Project FileComments: (no value)Website Object Type: ProjectWebsites: Ravenna Hosting Tutorial (RVH)Website Section: (no value)Exclude From Lists: (no value)Formats: Application/xml

Layout page An example of a layout page:Content ID: rvh_defaultType: rvh_layout - Ravenna Hosting Layout FileTitle: rvh_defaultComments: Ravenna Hosting Tutorial Site Layout FileWebsite Object Type: Layout FileWebsites: Ravenna Hosting Tutorial (RVH)Website Section: Ravenna Hosting Tutorial : HomeExclude From Lists: (no value)Formats: text/hcsp

Site Studio Tutorial 2-15

Ravenna Hosting Architecture

Fragment Content ID: rvh_fragmentsType: rvh_fragments - Ravenna Hosting Fragment LibraryTitle: Ravenna Hosting Fragment LibraryComments: Ravenna Hosting Tutorial Site Fragment LibraryWebsite Object Type: FragmentWebsites: Ravenna Hosting Tutorial (RVH)Website Section: (no value)Exclude From Lists: (no value)Formats: Application/xml, Application/zip

Contributor data file

An example of a data file:Content ID: rvh_servicesType: rvh_other - Ravenna Hosting Miscellaneous FileTitle: Ravenna Hosting ServicesComments: Ravenna Hosting Tutorial Site Miscellaneous Contributor Data FileWebsite Object Type: Data FileWebsites: Ravenna Hosting Tutorial (RVH)Website Section: Ravenna Hosting Tutorial : ServicesExclude From Lists: (no value)Formats: Application/xml

Native document An example of a native document:Content ID: rvh_news_061003Type: rvh_newsstory - Ravenna Hosting News StoryTitle: Ravenna to Host First Global Users ConferenceComments: Ravenna Hosting Tutorial Site News StoryWebsite Object Type: Native DocumentWebsites: Ravenna Hosting Tutorial (RVH)Website Section: Ravenna Hosting Tutorial : NewsExclude From Lists: (no value)Formats: application/msword

File type Naming convention and metadata

2-16 Site Studio Tutorial

Ravenna Hosting Architecture

Each metadata value serves a different purpose for the content items on the Ravenna Hosting site.

Content ID is important for layout pages and contributor data files because the IDs help you organize and manage those files in the site hierarchy, especially when reusing the files throughout the site (see Naming Convention For Layout Pages on page 2-8).

Type is important for contributor data files and native documents. Particularly when those files are added to a dynamic list on the web site. Dynamic lists are based on a query in the content server, and in the case of the Ravenna Hosting site, they search

Image An example of an image file:Content ID: rvh_poweredbysitestudioType: rvh_image - Ravenna Hosting Image FileTitle: rvh_poweredbysitestudioComments: Ravenna Hosting "Powered By Site Studio" ImageWebsite Object Type: ImageWebsites: Ravenna Hosting Tutorial (RVH)Website Section: Ravenna Hosting Tutorial : HomeExclude From Lists: (no value)Formats: Application/gif

Form An example of a form or script:Content ID: rvh_ext_poweredbysitestudioType: rvh_other - Ravenna Hosting Miscellaneous FileTitle: rvh_ext_poweredbysitestudioComments: Ravenna Hosting Tutorial Site Custom Element Form for Selecting the "Powered By Site Studio" buttonWebsite Object Type: Custom Element FormWebsites: Ravenna Hosting Tutorial (RVH)Website Section: Ravenna Hosting Tutorial : HomeExclude From Lists: (no value)Formats: text/hcsp

File type Naming convention and metadata

Site Studio Tutorial 2-17

Ravenna Hosting Architecture

for content items matching a certain type (rvh_productdescription and rvh_newsstory).

Title and Comments are important, again for contributor data files and native documents, because they represent those files in the dynamic list or a search performed by the user.

The native document in the previous table, for example, will display as follows:

Figure 2-6 Display of documents in a dynamic list

Website Section is important for contributor data files and native documents, because it helps associate which section to display a data file or native document in. When you create hyperlinks in Site Studio, you can choose the section where the target file should appear on the web site, and if you don’t specify a section, the value of the “Website Section” is used to determine where that file should appear (see “Understanding target sections” in the Designer User Guide).

Website Object Type (Data File, Layout File, Fragment, etc.) is important for every file on the web site because it helps Site Studio manage these files in the content server, and it helps you locate certain files in the content server when you browse for them from Designer (for example, using the Site Assets pane).

Websites is important because it helps Site Studio associate content with a particular web site. When you have more than one web site stored in the content server, this can be especially useful. It can also be used to specify content that should be shared between two or more web sites (see “Understanding target sections” in the Designer User Guide).

Exclude From Lists is important to control the files that should be included or excluded in a dynamic list. While working in Contributor, users can choose an option to include a particular file or exclude it in the list. Depending on this choice, a value is inserted here.

2-18 Site Studio Tutorial

C h a p t e r

3.RAVENNA HOSTING FEATURESThe Ravenna Hosting site demonstrates a number of popular features found on most web sites today, such as a dynamic menu, site map, breadcrumbs, dynamic list, and full-text search. More importantly, it demonstrates each feature with Site Studio. As a result, you will learn how to create a powerful and functional web site using primary and secondary pages, fragments, contribution regions, and more.

Layout Page Design (page 3-1)

Ravenna Hosting Fragments (page 3-7)

Ravenna Hosting Contribution (page 3-56)

LAYOUT PAGE DESIGNThe look and feel of the Ravenna Hosting site was first created on paper along with the site architecture (see Ravenna Hosting Architecture on page 2-1).

Once the look and feel were determined, the first layout page could be created in Designer. The chosen layout follows a popular design found on many web sites, where the main navigation is placed on the top and left sides, the body content in the middle-center, and additional navigation aids and resources on the right and bottom (see figure).

Site Studio Tutorial 3-1

Ravenna Hosting Features

Figure 3-1 Ravenna Hosting web site

To create this layout, some content was added directly to the layout page (HTML tables, background colors, graphics, etc.), but most of it was added in the form of a fragment or contribution region.

Content Added Directly To The Layout Page (page 3-2)

Fragments and Contribution Regions (page 3-3)

Content Added Directly To The Layout PageSite Studio introduces a new approach to creating and designing web sites, and it does this through the use of reusable layout pages, fragments, contribution regions, and so on. As such, you will want to think about web site design in a whole new way.

The first step will be to create the basic look and feel by adding certain content directly to a layout page. This content will likely be background information, something that remains static or constant across the site.

As you start editing layout pages, you might be tempted to add everything directly to the page (including navigation links) as you would a typical web page in a conventional web site authoring program. But in Site Studio, much of the content you add to a layout page will be in the form of a fragment or contribution region—especially content that changes on a regular basis.

As you spend more time with Site Studio, you quickly see how fragments and contribution regions allow you to separate content from presentation (a key advantage of Site Studio).

3-2 Site Studio Tutorial

Ravenna Hosting Features

On the Ravenna Hosting site, HTML tables with background colors, a few graphics, and horizontal rules are added directly to the layout page (see figure). Again, these things make up the background, which is unlikely to change from one page to another.

Figure 3-2 Content (such as HTML tables and graphics) added directly to a layout page

Everything else—body text, site navigation, and other dynamic content—are added as a fragment or contribution region (see the next topic).

Fragments and Contribution RegionsThe Ravenna Hosting site includes numerous features found on most web sites today, such as a navigation menu, full-text search box, and site map (see figure).

Site Studio Tutorial 3-3

Ravenna Hosting Features

Figure 3-3 Ravenna Hosting fragments and contribution regions

Instead of adding these features directly to a web page as you typically would in most web site authoring programs, these features were created as fragments and added to the site that way. As a fragment, the feature can be quickly and easily added to any part of the site, added to other sites, and customized (by changing its parameters) each time the fragment is used.

In addition to fragments, there are contribution regions on the site, containing one or more elements that can be edited by contributors (using the Contributor application). There are other contribution regions containing special fragments that allow for more advanced and complex contribution (such as a static or dynamic list).

Fragment OverviewA fragment is a container for code (HTML, XML, JavaScript, Idoc Script, and optionally, ASP or JSP), files referenced by that code (graphics, CSS, scripts, etc.), and parameters that govern how that code should be added to a layout page. (See “Using fragments” in the Designer User Guide for more information.)

The beauty of a fragment is that it can be used to package a certain feature or piece of functionality so that it can be reused throughout a site and still customized each time it is used. As a result, fragments are portable—you can use the same fragment in various ways on your site and even on other sites in the content server.

3-4 Site Studio Tutorial

Ravenna Hosting Features

A fragment can be as simple as a copyright statement added to the bottom of each page, or it can be the main navigation menu for the entire site. The more you learn about fragments, the more likely you are to use them on your site.

Parts of FragmentsA fragment comprises the following:

Snippet (page 3-5)

Asset (page 3-6)

Element (page 3-6)

Parameter (page 3-6)

SnippetA fragment may have one or more snippets.Each snippet can be inserted in one of four places on the layout page:

drop-point: where the cursor is located on the layout page.

head: in the head (specifically the end of the <HEAD> tag) of the layout page.

top-of-body: at the beginning of the body (immediately following the <BODY> tag) in the layout page.

bottom-of-body: at the end of the body (immediately preceding the </BODY> tag) in the layout page.

If the fragment is being used to insert a line of text (like a copyright) then you will likely have just one snippet displaying the copyright. If the fragment is being used to insert something more complex (like a JavaScript menu) then you will likely have two snippets: one in the <HEAD> tag to declare JavaScript conditions, and the other in the <BODY> tag where the menu actually appears.There are also three ways to include a snippet on a layout page:

simple: Adds the entire contents of the snippet to the layout page. If parameters are present, their values are added directly to the layout page, making them a permanent part of the page. The fragment, as a result, is no longer recognized as a fragment and its parameters cannot be modified.

inline: Adds the entire contents of the snippet to the layout page. As an inline snippet, however, the fragment and its parameters are still recognized as a fragment. You can still move the fragment, delete it, and modify its parameters.

Site Studio Tutorial 3-5

Ravenna Hosting Features

reference: Adds a reference to the snippet in the layout page. As a referenced snippet, not only is it still recognized and managed as a fragment, but you can still edit the fragment in the Fragment Editor and immediately see your changes on the layout page (or layout pages if used more than once). This behavior is similar to that of an include file (HTML, CSS, script, etc.) on other web sites.

You can create snippets, specify how they should be included on a layout page, and more using the Fragment Editor.

AssetA file that is associated with a fragment and as a result can easily be referenced by the code in a fragment snippet. A graphic, cascading style sheet, and JavaScript file are all frequently used assets.

ElementArea in a contribution region that denotes content that will be edited by a contributor. Each element in a contribution region displays as a field in the Contributor application. There are three types of elements available to a fragment: wysiwyg, plain text, image, and custom.

ParameterAn optional setting that allows you to create attributes for a fragment so that you can change those values when you actually add the fragment to a layout page. Parameters are especially useful when you reuse a fragment in multiple parts of the web site but want to customize it each time you use it. Parameters are also useful if you plan to distribute a fragment to other designers who can then change the look and feel, if they like.

The Fragment Editor provides an interface for creating and editing fragments:

Note: If the fragment contains a lot of code, you will most likely place that code in a fragment asset rather than a snippet (as the fragments on the Ravenna Hosting site will illustrate).

Note: Elements are only used in static list fragments, which is a special type of fragment that contains highly structured content that can be edited by contributors, using the Contributor application (for example, see Ravenna Hosting Locations List on page 3-80).

3-6 Site Studio Tutorial

Ravenna Hosting Features

Figure 3-4 The Ravenna Hosting Main Navigation fragment in the Fragment Editor

Most of the features on the Ravenna Hosting site were created as fragments (using the Fragment Editor) and then added directly to a layout page or to a contribution region on the layout page (see Ravenna Hosting Fragments on page 3-7).

RAVENNA HOSTING FRAGMENTSSeveral new fragments were created for the Ravenna Hosting site. Many of these fragments were designed to enhance the site navigation:

Ravenna Hosting Main Navigation (page 3-8)

Ravenna Hosting Top Navigation (page 3-21)

Ravenna Hosting Breadcrumb (page 3-25)

Ravenna Hosting Site Map (page 3-29)

Ravenna Hosting Footer (page 3-35)

Ravenna Hosting Search Box (page 3-39)

Ravenna Hosting Search Result (page 3-43)

Ravenna Hosting Question 1 (page 3-50)

Ravenna Hosting Question 2 (page 3-52)

Ravenna Hosting Page Title (page 3-53)

Ravenna Hosting Error Handler Message (page 3-55)

Site Studio Tutorial 3-7

Ravenna Hosting Features

Additionally, there are several fragments designed specifically for contributing content to the site. See Ravenna Hosting Contribution on page 3-56.

RAVENNA HOSTING MAIN NAVIGATIONThe main navigation on the Ravenna Hosting site is a fragment that (like the other navigation fragments in the Toolbox) automatically reads the site hierarchy in Designer and turns that hierarchy into a set of navigation links on the web site (see figure).

This section covers these topics:

Ravenna Hosting Main Navigation: Snippets (page 3-9)

Ravenna Hosting Main Navigation: Assets (page 3-10)

Figure 3-5 Ravenna Hosting Main Navigation

If the site hierarchy changes, this menu will automatically update to reflect those changes. Therefore, if you add a new section called “Legal” to the site hierarchy in Designer, that section will appear as a hyperlink in this menu.

Note: There is also a Ravenna Hosting Help Button fragment, but that is intended for the functionality of the tutorial.

3-8 Site Studio Tutorial

Ravenna Hosting Features

The menu was originally created as client-side JavaScript and then turned into a fragment that can be used anywhere in Site Studio (including other web sites stored in the same content server).

The menu also takes advantage of a custom section property specified in Designer (see “Defining custom properties for a section” in the Designer User Guide). The custom property is called “MainNavIcon” and it is used to designate an icon for each section (such as for the File Servers section). The actual code that reads the custom section property is located in a JavaScript file that is an asset to this fragment (see rvh_mainnavigation.js on page 3-10).

Ravenna Hosting Main Navigation: SnippetsThe Ravenna Hosting Main Navigation fragment has two snippets: a head snippet and a drop-point snippet. Fragments, such as this one, that contain client-side JavaScript and cascading style sheets frequently require two snippets: one for content that goes in the head of the page, the other for content that goes in the body of the web page. Both snippets are included by reference (see Fragment Overview on page 3-4).

Include (Head Snippet) (page 3-9)

Presentation (Drop-point Snippet) (page 3-10)

Include (Head Snippet)The part of the script that declares head information (information stored in the HTML <head> tag) was turned into the following head snippet:

<link rel="stylesheet" type="text/css" href="<!--$HttpRelativeFragmentsRoot-->rvh_mainnavigation/rvh_mainnavigation.css"></link><script language="javascript" src="<!--$HttpRelativeFragmentsRoot-->rvh_mainnavigation/rvh_mainnavigation.js"></script>

Note: This fragment contains no elements or parameters, both of which can be found in some of the other fragments. It contains no elements because it is used specifically for the site navigation and not contribution (see Fragment Overview on page 3-4). It contains no parameters because the fragment is intended to look the same throughout the site and requires no customization.

Site Studio Tutorial 3-9

Ravenna Hosting Features

Presentation (Drop-point Snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:<script language="javascript"> nvh_mainnavigation_display(g_navNode_Path, g_navNode_Root, "<!--$HttpRelativeFragmentsRoot-->rvh_mainnavigation", false);</script>

Ravenna Hosting Main Navigation: AssetsThe Ravenna Hosting Main Navigation fragment contains six assets:

rvh_mainnavigation.js (page 3-10)

rvh_mainnavigation.css (page 3-13)

rvh_mainnavigation-level1-rightarrow.gif (page 3-21)

rvh_mainnavigation-level1-downarrow.gif (page 3-21)

rvh_mainnavigation-level2-rightarrow.gif (page 3-21)

rvh_mainnavigation-level2-downarrow.gif (page 3-21)

rvh_mainnavigation.jsThe bulk of the code used to create the dynamic navigation in the Ravenna Hosting Main Navigation fragment is placed in a separate JavaScript file called “rvh_mainnavigation.js” and is added to the fragment in the form of an asset. The rvh_mainnavigation.js file contains the following code.//================================================================// Function : nvh_mainnavigation_displaynode// Comments : this method draws the navigation elements for the supplied// node and all its children (if appropriate)//================================================================function nvh_mainnavigation_displaynode(path, node, strFragRoot){ var strClass, strClassHover, strShowPopup = "", strHidePopup = "";

if (path[node.m_level] == node.m_id) { strClass = "rvh_mainnavigation-level" + node.m_level + "selected";

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

3-10 Site Studio Tutorial

Ravenna Hosting Features

strClassHover = "rvh_mainnavigation-level" + node.m_level + "selectedhover"; } else { strClass = "rvh_mainnavigation-level" + node.m_level; strClassHover = "rvh_mainnavigation-level" + node.m_level + "hover";

if (((node.m_level == 1) || (node.m_level == 2)) && (node.m_subNodes.length > 0)) { strShowPopup = "rvh_mainnavigation" + node.m_id + ".style.display='inline';"; strHidePopup = "rvh_mainnavigation" + node.m_id + ".style.display='none';"; } }

var strIcon = (customSectionPropertyExists(node.cp_MainNavIcon) ? "<img border=0 width=16 height=16 src='" + node.cp_MainNavIcon + "'>&nbsp;" : "");

document.write("<tr>"); document.write(" <td width='1%' class='" + strClass + "Lead'\">"); document.write(" <td width='99%' class='" + strClass + "' onmouseover=\"className='" + strClassHover + "';" + strShowPopup + "\" onmouseout=\"className='" + strClass + "';" + strHidePopup + "\">"); document.write(" <table cellspacing=0 cellpadding=0>"); document.write(" <tr>"); document.write(" <td width='100%'><a href='" + node.m_href + "'>" + strIcon + node.m_label + "</a></td>"); document.write(" <td>");

if (((node.m_level == 1) || (node.m_level == 2)) && (node.m_subNodes.length > 0)) { if (path[node.m_level] == node.m_id) { document.write("<img src='" + strFragRoot + "/rvh_mainnavigation-level" + node.m_level + "-downarrow.gif'></img>"); } else { document.write("<img src='" + strFragRoot + "/rvh_mainnavigation-level" + node.m_level + "-rightarrow.gif'></img>"); document.write("<table style='border: 1px solid black;background-color:white;' id='rvh_mainnavigation" + node.m_id + "' style='position:absolute;display:none;' cellspacing=1 cellpadding=0 width=1%"); for (var i = 0 ; i < node.m_subNodes.length ; i++) nvh_mainnavigation_displaynode(path, node.m_subNodes[i], strFragRoot); document.write("</table>");

Site Studio Tutorial 3-11

Ravenna Hosting Features

} } else { document.write("&nbsp;"); }

document.write(" </td>"); document.write(" </tr>"); document.write(" </table>"); document.write(" </td>"); document.write("</tr>");

if ((node.m_level <= 2) && (path[node.m_level] == node.m_id)) for (var i = 0 ; i < node.m_subNodes.length ; i++) nvh_mainnavigation_displaynode(path, node.m_subNodes[i], strFragRoot);}

//================================================================// Function : nvh_mainnavigation_display// Comments : this method draws the main navigation fragment//================================================================function nvh_mainnavigation_display(path, node, strFragRoot, bDisplayRoot){ document.write("<table cellspacing=1 cellpadding=0 width=100%>");

if (bDisplayRoot) { nvh_mainnavigation_displaynode(path, node, strFragRoot); } else { for (var i = 0 ; i < node.m_subNodes.length ; i++) nvh_mainnavigation_displaynode(path, node.m_subNodes[i], strFragRoot); }

/********************************************/ /************ TUTORIAL HYPERLINK ************/ /********************************************/ if (SSContributor) { document.write("<tr><td class=\"rvh_mainnavigation-level1Lead\">&nbsp;</td><td class=\"rvh_mainnavigation-level1\" align=right onmouseover=\"className='rvh_mainnavigation-level1hover';\" onmouseout=\"className='rvh_mainnavigation-level1';\">"); generateTutorialLink('rvh_mainnavigation', 'click here to learn more about the main navigation fragment'); document.write("</td></tr>"); }

3-12 Site Studio Tutorial

Ravenna Hosting Features

/********************************************/ /************ TUTORIAL HYPERLINK ************/ /********************************************/

document.write("</table>");}

This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

Some of the code in this fragment is used for the link to the Tutorial that accompanies the Ravenna Hosting site. The code is surrounded by comment tags. If you want to disable the Tutorial on the sample site, simply remove this code.

rvh_mainnavigation.cssThe cascading style sheet for this fragment provides most of the formatting for the menu such as background color, typeface, and font size.

.rvh_mainnavigation-level0,

.rvh_mainnavigation-level0 A:link,

.rvh_mainnavigation-level0 A:visited{color: #ffffff;background-color:#006699;white-space: nowrap;font-family: arial, sans-serif;font-weight: bold;font-size: 12px;line-height: 20px;padding-left: 4px; padding-right: 4px;text-decoration:none; width: 100%;}

.rvh_mainnavigation-level0hover,

.rvh_mainnavigation-level0hover A:link,

.rvh_mainnavigation-level0hover A:visited{color: #ffffff;background-color:#003063;white-space: nowrap;font-family: arial, sans-serif;font-size: 12px;font-weight: bold;line-height: 20px;

Site Studio Tutorial 3-13

Ravenna Hosting Features

padding-left: 4px; padding-right: 4px;text-decoration:none; width: 100%;}

.rvh_mainnavigation-level0selected,

.rvh_mainnavigation-level0selected A:link,

.rvh_mainnavigation-level0selected A:visited{color: #ffffff;background-color:#006699;white-space: nowrap;font-family: arial, sans-serif;font-weight: bold;font-size: 12px;line-height: 20px;padding-left: 4px; padding-right: 4px;text-decoration:none; width: 100%;}

.rvh_mainnavigation-level0selectedhover,

.rvh_mainnavigation-level0selectedhover A:link,

.rvh_mainnavigation-level0selectedhover A:visited{color: #ffffff;background-color:#006699;white-space: nowrap;font-family: arial, sans-serif;font-weight: bold;font-size: 12px;line-height: 20px;padding-left: 4px; padding-right: 4px;text-decoration:none; width: 100%;}

.rvh_mainnavigation-level1,

.rvh_mainnavigation-level1 A:link,

.rvh_mainnavigation-level1 A:visited{color: #ffffff;background-color:#006699;white-space: nowrap;font-family: arial, sans-serif;font-weight: bold;

3-14 Site Studio Tutorial

Ravenna Hosting Features

font-size: 12px;line-height: 20px;padding-left: 4px; padding-right: 4px;text-decoration:none; width: 100%;}

.rvh_mainnavigation-level1Lead,

.rvh_mainnavigation-level1Lead A:link,

.rvh_mainnavigation-level1Lead A:visited{color: #ffffff;background-color:#009BFD;white-space: nowrap;font-family: arial, sans-serif;font-weight: bold;font-size: 12px;line-height: 20px;padding-left: 4px; padding-right: 4px;text-decoration:none;}

.rvh_mainnavigation-level1hover,

.rvh_mainnavigation-level1hover A:link,

.rvh_mainnavigation-level1hover A:visited{color: #ffffff;background-color:#003063;white-space: nowrap;font-family: arial, sans-serif;font-weight: bold;font-size: 12px;line-height: 20px;padding-left: 4px; padding-right: 4px;text-decoration:none; width: 100%;}

.rvh_mainnavigation-level1selected,

.rvh_mainnavigation-level1selected A:link,

.rvh_mainnavigation-level1selected A:visited{color: #FF9933;background-color:#006699;white-space: nowrap;font-family: arial, sans-serif;

Site Studio Tutorial 3-15

Ravenna Hosting Features

font-weight: bold;font-size: 12px;line-height: 20px;padding-left: 4px; padding-right: 4px;text-decoration:none; width: 100%;}

.rvh_mainnavigation-level1selectedLead,

.rvh_mainnavigation-level1selectedLead A:link,

.rvh_mainnavigation-level1selectedLead A:visited{color: #FF9933;background-color:#009BFD;white-space: nowrap;font-family: arial, sans-serif;font-weight: bold;font-size: 12px;line-height: 20px;padding-left: 4px; padding-right: 4px;text-decoration:none;}

.rvh_mainnavigation-level1selectedhover,

.rvh_mainnavigation-level1selectedhover A:link,

.rvh_mainnavigation-level1selectedhover A:visited{color: #FF9933;background-color:#003063;white-space: nowrap;font-family: arial, sans-serif;font-weight: bold;font-size: 12px;line-height: 20px;padding-left: 4px; padding-right: 4px;text-decoration:none; width: 100%;}

.rvh_mainnavigation-level2,

.rvh_mainnavigation-level2 A:link,

.rvh_mainnavigation-level2 A:visited{color: #000000;background-color:#EFEFEF;white-space: nowrap;

3-16 Site Studio Tutorial

Ravenna Hosting Features

font-family: arial, sans-serif;font-size: 12px;font-weight: normal;line-height: 20px;padding-left: 8px; padding-right: 4px;text-decoration:none; width: 100%;}

.rvh_mainnavigation-level2Lead,

.rvh_mainnavigation-level2Lead A:link,

.rvh_mainnavigation-level2Lead A:visited{color: #000000;background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 12px;font-weight: normal;line-height: 20px;padding-left: 8px; padding-right: 4px;text-decoration:none;}

.rvh_mainnavigation-level2hover,

.rvh_mainnavigation-level2hover A:link,

.rvh_mainnavigation-level2hover A:visited{color: #000000;background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 12px;font-weight: normal;line-height: 20px;padding-left: 8px; padding-right: 4px;text-decoration:underline; width: 100%;}

.rvh_mainnavigation-level2selected,

.rvh_mainnavigation-level2selected A:link,

.rvh_mainnavigation-level2selected A:visited{color: #FF9933;background-color:#EFEFEF;

Site Studio Tutorial 3-17

Ravenna Hosting Features

white-space: nowrap;font-family: arial, sans-serif;font-size: 12px;font-weight: normal;line-height: 20px;padding-left: 8px; padding-right: 4px;text-decoration:none; width: 100%;}

.rvh_mainnavigation-level2selectedLead,

.rvh_mainnavigation-level2selectedLead A:link,

.rvh_mainnavigation-level2selectedLead A:visited{color: #FF9933;background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 12px;font-weight: normal;line-height: 20px;padding-left: 8px; padding-right: 4px;text-decoration:none;}

.rvh_mainnavigation-level2selectedhover,

.rvh_mainnavigation-level2selectedhover A:link,

.rvh_mainnavigation-level2selectedhover A:visited{color: #FF9933;background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 12px;font-weight: normal;line-height: 20px;padding-left: 8px; padding-right: 4px;text-decoration:none; width: 100%;}

.rvh_mainnavigation-level3,

.rvh_mainnavigation-level3 A:link,

.rvh_mainnavigation-level3 A:visited{color: black;

3-18 Site Studio Tutorial

Ravenna Hosting Features

background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 10px;font-weight: normal;line-height: 16px;padding-left: 20px; padding-right: 8px;text-decoration:none; width: 100%;}

.rvh_mainnavigation-level3Lead,

.rvh_mainnavigation-level3Lead A:link,

.rvh_mainnavigation-level3Lead A:visited{color: black;background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 10px;font-weight: normal;line-height: 16px;text-decoration:none;}

.rvh_mainnavigation-level3hover,

.rvh_mainnavigation-level3hover A:link,

.rvh_mainnavigation-level3hover A:visited{color: black;background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 10px;font-weight: normal;line-height: 16px;padding-left: 20px; padding-right: 8px;text-decoration:underline; width: 100%;}

.rvh_mainnavigation-level3selected,

.rvh_mainnavigation-level3selected A:link,

.rvh_mainnavigation-level3selected A:visited{color: #FF9933;background-color:#EFEFEF;

Site Studio Tutorial 3-19

Ravenna Hosting Features

white-space: nowrap;font-family: arial, sans-serif;font-size: 10px;font-weight: normal;line-height: 16px;padding-left: 20px; padding-right: 8px;text-decoration:none; width: 100%;}

.rvh_mainnavigation-level3selectedLead,

.rvh_mainnavigation-level3selectedLead A:link,

.rvh_mainnavigation-level3selectedLead A:visited{color: #FF9933;background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 10px;font-weight: normal;line-height: 16px;text-decoration:none;}

.rvh_mainnavigation-level3selectedhover,

.rvh_mainnavigation-level3selectedhover A:link,

.rvh_mainnavigation-level3selectedhover A:visited{color: #FF9933;background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 10px;font-weight: normal;line-height: 16px;padding-left: 20px; padding-right: 8px;text-decoration:none; width: 100%;}

Graphics Denoting Menu Expanding/CollapsingThese graphics are used in the menu to denote expanding or collapsing capabilities.

3-20 Site Studio Tutorial

Ravenna Hosting Features

rvh_mainnavigation-level1-rightarrow.gif

One of four graphics used in the menu to denote that the menu can be expanded or collapsed. This graphic indicates that the section contains subcategories and that it can be expanded.

rvh_mainnavigation-level1-downarrow.gif

One of four graphics used in the menu to denote that the menu can be expanded or collapsed. This graphic indicates that the section is currently expanded and that its subcategories are showing.

rvh_mainnavigation-level2-rightarrow.gif

One of four graphics used in the menu to denote that the menu can be expanded or collapsed. This graphic indicates that the section contains subcategories that can be expanded.

rvh_mainnavigation-level2-downarrow.gif

One of four graphics used in the menu to denote that the menu can be expanded or collapsed. This graphic indicates that the section is currently expanded and that its subcategories are showing.

Ravenna Hosting Top NavigationThe Ravenna Hosting Top Navigation fragment contains links to four, frequently visited, sections on the web site (see figure).

Figure 3-6 Ravenna Hosting Top Navigation

Note: Additional graphics also appear in the menu, but they are not stored in the fragment. Rather, they are one of the custom section properties defined in the site hierarchy. This fragment displays those values on the web site.

Site Studio Tutorial 3-21

Ravenna Hosting Features

Similar to the Ravenna Hosting Main Navigation fragment, this fragment takes advantage of a custom section property specified in Designer (see “Defining custom properties for a section” in the Designer User Guide). The custom property is called “ShowInTopNav,” and it contains a “true” or “false” value.

When set to “true,” this fragment will display the section in the top navigation. The actual code that reads the custom section property is located in one of the snippets (see Include (Head Snippet) on page 3-22).

This fragment is different from most navigation fragments in that it does not automatically recognize new sections added to the site hierarchy or sections removed from the site hierarchy. If you want more sections to appear in the menu, you need to change the value for the “ShowInTopNav” custom section property.

The fragment comprises the following parts:

Ravenna Hosting Top Navigation: Snippets (page 3-22)

Ravenna Hosting Top Navigation: Assets (page 3-24)

Ravenna Hosting Top Navigation: SnippetsThe Ravenna Hosting Top Navigation fragment has two snippets: a head snippet and a drop-point snippet. Fragments, such as this one, that contain client-side JavaScript and cascading style sheets frequently require two snippets: one for information that goes in the head of the web page, the other for information that goes in the body of the web page. Both snippets are included by reference (see Fragment Overview on page 3-4).

Include (Head Snippet) (page 3-22)

Presentation (Drop-point Snippet) (page 3-23)

Include (Head Snippet)The part of the script that declares head information (information stored in the HTML <head> tag) was turned into the following head snippet:<link rel="stylesheet" type="text/css" href="<!--$HttpRelativeFragmentsRoot-->rvh_topnavigation/rvh_topnavigation.css"></link>

Note: This fragment contains no elements or parameters, both of which can be found in some of the other fragments. It contains no elements because this fragment is used specifically for the site navigation and not contribution (see Fragment Overview on page 3-4). It contains no parameters because the fragment is intended to look the same throughout the site and requires no customization.

3-22 Site Studio Tutorial

Ravenna Hosting Features

Presentation (Drop-point Snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:

<table cellspacing="0" cellpadding="3" width="100%"> <tr> <td class='rvh_topnavigation'> <script> <!--********************************************--> <!--************ TUTORIAL HYPERLINK ************--> <!--********************************************--> if (SSContributor) generateTutorialLink('rvh_topnavigation', 'click here to learn more about the top navigation fragment'); <!--********************************************--> <!--************ TUTORIAL HYPERLINK ************--> <!--********************************************--> </script>

<!--$savedNodeId = #active.nodeId--><!--$ssLoadSiteNavResultSet(siteId)--><!--$if SiteStudioNavNodes--><!--$loop SiteStudioNavNodes--><!--$if SiteStudioNavNodes.level eq 0 --> <a href='<!--$SiteStudioNavNodes.href-->'><!--$SiteStudioNavNodes.label--></a><!--$endif--><!--$if ssGetNodeProperty(nodeId, "ShowInTopNav")--> &nbsp;&nbsp;|&nbsp;&nbsp; <a href='<!--$SiteStudioNavNodes.href-->'><!--$SiteStudioNavNodes.label--></a><!--$endif--><!--$endloop--><!--$endif--><!--$nodeId = savedNodeId-->

</td> </tr></table>

Note: Some of the code in this fragment is used for the link to the Tutorial that accompanies the Ravenna Hosting site. The code is surrounded by comment tags. If you want to disable the Tutorial on the sample site, simply remove this code.

Site Studio Tutorial 3-23

Ravenna Hosting Features

Ravenna Hosting Top Navigation: AssetsThe Ravenna Hosting Top Navigation fragment contains one asset, a cascading style sheet.

rvh_topnavigation.cssThe cascading style sheet for this fragment provides most of the formatting for the menu such as background color, typeface, and font size..rvh_topnavigation,.rvh_topnavigation A:link,.rvh_topnavigation A:visited{color: #ffffff;background-color:#000000;white-space: nowrap;font-family: verdana, arial, sans-serif;font-size: 10px;font-weight: bold;line-height: 14px;padding-left: 4px;text-decoration:none;}

.rvh_topnavigationHover,

.rvh_topnavigationHover A:link,

.rvh_topnavigationHover A:visited{color: #ffffff;background-color:#000000;white-space: nowrap;font-family: verdana, arial, sans-serif;font-size: 10px;font-weight: bold;line-height: 14px;padding-left: 4px;text-decoration:none;}

.rvh_topnavigationSelected,

.rvh_topnavigationSelected A:link,

.rvh_topnavigationSelected A:visited{

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

3-24 Site Studio Tutorial

Ravenna Hosting Features

color: #ffffff;background-color:#000000;white-space: nowrap;font-family: verdana, arial, sans-serif;font-size: 10px;font-weight: bold;line-height: 14px;padding-left: 4px;text-decoration:none;}

.rvh_topnavigationSelectedHover,

.rvh_topnavigationSelectedHover A:link,

.rvh_topnavigationSelectedHover A:visited{color: #ffffff;background-color:#000000;white-space: nowrap;font-family: verdana, arial, sans-serif;font-size: 10px;font-weight: bold;line-height: 14px;padding-left: 4px;text-decoration:none;}

Ravenna Hosting BreadcrumbThe Ravenna Hosting Breadcrumb fragment inserts a row of hyperlinks depicting the site hierarchy. Breadcrumbs provide quick access to the parent and children sections relative to the section being viewed, and this allows visitors to see where they are at on the web site (see figure).

Figure 3-7 Ravenna Hosting Breadcrumb

Like the Ravenna Hosting Main Navigation fragment, this fragment automatically recognizes changes to the site hierarchy (made in Designer).

Note: If you enter Contributor mode while viewing this fragment on a web page, you will no longer be able to see the breadcrumb and the Help icon that accompanies it. This is because the Contributor mode box is covering part of the fragment. To get to the Help icon and associated help topic, click the Contributor mode box and drag it out of the way.

Site Studio Tutorial 3-25

Ravenna Hosting Features

The fragment comprises the following parts:

Ravenna Hosting Breadcrumb: Snippets (page 3-26)

Ravenna Hosting Breadcrumb: Assets (page 3-27)

Ravenna Hosting Breadcrumb: SnippetsThe Ravenna Hosting Breadcrumb fragment has two snippets: a head snippet and a drop-point snippet. Fragments, such as this one, that contain client-side JavaScript and cascading style sheets frequently require two snippets: one for information that goes in the head of the web page, the other for information that goes in the body of the web page. Both snippets are included by reference (see Fragment Overview on page 3-4).

Include (Head Snippet) (page 3-26)

Presentation (Drop-point Snippet) (page 3-26)

Include (Head Snippet)The part of the script that declares head information (information stored in the HTML <head> tag) was turned into the following head snippet:<link rel="stylesheet" type="text/css" href="<!--$HttpRelativeFragmentsRoot-->rvh_breadcrumb/rvh_breadcrumb.css"></link><script src="<!--$HttpRelativeFragmentsRoot-->rvh_breadcrumb/rvh_breadcrumb.js"></script>

Presentation (Drop-point Snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:<script>{var fragment = new rvh_breadcrumb();fragment.Display(g_navNode_Root);}</script>

Note: This fragment does not contain any elements or parameters, both of which can be found in some of the other fragments. It contains no elements because this fragment is used specifically for the site navigation and not contribution (see Fragment Overview on page 3-4). It contains no parameters because the fragment is intended to look the same throughout the site and requires no customization.

3-26 Site Studio Tutorial

Ravenna Hosting Features

Ravenna Hosting Breadcrumb: AssetsThe Ravenna Hosting Breadcrumb fragment contains two assets:

rvh_breadcrumb.js (page 3-27)

rvh_breadcrumb.css (page 3-28)

rvh_breadcrumb.jsThe bulk of the code used to create the breadcrumb is placed in a separate JavaScript file called “rvh_breadcrumb.js” and is added to the fragment in the form of an asset. The rvh_breadcrumb.js contains the following code.

//////////////////////////////////////////////////////////////////// Function : rvh_breadcrumb// Comments : //////////////////////////////////////////////////////////////////

function rvh_breadcrumb(){this.m_NavPath = g_navNode_Path;

rvh_breadcrumb.prototype.Display = rvh_breadcrumb_Display;rvh_breadcrumb.prototype.DisplayNode = rvh_breadcrumb_DisplayNode;}

function rvh_breadcrumb_Display (node){document.write ('<span class="rvh_breadcrumb">');

/********************************************/ /************ TUTORIAL HYPERLINK ************/ /********************************************/ if (SSContributor) generateTutorialLink('rvh_breadcrumb', 'click here to learn more about the breadcrumb fragment'); /********************************************/ /************ TUTORIAL HYPERLINK ************/ /********************************************/

this.DisplayNode(node);document.write ('&nbsp;&nbsp;</span>');

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

Site Studio Tutorial 3-27

Ravenna Hosting Features

}

function rvh_breadcrumb_DisplayNode(node){var level = node.m_level;

var bExpand = false;

var di = 0;

if (this.m_NavPath.length > 0 && node.m_level < this.m_NavPath.length){if (this.m_NavPath[node.m_level] == node.m_id)bExpand = true;}

if (bExpand){document.write('<a href="' + node.m_href + '" class="rvh_breadcrumb">');document.write(node.m_label);document.write('</a>');

if (this.m_NavPath.length > 0 && node.m_level < this.m_NavPath.length-1)document.write('&nbsp;&gt;&nbsp;');

// expand sub-levels (if any)for (var i = 0; i < node.m_subNodes.length; i++){this.DisplayNode(node.m_subNodes[i]);}}}

rvh_breadcrumb.cssThe cascading style sheet for this fragment provides most of the formatting for the menu such as typeface color and font size..rvh_breadcrumb{ color: #FF9933; font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: xx-small;

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

3-28 Site Studio Tutorial

Ravenna Hosting Features

white-space: nowrap; text-decoration: none}a.rvh_breadcrumb:hover {color: #EFEFEF;}

Ravenna Hosting Site MapThe Ravenna Hosting Site Map fragment displays the hierarchy of the web site on a web page as a series of hyperlinks. A site map is a common and frequently used feature on many web sites because it allows users an alternate way to navigate the site (see figure).

Figure 3-8 Ravenna Hosting Site Map

Like the Ravenna Hosting Main Navigation fragment, this fragment automatically recognizes the site hierarchy. If you add a section, rename a section, or remove a section (using Designer), it will display as such in the site map.

The fragment comprises the following parts:

Site Studio Tutorial 3-29

Ravenna Hosting Features

Ravenna Hosting Site Map: Snippets (page 3-30)

Ravenna Hosting Site Map: Assets (page 3-31)

Ravenna Hosting Site Map: SnippetsThe Ravenna Hosting Site Map fragment has two snippets: a head snippet and a drop-point snippet. Fragments, such as this one, that contain client-side JavaScript and cascading style sheets frequently require two snippets: one for information that goes in the head of the web page, the other for information that goes in the body of the web page. Both snippets are included by reference (see Fragment Overview on page 3-4).

Include (Head Snippet) (page 3-30)

Presentation (Drop-point Snippet) (page 3-30)

Include (Head Snippet)The part of the script that declares head information (information stored in the HTML <head> tag) was turned into the following head snippet:<link rel="stylesheet" type="text/css" href="<!--$HttpRelativeFragmentsRoot-->rvh_sitemap/rvh_sitemap.css"></link>

Presentation (Drop-point Snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:<!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************--><!--$if SSContributor and isTrue(SSContributor) --> <script>generateTutorialLink('rvh_sitemap', 'click here to learn more about the site map fragment');</script><!--$endif --><!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************-->

Note: This fragment does not contain any elements or parameters, both of which can be found in some of the other fragments. It contains no elements because the fragment is used specifically for the site navigation and not contribution (see Fragment Overview on page 3-4). It contains no parameters because the fragment is intended to look the same throughout the site and requires no customization.

3-30 Site Studio Tutorial

Ravenna Hosting Features

<!--$savedNodeId = #active.nodeId--><div>

<!--$ssLoadSiteNavResultSet(siteId)--><!--$if SiteStudioNavNodes--><!--$loop SiteStudioNavNodes--><!--$if SiteStudioNavNodes.level gt 0 --><div class="rvh_sitemap-level<!--$SiteStudioNavNodes.level-->" onmouseover="className='rvh_sitemap-level<!--$SiteStudioNavNodes.level-->hover';" onmouseout="className='rvh_sitemap-level<!--$SiteStudioNavNodes.level-->';"><a href="<!--$SiteStudioNavNodes.href-->" class="rvh_sitemap-level<!--$SiteStudioNavNodes.level-->"><!--$SiteStudioNavNodes.label--></a></div><!--$endif--><!--$endloop--><!--$endif-->

</div><!--$nodeId = savedNodeId-->

Ravenna Hosting Site Map: AssetsThe Ravenna Hosting Site Map contains one asset, a cascading style sheet.

rvh_sitemap.cssThe cascading style sheet for this fragment provides most of the formatting for this feature such as background color, typeface, and font size..rvh_sitemap-level0,.rvh_sitemap-level0 A:link,.rvh_sitemap-level0 A:visited{color: #ffffff;background-color:#31649C;white-space: nowrap;font-family: arial, sans-serif;font-weight: bold;font-size: 14px;line-height: 20px;

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

Note: Some of the code in this fragment is used for the link to the Tutorial that accompanies the Ravenna Hosting site. The code is surrounded by comment tags. If you want to disable the Tutorial in the sample site, simply remove this code.

Site Studio Tutorial 3-31

Ravenna Hosting Features

padding-left: 4px; padding-right: 4px;text-decoration:none; width: 100%;}

.rvh_sitemap-level0hover,

.rvh_sitemap-level0hover A:link,

.rvh_sitemap-level0hover A:visited{color: #ffffff;background-color:#003063;white-space: nowrap;font-family: arial, sans-serif;font-size: 14px;font-weight: bold;line-height: 20px;padding-left: 4px; padding-right: 4px;text-decoration:none; width: 100%;}

.rvh_sitemap-level1,

.rvh_sitemap-level1 A:link,

.rvh_sitemap-level1 A:visited{color: #ffffff;background-color:#31649C;white-space: nowrap;font-family: arial, sans-serif;font-weight: bold;font-size: 12px;line-height: 20px;padding-left: 8px; padding-right: 8px;text-decoration:none; width: 100%;}

.rvh_sitemap-level1hover,

.rvh_sitemap-level1hover A:link,

.rvh_sitemap-level1hover A:visited{color: #ffffff;background-color:#003063;white-space: nowrap;font-family: arial, sans-serif;font-weight: bold;

3-32 Site Studio Tutorial

Ravenna Hosting Features

font-size: 12px;line-height: 20px;padding-left: 8px; padding-right: 8px;text-decoration:none; width: 100%;}

.rvh_sitemap-level2,

.rvh_sitemap-level2 A:link,

.rvh_sitemap-level2 A:visited{color: #000000;background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 12px;line-height: 20px;padding-left: 16px; padding-right: 16px;text-decoration:none; width: 100%;}

.rvh_sitemap-level2hover,

.rvh_sitemap-level2hover A:link,

.rvh_sitemap-level2hover A:visited{color: #000000;background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 12px;line-height: 20px;padding-left: 16px; padding-right: 16px;text-decoration:underline; width: 100%;}

.rvh_sitemap-level3,

.rvh_sitemap-level3 A:link,

.rvh_sitemap-level3 A:visited{color: #000000;background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 10px;

Site Studio Tutorial 3-33

Ravenna Hosting Features

line-height: 20px;padding-left: 24px; padding-right: 24px;text-decoration:none; width: 100%;}

.rvh_sitemap-level3hover,

.rvh_sitemap-level3hover A:link,

.rvh_sitemap-level3hover A:visited{color: #000000;background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 10px;line-height: 20px;padding-left: 24px; padding-right: 24px;text-decoration:underline; width: 100%;}

.rvh_sitemap-level4,

.rvh_sitemap-level4 A:link,

.rvh_sitemap-level4 A:visited{color: #000000;background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 9px;line-height: 20px;padding-left: 32px; padding-right: 32px;text-decoration:none; width: 100%;}

.rvh_sitemap-level4hover,

.rvh_sitemap-level4hover A:link,

.rvh_sitemap-level4hover A:visited{color: #000000;background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 9px;line-height: 20px;

3-34 Site Studio Tutorial

Ravenna Hosting Features

padding-left: 32px; padding-right: 32px;text-decoration:underline; width: 100%;}

.rvh_sitemap-level5,

.rvh_sitemap-level5 A:link,

.rvh_sitemap-level5 A:visited{color: #000000;background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 8px;line-height: 20px;padding-left: 40px; padding-right: 40px;text-decoration:none; width: 100%;}

.rvh_sitemap-level5hover,

.rvh_sitemap-level5hover A:link,

.rvh_sitemap-level5hover A:visited{color: #000000;background-color:#EFEFEF;white-space: nowrap;font-family: arial, sans-serif;font-size: 8px;line-height: 20px;padding-left: 40px; padding-right: 40px;text-decoration:underline; width: 100%;}

Ravenna Hosting FooterThe Ravenna Hosting Footer fragment contains a copyright line and links to four, frequently visited, sections on the web site. The footer appears at the bottom of every page on the web site (see figure).

Site Studio Tutorial 3-35

Ravenna Hosting Features

Figure 3-9 Ravenna Hosting Footer

This fragment is similar to the Ravenna Hosting Top Navigation fragment in that it takes advantage of a custom section property specified in Designer (see “Defining custom properties for a section” in the Designer User Guide). The custom property is called “ShowInFooter,” and it contains a “true” or “false” value.

When set to “true,” that section will appear as a hyperlink in the footer. The actual code that reads the custom section property is located in one of the snippets (see Include (Head Snippet) on page 3-37).

The fragment, therefore, does not automatically recognize new sections added to the site hierarchy or sections removed from the site hierarchy (again, like the Ravenna Hosting Top Navigation fragment). If you want more sections to appear in the menu, you need to change the value for the “ShowInFooter” custom section property.

The fragment comprises the following parts:

Ravenna Hosting Footer: Snippets (page 3-36)

Ravenna Hosting Footer: Assets (page 3-38)

Ravenna Hosting Footer: SnippetsThe Ravenna Hosting Footer fragment has two snippets: a head snippet and a drop-point snippet. Fragments, such as this one, that contain client-side JavaScript and cascading style sheets frequently require two snippets: one for information that goes in the head of the web page, the other for information that goes in the body of the web page. Both snippets are included by reference (see Fragment Overview on page 3-4).

Include (Head Snippet) (page 3-37)

Presentation (Drop-point Snippet) (page 3-37)

Note: This fragment does not contain any elements or parameters, both of which can be found in some of the other fragments. It contains no elements because this fragment is used specifically for the site navigation and not contribution (see Fragment Overview on page 3-4). It contains no parameters because the fragment is intended to look the same throughout the site and requires no customization.

3-36 Site Studio Tutorial

Ravenna Hosting Features

Include (Head Snippet)The part of the script that declares head information (information stored in the HTML <head> tag) was turned into the following head snippet:<link rel="stylesheet" type="text/css" href="<!--$HttpRelativeFragmentsRoot-->rvh_footer/rvh_footer.css"></link>

Presentation (Drop-point Snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:<br><table cellspacing="0" cellpadding="0" width="100%" align="left"> <tr> <td class="rvh_footer"> <!--********************************************--> <!--************ TUTORIAL HYPERLINK ************--> <!--********************************************--> <!--$if SSContributor and isTrue(SSContributor) --> <script>generateTutorialLink('rvh_footer', 'click here to learn more about the footer fragment');</script><br> <!--$endif --> <!--********************************************--> <!--************ TUTORIAL HYPERLINK ************--> <!--********************************************-->

<!--$savedNodeId = #active.nodeId--><!--$ssLoadSiteNavResultSet(siteId)--><!--$if SiteStudioNavNodes--><!--$loop SiteStudioNavNodes--><!--$if SiteStudioNavNodes.level eq 0 --> <a href='<!--$SiteStudioNavNodes.href-->'><!--$SiteStudioNavNodes.label--></a><!--$endif--><!--$if ssGetNodeProperty(nodeId, "ShowInFooter")--> &nbsp;|&nbsp; <a class='rvh_footer' href='<!--$SiteStudioNavNodes.href-->'><!--$SiteStudioNavNodes.label--></a><!--$endif--><!--$endloop--><!--$endif--><!--$nodeId = savedNodeId--> </td> </tr>

<tr> <td class="rvh_footer_hr"><hr width=100%></td>

Site Studio Tutorial 3-37

Ravenna Hosting Features

</tr>

<tr> <td class="rvh_footer_copyright">Copyright Year &amp; Information,&nbsp;Ravenna Hosting, Inc.</td> </tr> </table>

Ravenna Hosting Footer: AssetsThe Ravenna Hosting Top Navigation contains one asset, a cascading style sheet.

rvh_footer.cssThe cascading style sheet for this fragment provides most of the formatting for the menu such as background color, typeface, and font size..rvh_footer,.rvh_footer A:link,.rvh_footer A:visited{ color: black;white-space: nowrap;font-family: verdana;font-size: xx-small;text-decoration:none;text-align:center;}

.rvh_footer_hr,{text-align:center;}

.rvh_footer_copyright{background-color: #CEDBE7;white-space: nowrap;

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

Note: Some of the code in this fragment is used for the link to the Tutorial that accompanies the Ravenna Hosting site. The code is surrounded by comment tags. If you want to disable the Tutorial on the sample site, simply remove this code.

3-38 Site Studio Tutorial

Ravenna Hosting Features

font-family: verdana;font-size: xx-small;text-decoration:none;text-align:center;}

Ravenna Hosting Search BoxThe Ravenna Hosting Search Box fragment can be found in the upper right corner of each page on the web site, where it is used to perform a full-text search of the entire site (see

figure).

Figure 3-10 Ravenna Hosting Search Box

The same fragment is also used in the Knowledge Base section, where it is used to perform a search of only the Knowledge Base (see figure).

Figure 3-11 Knowledge Base Search Box

The fragment contains parameters (see Ravenna Hosting Search Box: Parameters on page 3-41) that allow you to change the look and behavior of the fragment when you actually use it on a layout page.

The search fragment is somewhat unique among Site Studio fragments in that it is designed to work with another fragment—a search results fragment—which is placed on a separate layout page located in a section designated for the search results (see Ravenna Hosting Search Result on page 3-43). The search result fragment is what actually performs the query on the server, using the built-in query service in Content Server.

The Ravenna Hosting Search Box fragment comprises the following parts:

Ravenna Hosting Search Box: Snippets (page 3-40)

Ravenna Hosting Search Box: Assets (page 3-41)

Ravenna Hosting Search Box: Parameters (page 3-41)

Note: This fragment does not contain any elements because the fragment is used as a navigation aid and not for contribution (see Fragment Overview on page 3-4).

Site Studio Tutorial 3-39

Ravenna Hosting Features

Ravenna Hosting Search Box: SnippetsThe Ravenna Hosting Search Box fragment has two snippets: a head snippet and a drop-point snippet. Fragments that contain client-side JavaScript and cascading style sheets, like the Ravenna Hosting Search Box, frequently require two snippets: one for information that goes in the head of the web page and the other for information that goes in the body of the web page. Both snippets are included by reference (see Fragment Overview on page 3-4).

1 (Head Snippet) (page 3-40)

2 (Drop-point Snippet) (page 3-40)

1 (Head Snippet)The part of the script that declares head information (information stored in the HTML <head> tag) was turned into the following head snippet:

<link rel="stylesheet" type="text/css" href="<!--$HttpRelativeFragmentsRoot-->rvh_searchbox/rvh_searchbox.css"></link>

2 (Drop-point Snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:<!--$ssSubmitButtonGraphic = getValue("#active", ssFragmentInstanceId & "_ssSubmitButtonGraphic")--><!--$ssResultsPage = getValue("#active", ssFragmentInstanceId & "_ssResultsPage")-->

<form action="<!--$ssGetServerRelativeUrl(siteId, ssResultsPage)-->" method="get" name="rvh_searchbox">

<table border=0 cellspacing=0 cellpadding=0> <tr> <td valign="middle"> <!--********************************************--> <!--************ TUTORIAL HYPERLINK ************--> <!--********************************************--> <!--$if SSContributor and isTrue(SSContributor) --> <script>generateTutorialLink('rvh_searchbox', 'click here to learn more about the search box fragment');</script><br> <!--$endif --> <!--********************************************--> <!--************ TUTORIAL HYPERLINK ************--> <!--********************************************-->

3-40 Site Studio Tutorial

Ravenna Hosting Features

<input class="rvh_searchbox" type=text name="ssUserText" maxlength="100" value="<!--$#active.ssUserText-->"/> </td> <td valign="middle"> <!--$if strEquals(ssSubmitButtonGraphic,"") or strEquals(ssSubmitButtonGraphic,HttpRelativeWebRoot)--> <input class="rvh_searchbox" type=submit value="Search"/> <!--$else--> <a href="javascript:search..." onclick="rvh_searchbox.submit();return false;"><img border=0 src="<!--$ssSubmitButtonGraphic-->"></img></a>&nbsp;&nbsp; <!--$endif--> </td> </tr></table>

</form>

Ravenna Hosting Search Box: AssetsThe Ravenna Hosting Search Box fragment contains one asset, a cascading style sheet.

rvh_searchbox.cssThe cascading style sheet for this fragment provides most of the formatting for this feature such as typeface color and font size..rvh_searchbox{color: #000000; font-size: 10pt; font-family: Arial, Helvetica, sans-serif; white-space: nowrap; text-decoration: none; margin-left:5;}

Ravenna Hosting Search Box: ParametersThe Ravenna Hosting Search Box contains two parameters:

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

Site Studio Tutorial 3-41

Ravenna Hosting Features

Parameter name Description

ssResultsPage A manageddoc parameter that is used to specify the search results page for the search fragment. This parameter, therefore, prompts you for the location of the search results page when you add this fragment to a layout page.The Ravenna Hosting site uses this same fragment in two different ways (the main search feature and the Knowledge Base search feature).When used as the main search feature, it contains the value: rvh_searchresultsWhen used as the Knowledge Base search feature, it contains the value: rvh_kbsearchresults

ssSubmitButtonGraphic A managedurl parameter that is used to specify the graphic for the search button.The Ravenna Hosting site uses this same fragment in two different ways (the main search feature and the Knowledge Base search feature)When used as the main search feature, it contains the value:groups/public/documents/rvh_image/rvh_search.gif (see figure)

When used as the Knowledge Base search feature, it does not contain a value and therefore a default JavaScript-generated button displays (see figure)

.

Note: For more information on the individual settings in each parameter, open this fragment in the Fragment Editor and view it that way.

Note: For more information on the individual settings in each parameter, open this fragment in the Fragment Editor and view it that way.

3-42 Site Studio Tutorial

Ravenna Hosting Features

Ravenna Hosting Search ResultThe Ravenna Hosting Search Result fragment shows up on the site whenever you perform a search (see figure). The same fragment is used in two different locations—one for the main search and one for the Knowledge Base search.

Figure 3-12 Ravenna Hosting Search Result

The search result fragment has a special relationship with the search box fragment (see Ravenna Hosting Search Box on page 3-39). While users perform their query in the search box (derived from the search box fragment), the actual query is stored in the search result fragment, which is placed on a primary page in a section designated for search results (see Search Results Page on page 2-4).

Parameterized QueryThe search result fragment performs a query for content items using the built-in content server query service. One of the parameters in the fragment, “ssQueryText,” specifies the actual query to perform. By creating a parameter for this, you can specify a different query each time you add the fragment to a layout page and as a result, you’re able to reuse the same fragment in different ways on the web site (thereby reducing maintenance and overhead).

On the Ravenna Hosting site, a different query was chosen when the fragment was added to the main search results page than when it was added to the Knowledge Base search results page.

The Ravenna Hosting Search Box fragment comprises the following parts:

Ravenna Hosting Search Result: Snippets (page 3-44)

Ravenna Hosting Search Result: Assets (page 3-47)

Ravenna Hosting Search Result: Parameters (page 3-48)

Site Studio Tutorial 3-43

Ravenna Hosting Features

Ravenna Hosting Search Result: SnippetsThe Ravenna Hosting Search Result fragment has two snippets: a head snippet and a drop-point snippet. Fragments, such as this one, that contain cascading style sheets and other scripting files frequently require two snippets: one for information that goes in the head of the web page, the other for information that goes in the body of the web page. Both snippets are included by reference (see Fragment Overview on page 3-4).

0 (Head Snippet) (page 3-44)

1 (Drop-point Snippet) (page 3-44)

0 (Head Snippet)The part of the script that declares head information (information stored in the HTML <head> tag) was turned into the following head snippet:<link rel="stylesheet" type="text/css" href="<!--$HttpRelativeFragmentsRoot-->rvh_searchresults/rvh_searchresults.css"></link>

1 (Drop-point Snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:<!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************--><!--$if SSContributor and isTrue(SSContributor) --><script>generateTutorialLink('rvh_searchresults', 'click here to learn more about the search results fragment');</script><!--$endif --><!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************-->

<!--$ssQueryText = getValue("#active", ssFragmentInstanceId & "_ssQueryText")--><!--$ssSortField = getValue("#active", ssFragmentInstanceId & "_ssSortField")--><!--$ssSortOrder = getValue("#active", ssFragmentInstanceId & "_ssSortOrder")--><!--$ssResultCount = getValue("#active", ssFragmentInstanceId & "_ssResultCount")-->

Note: This fragment does not contain any elements because this fragment is used as a navigation aid and not for contribution (see Fragment Overview on page 3-4).

3-44 Site Studio Tutorial

Ravenna Hosting Features

<!--$ssLimitScope = getValue("#active", ssFragmentInstanceId & "_ssLimitScope")--><!--$ssTargetNodeId = getValue("#active", ssFragmentInstanceId & "_ssTargetNodeId")--><!--$ssNextRow = getValue("#active", ssFragmentInstanceId & "_NextRow")--><!--$ssDisplayField = getValue("#active", ssFragmentInstanceId & "_ssDisplayField")--><!--$ssTextColor = getValue("#active", ssFragmentInstanceId & "_ssTextColor")--><!--$ssHoverColor = getValue("#active", ssFragmentInstanceId & "_ssHoverColor")--><!--$ssClassName = getValue("#active", ssFragmentInstanceId & "_ssClassName")--><!--$ssColorExtra = "" --><!--$ssMouseExtra = "" --><!--$ssSourceSiteId = siteId --><!--$ssSourceNodeId = nodeId --><!--$ssWebsiteObjectType = "" --><!--$ssDontShowInLists = "true" --><!--$ssUserSearchText = #active.ssUserText -->

<!--$if strEquals(ssNextRow, '')--><!--$ssNextRow=1--><!--$endif-->

<!--$if not strEquals(ssTextColor, '')--><!--$ssColorExtra=' style="color:' & ssTextColor & ';"'--><!--$if not strEquals(ssHoverColor, '')--><!--$ssMouseExtra=" onmouseover=&quot;this.style.color='" & ssHoverColor & "';&quot;"--><!--$ssMouseExtra=ssMouseExtra & " onmouseout=&quot;this.style.color='" & ssTextColor & "';&quot;"--><!--$endif--><!--$endif-->

<!--#### normally the user text is only searched for in the body of the document, lets --><!--#### try to include a search in the dDocTitle as well. --><!--$if ssUserSearchText--><!--$ ssUserSearchText='(' & ssUserSearchText & ') or (dDocTitle <substring> `' & ssUserSearchText & '`)'--><!--$endif-->

<!--$QueryText=eval(ssQueryText)--><!--$SortField=ssSortField--><!--$SortOrder=ssSortOrder--><!--$ResultCount=ssResultCount-->

Site Studio Tutorial 3-45

Ravenna Hosting Features

<!--$StartRow=ssNextRow-->

<!--$executeService("SS_GET_SEARCH_RESULTS")-->

<!--$if SearchResults-->

<!--$ssFirstHit=ssNextRow--><!--$ssLastHit=ssNextRow + SearchResults.#numRows - 1-->

<div class="<!--$ssClassName-->-caption" <!--$ssColorExtra--> >Search Result<!--$if TotalRows gt 1 -->s<!--$endif--></div>

<div class="<!--$ssClassName-->-report" <!--$ssColorExtra--> >Keyword(s): "<!--$#active.ssUserText-->"<br/>Total: <!--$TotalRows--><br/>Hits: <!--$ssFirstHit-->-<!--$ssLastHit--></div>

<!-- start of loop --><dl class="<!--$ssClassName-->-result" <!--$ssColorExtra--> >

<!--$loop SearchResults--> <dd class="<!--$ssClassName-->-result" <!--$ssColorExtra--> >

<a class="<!--$ssClassName-->-result" <!--$ssColorExtra--> <!--$ssMouseExtra--> href="<!--$ssUrl-->"><!--$eval('<$' & ssDisplayField & '$>')--></a>

</dd><!--$endloop-->

<!-- end of loop --></dl>

<!--$ssNextRow = ssNextRow + ResultCount-->

<!--$if ssNextRow <= TotalRows--><div class="<!--$ssClassName-->-more"><a class="<!--$ssClassName-->-more" <!--$ssColorExtra--> <!--$ssMouseExtra-->href='?ssUserText=<!--$url(ssUserText)-->&<!--$ssFragmentInstanceId-->_NextRow=<!--$ssNextRow-->'>more...</a></div><!--$endif-->

3-46 Site Studio Tutorial

Ravenna Hosting Features

<!--$else-->

<div class="<!--$ssClassName-->-caption" <!--$ssColorExtra--> >No documents match your search criteria.</div>

<!--$endif-->

Ravenna Hosting Search Result: AssetsThe Ravenna Hosting Search Result fragment contains one asset, a cascading style sheet.

rvh_searchresults.cssThe cascading style sheet for this fragment provides most of the formatting for this feature such as typeface color and font size..rvh_searchresults,.rvh_searchresults-caption,.rvh_searchresults-report,.rvh_searchresults-result,.rvh_searchresults-more{color: #000000; font-weight: normal; font-size: 10pt; font-family: Arial, Helvetica, sans-serif; white-space: nowrap; text-decoration: none; text-align:left;}

.rvh_searchresults-caption { font-weight: bold; margin-bottom:10;}

.rvh_searchresults-report

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

Note: Some of the code in this fragment is used for the link to the Tutorial that accompanies the Ravenna Hosting site. The code is surrounded by comment tags. If you want to disable the Tutorial on the sample site, simply remove this code.

Site Studio Tutorial 3-47

Ravenna Hosting Features

{

}

.rvh_searchresults-result{margin-top:5; margin-left:5;margin-bottom:5;}a.rvh_searchresults-result:hover{color: #999999;}

.rvh_searchresults-more{

}a.rvh_searchresults-more:hover {color: #999999;}

Ravenna Hosting Search Result: ParametersThe Ravenna Hosting Search Result fragment contains the following parameters:

Parameter name

Description

ssQueryText A managedquery parameter that is used to specify the actual query to perform in the content server.The Ravenna Hosting site uses this same fragment in two different ways (the search results for the main search feature and the search results for the Knowledge Base search feature).When used on the main search results page, it contains the value:xSearchable <Substring> ‘true’When used on the Knowledge Base search results page, it contains the value:dDocType <Substring> ‘rvh_knowledgebasearticle’ <AND> xSearchable <Substring> ‘true’

ssSortField A text parameter that changes the field used to sort the items in the search results.The Ravenna Hosting site contains the value: dDocTitle

3-48 Site Studio Tutorial

Ravenna Hosting Features

ssSortOrder A text parameter that is used to sort items in the list based on an ascending or descending value.The Ravenna Hosting site contains the value: Desc (descending)

ssResultCount An integer parameter that is used to specify the number of items to show on a particular page.The Ravenna Hosting site contains the value: 25

ssLimitScope A boolean parameter that is used to limit the search to this web site.The Ravenna Hosting site contains the value: TrueNote: When set to “True,” it searches only those content items that belong to this site (they contain the appropriate SiteID in the Websites field). When set to “False,” it searches all content server items, which may include items on this site and other sites in the content server.

ssDisplayField A text parameter that is used to display the title and comments in the search results.The Ravenna Hosting site contains the value: dDocTitle

ssTextColor A color parameter that is used to change the color of the text in the search result.The Ravenna Hosting site contains the value: #000080

ssHoverColor A color parameter that is used to change the hover color of the text in the search result.The Ravenna Hosting site contains the value: #800000

ssClassName A text parameter that is used to change the CSS Class Name associated with the list.The Ravenna Hosting site contains the value: rvh_searchresults

Parameter name

Description

Site Studio Tutorial 3-49

Ravenna Hosting Features

Ravenna Hosting Question 1Ravenna Hosting Question 1 is a relatively simple fragment containing text (a sales question) and a hard-coded link to the “Contact Us” section. The fragment appears on the right-hand side of every page on the web site (see figure).

ssTargetNodeId A nodeid parameter that is used to specify the section on the web site where the content item, when clicked, should appear.The Ravenna Hosting site uses this same fragment in two different ways (the search results for the main search feature and the search results for the Knowledge Base search feature).When used on the main search results page, it does not contain a value for this parameter and instead relies on the Website Section value for the items in the list. As such, it uses the second rule in Site Studio, whereby the files in the list display in the section where they are stored.When used on the Knowledge Base search results page, it contains the value: 9020 (the Section ID of the Knowledge Base). As such, it uses the first rule in Site Studio, whereby the files display in the section that you specify as a target section.Note: For more information on TargetNodeIDs and target sections, see “Understanding target sections” in the Designer User Guide.

Parameter name

Description

Note: For more information on the individual settings in each parameter, open this fragment in the Fragment Editor and view it that way.

Note: For more information on the available parameters and their settings in a fragment, see “Parameter settings” in the Designer User Guide.

3-50 Site Studio Tutorial

Ravenna Hosting Features

Figure 3-13Ravenna Hosting Question 1

The fragment comprises one snippet (see Ravenna Hosting Question 1: Snippet on page 3-51). It contains no assets, elements, or parameters, all of which can be found in many of the other fragments.

Ravenna Hosting Question 1: SnippetThe Ravenna Hosting Question 1 fragment has one snippet: a drop-point snippet. Fragments that contain no JavaScript or cascading style sheets frequently require only one snippet for content that will be added to the body of the page. The snippet is included by reference (see Fragment Overview on page 3-4).

1 (drop-point snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:<!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************--><!--$if SSContributor and isTrue(SSContributor) --> <script>generateTutorialLink('rvh_question1', 'click here to learn more about the sample question fragment');</script><!--$endif --><!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************-->Have a question about our product? Contact a <A href="<!--$ssServerRelativeSiteRoot-->ContactUs\index.htm" unselectable="off">sales person</A> today!

Note: It contains no assets because all of the code is placed directly in a snippet. It contains no elements because the fragment is not used for contribution purposes (see Fragment Overview on page 3-4). It contains no parameters because the fragment is intended to look the same throughout the site and requires no customization.

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

Site Studio Tutorial 3-51

Ravenna Hosting Features

Ravenna Hosting Question 2Ravenna Hosting Question 2 is a simple fragment containing text and a hard-coded link to the Office Locations section. The fragment appears on the right-hand side of every page on the web site (see figure).

Figure 3-14 Ravenna Hosting Question 2

The fragment comprises one snippet (see Ravenna Hosting Question 2: Snippet on page 3-52). It contains no assets, elements, or parameters, all of which can be found in many of the other fragments.

Ravenna Hosting Question 2: SnippetThe Ravenna Hosting Question 2 fragment has one snippet: a drop-point snippet. Fragments that contain no JavaScript or cascading style sheets, frequently require only one snippet for content that will be added to the body of the page. The snippet is included by reference (see Fragment Overview on page 3-4).

1 (drop-point snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:<!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************--><!--$if SSContributor and isTrue(SSContributor) --> <script>generateTutorialLink('rvh_question2', 'click here to learn more about the sample question fragment');</script>

Note: Some of the code in this fragment is used for the link to the Tutorial that accompanies the Ravenna Hosting site. The code is surrounded by comment tags. If you want to disable the Tutorial on the sample site, simply remove this code.

Note: It contains no assets because all the code is placed directly in a snippet. It contains no elements because the fragment is not used for contribution purposes (see Fragment Overview on page 3-4). It contains no parameters because the fragment is intended to look the same throughout the site and requires no customization.

3-52 Site Studio Tutorial

Ravenna Hosting Features

<!--$endif --><!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************-->Want to visit us? Find <A href="<!--$ssServerRelativeSiteRoot-->OfficeLocations\index.htm" unselectable="off">office locations</A> here!

Ravenna Hosting Page TitleThe Ravenna Hosting Page Title is a fragment that reads the “PageTitle” custom section property and inserts that value in the HTML <TITLE> tag. For example, the Firewalls section contains the PageTitle value “Ravenna Hosting Firewalls.” The fragment, therefore, inserts this value into the <TITLE> tag of the layout page when the layout page is served up, and you see it in the web browser title bar (see figure).

Figure 3-15 Ravenna Hosting Page Title fragment inserts the title of the section into the web browser title bar

Having a section’s title inserted into the layout page’s <TITLE> tag is extremely useful when you reuse layout pages in the site hierarchy. On the Ravenna Hosting site, for example, the same layout page (rvh_productsprimary) is used in several sections in the site hierarchy (Web Servers, Database Servers, Firewalls, etc.). If you used the existing <TITLE> tag on the layout page, you could only insert one value, and therefore you would need to make it generic (like “Ravenna Products”).

By using a custom section property and this fragment, you can specify any value you like for each section. To see other examples of fragments using custom section properties, see Ravenna Hosting Main Navigation on page 3-8 and Ravenna Hosting Top Navigation on page 3-21. See also “Defining custom properties for a section” in the Designer User Guide.

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

Note: Some of the code in this fragment is used for the link to the Tutorial that accompanies the Ravenna Hosting site. The code is surrounded by comment tags. If you want to disable the Tutorial on the sample site, simply remove this code.

Site Studio Tutorial 3-53

Ravenna Hosting Features

There are some sections in the Ravenna Hosting site hierarchy that have their own unique layout page (Servers, News, Partners, etc.). As such, these sections do not contain a custom section property and instead use the layout page’s <TITLE> tag.

The Ravenna Hosting Page Title fragment comprises the following parts:

Ravenna Hosting Page Title: Snippet (page 3-54)

Ravenna Hosting Page Title: Parameters (page 3-54)

Ravenna Hosting Page Title: SnippetThe Ravenna Hosting Page Title fragment has one snippet: a drop-point snippet. The snippet is included by reference (see Fragment Overview on page 3-4).

Presentation (Drop-point Snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:<!--$bAppendDocTitle = getValue("#active", ssFragmentInstanceId & "_bAppendDocTitle")-->

<script> var strPageTitle = "<!--$js(ssGetNodeProperty('PageTitle'))-->"; if (strPageTitle == "") strPageTitle = document.title; <!--$ if bAppendDocTitle like "true" --> <!--$dDocName=ssDocName--> <!--$executeService("DOC_INFO_BY_NAME")--> strPageTitle = strPageTitle + " - <!--$js(dDocTitle)-->"; <!--$ endif --> document.title = strPageTitle;</script>

Ravenna Hosting Page Title: ParametersThe Ravenna Hosting Page Title contains one parameter:

Note: This fragment does not contain any assets because all the code is placed directly in a snippet. It contains no elements because the fragment is not used for contribution purposes (see Fragment Overview on page 3-4).

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

3-54 Site Studio Tutorial

Ravenna Hosting Features

Ravenna Hosting Error Handler MessageThe Ravenna Hosting Error Handler Message is a fragment that provides a custom error message in the event a user encounters an error on the web site (see figure).

Figure 3-16 Example of a custom error provided by the Ravenna Hosting Error Handler Message fragment

If there is a broken link, missing layout page, or another structural error on the web site, users will encounter your custom error message in the context of your site, rather than a content server error message in a content server environment (which takes the user away from your site).

Similar to the search result fragment (Ravenna Hosting Search Result on page 3-43), the Ravenna Hosting Error Handler Message is placed on a primary page in a section

Parameter name Description

bAppendDocTitle A boolean parameter that is used to identify how the page title will display in a web browser.The Ravenna Hosting site contains the value: FalseNote: When set to “True,” it will append the value of the “PageTitle“ custom section property to the layout page’s <TITLE> tag. When set to “False,” it will replace the layout page’s <TITLE> tag with the “PageTitle” custom section property.

Note: For more information on the available parameters and their settings, open the fragment in the Fragment Editor and view it that way.

Note: For more information on the available parameters and their settings in a fragment, see “Parameter settings” in the Designer User Guide.

Site Studio Tutorial 3-55

Ravenna Hosting Features

designated as an error handler (see Custom Error Page on page 2-5 and “Designating a section as an error handler” in the Designer User Guide).

The fragment comprises one snippet of Idoc Script code (see Ravenna Hosting Error Handler Message: Snippet on page 3-56). It contains no assets, elements, or parameters, all of which can be found in many of the other fragments.

Ravenna Hosting Error Handler Message: SnippetThe Ravenna Hosting Error Handler Message fragment has one snippet: a drop-point snippet. Fragments that contain no JavaScript or cascading style sheets frequently require only one snippet for content that is added to the body of the page. The snippet is included by reference (see Fragment Overview on page 3-4).

Presentation (Drop-point Snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:Error Code: <!--$ssErrorCode--><br/>Error Message: <!--$ssErrorMessage--><br/>

RAVENNA HOSTING CONTRIBUTIONTo build the Ravenna Hosting site, the site hierarchy was first planned on paper and then created in Designer (see Site Hierarchy on page 2-2).

The basic look and feel of site was achieved by adding HTML tables, graphics, and other background information directly to the layout page (see Layout Page Design on page 3-1). Then, many of the site features, such as the main navigation, a search box, and sidebar items, were created as fragments and added to the layout page as a manageable fragment.

The next step was to introduce a contribution model, or a system for contributors to add and modify content on the web site. This meant designating areas on the site that contributors can modify using the Contributor application.

Note: It contains no assets because all the code is placed directly in a snippet. It contains no elements because the fragment is not used for contribution purposes (see Fragment Overview on page 3-4). It contains no parameters because the fragment is intended to look the same throughout the site and requires no customization.

3-56 Site Studio Tutorial

Ravenna Hosting Features

You do this by adding a contribution region to a layout page, and then adding elements (WYSIWYG, Image, Plain Text, and Custom) directly to that region (for example, see Contribution Region with a WYSIWYG Element on page 3-58).

Or, you can create a fragment containing those elements and add the fragment to a contribution region. Such fragments allow you to create more advanced contribution options for your contributors as can be seen in static list fragments (see Ravenna Hosting Locations List on page 3-80).

You will see the different contribution options in the following sections:

Contribution Region (page 3-57)

Contribution Region with a WYSIWYG Element (page 3-58)

Contribution Region with a Custom Element (page 3-61)

Ravenna Hosting Products List (page 3-62)

Ravenna Hosting Sidebar Products List (page 3-67)

Ravenna Hosting KB List (page 3-74)

Ravenna Hosting Locations List (page 3-80)

Ravenna Hosting Partners List (page 3-84)

Ravenna Hosting News List (page 3-87)

Ravenna Hosting Sidebar News (page 3-93)

Ravenna Hosting Manager (page 3-99)

Contribution RegionA contribution region is what designates a part of the web page as “editable” in the Contributor application (or a third-party application, when native documents are used). Frequently, a contribution region is added to the middle of a layout page and thereby allows contributors to modify the body of the page (see figure).

Site Studio Tutorial 3-57

Ravenna Hosting Features

Figure 3-17 Contribution region with a WYSIWYG element (red outline is only for illustration)

A contribution region by itself isn’t enough to allow contributors to edit the web page. You need to add individual elements (or a fragment containing contribution features) to the region to provide structure for the content that will go there. Additionally, you need to associate a contributor data file (or native document) with the region, as this is the actual file a contributor will edit.

The Ravenna Hosting site contains a contribution region on every page. The content within each region is unique. Sometimes, a single element is added to the contribution region (see Contribution Region with a WYSIWYG Element on page 3-58 and Contribution Region with a Custom Element on page 3-61), and other times a fragment containing contribution features is added to the region to provide more advanced contribution capabilities (see Ravenna Hosting Locations List on page 3-80).

Contribution Region with a WYSIWYG ElementThe simplest way to set up contribution in Site Studio is to add a contribution region to a layout page and then add an element, like the WYSIWYG element, to that region. (The next step, of course, is to assign a data file to that region.)

When a contributor visits the web page and enables Contributor mode, he or she will be able to add, edit, and delete text, graphics, and other content inside the region. In effect, the contributor can redesign that part of the web page.

On the Ravenna Hosting site, the Company Information section and many of the sections in the Services section contain a contribution region with a WYSIWYG element. (They

3-58 Site Studio Tutorial

Ravenna Hosting Features

also contain a Custom element for the logo.) When viewed in Designer, the Company Information (primary) page looks like this:

Figure 3-18 Company Information page in Designer’s Design view

The contribution region with WYSIWYG element appear in the middle of the layout page as follows:

Figure 3-19 Contribution region with WYSIWYG element

When contributors visit the site and enable Contributor mode, they can click the contribution icon beside the region, open Contributor, and edit the contents of the web page—specifically, the content inside the region. (See figure.)

Site Studio Tutorial 3-59

Ravenna Hosting Features

Figure 3-20 Company Information page when viewed in Contributor

This example illustrates a simple contribution model that can take minutes to set up. To make the site more powerful and flexible, you can add fragments containing contribution features to the contribution region.

Figure 3-21 CSS Classes drop-down menu in Contributor

(For more information, see “Setting up CSS class names for contributors” in the Designer User Guide.)

Note: To provide pre-defined formatting options for a contributor while working in a WYSIWYG element in a region, the Ravenna Hosting site offers a custom CSS file (rvh_stylesheet.css), which is embedded in each layout page. The classes from the style sheet appear in a drop-down menu in Contributor (see figure), thereby allowing users to conveniently apply CSS classes to their text or graphics.

3-60 Site Studio Tutorial

Ravenna Hosting Features

Contribution Region with a Custom ElementThe Ravenna Hosting site includes a “Powered by Stellent Site Studio” logo on the left hand side of each layout page (see figure). The graphic is part of a Custom element in a contribution region.

Figure 3-22 Powered by Stellent Site Studio logo

A Custom element was used so that contributors could browse to Macromedia Flash files and use one of them instead. Macromedia Flash is not natively supported by the WYSIWYG, Plain Text, or Image elements and so the Extensible element was used.

When you add a Custom element to a region, you can then set up a web-based form that works with the element. Contributors access the form from within Contributor, and they use it to add files of any type to the web site (see figure).

Figure 3-23 Web-based form for use with the Extensible element

You can customize the form to do whatever you like (not just add Flash files to a web site). This can be especially useful when you find yourself limited by the options available in the WYSIWYG, Plain Text, or Image elements. For more information, see “Adding a Custom element” in the Designer User Guide.

Site Studio Tutorial 3-61

Ravenna Hosting Features

Ravenna Hosting Products ListThe Ravenna Hosting Products List is a dynamic list fragment that performs a query for contributor data files stored in the content server and displays them on a web page. Similar to the search box fragment (see Ravenna Hosting Search Box on page 3-39), this fragment appears in more than one section on the web site but behaves differently, depending on where it’s viewed from (Web Servers, Database Servers, Firewalls, etc.). See figure.

Figure 3-24 Ravenna Hosting Products List

The search uses the built-in query service of Content Server, and it was set up to search for contributor data files that match a particular document type (rvh_productdescription) and files that are stored in the section where the list appears. The results of the query will display as a bulleted list with the title (also a hyperlink) and a description of each.

The Ravenna Hosting Products List comprises the following parts:

Ravenna Hosting Products List: Snippets (page 3-63)

Ravenna Hosting Products List: Assets (page 3-65)

Ravenna Hosting Products List: Parameters (page 3-66)

Note: The Ravenna Hosting site includes four files for use with this feature.

rvh_ext_poweredbysitestudio.hcsp

rvh_poweredbysitestudio1.swf

rvh_poweredbysitestudio2.swf

rvh_poweredbysitestudio3.swf

Note: This fragment contains no elements because it displays contributor data files, which inherit elements from the secondary page where the data file displays (see next note).

3-62 Site Studio Tutorial

Ravenna Hosting Features

Ravenna Hosting Products List: SnippetsThe Ravenna Hosting Products List fragment has two snippets: a head snippet and a drop-point snippet. Fragments, such as this one, that contain cascading style sheets frequently require two snippets: one for information that goes in the head of the web page, and the other for information that goes in the body of the web page. Both snippets are included by reference (see Fragment Overview on page 3-4).

include (Head Snippet) (page 3-63)

Presentation (Drop-point Snippet) (page 3-63)

include (Head Snippet)The part of the script that declares head information (information stored in the HTML <head> tag) was turned into the following head snippet:<link rel="stylesheet" type="text/css" href="<!--$HttpRelativeFragmentsRoot-->rvh_productslist/rvh_productslist.css"></link>

Presentation (Drop-point Snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:<!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************--><!--$if SSContributor and isTrue(SSContributor) --> <script>generateTutorialLink('rvh_productslist', 'click here to learn more about the products dynamic list fragment');</script><!--$endif --><!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************-->

<!--$ssQueryText = getValue("#active", ssFragmentInstanceId & "_ssQueryText")-->

Note: When you add a dynamic list to a section in the site hierarchy, you also need to add a secondary page with a contribution region designated as “replaceable.” The secondary page and replaceable region serve as a backdrop for the new data files (or native documents) added to the list on the primary page. The elements that you add to the replaceable region on the secondary page provide the structure for the new data files added on the primary page (see “Setting up secondary layout pages with replaceable regions” in the Designer User Guide).

Site Studio Tutorial 3-63

Ravenna Hosting Features

<!--$ssSortField = getValue("#active", ssFragmentInstanceId & "_ssSortField")--><!--$ssSortOrder = getValue("#active", ssFragmentInstanceId & "_ssSortOrder")--><!--$ssResultCount = getValue("#active", ssFragmentInstanceId & "_ssResultCount")--><!--$ssLimitScope = getValue("#active", ssFragmentInstanceId & "_ssLimitScope")--><!--$ssTargetNodeId = getValue("#active", ssFragmentInstanceId & "_ssTargetNodeId")--><!--$ssNextRow = getValue("#active", ssFragmentInstanceId & "_NextRow")--><!--$ssUserSearchText = "" --><!--$ssSourceSiteId = siteId --><!--$ssSourceNodeId = nodeId --><!--$ssWebsiteObjectType = "" --><!--$ssDontShowInLists = "true" -->

<!--$if strEquals(ssNextRow, '')--><!--$ssNextRow=1--><!--$endif-->

<!--$QueryText=eval(ssQueryText)--><!--$SortField=ssSortField--><!--$SortOrder=ssSortOrder--><!--$ResultCount=ssResultCount--><!--$StartRow=ssNextRow-->

<!--$executeService("SS_GET_SEARCH_RESULTS")-->

<!--$if SearchResults-->

<!--$ssFirstHit=ssNextRow--> <!--$ssLastHit=ssNextRow + SearchResults.#numRows - 1-->

<ul> <!--$loop SearchResults--> <li> <a class="rvh_productslist" href="<!--$ssUrl-->"><!--$dDocTitle--></a><br> <div class="rvh_productslist-comment"><!--$xComments--></div><br> </li> <!--$endloop--> </ul> <!--$ssNextRow = ssNextRow + ResultCount--> <!--$if ssNextRow le TotalRows--> <a class="rvh_productslist" href='?<!--$ssFragmentInstanceId-->_NextRow=<!--$ssNextRow-->'>More...</a>

3-64 Site Studio Tutorial

Ravenna Hosting Features

<!--$endif-->

<!--$else--> <div class="rvh_productslist"> No Product Descriptions Available. </div><!--$endif-->

Ravenna Hosting Products List: AssetsThe Ravenna Hosting Products List fragment contains one asset, a cascading style sheet.

rvh_productslist.cssThe cascading style sheet for this fragment provides most of the formatting for this feature such as font color and size..rvh_productslist,.rvh_productslist A:link,.rvh_productslist A:visited,{ color:darkblue; text-decoration:underlined; font-family: arial, sans-serif; font-size: x-small; width: 100%;}

.rvh_productslist-comment,

.rvh_productslist-comment A:link,

.rvh_productslist-comment A:visited,{ color:black; text-decoration:none; font-family: arial, sans-serif; font-size: xx-small; width: 100%;}

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

Note: Some of the code in this fragment is used for the link to the Tutorial that accompanies the Ravenna Hosting site. The code is surrounded by comment tags. If you want to disable the Tutorial on the sample site, simply remove this code.

Site Studio Tutorial 3-65

Ravenna Hosting Features

Ravenna Hosting Products List: ParametersThe Ravenna Hosting Products List fragment contains the following parameters:

Parameter name

Description

ssQueryText A managedquery parameter that is used to specify the actual query to perform in the content server.The Ravenna Hosting site contains the following value:dDocType <Substring> `rvh_productdescription` <AND> xSearchable <Substring> `true` <and> xCollectionId=<$nodeId$>Note: The xCollectionId=<$nodeId$>, in particular, is useful because it allows this same fragment to be reused in multiple sections but behave differently depending on where it’s being viewed from.

ssSortField A text parameter that changes the field used to sort the items in the search results.The Ravenna Hosting site contains the value: dDocName

ssSortOrder A text parameter that is used to sort items in the list based on an ascending or descending value.The Ravenna Hosting site contains the value: Asc (ascending)

ssResultCount An integer parameter that is used to specify the number of items to show on a particular page.The Ravenna Hosting site contains the value: 15

ssLimitScope A boolean parameter that is used to limit the dynamic list query to this web site.The Ravenna Hosting site contains the value: TrueNote: When set to “True,” it searches only those content items that belong to this site (they contain the appropriate SiteID in the Websites field). When set to “False,” it searches all content server items, which may include items on this site and other sites in the content server.

3-66 Site Studio Tutorial

Ravenna Hosting Features

Ravenna Hosting Sidebar Products ListThe Ravenna Hosting Sidebar Products List is a dynamic list fragment that performs a query for contributor data files stored in the content server and displays them on the right-hand side of each page in the Products section (see figure).

Figure 3-25 Ravenna Hosting Sidebar Products List

Similar to the Ravenna Hosting Products List (see Ravenna Hosting Products List on page 3-62), this fragment searches for contributor data files that match a particular

ssTargetNodeId A nodeid parameter that is used to specify the section on the web site where the item should appear.The Ravenna Hosting site does not contain a value for this parameter. Instead, it defaults to the second rule in Site Studio, which is that the data file be displayed in the section where the data file is stored.Note: For more information on TargetNodeID and target sections, see “Sharing region content using target sections” in the Designer User Guide.

Parameter name

Description

Note: For more information on the individual settings in each parameter, open this fragment in the Fragment Editor and view it that way.

Note: For more information on the available parameters and their settings in a fragment, see “Parameter settings” in the Designer User Guide.

Site Studio Tutorial 3-67

Ravenna Hosting Features

document type (rvh_productdescription) and files that are stored in the same section displaying the list.

Unlike the Ravenna Hosting Products List, this fragment displays the results of the query as a condensed list of links (see figure above), where the title of each file serves as the link.

Also, unlike the Ravenna Hosting Products List, this fragment is not located inside a contribution region on a layout page, which means contributors cannot edit the list directly in Contributor. To change the list, contributors need to go to the main product list (Ravenna Hosting Products List fragment), which this list is derived from, and modify it directly. (This behavior is similar to the way the sidebar news fragment works. See Ravenna Hosting Sidebar News on page 3-93.)

The Ravenna Hosting Sidebar Products List comprises the following parts:

Ravenna Hosting Sidebar Products List: Snippets (page 3-68)

Ravenna Hosting Sidebar Products List: Assets (page 3-70)

Ravenna Hosting Sidebar Products List: Parameters (page 3-73)

Ravenna Hosting Sidebar Products List: SnippetsThe Ravenna Hosting Sidebar Products List fragment has two snippets: a head snippet and a drop-point snippet. Fragments that contain cascading style sheets, such as this one, frequently require two snippets: one for information that goes in the head of the web page, the other for information that goes in the body of the web page. Both snippets are included by reference (see Fragment Overview on page 3-4).

Include (Head Snippet)

Presentation (Drop-point Snippet)

Note: This fragment contains no elements because it displays contributor data files that inherit elements from the secondary page (see next note).

Note: When you add a dynamic list to a section in the site hierarchy, you also need to add a secondary page with a contribution region designated as “replaceable.” The secondary page and replaceable region serve as a backdrop for the new data files (or native documents) added to the list on the primary page. The elements that you add to the replaceable region on the secondary page provide the structure for the new data files added on the primary page (see “Setting up secondary layout pages with replaceable regions” in the Designer User Guide).

3-68 Site Studio Tutorial

Ravenna Hosting Features

Include (Head Snippet)The part of the script that declares head information (information stored in the HTML <head> tag) was turned into the following head snippet:

<link rel="stylesheet" type="text/css" href="<!--$HttpRelativeFragmentsRoot-->rvh_miniproductslist/rvh_miniproductslist.css"></link>

Presentation (Drop-point Snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:<span style="white-space:nowrap"><!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************--><!--$if SSContributor and isTrue(SSContributor) --> <script>generateTutorialLink('rvh_miniproducts', 'click here to learn more about the products summary dynamic list fragment');</script><!--$endif --><!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************--><img src="<!--$HttpRelativeFragmentsRoot-->rvh_miniproductslist/rvh_banner_<!--$ssGetNodeProperty('SidebarProductsListBanner')-->.gif"></img><br><br></span>

<!--$ssQueryText = getValue("#active", ssFragmentInstanceId & "_ssQueryText")--><!--$ssSortField = getValue("#active", ssFragmentInstanceId & "_ssSortField")--><!--$ssSortOrder = getValue("#active", ssFragmentInstanceId & "_ssSortOrder")--><!--$ssResultCount = getValue("#active", ssFragmentInstanceId & "_ssResultCount")--><!--$ssLimitScope = getValue("#active", ssFragmentInstanceId & "_ssLimitScope")--><!--$ssTargetNodeId = getValue("#active", ssFragmentInstanceId & "_ssTargetNodeId")--><!--$ssNextRow = getValue("#active", ssFragmentInstanceId & "_NextRow")--><!--$ssUserSearchText = "" --><!--$ssSourceSiteId = siteId --><!--$ssSourceNodeId = nodeId --><!--$ssWebsiteObjectType = "" --><!--$ssDontShowInLists = "true" -->

Site Studio Tutorial 3-69

Ravenna Hosting Features

<!--$if strEquals(ssNextRow, '')--><!--$ssNextRow=1--><!--$endif-->

<!--$QueryText=eval(ssQueryText)--><!--$SortField=ssSortField--><!--$SortOrder=ssSortOrder--><!--$ResultCount=ssResultCount--><!--$StartRow=ssNextRow-->

<!--$executeService("SS_GET_SEARCH_RESULTS")-->

<!--$if SearchResults-->

<!--$ssFirstHit=ssNextRow--> <!--$ssLastHit=ssNextRow + SearchResults.#numRows - 1-->

<!--$loop SearchResults--> <a class="rvh_miniproductslist" href="<!--$ssUrl-->"><!--$dDocTitle--></a><br><br> <!--$endloop--> <!--$ssNextRow = ssNextRow + ResultCount--> <!--$if ssNextRow le TotalRows--> <a class="rvh_miniproductslist" href='?<!--$ssFragmentInstanceId-->_NextRow=<!--$ssNextRow-->'>More...</a> <!--$endif-->

<!--$else--> <div class="rvh_miniproductslist"> No Product Descriptions Available. </div><!--$endif-->

Ravenna Hosting Sidebar Products List: AssetsThe Ravenna Hosting Sidebar Products List fragment contains several assets:

rvh_miniproductslist.css (page 3-71)

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

Note: Some of the code in this fragment is used for the link to the Tutorial that accompanies the Ravenna Hosting site. The code is surrounded by comment tags. If you want to disable the Tutorial on the sample site, simply remove this code.

3-70 Site Studio Tutorial

Ravenna Hosting Features

rvh_banner_webservers.gif (page 3-71)

rvh_banner_databaseservers.gif (page 3-72)

rvh_banner_loadbalancers.gif (page 3-72)

rvh_banner_networkequipment.gif (page 3-72)

rvh_banner_firewalls.gif (page 3-72)

rvh_banner_fileservers.gif (page 3-72)

rvh_banner_mailservers.gif (page 3-72)

rvh_banner_applicationservers.gif (page 3-72)

rvh_banner_opticalstorage.gif (page 3-73)

rvh_miniproductslist.cssThe cascading style sheet for this fragment provides most of the formatting for this feature such as font color and size..rvh_miniproductslist,.rvh_miniproductslist A:link,.rvh_miniproductslist A:visited,{ color:darkblue; text-decoration:underlined; font-family: arial, sans-serif; font-size: xx-small; width: 100%;}

rvh_banner_webservers.gif

One of the nine graphics used by the fragment. The graphic serves as a heading that displays above the list of links (see figure in Ravenna Hosting Sidebar Products List on page 3-67).

A different graphic displays for each section under Products—this graphic appears in the “Web Servers” section. The fragment determines which graphic to display for each section by reading a custom section property called “SidebarProductsListBanner” (see “Defining custom properties for a section” in the Designer User Guide) and inserting its value into the graphic’s filename (located in the <img> tag for the snippet).

Site Studio Tutorial 3-71

Ravenna Hosting Features

rvh_banner_databaseservers.gif

One of the nine graphics used by the fragment. This graphic appears in the “Database Servers” section.

rvh_banner_loadbalancers.gif

One of the nine graphics used by the fragment. This graphic appears in the “Load Balancers” section.

rvh_banner_networkequipment.gif

One of the nine graphics used by the fragment. This graphic appears in the “Switches, Hubs & NIC’s” section.

rvh_banner_firewalls.gif

One of the nine graphics used by the fragment. This graphic appears in the “Firewalls” section.

rvh_banner_fileservers.gif

One of the nine graphics used by the fragment. This graphic appears in the “File Servers” section.

rvh_banner_mailservers.gif

One of the nine graphics used by the fragment. This graphic appears in the “Mail Servers” section.

rvh_banner_applicationservers.gif

3-72 Site Studio Tutorial

Ravenna Hosting Features

One of the nine graphics used by the fragment. This graphic appears in the “Application Servers” section.

rvh_banner_opticalstorage.gif

One of the nine graphics used by the fragment. This graphic appears in the “Optical Storage” section.

Ravenna Hosting Sidebar Products List: ParametersThe Ravenna Hosting Sidebar Products List fragment contains the following parameters:

Parameter name

Description

ssQueryText A managedquery parameter that is used to specify the actual query to perform in the content server.The Ravenna Hosting site contains the following value:dDocType <Substring> `rvh_productdescription` <AND> xSearchable <Substring> `true` <and> xCollectionId=<$nodeId$>Note: The xCollectionId=<$nodeId$>, in particular, is useful because it allows this same fragment to be reused in multiple sections but behave differently depending on where it’s being viewed from.

ssSortField A text parameter that changes the field used to sort the items in the search results.The Ravenna Hosting site contains the value: dDocName

ssSortOrder A text parameter that is used to sort items in the list based on an ascending or descending value.The Ravenna Hosting site contains the value: Asc (ascending)

ssResultCount An integer parameter that is used to specify the number of items to show on a particular page.The Ravenna Hosting site contains the value: 15

Site Studio Tutorial 3-73

Ravenna Hosting Features

Ravenna Hosting KB ListRavenna Hosting KB List is a dynamic list fragment that performs a query for contributor data files in the content server and displays them on a web page (similar to the Ravenna Hosting Products List on page 3-62). The KB List is used in the Knowledge Base section (see figure).

ssLimitScope A boolean parameter that is used to limit the dynamic list query to this web site.The Ravenna Hosting site contains the value: TrueNote: When set to “True,” it searches only those content items that belong to this site (they contain the appropriate SiteID in the Websites field). When set to “False,” it searches all content server items, which may include items on this site and other sites in the content server.

ssTargetNodeId A nodeid parameter that is used to specify the section on the web site where the item should appear.The Ravenna Hosting site does not contain a value for this parameter. Instead, it defaults to the second rule in Site Studio, which is that the data file be displayed in the section where the data file is stored (see “Sharing region content using target sections” in the Designer User Guide).

Parameter name

Description

Note: For more information on the individual settings in each parameter, open this fragment in the Fragment Editor and view it that way.

Note: For more information on the available parameters and their settings in a fragment, see “Parameter settings” in the Designer User Guide.

3-74 Site Studio Tutorial

Ravenna Hosting Features

Figure 3-26 Ravenna Hosting KB List

The search uses the built-in query service of Content Server and was set up to search for contributor data files that match a particular document type, in this case, “rvh_knowledgebasearticle” (see New Content Types on page 2-13). It displays the results of the query as a bulleted list with the title (also a hyperlink) and a description of each.

The Ravenna Hosting KB List comprises the following parts:

Ravenna Hosting KB List: Snippets (page 3-75)

Ravenna Hosting KB List: Assets (page 3-78)

Ravenna Hosting KB List: Parameters (page 3-78)

Ravenna Hosting KB List: SnippetsThe Ravenna Hosting KB List fragment has two snippets: a head snippet and a drop-point snippet. Fragments, such as this one, that contain cascading style sheets frequently require two snippets: one for information that goes in the head of the web page and the other for

Note: When you add a dynamic list to a section in the site hierarchy, you also need to add a secondary page with a contribution region designated as “replaceable.” This secondary page and replaceable region serve as a backdrop for the new contributor data files added to the list on the primary page. The elements within the replaceable region provide the structure for the new contributor data files.

Note: The Knowledge Base section of the Ravenna Hosting site also contains a search box—the same fragment used for the main search box for the entire web site (see Ravenna Hosting Search Box on page 3-39). The fragment contains parameters that allow it to be customized for each location.

Note: This fragment contains no elements because it is used as a search feature and not contribution (see Fragment Overview on page 3-4).

Site Studio Tutorial 3-75

Ravenna Hosting Features

information that goes in the body of the web page. Both snippets are included by reference (see Fragment Overview on page 3-4).

Include (Head Snippet) (page 3-76)

Presentation (Drop-point Snippet) (page 3-76)

Include (Head Snippet)The part of the script that declares head information (information stored in the HTML <head> tag) was turned into the following head snippet:

<link rel="stylesheet" type="text/css" href="<!--$HttpRelativeFragmentsRoot-->rvh_kblist/rvh_kblist.css"></link>

Presentation (Drop-point Snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:

<!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************--><!--$if SSContributor and isTrue(SSContributor) --> <script>generateTutorialLink('rvh_kblist', 'click here to learn more about the knowledge base dynamic list fragment');</script><!--$endif --><!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************-->

<!--$ssQueryText = getValue("#active", ssFragmentInstanceId & "_ssQueryText")--><!--$ssSortField = getValue("#active", ssFragmentInstanceId & "_ssSortField")--><!--$ssSortOrder = getValue("#active", ssFragmentInstanceId & "_ssSortOrder")--><!--$ssResultCount = getValue("#active", ssFragmentInstanceId & "_ssResultCount")--><!--$ssLimitScope = getValue("#active", ssFragmentInstanceId & "_ssLimitScope")--><!--$ssTargetNodeId = getValue("#active", ssFragmentInstanceId & "_ssTargetNodeId")--><!--$ssNextRow = getValue("#active", ssFragmentInstanceId & "_NextRow")--><!--$ssUserSearchText = "" -->

3-76 Site Studio Tutorial

Ravenna Hosting Features

<!--$ssSourceSiteId = siteId --><!--$ssSourceNodeId = nodeId --><!--$ssWebsiteObjectType = "" --><!--$ssDontShowInLists = "true" -->

<!--$if strEquals(ssNextRow, '')--><!--$ssNextRow=1--><!--$endif-->

<!--$QueryText=eval(ssQueryText)--><!--$SortField=ssSortField--><!--$SortOrder=ssSortOrder--><!--$ResultCount=ssResultCount--><!--$StartRow=ssNextRow-->

<!--$executeService("SS_GET_SEARCH_RESULTS")-->

<!--$if SearchResults-->

<!--$ssFirstHit=ssNextRow--> <!--$ssLastHit=ssNextRow + SearchResults.#numRows - 1-->

<ul> <!--$loop SearchResults--> <li> <a class="rvh_kblist" href="<!--$ssUrl-->"><!--$dDocTitle--></a><br> <div class="rvh_kblist-comment"><!--$xComments--></div><br> </li> <!--$endloop--> </ul> <!--$ssNextRow = ssNextRow + ResultCount--> <!--$if ssNextRow le TotalRows--> <a class="rvh_kblist" href='?<!--$ssFragmentInstanceId-->_NextRow=<!--$ssNextRow-->'>More...</a> <!--$endif-->

<!--$else--> <div class="rvh_kblist"> No KB Articles Available. </div><!--$endif-->

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

Site Studio Tutorial 3-77

Ravenna Hosting Features

Ravenna Hosting KB List: AssetsThe Ravenna Hosting KB List fragment contains one asset, a cascading style sheet.

rvh_kblist.cssThe cascading style sheet for this fragment provides most of the formatting for this feature such as font color and size..rvh_kblist,.rvh_kblist A:link,.rvh_kblist A:visited,{ color:darkblue; text-decoration:underlined; font-family: arial, sans-serif; font-size: x-small; width: 100%;}

.rvh_kblist-comment,

.rvh_kblist-comment A:link,

.rvh_kblist-comment A:visited,{ color:black; text-decoration:none; font-family: arial, sans-serif; font-size: xx-small; width: 100%;}

Ravenna Hosting KB List: ParametersThe Ravenna Hosting KB List fragment contains the following parameters:

Note: Some of the code in this fragment is used for the link to the Tutorial that accompanies the Ravenna Hosting site. The code is surrounded by comment tags. If you want to disable the Tutorial on the sample site, simply remove this code.

3-78 Site Studio Tutorial

Ravenna Hosting Features

Parameter name

Description

ssQueryText A managedquery parameter that is used to specify the actual query to perform in the content server.The Ravenna Hosting site contains the following value:dDocType <Substring> `rvh_knowledgebasearticle` <AND> xSearchable <Substring> `true`

ssSortField A text parameter that changes the field used to sort the items in the search results.The Ravenna Hosting site contains the value: dInDate

ssSortOrder A text parameter that is used to sort items in the list based on an ascending or descending value.The Ravenna Hosting site contains the value: Desc (descending)

ssResultCount An integer parameter that is used to specify the number of items to show on a particular page.The Ravenna Hosting site contains the value: 15

ssLimitScope A boolean parameter that is used to limit the dynamic list query to this web site.The Ravenna Hosting site contains the value: TrueNote: When set to “True,” it searches only those content items that belong to this site (they contain the appropriate SiteID in the Websites field). When set to “False,” it searches all content server items, which may include items on this site and other sites in the content server.

Site Studio Tutorial 3-79

Ravenna Hosting Features

Ravenna Hosting Locations ListRavenna Hosting Locations List is a static list fragment that displays individual elements of a contributor data file in a structured format (see figure). A static list allows contributors to add a new row or column to the list (depending on how the list was set up), with each row or column containing more elements.

ssTargetNodeId A nodeid parameter that is used to specify the section on the web site where the item should appear.The Ravenna Hosting site contains the value: 9020Note: By specifying 9020, the data files in the list, when clicked on, will display in the Knowledge Base section, because the Knowledge Base has the Section ID “9020.” The Ravenna Hosting site is, therefore, using the first rule in Site Studio, which is that data files will first display in the section that you specify as a TargetNodeId (see “Sharing region content using target sections” in the Designer User Guide).

Parameter name

Description

Note: For more information on the individual settings in each parameter, open this fragment in the Fragment Editor and view it that way.

Note: For more information on the available parameters and their settings in a fragment, see “Parameter settings” in the Designer User Guide.

3-80 Site Studio Tutorial

Ravenna Hosting Features

Figure 3-27 Ravenna Hosting Locations List

Like the Hosting Partners List fragment (see Ravenna Hosting Partners List on page 3-84), this fragment contains individual contribution elements. So in Designer, instead of adding elements directly from the Contribution Toolbar, you can add this fragment, which contains an advanced layout of elements. Within each element, contributors can add and edit whatever they like.

Static lists provide a structured layout for contributors similar to the way HTML tables provide a structured layout for designers. With a static list, the designer can specify a certain number of rows and columns for content on the web page. Then contributors can log in, edit existing rows or columns, and even add new rows or columns.

This particular fragment contains three elements: one for a title, one for a graphic, and one for an address. The title and address are both plain text elements, which means the contributor cannot change the typeface or format the text (this can be useful for enforcing consistency across the site).

The layout of the elements is specified in the fragment snippet. The title and graphic are both aligned on the left, and the address is aligned on the right (this was done using HTML tables). The complete set of elements makes up one of two columns that will display on the web page. If a contributor adds a new set of fields (title, graphic, and address), they will be appended to the bottom of the list.

The Ravenna Hosting Locations List comprises the following parts:

Ravenna Hosting Locations List: Snippets (page 3-82)

Ravenna Hosting Locations List: Elements (page 3-83)

Site Studio Tutorial 3-81

Ravenna Hosting Features

Ravenna Hosting Locations List: SnippetsThe Ravenna Hosting Locations List fragment has one snippet: a drop-point snippet. Fragments that contain no cascading style sheets or JavaScript can often be added in one place on the layout page and therefore require only one snippet. The snippet is included by reference (see Fragment Overview on page 3-4).

Presentation (Drop-point Snippet)The code that controls the layout and behavior of the elements in this fragment was turned into the following drop-point snippet:<!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************--><!--$if SSContributor and isTrue(SSContributor) --> <script>generateTutorialLink('rvh_locationslist', 'click here to learn more about the office locations static list fragment');</script><!--$endif --><!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************-->

<!--$root = eval("<$" & ssFragmentInstanceId & "$>")-->

<!--$strNumRecords=ssGetXmlNodeCount(SS_DATAFILE, root & "/location")--><!--$nNumRecords=toInteger(strTrimWs(strNumRecords))--><!--$nNumRows=(nNumRecords+1)/2--><!--$nPos=1-->

<table border=0 cellspacing=0 cellpadding=5 style="font-size:xx-small;">

<!--$loopwhile nPos <= nNumRows -->

<tr> <td width=1% nowrap> <b><!--$ssIncludeXml(SS_DATAFILE, root & "/location[" & nPos & "]/node()")--></b><br> <!--$ssIncludeXml(SS_DATAFILE, root & "/image[" & nPos & "]/node()")--> </td>

Note: This fragment contains no assets or parameters. It contains no assets because all the code is placed directly in the snippet. It contains no parameters because the fragment is intended to look the same throughout the site and requires no customization when it is added to a layout page.

3-82 Site Studio Tutorial

Ravenna Hosting Features

<td nowrap> <!--$ssIncludeXml(SS_DATAFILE, root & "/address[" & nPos & "]/node()")--> </td> <td width=2%>&nbsp;</td> <!--$if nPos+nNumRows le nNumRecords--> <td width=1% nowrap> <b><!--$ssIncludeXml(SS_DATAFILE, root & "/location[" & nPos+nNumRows & "]/node()")--></b><br> <!--$ssIncludeXml(SS_DATAFILE, root & "/image[" & nPos+nNumRows & "]/node()")--> </td> <td nowrap> <!--$ssIncludeXml(SS_DATAFILE, root & "/address[" & nPos+nNumRows & "]/node()")--> </td> <!--$else--> <td width=1%>&nbsp;</td> <td>&nbsp;</td> <!--$endif--> </tr> <!--$ nPos = nPos + 1--> <!--$endloop--> </table>

Ravenna Hosting Locations List: ElementsThe Ravenna Hosting Locations List fragment contains three elements: a Plain Text element for the title, an Image element for the graphic, and a WYSIWYG element for the address (see table).

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

Note: Some of the code in this fragment is used for the link to the Tutorial that accompanies the Ravenna Hosting site. The code is surrounded by comment tags. If you want to disable the Tutorial on the sample site, simply remove this code.

Name Label Type

location Location plain text

Site Studio Tutorial 3-83

Ravenna Hosting Features

These elements are the same as those available in the Contribution Toolbar in Designer. The difference here is that they are stored in a fragment and can be added to a layout page in the form of a fragment rather than added directly from the Toolbar.

Ravenna Hosting Partners ListRavenna Hosting Partners List is a static list fragment that displays individual elements of a contributor data file in a structured format (see figure). A static list allows contributors to add a new row or column to the list (depending on how the list was set up), with each row or column containing more elements.

Figure 3-28 Ravenna Hosting Partners List

Like the office locations fragment (see Ravenna Hosting Locations List on page 3-80), this fragment contains individual elements. So instead of adding elements from the Contribution Toolbar in Designer, you can add this fragment, which contains a more advanced layout of elements. Within each element, contributors can add and edit whatever

image Image image

address Address wysiwyg

Name Label Type

Note: For more information on the individual parts of an element, including its label, type, and flags, see the “<element> tag” in the Site Studio Reference Guide.

3-84 Site Studio Tutorial

Ravenna Hosting Features

content they like. And with the WYSIWYG elements in this fragment, they can format it however they like.

Static lists provide a structured layout for contributors similar to the way HTML tables provide a structured layout for designers. With a static list, the designer can specify a certain number of rows and columns for content on the web page. Then contributors can log in, edit the existing rows or columns, and even add new rows or columns.

This particular fragment contains three elements: one for a partner name, one for a partner logo, and one for a partner description. All three elements are of the type WYSIWYG, which means contributors can format the text however they like (such as changing the typeface or making the text bold or italic).

The layout of the elements is specified in the fragment snippet. The partner name and logo are both aligned on the left, and the partner description is aligned on the right (this was done using HTML tables). The complete set of elements makes up one row of information that displays on the web page. If a contributor adds a new set of fields (name, logo, and description), they will be appended to the bottom of the list.

The Ravenna Hosting Partners List comprises the following parts:

Ravenna Hosting Partners List: Snippets (page 3-85)

Ravenna Hosting Partners List: Elements (page 3-86)

Ravenna Hosting Partners List: SnippetsThe Ravenna Hosting Partners List fragment has one snippet: a drop-point snippet. Fragments that contain no cascading style sheets or JavaScript can often be added in one place on the layout page and therefore require only one snippet.

Presentation (Drop-point Snippet)The code that controls the layout and behavior of the elements in this fragment was turned into the following drop-point snippet:<!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************--><!--$if SSContributor and isTrue(SSContributor) -->

Note: This fragment contains no assets or parameters. It contains no assets because all the code is placed directly in the snippet. It contains no parameters because the fragment is intended to look the same throughout the site and requires no customization when it is added to a layout page.

Site Studio Tutorial 3-85

Ravenna Hosting Features

<script>generateTutorialLink('rvh_partnerslist', 'click here to learn more about the partners static list fragment');</script><!--$endif --><!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************-->

<!--$root = eval("<$" & ssFragmentInstanceId & "$>")-->

<!--$strNumRecords=ssGetXmlNodeCount(SS_DATAFILE, root & "/name")--><!--$nNumRecords=toInteger(strTrimWs(strNumRecords))--><!--$nPos=1-->

<table border=0 cellspacing=0 cellpadding=10 style="font-size:xx-small;">

<!--$loopwhile nPos <= nNumRecords -->

<tr> <td width=1% nowrap align=center> <b><!--$ssIncludeXml(SS_DATAFILE, root & "/name[" & nPos & "]/node()")--></b><br><br> <!--$ssIncludeXml(SS_DATAFILE, root & "/logo[" & nPos & "]/node()")--> </td> <td> <!--$ssIncludeXml(SS_DATAFILE, root & "/description[" & nPos & "]/node()")--> </td> </tr> <!--$ nPos = nPos + 1--> <!--$endloop--> </table>

Ravenna Hosting Partners List: ElementsThe Ravenna Hosting Partners List fragment contains three WYSIWYG elements: one for the partner name, one for the partner logo, and one for the partner description (see table).

Note: Some of the code in this fragment is used for the link to the Tutorial that accompanies the Ravenna Hosting site. The code is surrounded by comment tags. If you want to disable the Tutorial on the sample site, simply remove this code.

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

3-86 Site Studio Tutorial

Ravenna Hosting Features

These elements are the same as the WYSIWYG elements available in the Contribution Toolbar in Designer. The difference here is that they are stored in a fragment and can be added to a layout page in the form of a fragment rather than added directly from the Toolbar.

Ravenna Hosting News ListRavenna Hosting News List is a dynamic list fragment that performs a query for native documents stored in the content server and displays them on a web page (see figure).

Figure 3-29 Ravenna Hosting News List

Similar to the other dynamic list fragments on the web site (such as Ravenna Hosting Products List on page 3-62), this fragment uses the built-in query service of Content

Name Label Type

name Partner Name wysiwyg

logo Partner Logo wysiwyg

description Partner Description

wysiwyg

Note: For more information on the individual parts of an element, including its label, type, and flags, see the “<element> tag” in the Site Studio Reference Guide.

Site Studio Tutorial 3-87

Ravenna Hosting Features

Server, and it searches for files that match a particular document type (rvh_newsstory). It displays the results of the query in the form of a bulleted list with the title (serving as a hyperlink) and a description of each.

Unlike many other dynamic list fragments, this fragment searches for native documents (instead of contributor data files). To display the documents on the web site, you need Dynamic Converter (see “System requirements” in the Ravenna Hosting Setup Guide). The fragment is used only in the News section.

The Ravenna Hosting News List comprises the following parts:

Ravenna Hosting News List: Snippets (page 3-89)

Ravenna Hosting News List: Assets (page 3-91)

Ravenna Hosting News List: Parameters (page 3-91)

Note: This fragment contains no elements because it displays native documents, which do not contain elements; rather, they are edited by contributors using the application that was used to originally create the file (for example, Microsoft Word).

Note: When you add a dynamic list to a layout page, you also need to add a secondary page with a contribution region marked “replaceable.” This secondary page and replaceable region serve as a backdrop for new native documents added to the list on the primary page.

Note: Unlike dynamic lists that display data files (see Ravenna Hosting Products List on page 3-62), dynamic lists that display native documents do not necessarily need to be located in a contribution region because the Contributor application isn’t required (the document is opened using the application that is associated with it). A (replaceable) contribution region is necessary, however, on the secondary page that will display the individual documents. (No elements are required in that replaceable region.)

Note: In order for these documents to appear in the list, they need to be checked in with the same metadata that is used in the dynamic list query (one of the parameter settings in the sample fragments). For the Ravenna Hosting site, the native documents were checked in during setup.

Note: Native documents also require a Dynamic Converter template to convert the document to HTML. The Ravenna Hosting site includes a special template (rvh_dctemplate_newsstory_html.ttp) for the native documents in the “News” section.

3-88 Site Studio Tutorial

Ravenna Hosting Features

Ravenna Hosting News List: SnippetsThe Ravenna Hosting News List fragment has two snippets: a head snippet and a drop-point snippet. Fragments, such as this one, that contain cascading style sheets frequently require two snippets: one for information that goes in the head of the web page, and the other for information that goes in the body of the web page. Both snippets are included by reference (see Fragment Overview on page 3-4).

Include (Head Snippet)

Presentation (Drop-point Snippet)

Include (Head Snippet)The part of the script that declares head information (information stored in the HTML <head> tag) was turned into the following head snippet:<link rel="stylesheet" type="text/css" href="<!--$HttpRelativeFragmentsRoot-->rvh_newslist/rvh_newslist.css"></link>

Presentation (Drop-point Snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:<!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************--><!--$if SSContributor and isTrue(SSContributor) --> <script>generateTutorialLink('rvh_newslist', 'click here to learn more about the news dynamic list fragment');</script><!--$endif --><!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************-->

<!--$ssQueryText = getValue("#active", ssFragmentInstanceId & "_ssQueryText")--><!--$ssSortField = getValue("#active", ssFragmentInstanceId & "_ssSortField")--><!--$ssSortOrder = getValue("#active", ssFragmentInstanceId & "_ssSortOrder")--><!--$ssResultCount = getValue("#active", ssFragmentInstanceId & "_ssResultCount")--><!--$ssLimitScope = getValue("#active", ssFragmentInstanceId & "_ssLimitScope")--><!--$ssTargetNodeId = getValue("#active", ssFragmentInstanceId & "_ssTargetNodeId")-->

Site Studio Tutorial 3-89

Ravenna Hosting Features

<!--$ssNextRow = getValue("#active", ssFragmentInstanceId & "_NextRow")--><!--$ssUserSearchText = "" --><!--$ssSourceSiteId = siteId --><!--$ssSourceNodeId = nodeId --><!--$ssWebsiteObjectType = "" --><!--$ssDontShowInLists = "true" -->

<!--$if strEquals(ssNextRow, '')--><!--$ssNextRow=1--><!--$endif-->

<!--$QueryText=eval(ssQueryText)--><!--$SortField=ssSortField--><!--$SortOrder=ssSortOrder--><!--$ResultCount=ssResultCount--><!--$StartRow=ssNextRow-->

<!--$executeService("SS_GET_SEARCH_RESULTS")-->

<!--$if SearchResults-->

<!--$ssFirstHit=ssNextRow--> <!--$ssLastHit=ssNextRow + SearchResults.#numRows - 1-->

<ul> <!--$loop SearchResults--> <li> <a class="rvh_newslist" href="<!--$ssUrl-->"><!--$dDocTitle--></a><br> <div class="rvh_newslist-comment"><!--$xComments--></div><br> </li> <!--$endloop--> </ul> <!--$ssNextRow = ssNextRow + ResultCount--> <!--$if ssNextRow le TotalRows--> <a class="rvh_newslist" href='?<!--$ssFragmentInstanceId-->_NextRow=<!--$ssNextRow-->'>More...</a> <!--$endif-->

<!--$else--> <div class="rvh_newslist"> No News Stories Available. </div><!--$endif-->

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

3-90 Site Studio Tutorial

Ravenna Hosting Features

Ravenna Hosting News List: AssetsThe Ravenna Hosting News List fragment contains one asset, a cascading style sheet.

rvh_newslist.cssThe cascading style sheet for this fragment provides most of the formatting for this feature such as font color and size..rvh_newslist,.rvh_newslist A:link,.rvh_newslist A:visited,{ color:darkblue; text-decoration:underlined; font-family: arial, sans-serif; font-size: x-small; width: 100%;}

.rvh_newslist-comment,

.rvh_newslist-comment A:link,

.rvh_newslist-comment A:visited,{ color:black; text-decoration:none; font-family: arial, sans-serif; font-size: xx-small; width: 100%;}

Ravenna Hosting News List: ParametersThe Ravenna Hosting News List fragment contains the following parameters:

Note: Some of the code in this fragment is used for the link to the Tutorial that accompanies the Ravenna Hosting site. The code is surrounded by comment tags. If you want to disable the Tutorial on the sample site, simply remove this code.

Site Studio Tutorial 3-91

Ravenna Hosting Features

Parameter name

Description

ssQueryText A managedquery parameter that is used to specify the actual query to perform in the content server.The Ravenna Hosting site contains the following value:dDocType <Substring> `rvh_newsstory` <AND> xSearchable <Substring> `true`

ssSortField A text parameter that changes the field used to sort the items in the search results.The Ravenna Hosting site contains the value: dInDate

ssSortOrder A text parameter that is used to sort items in the list based on an ascending or descending value.The Ravenna Hosting site contains the value: Desc (descending)

ssResultCount An integer parameter that is used to specify the number of items to show on a particular page.The Ravenna Hosting site contains the value: 10

ssLimitScope A boolean parameter that is used to limit the search to this web site.The Ravenna Hosting site contains the value: FalseNote: When set to “True,” it searches only those content items that belong to this site (they contain the appropriate SiteID in the Websites field). When set to “False,” it searches all content server items, which may include items on this site and other sites in the content server.By setting this value to False, any document in the content server with the document type “rvh_newsstory” will appear on the Ravenna Hosting site in the News section (see next parameter setting). This practice illustrates the power and convenience of sharing content across multiple web sites (see “Understanding target sections” in the Designer User Guide).

3-92 Site Studio Tutorial

Ravenna Hosting Features

Ravenna Hosting Sidebar NewsRavenna Hosting Sidebar News is a dynamic list fragment that performs a query for native documents stored in the content server and displays them on a web page. The fragment is designed to complement the primary news list (see Ravenna Hosting News List on page 3-87) by offering a scaled-down version of the same press releases and to make that available on every page of the web site (see figure).

ssTargetNodeId A nodeid parameter that is used to specify the section on the web site where the item should appear.The Ravenna Hosting site contains the value: 9022Note: By specifying 9022, the native documents in the list, when clicked on, will display in the News section (because News has the Section ID “9022”). The Ravenna Hosting site is, therefore, using the first rule in Site Studio, which is that native documents (or data files) will display in the section that is specified as the TargetNodeId (see “Sharing region content using target sections” in the Designer User Guide).

Parameter name

Description

Note: For more information on the individual settings in each parameter, open this fragment in the Fragment Editor and view it that way.

Note: For more information on the available parameters and their settings in a fragment, see “Parameter settings” in the Designer User Guide.

Site Studio Tutorial 3-93

Ravenna Hosting Features

Figure 3-30 Ravenna Hosting Sidebar News

Similar to the Ravenna Hosting News List fragment (see Ravenna Hosting News List on page 3-87), this fragment searches for native documents matching a particular document type (rvh_newsstory). Also, like the Ravenna Hosting News List fragment, you will need Dynamic Converter to display the documents that appear in the list (see “System requirements” in the Ravenna Hosting Setup Guide).

On the other hand, the fragment is more like the Ravenna Hosting Sidebar Products List (see Ravenna Hosting Sidebar Products List on page 3-67) in that it displays the results of the query as a condensed list of links, where the title of each serves as the link.

This fragment is reused throughout the Ravenna Hosting web site except for the sections under Products.

The Ravenna Hosting Sidebar Products List comprises the following parts:

Ravenna Hosting Sidebar News: Snippets (page 3-95)

Ravenna Hosting Sidebar News: Assets (page 3-97)

Ravenna Hosting Sidebar News: Parameters (page 3-97)

Note: This fragment contains no elements because it handles native documents, which do not contain elements, rather, they are edited by contributors using the application the native file was created in (such as Microsoft Word).

Note: Similar to the Ravenna Hosting News List fragment (see Ravenna Hosting News List on page 3-87), this fragment is not located in a contribution region because the Contributor application isn’t required (the document in the list is opened using the application associated with it).

3-94 Site Studio Tutorial

Ravenna Hosting Features

Ravenna Hosting Sidebar News: SnippetsThe Ravenna Hosting Sidebar News fragment has two snippets: a head snippet and a drop-point snippet. Fragments, such as this one, that contain cascading style sheets frequently require two snippets: one for information that goes in the head of the web page, and the other for information that goes in the body of the web page. Both snippets are included by reference (see Fragment Overview on page 3-4).

include (Head Snippet)

Presentation (Drop-point Snippet)

include (Head Snippet)The part of the script that declares head information (information stored in the HTML <head> tag) was turned into the following head snippet:<link rel="stylesheet" type="text/css" href="<!--$HttpRelativeFragmentsRoot-->rvh_sidebarnews/rvh_sidebarnews.css"></link>

Presentation (Drop-point Snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:<span style="white-space:nowrap"><!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************--><!--$if SSContributor and isTrue(SSContributor) --> <script>generateTutorialLink('rvh_sidebarnews', 'click here to learn more about the sidebar news dynamic list fragment');</script><!--$endif --><!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************--><img src="<!--$HttpRelativeFragmentsRoot-->rvh_sidebarnews/rvh_banner_latestnews.gif"></img></span>

<br><br>

Note: The documents in this list will display in the News section because that is the specified target node (one of the parameters in this fragment, see Ravenna Hosting Sidebar News: Parameters on page 3-97).

Site Studio Tutorial 3-95

Ravenna Hosting Features

<!--$ssQueryText = getValue("#active", ssFragmentInstanceId & "_ssQueryText")--><!--$ssSortField = getValue("#active", ssFragmentInstanceId & "_ssSortField")--><!--$ssSortOrder = getValue("#active", ssFragmentInstanceId & "_ssSortOrder")--><!--$ssResultCount = getValue("#active", ssFragmentInstanceId & "_ssResultCount")--><!--$ssLimitScope = getValue("#active", ssFragmentInstanceId & "_ssLimitScope")--><!--$ssTargetNodeId = getValue("#active", ssFragmentInstanceId & "_ssTargetNodeId")--><!--$ssNextRow = getValue("#active", ssFragmentInstanceId & "_NextRow")--><!--$ssUserSearchText = "" --><!--$ssSourceSiteId = siteId --><!--$ssSourceNodeId = nodeId --><!--$ssWebsiteObjectType = "" --><!--$ssDontShowInLists = "true" -->

<!--$if strEquals(ssNextRow, '')--><!--$ssNextRow=1--><!--$endif-->

<!--$QueryText=eval(ssQueryText)--><!--$SortField=ssSortField--><!--$SortOrder=ssSortOrder--><!--$ResultCount=ssResultCount--><!--$StartRow=ssNextRow-->

<!--$executeService("SS_GET_SEARCH_RESULTS")-->

<!--$if SearchResults-->

<!--$loop SearchResults--> <a class="rvh_sidebarnews" href="<!--$ssUrl-->"><!--$dDocTitle--></a><br><br> <!--$endloop-->

<br><a class="rvh_sidebarnews" href="<!--$ssServerRelativeSiteRoot-->News/index.htm">More...</a> <!--$else--> <div class="rvh_sidebarnews"> No News Stories Available. </div><!--$endif-->

3-96 Site Studio Tutorial

Ravenna Hosting Features

Ravenna Hosting Sidebar News: AssetsThe Ravenna Hosting News List fragment contains two assets:

rvh_sidebarnews.css (page 3-97)

rvh_banner_latestnews.gif (page 3-97)

rvh_sidebarnews.cssThe cascading style sheet for this fragment provides most of the formatting for this feature such as font color and size..rvh_sidebarnews,.rvh_sidebarnews A:link,.rvh_sidebarnews A:visited,{ color:darkblue; text-decoration:underlined; font-family: arial, sans-serif; font-size: xx-small; width: 100%;}

rvh_banner_latestnews.gif

The graphic in this fragment serves as the blue heading that displays above the links (similar to the way assets are used in Ravenna Hosting Sidebar Products List on page 3-67). As an asset, the graphic is stored with the fragment in the content server and easily referenced by the code in the fragment.

Ravenna Hosting Sidebar News: ParametersThe Ravenna Hosting Sidebar News fragment contains the following parameters:

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

Note: Some of the code in this fragment is used for the link to the Tutorial that accompanies the Ravenna Hosting site. The code is surrounded by comment tags. If you want to disable the Tutorial on the sample site, simply remove this code.

Site Studio Tutorial 3-97

Ravenna Hosting Features

Parameter name

Description

ssQueryText A managedquery parameter that is used to specify the actual query to perform in the content server.The Ravenna Hosting site contains the following value:dDocType <Substring> `rvh_newsstory` <AND> xSearchable <Substring> `true`

ssSortField A text parameter that changes the field used to sort the items in the search results.The Ravenna Hosting site contains the value: dInDate

ssSortOrder A text parameter that is used to sort items in the list based on an ascending or descending value.The Ravenna Hosting does not contain a value for this parameter.

ssResultCount An integer parameter that is used to specify the number of items to show on a particular page.The Ravenna Hosting site contains the value: 3

ssLimitScope A boolean parameter that is used to limit the search to this web site.The Ravenna Hosting site contains the value: TrueNote: When set to “True,” it searches only those content items that belong to this site (they contain the appropriate SiteID in the Websites field). When set to “False,” it searches all content server items, which may include items on this site and other sites in the content server.

3-98 Site Studio Tutorial

Ravenna Hosting Features

Ravenna Hosting ManagerThe Ravenna Hosting Manager fragment is a modified version of the Ravenna Hosting Site fragment that ships with Site Studio. The Ravenna Hosting site includes this fragment as a way for site managers to modify the site hierarchy (see figure).

ssTargetNodeId

A nodeid parameter that is used to specify the section on the web site where the item should appear.The Ravenna Hosting site contains the value: 9022Note: By specifying 9022, the native documents in the list, when clicked on, will display in the News section (because News has the Section ID “9022”). The Ravenna Hosting site is, therefore, using the first rule in Site Studio, which is that native documents (or data files) will display in the section that is specified as the TargetNodeId.There is no target node specified, however, on the News page, and as such, the documents use the third rule in Site Studio, which is that native documents (or data files) display in the section where the link originates (see “Sharing region content using target sections” in the Designer User Guide).

Parameter name

Description

Note: For more information on the individual settings in each parameter, open this fragment in the Fragment Editor and view it that way..

Note: For more information on the available parameters and their settings in a fragment, see “Parameter settings” in the Designer User Guide.

Site Studio Tutorial 3-99

Ravenna Hosting Features

Figure 3-31 Ravenna Hosting Manager

A section was added to the site hierarchy called “Manage Site,” and it was designated as a Contributor-only section (see Contributor-only Sections on page 2-5).

This way, the section would only display in Contributor mode. Site managers can, as a result, log onto the site, enable Contributor mode, go to the Manage Site section, and start modifying the site hierarchy. They can add and remove sections, assign layout pages, modify site properties, and much more.

Ravenna Hosting Downloads ListThe Ravenna Hosting Downloads List is a dynamic list fragment that performs a query for ZIP files of type “rvh_download” stored in the content server, and displays a list on a web page with a download link (see figure).

Note: To change the look and feel of Manager, you need to modify the Ravenna Hosting Manager fragment, specifically you need to edit the CSS asset files.

Note: To modify the available user settings in Manager, create a new manager settings file, edit its properties using the Site Assets pane, and reference it from the Ravenna

Note: Hosting Manager fragment. (For more information on setting up Manager, see the Designer User Guide)

3-100 Site Studio Tutorial

Ravenna Hosting Features

Figure 3-32 Ravenna Downloads List

Similar to the other dynamic list fragments on the web site (such as Ravenna Hosting News List on page 3-87), this fragment uses the built-in query service of Content Server, and it searches for files that match a particular document type (rvh_download). It displays the results of the query in a list with a download link.

The Ravenna Hosting Downloads List comprises the following parts:

Ravenna Hosting Downloads List: Snippets (page 3-101)

Ravenna Hosting Downloads List: Assets (page 3-103)

Ravenna Hosting Downloads List: Parameters (page 3-104)

Ravenna Hosting Downloads List: SnippetsThe Ravenna Hosting Downloads List fragment has two snippets: a head snippet and a drop-point snippet. Fragments, such as this one, that contain cascading style sheets frequently require two snippets: one for information that goes in the head of the web page, and the other for information that goes in the body of the web page. Both snippets are included by reference (see Fragment Overview on page 3-4).

include (Head Snippet) (page 3-63)

Presentation (Drop-point Snippet) (page 3-63)

Include (Head Snippet)The part of the script that declares head information (information stored in the HTML <head> tag) was turned into the following head snippet:<link rel="stylesheet" type="text/css" href="<!--$HttpRelativeFragmentsRoot-->rvh_downloadslist/rvh_downloadslist.css"></link>

Site Studio Tutorial 3-101

Ravenna Hosting Features

Presentation (Drop-point Snippet)The code that specifies the inclusion of the script on the web page was turned into the following drop-point snippet:<!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************--><!--$if SSContributor and isTrue(SSContributor) --> <script>generateTutorialLink('rvh_downloadslist', 'click here to learn more about the downloads dynamic list fragment');</script><!--$endif --><!--********************************************--><!--************ TUTORIAL HYPERLINK ************--><!--********************************************-->

<!--$ssTitle = getValue("#active", ssFragmentInstanceId & "_ssTitle")--><!--$ssQueryText = getValue("#active", ssFragmentInstanceId & "_ssQueryText")--><!--$ssSortField = getValue("#active", ssFragmentInstanceId & "_ssSortField")--><!--$ssSortOrder = getValue("#active", ssFragmentInstanceId & "_ssSortOrder")--><!--$ssResultCount = getValue("#active", ssFragmentInstanceId & "_ssResultCount")--><!--$ssLimitScope = getValue("#active", ssFragmentInstanceId & "_ssLimitScope")--><!--$ssTargetNodeId = getValue("#active", ssFragmentInstanceId & "_ssTargetNodeId")--><!--$ssNextRow = getValue("#active", ssFragmentInstanceId & "_NextRow")--><!--$ssUserSearchText = "" --><!--$ssSourceSiteId = siteId --><!--$ssSourceNodeId = nodeId --><!--$ssWebsiteObjectType = "" --><!--$ssDontShowInLists = "true" -->

<!--$if strEquals(ssNextRow, '')--><!--$ssNextRow=1--><!--$endif-->

<!--$QueryText=eval(ssQueryText)--><!--$SortField=ssSortField--><!--$SortOrder=ssSortOrder--><!--$ResultCount=ssResultCount--><!--$StartRow=ssNextRow-->

<!--$executeService("SS_GET_SEARCH_RESULTS")-->

3-102 Site Studio Tutorial

Ravenna Hosting Features

<!--$if SearchResults-->

<!--$ssFirstHit=ssNextRow--> <!--$ssLastHit=ssNextRow + SearchResults.#numRows - 1-->

<table border=1 cellspacing=0 cellpadding=3> <tr> <td style="color:#ffffff; background-color: #006699"><b><!--$ssTitle--></b></td> </tr> <!--$loop SearchResults--> <tr> <td> <span class="rvh_downloadslist-title"><!--$dDocTitle--></span> (<a class="rvh_downloadslist-link" href="<!--$HttpCgiPath-->?IdcService=GET_FILE&dDocName=<!--$dDocName-->&Rendition=Primary&RevisionSelectionMethod=LatestReleased">download</a>) </td> </tr> <!--$endloop--> </table> <!--$ssNextRow = ssNextRow + ResultCount--> <!--$if ssNextRow le TotalRows--> <a class="rvh_downloadslist" href='?<!--$ssFragmentInstanceId-->_NextRow=<!--$ssNextRow-->'>More...</a> <!--$endif-->

<!--$else--> <div class="rvh_downloadslist"> No Downloads Available. </div><!--$endif-->

Ravenna Hosting Downloads List: AssetsThe Ravenna Hosting Downloads List fragment contains one asset, a cascading style sheet.

Note: This code may contain line wrapping. To see the original code or to copy and paste the original, open the fragment in the Fragment Editor.

Note: Some of the code in this fragment is used for the link to the Tutorial that accompanies the Ravenna Hosting site. The code is surrounded by comment tags. If you want to disable the Tutorial on the sample site, simply remove this code.

Site Studio Tutorial 3-103

Ravenna Hosting Features

rvh_downloadslist.cssThe cascading style sheet for this fragment provides most of the formatting for this feature such as font color and size..rvh_downloadslist-title,.rvh_downloadslist-title A:link,.rvh_downloadslist-title A:visited,{ color:black; text-decoration:none; font-family: arial, sans-serif; font-size: x-small;}

.rvh_downloadslist-link,

.rvh_downloadslist-link A:link,

.rvh_downloadslist-link A:visited,{ font-family: arial, sans-serif; font-size: x-small;}

.rvh_downloadslist-comment,

.rvh_downloadslist-comment A:link,

.rvh_downloadslist-comment A:visited,{ color:black; text-decoration:none; font-family: arial, sans-serif; font-size: x-small;}

Ravenna Hosting Downloads List: ParametersThe Ravenna Hosting Downloads List fragment contains the following parameters:

Parameter name

Description

ssTitle An text parameter that allows you to display a title above this list.

3-104 Site Studio Tutorial

Ravenna Hosting Features

ssQueryText A managedquery parameter that is used to specify the actual query to perform in the content server.The Ravenna Hosting site contains the following value:dDocType <Substring> `rvh_download` <AND> xSearchable <Substring> `true`

ssSortField A text parameter that changes the field used to sort the items in the search results.The Ravenna Hosting site contains the value: dDocName

ssSortOrder A text parameter that is used to sort items in the list based on an ascending or descending value.The Ravenna Hosting site contains the value: Asc (ascending)

ssResultCount An integer parameter that is used to specify the number of items to show on a particular page.The Ravenna Hosting site contains the value: 15

ssLimitScope A boolean parameter that is used to limit the search to this web site.The Ravenna Hosting site contains the value: TrueNote: When set to “True,” it searches only those content items that belong to this site (they contain the appropriate SiteID in the Websites field). When set to “False,” it searches all content server items, which may include items on this site and other sites in the content server.

ssTargetNodeId A nodeid parameter that is used to specify the section on the web site where the item should appear.

Parameter name

Description

Note: For more information on the available parameters and their settings in a fragment, see “Parameter settings” in the Designer User Guide.

Note: For more information on the available parameters and their settings in a fragment, see “Parameter settings” in the Designer User Guide.

Site Studio Tutorial 3-105

Ravenna Hosting Features

3-106 Site Studio Tutorial

A p p e n d i x

A.THIRD PARTY LICENSES

OVERVIEWThis appendix includes a description of the Third Party Licenses for all the third party products included with this product.

Apache Software License (page A-1)

W3C® Software Notice and License (page A-2)

Zlib License (page A-4)

General BSD License (page A-5)

General MIT License (page A-5)

Unicode License (page A-6)

Miscellaneous Attributions (page A-7)

APACHE SOFTWARE LICENSE* Copyright 1999-2004 The Apache Software Foundation.

* Licensed under the Apache License, Version 2.0 (the "License");

* you may not use this file except in compliance with the License.

* You may obtain a copy of the License at

* http://www.apache.org/licenses/LICENSE-2.0

*

Document_Title A-1

Third Party Licenses

* Unless required by applicable law or agreed to in writing, software

* distributed under the License is distributed on an "AS IS" BASIS,

* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

* See the License for the specific language governing permissions and

* limitations under the License.

W3C® SOFTWARE NOTICE AND LICENSE* Copyright © 1994-2000 World Wide Web Consortium,

* (Massachusetts Institute of Technology, Institut National de

* Recherche en Informatique et en Automatique, Keio University).

* All Rights Reserved. http://www.w3.org/Consortium/Legal/

*

* This W3C work (including software, documents, or other related items) is

* being provided by the copyright holders under the following license. By

* obtaining, using and/or copying this work, you (the licensee) agree that

* you have read, understood, and will comply with the following terms and

* conditions:

*

* Permission to use, copy, modify, and distribute this software and its

* documentation, with or without modification, for any purpose and without

* fee or royalty is hereby granted, provided that you include the following

* on ALL copies of the software and documentation or portions thereof,

* including modifications, that you make:

*

* 1. The full text of this NOTICE in a location viewable to users of the

* redistributed or derivative work.

*

* 2. Any pre-existing intellectual property disclaimers, notices, or terms

A-2 Document_Title

Third Party Licenses

* and conditions. If none exist, a short notice of the following form

* (hypertext is preferred, text is permitted) should be used within the

* body of any redistributed or derivative code: "Copyright ©

* [$date-of-software] World Wide Web Consortium, (Massachusetts

* Institute of Technology, Institut National de Recherche en

* Informatique et en Automatique, Keio University). All Rights

* Reserved. http://www.w3.org/Consortium/Legal/"

*

* 3. Notice of any changes or modifications to the W3C files, including the

* date changes were made. (We recommend you provide URIs to the location

* from which the code is derived.)

*

* THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS

* MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT

* NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR

* PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE

* ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

*

* COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR

* CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR

* DOCUMENTATION.

*

* The name and trademarks of copyright holders may NOT be used in advertising

* or publicity pertaining to the software without specific, written prior

* permission. Title to copyright in this software and any associated

* documentation will at all times remain with copyright holders.

*

Document_Title A-3

Third Party Licenses

ZLIB LICENSE* zlib.h -- interface of the 'zlib' general purpose compression library

version 1.2.3, July 18th, 2005

Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler

This software is provided 'as-is', without any express or implied

warranty. In no event will the authors be held liable for any damages

arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,

including commercial applications, and to alter it and redistribute it

freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not

claim that you wrote the original software. If you use this software

in a product, an acknowledgment in the product documentation would be

appreciated but is not required.

2. Altered source versions must be plainly marked as such, and must not be

misrepresented as being the original software.

3. This notice may not be removed or altered from any source distribution.

Jean-loup Gailly [email protected]

Mark Adler [email protected]

A-4 Document_Title

Third Party Licenses

GENERAL BSD LICENSECopyright (c) 1998, Regents of the University of California

All rights reserved.

Redistribution and use in source and binary forms, with or without modification,

are permitted provided that the following conditions are met:

"Redistributions of source code must retain the above copyright notice, this

list of conditions and the following disclaimer.

"Redistributions in binary form must reproduce the above copyright notice, this

list of conditions and the following disclaimer in the documentation and/or other

materials provided with the distribution.

"Neither the name of the <ORGANIZATION> nor the names of its contributors may be

used to endorse or promote products derived from this software without specific

prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY

EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED

WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.

IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,

INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT

NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR

PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,

WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)

ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE

POSSIBILITY OF SUCH DAMAGE.

GENERAL MIT LICENSECopyright (c) 1998, Regents of the Massachusetts Institute of Technology

Permission is hereby granted, free of charge, to any person obtaining a copy of this

software and associated documentation files (the "Software"), to deal in the

Software without restriction, including without limitation the rights to use, copy,

modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,

and to permit persons to whom the Software is furnished to do so, subject to the

following conditions:

Document_Title A-5

Third Party Licenses

A-6 Document_Title

The above copyright notice and this permission notice shall be included in all

copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,

INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A

PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT

HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF

CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE

OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

UNICODE LICENSEUNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE

Unicode Data Files include all data files under the directories

http://www.unicode.org/Public/, http://www.unicode.org/reports/, and

http://www.unicode.org/cldr/data/ . Unicode Software includes any source code

published in the Unicode Standard or under the directories

http://www.unicode.org/Public/, http://www.unicode.org/reports/, and

http://www.unicode.org/cldr/data/.

NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING,

INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA FILES"),

AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY,

ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT

DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.

COPYRIGHT AND PERMISSION NOTICE

Copyright © 1991-2006 Unicode, Inc. All rights reserved. Distributed under the

Terms of Use in http://www.unicode.org/copyright.html.

Permission is hereby granted, free of charge, to any person obtaining a copy of the

Unicode data files and any associated documentation (the "Data Files") or Unicode

software and any associated documentation (the "Software") to deal in the Data

Files or Software without restriction, including without limitation the rights to

use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files

or Software, and to permit persons to whom the Data Files or Software are furnished

to do so, provided that (a) the above copyright notice(s) and this permission notice

appear with all copies of the Data Files or Software, (b) both the above copyright

notice(s) and this permission notice appear in associated documentation, and (c)

there is clear notice in each modified Data File or in the Software as well as in

the documentation associated with the Data File(s) or Software that the data or

software has been modified.

Third Party Licenses

THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,

EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO

EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR

ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES

WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF

CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH

THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.

Except as contained in this notice, the name of a copyright holder shall not be used

in advertising or otherwise to promote the sale, use or other dealings in these Data

Files or Software without prior written authorization of the copyright holder.

________________________________________Unicode and the Unicode logo are trademarks

of Unicode, Inc., and may be registered in some jurisdictions. All other trademarks

and registered trademarks mentioned herein are the property of their respective

owners

MISCELLANEOUS ATTRIBUTIONSAdobe, Acrobat, and the Acrobat Logo are registered trademarks of Adobe Systems Incorporated.

FAST Instream is a trademark of Fast Search and Transfer ASA.

HP-UX is a registered trademark of Hewlett-Packard Company.

IBM, Informix, and DB2 are registered trademarks of IBM Corporation.

Jaws PDF Library is a registered trademark of Global Graphics Software Ltd.

Kofax is a registered trademark, and Ascent and Ascent Capture are trademarks of Kofax Image Products.

Linux is a registered trademark of Linus Torvalds.

Mac is a registered trademark, and Safari is a trademark of Apple Computer, Inc.

Microsoft, Windows, and Internet Explorer are registered trademarks of Microsoft Corporation.

MrSID is property of LizardTech, Inc. It is protected by U.S. Patent No. 5,710,835. Foreign Patents Pending.

Oracle is a registered trademark of Oracle Corporation.

Portions Copyright © 1994-1997 LEAD Technologies, Inc. All rights reserved.

Portions Copyright © 1990-1998 Handmade Software, Inc. All rights reserved.

Portions Copyright © 1988, 1997 Aladdin Enterprises. All rights reserved.

Document_Title A-7

Third Party Licenses

Portions Copyright © 1997 Soft Horizons. All rights reserved.

Portions Copyright © 1995-1999 LizardTech, Inc. All rights reserved.

Red Hat is a registered trademark of Red Hat, Inc.

Sun is a registered trademark, and Sun ONE, Solaris, iPlanet and Java are trademarks of Sun Microsystems, Inc.

Sybase is a registered trademark of Sybase, Inc.

UNIX is a registered trademark of The Open Group.

Verity is a registered trademark of Autonomy Corporation plc

A-8 Document_Title

I n d e x

Aasset

Breadcrumb fragment, 3-27Downloads List fragment, 3-103explained, 3-6Footer fragment, 3-38KB List fragment, 3-78Main Navigation fragment, 3-10News List fragment, 3-91Products List fragment, 3-65Search Box fragment, 3-41Search Result fragment, 3-47Sidebar News fragment, 3-97Sidebar Products List fragment, 3-70Site Map fragment, 3-31

BBreadcrumb fragment, 3-25

assets, 3-27rvh_breadcrumb.css, 3-27, 3-28rvh_breadcrumb.js, 3-27snippets, 3-26

Ccascading style sheets

rvh_breadcrumb.css, 3-27, 3-28rvh_footer.css, 3-38rvh_kblist.css, 3-78rvh_mainnavigation.css, 3-10, 3-13rvh_miniproductslist.css, 3-71rvh_newslist.css, 3-91, 3-104rvh_productlist.css, 3-65rvh_searchbox.css, 3-41rvh_searchresults.css, 3-47

rvh_sidebarnews.css, 3-97rvh_sitemap.css, 3-31rvh_topnavigation.css, 3-24

Comments metadatacontribution region file, 2-18native document, 2-18

contentadding directly to a layout page, 3-2

Content IDfor contribution region file, 2-17for layout page, 2-8, 2-17

content serverfragment libraries stored inquery service, 2-17, 3-62, 3-75, 3-87, 3-101querying native documents, 3-88setting up for Ravenna Hosting web site, 2-12

content typesused for Ravenna Hosting web site, 2-14

contribution model, 3-56setting up, 3-60

contribution region, 3-57adding content to a layout page, 3-4WYSIWYG element, 3-58

contribution region fileComments metadata, 2-18Content ID, 2-17Title metadata, 2-18Type metadata, 2-17

contribution region with custom element, 3-61conventions in Tutorial, 1-4custom element, 3-61

Ddocumentation

conventions used, 1-4Tutorial, 1-4

Downloads List fragment, 3-100

Site Studio Tutorial I-1

Index

assets, 3-103parameters, 3-104rvh_downloadslist.css, 3-104snippets, 3-101ssTitle parameter, 3-104

dynamic listand secondary page, 3-88fragment, 3-62, 3-67, 3-74, 3-87, 3-93, 3-100

Eelement

custom, 3-61explained, 3-6image, 3-83plain text, 3-83WYSIWYG, 3-58, 3-85, 3-86

FFooter fragment, 3-35

assets, 3-38rvh_footer.css, 3-38snippets, 3-36

fragment, 3-74adding content to a layout page, 3-4asset, 2-11, 3-4, 3-6Breadcrumb, 3-25Downloads List, 3-100dynamic list, 3-62, 3-100element, 3-6Footer, 3-35KB List, 3-39, 3-43library, 2-11Main Navigation, 3-8parameter, 3-6Products List, 3-62Question 1, 3-50Question 2, 3-52Search Box, 3-39Search Result, 3-43Sidebar News, 3-93Site Map, 3-29snippet, 3-5Top Navigation, 3-21, 3-22, 3-24

fragment librarycreating, 2-11explained, 2-11, 3-4sample, 2-11XML file, 2-11zip file, 2-11

Ggraphics for main navigation, 3-10

HHTML

referenced in a fragment, 2-10within a fragment, 3-4

IIdoc Script

referenced in a fragment, 2-10used in Ravenna Hosting web site, 2-13within a fragment, 3-4

JJavaScript

referenced in a fragment, 2-10within a fragment, 3-4

JavaScript filesrvh_breadcrumb.js, 3-27rvh_mainnavigation.js, 3-10, 3-10

KKB List fragment, 3-39, 3-74, 3-74

assets, 3-78parameters, 3-78rvh_kblist.css, 3-78snippets, 3-75ssLimitScope parameter, 3-79ssQueryText parameter, 3-79ssResultCount parameter, 3-79ssSortField parameter, 3-79ssSortOrder parameter, 3-79

Knowledge Base fragment. See KB List fragment

Llayout page, 2-6

adding content directly, 3-2adding content in a fragment, 3-4adding content with a contribution region, 3-4advantage of multiple, 2-6advantage of reusable, 2-6Content ID, 2-8, 2-17contributing to, 3-57designing, 3-1

I-2 Site Studio Tutorial

Index

multiple versus reusable, 2-6names used for Ravenna Hosting web site, 2-9naming convention for, 2-8navigation, 3-1reusing, 2-6

Locations List fragment, 3-80elements, 3-83snippets, 3-82

MMain Navigation fragment, 3-8

assets, 3-10graphics, 3-10rvh_mainnavigation.css, 3-10, 3-13rvh_mainnavigation.js, 3-10, 3-10snippets, 3-9

Manager, 3-99managing a site, 3-99metadata, purpose of, 2-17Mini Products List fragment

rvh_miniproductslist.css, 3-71ssLimitScope parameter, 3-74ssQueryText parameter, 3-73ssResultCount parameter, 3-73ssSortField parameter, 3-73ssSortOrder parameter, 3-73

Nnaming convention for layout pages, 2-8native document

Comments metadata, 2-18querying in content server, 3-88Title metadata, 2-18Type metadata, 2-17

navigationlayout page design, 3-1Main Navigation fragment, 3-8Site Map fragment, 3-29Top Navigation fragment, 3-24

News List fragment, 3-87assets, 3-91parameters, 3-91rvh_newslist.css, 3-91snippets, 3-89ssLimitScope parameter, 3-92, 3-105ssQueryText parameter, 3-92, 3-105ssResultCount parameter, 3-92, 3-105ssSortField parameter, 3-92, 3-105ssSortOrder parameter, 3-92, 3-105

Pparameter

Downloads List fragment, 3-104explained, 3-6KB List fragment, 3-78News List fragment, 3-91Products List fragment, 3-66Sidebar News fragment, 3-97ssClassName, 3-49, 3-50ssDisplayField, 3-49ssHoverColor, 3-49ssLimitScope, 3-49, 3-66, 3-67, 3-74, 3-74, 3-79,

3-80, 3-92, 3-93, 3-98, 3-99, 3-105, 3-105ssQueryText, 3-48, 3-66, 3-73, 3-79, 3-92, 3-98,

3-105ssResultCount, 3-49, 3-66, 3-73, 3-79, 3-92, 3-98,

3-105ssResultsPage, 3-42ssSortField, 3-48, 3-66, 3-73, 3-79, 3-92, 3-98,

3-105ssSortOrder, 3-49, 3-66, 3-73, 3-79, 3-92, 3-98,

3-105ssSubmitButtonGraphic, 3-42ssTextColor, 3-49ssTitle, 3-104

Partners List fragment, 3-84elements, 3-86snippets, 3-85

planning a web site, 3-1primary page, explained, 2-6Products List fragment, 3-62

assets, 3-65parameters, 3-66rvh_productslist.css, 3-65snippets, 3-63ssLimitScope parameter, 3-66, 3-67, 3-74, 3-80,

3-93, 3-99, 3-105ssQueryText parameter, 3-66ssResultCount parameter, 3-66ssSortField parameter, 3-66ssSortOrder parameter, 3-66

Qquery, 3-67

native documents, 3-88query service, 3-62, 3-75Question 1 fragment, 3-50

snippet, 3-51Question 2 fragment, 3-52

snippet, 3-52

Site Studio Tutorial I-3

Index

RRavenna Hosting Site, 3-99Ravenna Hosting web site, 3-39

Breadcrumb fragment, 3-25content types used, 2-13contributing to, 2-14contribution model, 3-56Downloads List fragment, 3-100Footer fragment, 3-35fragments created for, 3-7KB List fragment, 3-74Locations List fragment, 3-80Main Navigation fragment, 3-8metadata model for, 2-14names of layout pages, 2-9News List fragment, 3-87Partners List fragment, 3-84Products List fragment, 3-62purposes of metadata, 2-17query service for, 2-17Question 1 fragment, 3-50Question 2 fragment, 3-52Search Box fragment, 3-39setting up the content server, 2-12Sidebar News fragment, 3-93Sidebar Products List fragment, 3-67site hierarchy, 2-2Site Map fragment, 3-29Top Navigation fragment, 3-21, 3-24use of Idoc Script, 2-13use of scripting languages, 2-13

reusable layout page, 2-6reusing a layout page, advantages and

disadvantages, 2-7rvh_breadcrumb.css, 3-27, 3-28rvh_breadcrumb.js, 3-27, 3-27rvh_downloadslist.css, 3-104rvh_footer.css, 3-38rvh_kblist.css, 3-78rvh_knowledgebasearticle document type, 3-75rvh_mainnavigation.css, 3-10, 3-13rvh_mainnavigation.js, 3-10, 3-10rvh_miniproductslist.css, 3-71rvh_newslist.css, 3-91rvh_productdescription, 3-62, 3-68rvh_productslist.css, 3-65rvh_searchbox.css, 3-41rvh_searchresults.css, 3-47rvh_sidebarnews.css, 3-97rvh_sitemap.css, 3-31rvh_topnavigation.css, 3-24

Sscripting languages, 2-13Search Box fragment, 3-39

assets, 3-41parameters, 3-41, 3-54rvh_searchbox.css, 3-41snippets, 3-40

Search Result fragment, 3-43, 3-43assets, 3-47parameters, 3-48query, 3-43rvh_searchresults.css, 3-47snippets, 3-44ssClassName parameter, 3-49, 3-50ssDisplayField parameter, 3-49ssHoverColor parameter, 3-49ssLimitScope parameter, 3-49ssQueryText parameter, 3-48ssResultCount parameter, 3-49ssSortField parameter, 3-48ssSortOrder parameter, 3-49ssTextColor parameter, 3-49

secondary page, explained, 2-6section, creating, 2-6Sidebar News fragment, 3-93

assets, 3-97parameters, 3-97rvh_sidebarnews.css, 3-97snippets, 3-95ssLimitScope parameter, 3-98ssQueryText parameter, 3-98ssResultCount parameter, 3-98ssSortField parameter, 3-98ssSortOrder parameter, 3-98

Sidebar Products List fragment, 3-67assets, 3-70parameters, 3-73snippets, 3-68

site architecture, and layout pages, 2-6site hierarchy, 3-8

creating sections, 2-6planning, 2-2Site Map fragment, 3-29top navigation for, 3-21

Site Map fragment, 3-29assets, 3-31snippets, 3-30

snippetBreadcrumb fragment, 3-26Downloads List fragment, 3-101explained, 3-5Footer fragment, 3-36KB List fragment, 3-75

I-4 Site Studio Tutorial

Index

Locations List fragment, 3-82Main Navigation fragment, 3-9News List fragment, 3-89Partners List fragment, 3-85Products List fragment, 3-63Question 1 fragment, 3-51Question 2 fragment, 3-52Search Box fragment, 3-40Search Result fragment, 3-44Sidebar News fragment, 3-95Sidebar Products List fragment, 3-68Site Map fragment, 3-30Top Navigation fragment, 3-22

SS_Fragments_Examples, 2-11ssClassName parameter, 3-49, 3-50ssDisplayField parameter, 3-49ssHoverColor parameter, 3-49ssLimitScope parameter, 3-49, 3-66, 3-67, 3-74, 3-74,

3-79, 3-80, 3-92, 3-93, 3-98, 3-99, 3-105, 3-105ssQueryText parameter, 3-48, 3-66, 3-73, 3-79, 3-92,

3-98, 3-105ssResultCount parameter, 3-49, 3-66, 3-73, 3-79, 3-92,

3-98, 3-105ssResultsPage parameter, 3-42ssSortField parameter, 3-48, 3-66, 3-73, 3-79, 3-92, 3-98,

3-105ssSortOrder parameter, 3-49, 3-66, 3-73, 3-79, 3-92,

3-98, 3-105ssSubmitButtonGraphic parameter, 3-42ssTextColor parameter, 3-49ssTitle parameter, 3-104static list

explained, 3-81fragment, 3-80, 3-84

Stellent Content Server. See content serverStellent Dynamic Converter, 3-88

Stellent Site Studio component, 2-11

TTitle metadata

contribution region file, 2-18native document, 2-18

Top Navigation fragmentassets, 3-24snippets, 3-22

Tutorial documentation, 1-4Type metadata

contribution region file, 2-17native document, 2-17

Wweb site

planning, 3-1WebsiteObjectType metadata, 2-18Websites metadata, 2-18WYSIWYG element, 3-58, 3-85

XXML

code within a fragment, 3-4file for fragment library, 2-11, 3-4

Zzip file for fragment library, 2-11

Site Studio Tutorial I-5

Index

I-6 Site Studio Tutorial