divine product documentation

dCS Product Overview

 

TOC PREV NEXT INDEX


Chapter 8

CS-Direct Advantage: Sample Implementation


The online movie magazine, Lumiere's Light, proved very successful. Vicky the visitor enjoyed the site tremendously, but wished that she could order DVDs for the movies that she read about.

CyberMovieCentral is not some sort of flimsy DotCom. (Well, actually they were during the nineties, but the two remaining employees from those days are much wiser now about solid business practices.) They want to sell DVDs, but they want to do it in a way that minimizes costs by keeping development and maintenance costs down. They decide to use CS-Direct Advantage to create an online catalog called The Movie Vault to sell movie DVDs. Lumiere's Light will contain hyperlinks that point customers to The Movie Vault.

This chapter explains how CyberMovieCentral uses CS-Direct Advantage to bring their online catalog, The Movie Vault, to the web.

The following team members implement The Movie Vault:

 

Table 10: The Implementation Team

Player
Role
Archie
System architect. He leads the development effort.
Unnamed programmers
The unsung heros of the digital revolution; these able developers work under Archie's direction.
Weber
Web designer. He does design work in HTML and can do light XML work as well.
Alice
Administrator. She will configure the management site.
Betty
Business manager. She will provide design guidelines to Archie and then manage the content after Archie's team finishes the implementation.

 



Install a Back-Office E-Commerce Product

Since the site will sell items, CyberMovieCentral installs a back-office e-commerce software to process online transactions.



Plan the Site

Before coding, Archie and his team meet with CyberMovieCentral in a series of brainstorming sessions to design the catalog. Here are some of the questions they discuss:

A lot of creative decision-making takes places at these meetings. To facilitate the decision-making process, Indian food is brought in.



Develop the Site

Ultimately, the team comes to concensus on the bigger issues (they choose korma over biryani) and is ready to develop the site. Archie the architect, Weber the web designer, and the rest of the SI team begin working on the development site.

Create the Flex Family

Archie must create a flex family that will ultimately hold the following:

He will not yet populate the flex family with actual flex assets; he will, however, define the attributes, flex definition, and flex parent definitions.

Archie first creates the attributes shown in the following table:

 

Table 11: Attributes for the Flex Assets

Attribute
Attribute Type
Attribute Editor
Title
String
A 128-character text field
Director
String
The default String attribute editor
Stars
String
The default multivalue String attribute editor. This is a multivalue attribute that can hold as many stars as necessary.
PlotSummary
Text
A 5x80 text box.
SKU
String
A 12-character text field.
Price
Money
The default Money attribute editor
Length
Integer
A 4-digit integer field.
Rating
String
A pull-down selection box where the items are G, PG, PG-13, R, X, and U.
ReleaseDate
Date
The default Date attribute editor

 

Archie decides that a single flex definition, Movie, is sufficient to represent the catalog's sole commodity. The Movie flex definition includes all the attributes listed--most required, some optional.

Archie decides to create the following three flex parent definitions:

Genre and Variety categorize each movie. Genre provides the primary category (for example, comedy) and Variety provides the subcategory (for example, satire). Genre and Variety require the following additional attributes:

 

Table 12: Attributes for Genre and Variety

Attribute
Attribute Type
Attribute Editor
Use
Category
String
The default String attribute editor
Sole required attribute of Genre.
Subcategory
String
The default String attribute editor
Sole required attribute of Variety.

 

Archie makes Genre the parent of Variety; thus, each Variety flex parent will itself be the child of a particular Genre flex parent. Each flex asset will inherit a Subcategory value and a Category value from its assigned parent and grandparent.

Archie also creates a flex parent definition called Distributor whose flex parent will contain information about each distributor. Thus, information about a movie is managed distinctly from information about the distributor who provides it. Each flex asset will inherit the attribute values of the distributor who provided the movie. To support this flex parent definition, Archie creates the following additional attributes:

 

Table 13: Attributes for Distributor

Attribute
Attribute Type
Attribute Editor
Use
DistributorCode
Integer
Default for integer
Uniquely identifies distributor.
URL
URL
Default for URL
Identifies distributor's URL.
Markup
Float
Default for float
Lets CyberMovieCentral adjust pricing at the distributor level.

 

Code the Templates

Weber the web designer works closely with the SI team to build an assortment of templates. The coding is pretty similar to the coding the team used for Lumiere's Light. In fact, Weber maintains brand identity by using the same fonts, graphics, and layout as Lumiere's Light.

The template includes the following features:

Write Additional Code

In implementing the design, Archie's team uses JSP tags to implement the following additional features:

To learn how to perform this implementation, Archie's team studies the dCS Developer's Guide and borrows code from the GE Lighting sample site.



Manage the Content

The SI team moves the code over to the management site. At this phase, the team will do the following:

Populate the Flex Parents

Archie's team created Genre, Variety, and Distributor flex parent definitions. Populating the flex parents can easily be done by hand, since there is not a lot of data. For example, the following table shows data for the flex parents Genre and Variety:

 

Table 14: Values for Attributes of Genre and Variety

Genre (parent)
Variety (child)
Classics
Drama
Westerns
Science Fiction & Fantasy
Futuristic
Cult Classics
Horror & Suspense
Slasher Films
Mystery
Comedy
Satire
Slapstick

 

Populate the Attributes of Flex Assets

The distributors can provide the data for all the attribute values of flex assets. It would, of course, take much too long to enter this data by hand. Fortunately, dCS provides a utility program called BulkLoader. It takes well-formed XML as input and writes the data into the appropriate fields of the CS-Direct Advantage database. Therefore, Archie's team writes scripts to convert the various data sources into well-formed XML.

Define Users, Roles, and Workflow

Alice the administrator must establish users and roles. She uses the same procedures to create users and roles as she did when creating the CS-Direct site. She creates two users: Betty the business manager and Pedro the publisher.

Workflow is minimal starting out, because only Betty and Pedro are involved. Still, it enforces a sense of checks and balances, so Alice the administrator sets up a process by defining states and steps with assigned roles for users Betty and Pedro. Alice knows what to do because she performed this same service for the Lumiere's Light web site.

Betty is assigned a set of tasks to perform. When she completes an assignment, she forwards her work to Pedro, who either approves it or sends it back to Betty for some rework. In some cases, if the task changes the catalog, for example, approval implies that Pedro will subsequently publish. Publish, in this case, is part of the changed asset's workflow.

Betty can also assign assets to herself through the application interface. This serves as a form of "to do" list that Betty sees, in addition to her workflow assignments, each time she logs in to the site. These tasks are not part of any workflow.



Publish the Catalog to the Delivery Site

Before publishing the catalog, the team tests it rigorously, answering questions such as the following:

When he is satisfied that the catalog on the development site is ready for public use, Pedro publishes the management site to the delivery site.



Maintain the Catalog

During the planning and design sessions, Betty the business manager served in an advisory capacity. Now she is ready for a more hands-on role. In her position as business manager, it is Betty's job to maintain the catalog by performing the following tasks:

To maintain the catalog, no technical or coding expertise is necessary; Betty simply fills out forms and clicks buttons.

Betty's input during the planning stage was crucial: she knew the product relationships that made the most sense in terms of maintaining the catalog after it was built. By structuring these relationships and establishing the right hierarchies, Betty helped create an effective, easily maintainable catalog. She reaps the benefits of making a single edit at the parent level that propagates down to all the children, rather than having to edit each child product individually.



Summary

When Vicky the visitor returns to the Lumiere's Light web site several months after The Movie Vault is up and running, she notices lots of changes. There is an extensive online catalog of all her favorite DVDs that she can easily choose and then purchase with her credit card. Betty the business manager notices increased visitor traffic to the site and begins realizing new income from DVD sales.

To see how CyberMovieCentral further extends the capabilities of their web site with the dCS product family, read Chapter 9, "CS-Engage: Sample Implementation."




Copyright © 2002, divine, inc.
All rights reserved.
TOC PREV NEXT INDEX

dCS Product Overview
Revision 5.0, Document version 12/08/02
Customer Support