BroadVision 8.2 Content Guide

Embed Size (px)

Citation preview

  • 7/27/2019 BroadVision 8.2 Content Guide

    1/140

    BroadVision 8.2

    Content Guide

  • 7/27/2019 BroadVision 8.2 Content Guide

    2/140

    2 BroadVision, Inc.

    Content Guide

    Document Publication Date: April 14, 2009

    Copyright 2005-2009 BroadVision, Inc., 1600 Seaport Boulevard, Suite 550, North Building, Redwood City, California 94063, U.S.A. All rights

    reserved.

    This product includes software developed by Sun Microsystems. Copyright 1994-2009 by Sun Microsystems. All rights reserved.

    This product includes Castor. Copyright 2004-2005 by Werner Guttman. All rights reserved.

    This product includes FAST Data Search. Fast Data Search is a trademark of Fast Search & Transfer ASA.

    This product includes BeanShell. Copyright 2000 by Pat Niemeyer. All rights reserved.

    This product includes Eclipse. Copyright 2009 The Eclipse Foundation. All rights reserved.

    This product includes Pager Tag Library version 1.1. Copyright 2000 by James Klicman.

    This product includes TinyMCE. Copyright 1991, 1999 Free Software Foundation, Inc. All rights reserved.

    This product includes the JBoss Application Server. Copyright 2000-2007 by Red Hat Middleware LLC and individual contributors, and is licensed under the GNULGPL.

    This product includes Hypersonic SQL. Copyright 1995-2000 by the Hypersonic SQL Group. All rights reserved. Copyright 2001-2005 by The HSQL DevelopmentGroup. All rights reserved.

    This product includes Bouncy Castle Crypto APIs. Copyright 2000-2008 by The Legion Of The Bouncy Castle (http://www.bouncycastle.org).

    This product includes OpenSymphony OSCache. Copyright 2001-2004 by OpenSymphony. All rights reserved.

    This product includes OSWorkflow. Copyright 2002-2004 by OpenSymphony. All rights reserved.

    This product includes Open Symphony Quartz Enterprise Job Scheduler. Copyright by James House 2001-2004. All rights reserved.

    This product includes software developed by the Apache Software Foundation (http://www.apache.org/). Copyright 2002 by the Apache Software Foundation. Allrights reserved.

    This product includes software developed by Sam Stephenson. Copyright 2005-2007 Sam Stephenson. All rights reserved.

    This product includes software developed by Jason Hunter and Brett McLaughlin. Copyright 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved.

    This product includes OpenLDAP. Copyright 1999 by the OpenLDAP Foundation, Redwood City, California, USA. All rights reserved.

    This product includes PDFBox. Copyright 2002-2007, www.pdfbox.org. All rights reserved.

    This product includes software developed by John Resig. Copyright 2009 John Resig. All rights reserved. Dual licensed under the MIT and GPL licenses. http://docs.jquery.com/License.

    This product includes software developed by Thomas Fuchs. Copyright 2005 Thomas Fuchs. All rights reserved.

    This product includes UrlRewrite developed by Paul Tuckey. Copyright 2005-2007. All rights reserved.

    This product includes software developed by Cody Lindley. Copyright 2007. All rights reserved.

    This product includes software developed by Maxime Haineault. Copyright 2007, 2008.

    This product includes software developed by Terence Parr. Copyright 2003-2006.

    The software and accompanying written materials are protected by U.S. and International copyright law. Unauthorized copying of the software, including software thathas been modified, merged, or included with other software, or other written material is expressly forbidden. This software is provided under the terms of a licensebetween BroadVision and the recipient, and its use is subject to the terms of that license. Recipient may be held legally responsible for any copyright infringement thatis caused or incurred by recipients failure to abide by the terms of the license agreement.

    RESTRICTED RIGHTS LEGEND: Terms and Conditions Applicable to Federal Governmental End Users. BroadVision licenses products for ultimate end use byfederal government agencies and other federal government customers (federal government customers) only under the following conditions. Software and technicaldata rights in these products include only those rights customarily provided to end use customers of Software as defined in the BroadVision Master Software Licenseand Services Agreement and any exhibit thereto. This customary commercial license in technical data and software is provided in accordance with FAR 12.211(Technical Data) and 12.212 (Computer Software) and, for Department of Defense purchases, DFAR 252.227-7015 (Technical Data - Commercial Items) and DFAR227.7202-3 (Rights in Commercial Computer Software or Computer Software Documentation). If a federal government or other public sector customer has a need forrights not conveyed under these terms, it must negotiate with BroadVision to determine if there are acceptable terms for transferring such rights, and a mutuallyacceptable written agreement specifically conveying such rights must be executed by both parties.

    The product described in this manual may be protected by one or more U.S. and International patents. Certain applications of BroadVision One-To-Onesoftware arecovered by U.S. patent 5,710,887.

    DISCLAIMER: BroadVision, Inc., makes no representations or warranties with respect to the contents or use of this publication. Further, BroadVision, Inc., reservesthe right to revise this publication and to make changes in its contents at any time, without obligation to notify any person or entity of such revisions or changes.

    TRADEMARKS: BroadVision and BroadVision One-To-One are registered trademarks of BroadVision, Inc., in the United States and the European Community, and

    are trademarks of BroadVision, Inc., in other countries. The BroadVision logo, BroadVision Portal, BroadVision Commerce Services, BroadVision Content Services,BroadVision Process Services, and BroadVision Staging Services are trademarks of BroadVision, Inc., in the United States and other countries.

    Adobe and Acrobat Reader are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.Java and all Java-based trademarks (including Java, JavaServer Pages, Javadoc, JavaMail, and JavaBeans) are logos and trademarks or registered trademarks ofSun Microsystems, Inc., in the U.S. and other countries, and are used under license.

    All other trademarks, service marks, and trade names belong to their respective owners. BroadVision, Inc., disclaims any proprietary interest in the marks and namesof others.

  • 7/27/2019 BroadVision 8.2 Content Guide

    3/140

    3

    Contents

    About this Book 7Audience ................................................................................................................................................ 7

    Organization ........................................................................................................................................... 7

    Typographical Conventions ................................................................................................................... 8

    1 Introduction 11About Content ...................................................................................................................................... 12BroadVision Database Concepts .......................................................................................................... 13

    Content Tools and Utilities .................................................................................................................. 14

    About the API ...................................................................................................................................... 15

    Working with Content .......................................................................................................................... 16

    2 Content 17Content Items ....................................................................................................................................... 18

    Attributes .............................................................................................................................................. 18

    Multivalue Attributes ................................................................................................................... 19

    Containment Relationships ................................................................................................... 20

    Content Types ...................................................................................................................................... 21

    Schema Specification Files .......................................................................................................... 23

    Required Attributes for Content Types ........................................................................................ 24

    Content Identifiers ............................................................................................................................... 25

    Content Key .................................................................................................................................. 25

    OID ............................................................................................................................................... 25

    Content UID ................................................................................................................................. 26

    GUID ............................................................................................................................................ 26

    Categories ............................................................................................................................................ 27

    Categories and the Database ........................................................................................................ 28

    Categories, Channels, and Programs ..................................................................................... 29

    Uncategorized Content ................................................................................................................. 30

    Caveats and Application Concepts for Categories ................................................................ 31External Content .................................................................................................................................. 33

    Extending the Content Schema ............................................................................................................ 33

    3 Working with the Database 35Data ...................................................................................................................................................... 36

    Types of Data ................................................................................................................................ 36

    Types of Tables ............................................................................................................................. 37

    Application Data Tables ........................................................................................................ 37

  • 7/27/2019 BroadVision 8.2 Content Guide

    4/140

    4 BroadVision, Inc.

    Contents

    Internal Tables ....................................................................................................................... 37

    Metadata Tables .................................................................................................................... 38

    Mapping Tables ..................................................................................................................... 38

    Services ........................................................................................................................................ 38

    External Data Sources .......................................................................................................................... 39

    When to Use an External Source Data ......................................................................................... 40

    Defining an External Data Source ................................................................................................ 41

    User Profile Tables and LDAP ..................................................................................................... 41

    Data Caching ........................................................................................................................................ 42

    4 Tools and Utilities for Working with Content 43Content Management and Bulk Loading Tools ................................................................................... 44

    LoadUsers ..................................................................................................................................... 44

    load-portal-data ............................................................................................................................ 44

    bvtool ............................................................................................................................................ 45

    bv-updater ............................................................................................................................. 45

    set-db ..................................................................................................................................... 45

    bv-xmldumper ....................................................................................................................... 45

    generate-schema (SchemaGenerator) .................................................................................... 46BroadVision Management Center ................................................................................................ 47

    Inline Publishing .......................................................................................................................... 48

    Other Tools ........................................................................................................................................... 49

    bvant ............................................................................................................................................. 49

    generate_xsd .......................................................................................................................... 49

    bv-param.xml ............................................................................................................................... 49

    ext_cnt_config.xml ....................................................................................................................... 49

    5 Using the API 51API Overview ...................................................................................................................................... 52

    Content Data and Caching ................................................................................................................... 53

    Data Access Packages .......................................................................................................................... 54Class Overviews ................................................................................................................................... 55

    DataManager ................................................................................................................................ 56

    Content ......................................................................................................................................... 57

    Category ....................................................................................................................................... 58

    TableData ...................................................................................................................................... 59

    RowData ....................................................................................................................................... 60

    DataValue ..................................................................................................................................... 61

    ContentData .................................................................................................................................. 62

    ContentKey ................................................................................................................................... 63

    ContentUID .................................................................................................................................. 64

    CallSettings .................................................................................................................................. 65

    PrimitiveType ............................................................................................................................... 65

    Interfaces .............................................................................................................................................. 66ExtendedAttributes ....................................................................................................................... 66

    IQualifierValue ............................................................................................................................. 66

    6 Examples 67Basic Content Examples ...................................................................................................................... 68

    Create New Content ..................................................................................................................... 69

    Delete Content .............................................................................................................................. 70

    Retrieve Content Using ContentUID .......................................................................................... 71

  • 7/27/2019 BroadVision 8.2 Content Guide

    5/140

    Contents

    5

    Retrieve Content Using ContentKey as the Key .......................................................................... 72

    Working with Multivalue Tables .......................................................................................................... 73

    Create a Multivalue Table ............................................................................................................ 74

    Insert Row in a Content Multivalue Table ................................................................................... 75

    Delete Row in a Content Multivalue Table .................................................................................. 76

    Update a Content Multivalue Table .............................................................................................. 77

    Save a Content Items Multivalue Data ........................................................................................ 78

    Setting Attributes and Rows ................................................................................................................ 79

    Set an Attribute Value Within Content Using setValue() ............................................................. 80

    Set an Attribute Value Within Content Using update() ................................................................ 81

    Set Parent Row for Content .......................................................................................................... 82

    Update Main Row of Content, Queue Series of Content List Update Records, and Perform Updates

    Concurrently .......................................................................................................................... 83

    Working with Categories ..................................................................................................................... 87

    Retrieve a Category ...................................................................................................................... 88

    Create New Category ................................................................................................................... 89

    Retrieve List of Content within a Category Matching a Given Set of Conditions ....................... 90

    Add Members to a Category ........................................................................................................ 91

    Create Child Category .................................................................................................................. 92

    A Working with Content Types and Schema Files 93Configuring Content Types .................................................................................................................. 94

    Extending Content Types and Profile Tables ....................................................................................... 95

    About Content Types and Profile Tables ...................................................................................... 95

    Adding a New Content Type ........................................................................................................ 96

    Making New Content Types Searchable ............................................................................. 100

    Adding Attributes to an Existing Content Type ......................................................................... 101

    Modifying the Database Schema ................................................................................................ 103

    Schema XML Files ............................................................................................................. 103

    SchemaGenerator Utility ..................................................................................................... 106

    Displaying New Profile Attributes ............................................................................................. 107

    Replacing a Content or Profile Table ......................................................................................... 109Configuring the Display Title for Content Items ............................................................................... 110

    Configuring Content for Browsing .................................................................................................... 111

    B bv-updater 113Configuration File for bv-updater ...................................................................................................... 114

    Dependencies of bv-updater .............................................................................................................. 115

    A Running BroadVision System ................................................................................................ 115

    Environment Settings in the Operating System ......................................................................... 115

    File Locations of the DTDs ........................................................................................................ 116

    Input File Formats for bv-updater ...................................................................................................... 117

    Content Input Files ..................................................................................................................... 117

    Category Input Files ................................................................................................................... 123

    C Glossary 133

    Index 137

  • 7/27/2019 BroadVision 8.2 Content Guide

    6/140

    6 BroadVision, Inc.

    Contents

  • 7/27/2019 BroadVision 8.2 Content Guide

    7/140

    Content Guide 7

    About this Book

    This guide describes content and how to work with it using BroadVision tools and Content-related

    APIs.

    NOTE: This book does not discuss versioned content. BroadVisions Content Services product

    provides advanced content capabilities for your BroadVision system, including versioning. For

    information about versioned content, refer to the Content Services Guide.

    Audience

    The Content Guide provides information for Portal developers new to BroadVision products. It

    contains detail about using, obtaining, and managing content in a BroadVision-based web

    application. Developers should be fluent in SQL, XML, Java, and database concepts. It is assumed

    the reader has read or has access to one or more of the following books: thePortal Developer

    Guide,Portal Administrator Guide, andProcess Services Developer Guide.

    Organization

    This book is organized as follows:

    Chapter 1, Introduction, gives an overview of the major topics found within this book.

    Chapter 2, Content, explains what content is, describes the different types of content, and

    introduces the terms associated with content.

    Chapter 3, Working with the Database, offers a high-level description of database concepts as

    they pertain the content in a BroadVision framework, describes the kind of data found in a

    BroadVision database, discusses tables and the use of external sources when working with

    content.

    Chapter 4, Tools and Utilities for Working with Content, describes the content management,

    loading, and other tools available to use when working with content.

    Chapter 5, Using the API, gives a high-level overview of the Data Access API, its packages,

    and the classes with which you should become familiar.

    Chapter 6, Examples, contains code examples using the Data Access API for retrieving and

    working with content and categories.

    The appendices contain a glossary, details about configuring content types, extending content

    types, and using the bv-updater utility.

  • 7/27/2019 BroadVision 8.2 Content Guide

    8/140

    8 BroadVision, Inc.

    Ab out this Book

    Typographical Convent ions

    Typographical Conventions

    This manual incorporates these typographical conventions.

    Fonts Sample code, commands, filenames, and directory names, are shown in monospace font:

    setup.bin

    Significant items in code listings are shown in bold monospace font:

    visitor = Session.visitorManager.visitor(username);

    Variables for which you must provide information are shown in italic monospace font:

    % setenv BV_DB_DATABASE DBNAME

    New terms and important words are shown in italics.

    User interface menu items, buttons, and links that you are instructed to click are shown in bold.

    Special notes NOTE:This lead-in calls out helpful information that is related to but distinct from the main topic.

    TIP: This lead-in indicates additional details, alternative methods, hints, shortcuts, and related

    information about the main topic.

    IMPORTANT: This lead-in indicates situations that can prevent the system from running and how to

    avoid them.

    File paths and

    environmentvariables

    By default, file paths are shown in Unix format. For example:

    directory/file_name

    The equivalent on Windows would be:

    directory\file_name

    When commands differ depending on whether you are using Unix or Windows, both commands

    are shown. However, if the only difference between running the command on Unix or Windows

    is a file extension, the ext meta variable is used. Specify the extension appropriate for yourenvironment.

    Within text and file paths, install_dirrepresents the value specified for the installationfolder when you installed the BroadVision software. This value can be replaced with the full

    installation path or, if you have set your BroadVision environment, the $BV1TO1 environmentvariable (%BV1TO1% on Windows).

    Within text and file paths, config_dirrepresents the value specified for the configuration

    folder when you installed the BroadVision software. This value can be replaced with the full

    configuration path or, if you have set your BroadVision environment, the $BV1TO1_VARenvironment variable (%BV1TO1_VAR% on Windows).

  • 7/27/2019 BroadVision 8.2 Content Guide

    9/140

    About th is Bo ok

    Typographical Convent ions

    Content Guide 9

    The entity relationship diagrams in this book use the following notations:

    optional link

    required link

    Table in thesubsystem

    many to many

    one to many

    one to one

    Table in another

    subsystem

  • 7/27/2019 BroadVision 8.2 Content Guide

    10/140

    10 BroadVision, Inc.

    Ab out this Book

    Typographical Convent ions

  • 7/27/2019 BroadVision 8.2 Content Guide

    11/140

  • 7/27/2019 BroadVision 8.2 Content Guide

    12/140

    12 BroadVision, Inc.

    Chapter 1 Introduct ion

    Ab out Content

    About Content

    Content consists of information that you organize and display in your website, whether the sites

    purpose is to deliver employee announcements, sell products, or provide customer service

    assistance. In a BroadVision environment, an individual piece of content is referred to as a content

    item. Multiple pieces of information comprise a content item, which is contained in a database tablerow.

    For example, a content item can consist of a cell phone with an ID of 8267, a product ID of

    cell7418, a store ID of 91, and name of 7418 Cell Phone. Database columns (also called

    attributes) hold the content items multiple pieces of information individually. The cell phones

    attributes are OID, PROD_ID, STORE_ID, and NAME.

    Content items are grouped into tables by content type. Within a content type, every content item has

    the same attributes, so the table that contains the 7418 Cell Phone has other content items with

    attributes of OID, PROD_ID, STORE_ID, and NAME.

    Content items can be arbitrarily assigned to categories within the content type. For example, the

    7418 Cell Phone is included in a category named Cellular. Additionally, external content, which

    is any content that resides outside of a BroadVision database, can partially or completely comprise

    content items.

    The following diagram depicts the relationships between the various entities that make up

    BroadVision content.

    For additional information, refer to Chapter 2, Content.

    Content Type3 Table

    Content Type2 Table

    attribute attribute attribute attributerowattribute attribute attribute attributerow

    attribute attribute attribute attributerow

    Content Type1 Table

    One Content Item

    Columns, or Attributes, are Different

    for Each Content Type

    Content

    Type Tables

    in a

    Relational

    Database

    External Content

    Resides Outside

    the BV Database

    Category

    Assignments

  • 7/27/2019 BroadVision 8.2 Content Guide

    13/140

    Chapter 1 Introduct ion

    BroadVision Database Concepts

    Content Guide 13

    BroadVision Database Concepts

    BroadVision stores data in a relational database. Various types of data and tables comprise the

    database. For example, your application may use content data types, microsite data types, and more.

    Additionally, you can extend these data types.

    The types of tables that your BroadVision database contains include application data tables,internal tables, metadata tables, and mapping tables. Your application uses the application data

    tables, while internal tables are reserved for use by the BroadVision framework. Metadata tables are

    tables that describe the database. Finally, mapping tables are used with external content, which is

    content that resides in a database that is external to a BroadVision database.

    The database containing your tables may be partitioned intoservices. A service is a portion of your

    database dedicated to a particular purpose. For example, the Portal foundation application uses a

    service called C3 for its sample data.

    You may find that you have a large amount of data in existence in an external data source. An

    external data source contains external content. You can use external content with a BroadVision

    database by utilizing the mapping tables.

    Refer to Chapter 3, Working with the Database for details about working with content data and

    the database.

  • 7/27/2019 BroadVision 8.2 Content Guide

    14/140

    14 BroadVision, Inc.

    Chapter 1 Introduct ion

    Content Tools and Uti l i t ies

    Content Tools and Utilities

    Content resides in and is accessed through a relational database. The content is loaded into the

    database primarily through the bvtool bv-updater, load-portal-data, and BroadVisionManagement Center tools.

    You use these tools to control information in your web application and determine what content gets

    displayed to which visitors. For example, an administrator can use the BroadVision Management

    Center to categorize content or make it available for viewing on a website.

    See Chapter 4, Tools and Utilities for Working with Content to read more about using the

    BroadVision Management Center, bvtool bv-updater, load-portal-data and other tools. In

    particular, make sure to understand the functionality of content and categories in the BroadVisionManagement Center. See thePortal Administrator Guide for additional information about using the

    BroadVision Management Center.

    Allows creating and editing

    of individual content items.

    Database utilities such as bvtool bv-updater allow bulk loading of content

    database

    Allows creating and editing of individual

    content items, creating and manipulating

    of categories, business rules, and more.

    HTTP

    server

    Web browser

    Application

    Server:

    BVMC,

    Inline

    Publishing

  • 7/27/2019 BroadVision 8.2 Content Guide

    15/140

    Chapter 1 Introduct ion

    About the API

    Content Guide 15

    About the API

    You can use the BroadVisionData Access APIs to retrieve content and display it on your website

    using Java. For example, perhaps you would like your users to be able to retrieve a list of all content

    within a category named equipment when they perform a search within a particular page of your

    site. You can create this functionality using the classes and methods available within the API.

    To learn about the Data Access API and to see examples, refer to Chapter 5, Using the API, and

    Chapter 6, Examples.

  • 7/27/2019 BroadVision 8.2 Content Guide

    16/140

    16 BroadVision, Inc.

    Chapter 1 Introduct ion

    Working with Content

    Working with Content

    Once content has been entered into the database and made available to your web application, you

    can use various mechanisms to retrieve it. For example, you can use:

    Queries to access the database directly. See theBroadVision Javadoc for information about

    methods that support database queries. Additionally, see Chapter 5, Using the API and

    Chapter 6, Examples.

    Search adaptors to provide the integrations connecting BroadVision Portal and Process with

    third-party, full-text search solutions. See theBroadVision Search Adaptors Guide for more

    information.

    Rule sets to generate content to display in programs. The content a rule set generates is based

    on the rules that comprise the rule set. See thePortal Administrator Guide for details about

    implementing rules.

    Segments to let you personalize site content and email communication with site visitors. Use

    segments to define a target audience of visitors with similar characteristics. See thePortal

    Administrator Guide to learn more.

    Category roles to let you control access to content categories and content items. See thePortal

    Administrator Guide to learn more.

    Content categories to help organize large amounts of content for access by browsing. They also

    help segregate content into separate areas of responsibility and control. See thePortal

    Administrator Guide to learn more.

  • 7/27/2019 BroadVision 8.2 Content Guide

    17/140

    Content Guide 17

    2 Content

    Content consists of data that is structured so you can present it in a way that makes sense to your

    users. This chapter describes what content items are, how they pertain to content types and

    categories, and how you can extend the content schema.

    This chapter contains the following topics:

    Content Items, next Attributes on page 18

    Content Types on page 21

    Content Identifiers on page 25

    Categories on page 27

    External Content on page 33

    Extending the Content Schema on page 33

  • 7/27/2019 BroadVision 8.2 Content Guide

    18/140

    18 BroadVision, Inc.

    Chapter 2 Content

    Content I tems

    Content Items

    In the simplest case, a content item is composed of the information contained in all the fields in a

    single row in a database table. The following example shows some of the fields of a content item

    from the BV_PRODUCT table.

    Content items are logically grouped into tables by content type. Content types have columns orattributes that contain descriptive information.

    Attributes

    The columns of a table are referred to as attributes. This is because when a web application

    retrieves a content item from the database, it acquires a content object that is modeled after the

    database. The attributes of the object correspond directly to the columns in the table. (See Chapter

    5, Using the API, for more information.)

    The attributes of a content item contain information such as IDs, names, and descriptions that serveto describe the content item and to distinguish it from other content items in the same table. Some of

    the attributes contain information that can be displayed on the visitors browser and some attributes

    contain information that is used by various elements of the application system.

    For example, the following diagram shows a portion of the data row for one content item, the Next

    Gen DSL Modem. The attributes are in uppercase.

    123modem

    PROD_IDOID

    8266 91

    STORE_ID

    Next Gen DSL Modem 2008-01-1711:53:44.90000000

    NAME CREATION_TIMEInformation in a single

    row constitutes one

    content item

    Individual fields in the row hold

    information specific to the content item

    123modemPROD_IDOID

    8266 91STORE_ID

    Next Gen DSL Modem

    Columns or Attributes

    2008-01-1711:53:44.90000000

    NAME CREATION_TIMEContent Item

  • 7/27/2019 BroadVision 8.2 Content Guide

    19/140

    Chapter 2 Content

    Attr ibutes

    Content Guide 19

    CREATION_TIME is a required content type attribute. (See Required Attributes for Content

    Types on page 24.) Other content attributes provide necessary information about content that is

    not normally displayed to a visitor, such as the location of an image file and its dimensions. Your

    application would typically use the location and measurements of an image file to retrieve the image

    and to determine its size when displaying it on your site.

    NOTE: The path to an image file is stored in the database, while the image file itself is storedexternally. Storing images outside the database reduces the database memory footprint.

    Multivalue Attributes

    Attributes generally describe a single characteristic about a content item, such as name or color.

    However, some attributes contain a list of values, such as a list of a products available colors. In

    BroadVision, such multivalue attributes are represented as the child tables in one-to-many

    relationships, where the content table is the parent.

    IMPORTANT: Multivalue attributes are also referred to as related attributes, related attribute lists, or

    list tables in other BroadVision documentation.

    Multivalue attributes behave the same as ordinary single value attributes in that you can search

    through them and include them in queries. For example, if you wanted to add a child table to

    BV_PRODUCTS named MODEM_MANUFACTURER that contains the name of all modem

    manufacturers that you stock, you could then perform a search for modems and the manufacturer

    name to find all modems by that company.

    Tables can have more than one multivalue attribute. You could have separate multivalue attributes

    for accessories and manufacturers. With this arrangement, searching for modems made by ACME

    that come with splitters returns a modem whose OID is 8266.

    Getting a row of information out of a multivalue table retrieves a multivalue row. For example,

    when searching for USB modems made by ACME, the multivalue rows retrieved would be those

    containing USB, Next Gen DSL Modem, and ACME.

    123modem

    PROD_IDOID

    8266 91

    STORE_ID

    Next Gen DSL Modem 2008-01-1711:53:44.90000000

    NAME CREATION_TIME

    GREEN8266ACME

    BV_PRODUCT MODEM_MANUFACTURER

    OID BUNDLE_ITEM

    Related by OID

    8266

    ETHERNET

    BV_PRODUCT MODEM_MANUFACTURER

    USB8111

    Related by OIDRelated by OID

    123modem

    PROD_IDOID

    8266 91

    STORE_ID

    Next Gen DSL Modem 2008-01-1711:53:44.90000000

    NAME CREATION_TIMEGREEN MODEM8266

    ACME

    OID BUNDLE_ITEM

    8266

    OID

    8266

    SPLITTER

    ACCES

    8266

    ACCESSORY

  • 7/27/2019 BroadVision 8.2 Content Guide

    20/140

    20 BroadVision, Inc.

    Chapter 2 Content

    At tr ibutes

    Containment Relationships

    Entries in a multivalue attribute table rely on the parent object. In the example earlier, COLOR is

    only meaningful in relation to a related product. COLOR cannot stand on its own and is therefore an

    appropriate multivalue attribute. On the other hand, if a list represents information that can exist on

    its own, make it a separate content type instead. For example, the following list of computer printer

    supplies in COMPUTER_ACCESSORIES is a separate content type, not a multivalue attribute.

    For information about:

    Referencing multivalue attributes in applications or components, see TableData on page 59 as

    well as the Javadoc.

    Referencing multivalue attributes in database activities at the server level, see Content on

    page 57 and refer to getListData(), which returns the contents multivalue table entries basedon list name. Also see the Javadoc.

    Creating conditions using multivalue attributes, see thePortal Administrator Guide. Note that

    in that publication, multivalue attributes are sometimes referred to as related attributes.

    Inkjet Printer

    NAMEOID

    6777 8100 26 lb. paper 6.99

    8101 10' exten. 21.99

    8102 Stand. Ink Cart. 42.50

    8103 Delux Ink Car t. 78.99

    OID NAME PRICE

    relatedby OID

    BV_PRODUCT COMPUTER_ACCESSORIES

    43

    109

    585

    1004

    ACCESSORY_I

    8100

    OIDOID

    6777

    6777

    6777

    6777

    8101

    8102

    8103

    relatedby OID

    MultiValue Table

  • 7/27/2019 BroadVision 8.2 Content Guide

    21/140

    Chapter 2 Content

    Content Types

    Content Guide 21

    Content Types

    A content type acts as a template for content items. A content type defines the columns in a table,

    referred to as attributes, and defines what kind of data each attribute can hold. For example, the

    BV_PRODUCT table contains Portal product information.

    BroadVision provides several content types that you can use and extend for your own applications.The content types can be used as-is, or they can form the basis for any custom content types you

    want to create. Each content type resides in its own content table.

    The following table describes some of the content types that are installed when you purchase Portal.

    Content Type Description Content Table

    Advertisements Ads displayed on your site to

    promote the products and services

    sold by your company or your

    customers companies.

    BV_ADVERTISEMENT

    Discussion Forum Groups On-line interactive forums that fostera sense of community among your

    site visitors and are accessible from

    your site.

    Discussion Forum Groups uses a

    different user interface, not the

    BroadVision Management Center,

    and a different API than content

    types.

    BV_DF_GRP

    Editorials Text and media presentations, such

    as investment reports and articles,

    that are displayed on your site to

    distribute knowledge for intranets,

    the internet, and extranets.

    BV_EDITORIAL

    Portal URLs The BV_URL table handles the URL

    content type.

    BV_URL

    Products Items and services offered for sale to

    business or retail customers on

    electronic commerce sites.

    BV_PRODUCT

    123modem

    PROD_IDOID

    8266 91

    STORE_ID

    cell74188267

    Next Gen DSL Modem

    91

    Portion of BV_PRODUCTS

    2008-01-1711:53:44.90000000

    NAME CREATION_TIME

    7418 Cell Phone 2008-01-1711:53:44.90000000

  • 7/27/2019 BroadVision 8.2 Content Guide

    22/140

    22 BroadVision, Inc.

    Chapter 2 Content

    Content Types

    Here you can see content types displayed in the BroadVision Management Center.

  • 7/27/2019 BroadVision 8.2 Content Guide

    23/140

    Chapter 2 Content

    Content Types

    Content Guide 23

    Schema Specification Files

    Schema specification files define content types. Each schema specification file contains a set of

    keyword statements that specify the content type, the table name, the column names, the data types

    that the columns can hold, and a number of other characteristics. The Portal schema specification

    files (*_spec.xml) for the database are found in install_dir/setup/install/srcxml.locale.

    Some of the most common schema XML files you might want to modify include:

    prod_spec.xml Products content type

    edit_spec.xml Editorials content type

    adv_spec.xml Advertisements content type

    prof_spec.xml User profile tables

    For example, these elements from prod_spec.xml define the Products content types Product IDattribute.

    Element Description Example

    ATTRIBUTE Refers to a specific column

    NAME The attribute (column) name PROD_ID

    TYPE The attributes (columns) data

    type.

    STRING

    NOT_NULL Optional to indicate that a

    columns value cannot be null.

    ATTR_KIND Specifies the following optional

    properties of the attribute:

    Indicates that the attribute is part

    of a primary key or unique index.

    COLUMN A custom value for the column

    type.

    varchar(80)

    FRIENDLY_NAME The attributes friendly name. Product ID

    SEMANTICS A description of the attribute. Product ID

    123modem

    PROD_IDOID

    8266 91

    STORE_ID

    cell74188267

    Next Gen DSL Modem

    91

    Portion of BV_PRODUCTS

    2008-01-1711:53:44.90000000

    NAME CREATION_TIME

    7418 Cell Phone 2008-01-1711:53:44.90000000

  • 7/27/2019 BroadVision 8.2 Content Guide

    24/140

    24 BroadVision, Inc.

    Chapter 2 Content

    Content Types

    Required Attributes for Content Types

    All content types have six required attributes that are integral to the operation of a BroadVision

    application. These attributes cannot be left null.

    For example, notice that BV_PRODUCT has a PROD_ID attribute, which is the content key.

    Additionally, if you look at the table in the database, you can see that it contains the five other

    required attributes.

    NOTE: Content types may have additional required attributes that may or may not be required or

    even exist for other content types. For example, the Products content type has a required attribute

    called PRICE which is not defined for either the Editorials or the Discussion Forum Groups content

    types. You can add whatever data types, content types, or attributes you want.

    Attribute Comments

    The name of this attribute varies by content type. It must be the first

    attribute defined for the content type. Its value must be unique for

    each content item. See Content Key on page 25 for more

    information.

    STORE_ID The website service that provides this type of content.

    CREATION_TIME The time the content item was created in the database.

    Automatically entered by the BroadVision Management Center.

    STATUS Whether the content item is available for display and operations.

    This attributes value is either On-line or Off-line.

    DELETED Indicates whether or not the content item has been deleted from the

    database. This attribute exists for compatibility reasons with 7.1

    LAST_MOD_TIME The last time the content item was modified. Automatically modified

    by the BroadVision Management Center.

    123modem

    PROD_IDOID

    8266 91

    STORE_ID

    cell74188267

    Next Gen DSL Modem

    91

    Required Attributes

    2008-01-1711:53:44.90000000

    NAME CREATION_TIME

    7418 Cell Phone 2008-01-1711:53:44.90000000

    STATUS

    91

    91

    DELETED LAST_MOD_TIME

    0

    0

    2008-01-1711:53:44.90000000

    2008-01-1711:53:44.90000000

  • 7/27/2019 BroadVision 8.2 Content Guide

    25/140

    Chapter 2 Content

    Content Ident i f iers

    Content Guide 25

    Content Identifiers

    Queries cannot produce reliable results unless content items in the database are uniquely

    identifiable. Several attributes exist to ensure that each content item remains distinguishable from

    other content.

    Content Key

    The content key is an attribute that uniquely identifies a content item. The name of the content key

    varies from content type to content type. For example, the content key for the Products content type

    is PROD_ID while the content key for Editorials is ED_NAME. It usually consists of a string

    column ofvarchar() type, although it can also be an INTEGER. For a content key of typeSTRING, the value given with the varchar() specification varies with the expected needs of the

    particular key. For example, the value for Discussion Forum Groups is varchar(220) but forProducts it is varchar(80). The content key can also consist of multiple attributes called a

    compound key. Any combination of attributes from within the table can comprise these attributes.

    You may find that you must retrieve content using a content key because you do not know a content

    items OID. See Retrieve Content Using ContentKey as the Key on page 72.

    OID

    Besides the content key, all content items have another unique identifier that the BroadVision

    framework automatically assigns called the OID (or object ID). The BroadVision framework uses

    the OID to relate various tables together. For example, content items are related to categories by

    OID through an internal table (see Categories and the Database on page 28).

    BroadVision tools such as the BroadVision Management Center and the bulk load utilities

    automatically assign a unique OID to each new content itemfor that content type. The APIs for

    inserting content also automatically assign a unique OID to each new content itemfor that content

    type. The internal routines that support these tools and APIs buffer sets of unassigned OIDs and

    assign them to new content items as they are created, ensuring the referential integrity of the data

    tables. For example, if want to retrieve all content that has to do with cellular phones from a single

    content typefor instance, Productsyou can use OID.

    NOTE: Always use the BroadVision tools or APIs to assign OIDs or referential integrity may be lost.

  • 7/27/2019 BroadVision 8.2 Content Guide

    26/140

    26 BroadVision, Inc.

    Chapter 2 Content

    Content Ident i f iers

    Content UID

    In addition to the Content Key and OID, every content item in the database has a unique content

    UID, which consists of three fieldsthe content type ID, service ID, and OID. The content UID

    exists because the OID is not necessarily a unique value within the database. An OID is unique in its

    content type.

    You can use the content UID to retrieve a content item using the API if you know all three fields

    that compose the content UID. See Retrieve Content Using ContentUID on page 71.

    GUID

    GUID refers to Globally Unique Identifier. OIDs are unique in their content types, while GUIDs are

    unique across all content types. For example, if want to retrieve all information that has to do with

    cellular phones from both the Products content type and Advertisements content type, you would

    use the GUID.

  • 7/27/2019 BroadVision 8.2 Content Guide

    27/140

    Chapter 2 Content

    Categories

    Content Guide 27

    Categories

    Categories hold references to arbitrary groups of content items that you create for a content type.

    Properly organized and implemented, categories can enhance the success of your website.

    Categories implement a hierarchical organization of content items within a content type that helps

    visitors find specific items.

    For example, if your website sells business products and services, the Products content type could

    contain product offerings such as wireless telephones, DSL services, and games. Having a separate

    category for each of these offerings makes it easier to present the right content for a particular

    visitor.

    You create categories and subcategories with either the BroadVision Management Center or the

    bulk-loading utility bv_updater. The BroadVision Management Center displays categories in ahierarchy that descends from the content type.

    NOTE: Even though the BroadVision Management Center displays categories in a hierarchy that

    descends from the content type, categories are notpart of a content type.

    The following screen shot from the BroadVision Management Center shows a Products subcategory

    named Cellular.

    Both bv_updater and the BroadVision Management Center are discussed in Chapter 4, Tools andUtilities for Working with Content. For detailed information on creating categories in the

    BroadVision Management Center, refer to thePortal Administrator Guide.

    Content Type

    Subcategory

  • 7/27/2019 BroadVision 8.2 Content Guide

    28/140

    28 BroadVision, Inc.

    Chapter 2 Content

    Categories

    Categories and the Database

    A single table named BV_CATEGORY contains the categories for all content types. The categories

    in BV_CATEGORY do not contain content items. Instead, a content item is related to the category

    name by OID (see OID on page 25). BroadVision maintains the mappings between categories and

    content items using the BV_CONTENT_REF table. BV_CONTENT_REF maps content item OIDsto category OIDs. Although the diagram below only shows the Products content table, the same

    relationship exists for each content table.

    Through this relationship, content items can be referenced through more than one category. Forexample, a cell phone could be referenced through two categories, Cellular and Mobile.

    NOTE:Category OIDs are negative while content OIDs are positive.

    BV_CONTENT_REF

    BV_CATEGORYmaps content to

    categories byOID

    BV_PRODUCT

    relatedby OID

    relatedby OID

    -8027

    OIDNAME

    Cellular 8267 91 7418 Cell Phone

    OID STORE_ID NAME

    relatedby OID

    BV_CATEGORY BV_PRODUCTS

    cell7418

    PROD_ID8267

    OIDPARENT_OID

    -8027

    -8557 8267

    relatedby OID

    BV_CONTENT_REF

    Mobile -8557

    CREATION_TIME

    2008-01-1711:53:44.90000000

  • 7/27/2019 BroadVision 8.2 Content Guide

    29/140

    Chapter 2 Content

    Categories

    Content Guide 29

    Categories, Channels, and Programs

    BV_CATEGORY contains multivalue tables that define channels and programs for Portal.

    Channels organize areas of information into navigation hierarchies, and can be either topic-oriented

    or process-oriented. Channels within channels are sometimes calledsubchannels and have the same

    qualities as their parent channels.

    Programs are blocks of information carried by channels. When viewing a channel, you have choices

    of different programs or of different subchannels with programs of their own. Programs contain

    articles, documents, or other information.

    As you work with BroadVision products, you will become familiar with the concept of channels and

    programs. Notice that while a category/content relationship defines a content hierarchy, a

    channel/program relationship refers to a virtual hierarchy.

    The Portal-specific extensions to BV_CATEGORY for channels and qualifiers include:

    BV_KM_CHANNEL

    BV_KM_ORDER

    BV_EP_CHAN_ORDER

    BV_EP_QV_CHAN

    BV_EP_CONTAINER

    BV_EP_CAT_ORDER

    You can find a programs parent channel by performing a search in BV_CONTENT_REF, the table

    that defines the relationship between channels and programs.

    For detailed information about the tables refer to theBroadVision Database Schema.

  • 7/27/2019 BroadVision 8.2 Content Guide

    30/140

    30 BroadVision, Inc.

    Chapter 2 Content

    Categories

    Uncategorized Content

    Content items do not need to belong to a category. When content items do not belong to a category,

    the content item is considered uncategorized.

    NOTE: When a content item is uncategorized it has no entry in the BV_CONTENT_REF table.

    Every content type can have uncategorized content items. The BroadVision Management Center

    displays these items under the Uncategorized content tab.

    Content items become uncategorized:

    When you remove a content item from one category and do not put it into another one, and the

    item is not referenced by other categories.

    When you delete a category, and the content items in it are not referenced through other

    categories. When content items are bulk loaded with bv-updater and the category is not specified during

    the loading process. (For detailed information about bulk loading and classifying content items,

    refer to thePortal Administrator Guide.)

    You can move uncategorized content into a category in the hierarchy or you can delete it from the

    content database. See thePortal Administrator Guide for details.

    Uncategorized content

  • 7/27/2019 BroadVision 8.2 Content Guide

    31/140

    Chapter 2 Content

    Categories

    Content Guide 31

    Caveats and Application Concepts for Categories

    Categories are contained within a single content typethey cannot span content types. All content

    items within a category have the same attributes.The same category name can exist for more thanone content type, but the categories themselves are differentthey reference different content

    types. For example, the C3 sample data contains the Products content type, which has an

    Equipment category defined. Equipment has a subcategory named Phones. Finally, Phones has asubcategory named Cellular, which lists cell7418 and cell 5562cell phones from the

    BV_PRODUCT table.

    You can create a category named Cellular for the Advertisements content type, too. However, the

    content that the category forAdvertisements accesses would come from the Advertisements

    content type table (BV_ADVERTISEMENT), not the Products content type table

    (BV_PRODUCT). The following screen shot of the BroadVision Management Center shows the

    results of a query. Two itemscell5562 and cell7418are returned for the Products content type

    Cellular category. Only one itemModern Cellphoneis returned for the Advertisements contenttype Cellular category.

    BroadVision recommends keeping your categories to a logical minimum. For example, you could

    create a separate category for each type of wireless telephone on your site, but using a simple query

    to retrieve all wireless telephones by a particular manufacturer from the database instead is more

    efficient.

    Category: Cellular

    Content Type:

    Advertisements

    Content Item Returned

    Category: Cellular

    Content Type: Products

    Content Items Returned

  • 7/27/2019 BroadVision 8.2 Content Guide

    32/140

    32 BroadVision, Inc.

    Chapter 2 Content

    Categories

    If you reference a parent category in your application, you reference all the content in all of its

    subcategories.

    The growth of BV_CONTENT_REF is not linear. It increases as a function of both the number of

    categories and the number of content items referenced through each category. If many items are

    referenced through multiple categories, it is possible for BV_CONTENT_REF to grow quickly. For

    example, three content items that are each referenced through three different categories will result innine rows in BV_CONTENT_REF. If this table gets too large it can slow queries that are based on

    category.

  • 7/27/2019 BroadVision 8.2 Content Guide

    33/140

    Chapter 2 Content

    External Content

    Content Guide 33

    External Content

    Content is usually stored in the BroadVision content database. However you can store, retrieve, and

    update content stored in an external source provided if your site is configured to do so. Once you

    configure your source, content that is stored externally behaves the same as content from an internal

    source, but with these limitations:

    You can have only one content table per content type, and there must be one unique key per row

    in the table.

    You cannotmix internal and external content and multivalue attribute tables. You cannot link

    an external list table to an internal content table.

    There is no guaranteed transactional integrity. If an external insert fails, the local insert fails too.

    External data is always cached locally once fetched and is cached in content caches just like

    other content.

    External data can be updated seamlessly from the BroadVision Management Center or Portal

    foundation application once you have defined your external data source. External data sources

    are described in External Data Sources on page 39.

    Extending the Content Schema

    There are times when you may want to extend your content schema. For example, perhaps you

    would like to create a content type for announcements. You can do this by taking an existing schema

    file, copying it, and performing a few steps. Additionally, you can extend the schema for existing

    content types to add attributes to a main table, add attributes to a multivalue table, or add a

    multivalue table. See Working with Content Types and Schema Files in the appendices for step-

    by-step instructions.

  • 7/27/2019 BroadVision 8.2 Content Guide

    34/140

    34 BroadVision, Inc.

    Chapter 2 Content

    Extending the Content Schema

  • 7/27/2019 BroadVision 8.2 Content Guide

    35/140

    Content Guide 35

    3 Working with the Database

    All information in the database can affect content retrieval and display. Understanding the issues

    and concepts related to content and the database helps you to more fully utilize the capabilities of

    BroadVision products.

    This chapter contains the following topics:

    Data, next External Data Sources on page 39

    Data Caching on page 42

  • 7/27/2019 BroadVision 8.2 Content Guide

    36/140

  • 7/27/2019 BroadVision 8.2 Content Guide

    37/140

    Chapter 3 Working with the Database

    Data

    Content Guide 37

    Types of Tables

    You use different types of tables with your application, depending on what task you perform,

    including application data tables and internal tables. Additionally, if you use an external data

    source, you use mapping tables.

    Application Data Tables

    Application data tables are used directly by your application. The application actively retrieves or

    stores data in some of these tables. In other cases, your application specifies a named row of data,

    and internal systems do the rest. Examples of application data tables include:

    The content and category data tables that you access when retrieving content items or

    categories of content items, such as BV_PRODUCT, BV_EDITORIAL,

    BV_ADVERTISEMENT, and BV_CATEGORY.

    The visitor data tables that you access when validating or storing user logins, shipping

    addresses, visitor preferences, or other visitor related information such as

    BV_USER_PROFILE and others.

    Internal Tables

    In contrast to application data tables, internal tables are used primarily by the BroadVision

    framework. Internal operations uses the information contained in these tables. Examples of internal

    data tables include:

    The attribute and data type tables such as BV_ATTRIBUTES, BV_ATTRIBUTES_EXT,

    BV_ATTR_GROUP, BV_ATTR_GROUP_INFO, BV_DATE_TIME_VALUES,

    BV_DOUBLE_VALUES, and BV_ENUM_VALUES. For example, the BV_ATTRIBUTES

    table contains the columns for the database schema and associates it with a table name. It

    contains the details for the BV_PRODUCT tables PROD_ID column as well as other columns.

    Tables used to relate other tables together, such as BV_CONTENT_REF which relates

    categories and content items together. Refer to Categories and the Database on page 28.

    Tables used to record transitional information as content is updated or manipulated in some way

    by an application such as the BroadVision Management Center: BV_CONTENT_LOG,BV_CATEGORY_PLUS, and others.

    1

    ATTRIBUTE_IDSCHEMA_NAME

    BV_PROD BV_PRODUCT

    TABLE_NAME

    PROD_ID STRING

    ATTRIBUTE_NAME TYPE_NAME

    Portion of BV_ATTRIBUTES

  • 7/27/2019 BroadVision 8.2 Content Guide

    38/140

    38 BroadVision, Inc.

    Chapter 3 Working with the Database

    Data

    Metadata Tables

    When a DataAccess API retrieves a content item from the database, it extracts the information

    contained in the desired row of a particular table and packages it as an object. To accomplish the

    mapping from database to object, BroadVision uses metadata tables that describe the database.

    Tables such as BV_CONTENT_MAP, which defines all content and content names, and

    BV_ATTRIBUTES, described in Internal Tables, are considered metadata tables. All meta tablesdefinitions reside ininstall_dir/setup/install//meta_data.sql.

    Mapping Tables

    The mapping table maps attributes to key columns in external tables. This table identifies the

    external table and the mapping table. See External Data Sources on page 39 for additional

    information.

    For a complete list and detailed descriptions of the tables, refer to theBroadVision Database

    Schema.

    Services

    In addition to data types and tables, you can organize your content using aservice. A service is a

    portion of the database devoted to a particular purpose. For example, the Portal foundation

    application uses data from the C3 service. You can use the BV_STORE table to find information

    about each service, including the service name. For example, in BV_PRODUCTS, a column named

    STORE_ID exists. This column identifies the Next Gen DSL Modem as having a service ID of 91.

    If you look at BV_STORE, you can see that STORE_ID identifies the C3 service.

    For information on adding a new service, see theBroadVision 8.2 Installation Guide.

    NOTE: Content items are not shared across services. If you log into the BroadVision Management

    Center and select a service other than C3, you will not see the Next Gen DSL Modem as a content

    item because this product belongs with the C3 service.

    123modem

    PROD_IDOID

    8266 91

    STORE_ID

    Next Gen DSL Modem 2008-01-1711:53:44.90000000

    NAME CREATION_TIME

    BV_PRODUCT

    C3

    STORE_NAMESTORE_I

    91 800-555-1234

    PHONE_NUMBE

    800-555-1235 [email protected]

    FAX_NUMBER EMAIL_ADDRESS

    BV_STORE

  • 7/27/2019 BroadVision 8.2 Content Guide

    39/140

    Chapter 3 Working with the Database

    External Data Sources

    Content Guide 39

    External Data Sources

    External source data is information stored in databases outside of BroadVision database tables that

    can be referenced from within BroadVision as if it were stored in a BroadVision table. To reference

    the data, the BroadVision framework maps content IDs to unique column names in the external

    system through mapping tables.

    The BV_EXT_MAP table identifies the mapping table between external tables and the BroadVision

    mapping table. The mapping table maps attributes to key columns in external tables. This table

    identifies the external table and the mapping table.

    In the example below, EXT_CONTENT_MAP is a mapping table. To request a product description,

    which is stored in an external table, you would ask for BV_PRODUCT.DESCRIPTION and the

    BroadVision framework would automatically retrieve the correct data based on the mapping.

    Mapping tables contain key values for each external content record.

    NOTE: The mapping tables are a snapshot of the key mappings at the time that the table was last

    populated or updated only. When external records are added, or when the keys change, you need to

    update the table by using the API. For example, you could use

    DataManager.createContent(...) to create entries in the BroadVision, mapping, and externaltables. See Create New Content on page 69. A bulk loading tool such as bv-updater does not

    exist for external content.

    Your external database and the BroadVision runtime database can be different vendors. For

    example, you could use Oracle for your BroadVision runtime database and MySQL for the external

    database. In this case, the other vendor's JDBC JAR file(s) needs to be included in the classpath. If

    the database vendor type is not supported by BroadVision, a new Java class needs to be

    implemented based on the interface com.broadvision.data.server.DataAccessor.

    When you use external source data, keep the following points in mind:

    You can have only one content table per Content Type, and there must be one unique key per

    row in the table.

    You cannot mix internal and external content and multivalue attribute tables. You cannot link an

    external multivalue table to an internal content table. There is no transactional integrity.

    External data is always cached locally once fetched.

    relatedby OID

    BV_PRODUCT EXT_CONTENT_MAP EXT_PROD_CONTENT

    82668267

    8268

    8269

    OID

    2213522136

    22137

    22138

    CNT_ID

    82668267

    8268

    8269

    OID ... DESCRIPTION

    related byCNT_ID

    Next Gen ModemPremium 7418 Phone

    Econ 5562 Cell Phone

    Standard Cable

    2213522136

    22137

    22138

    CNT_ID

  • 7/27/2019 BroadVision 8.2 Content Guide

    40/140

    40 BroadVision, Inc.

    Chapter 3 Working with the Database

    External Data Sources

    You may have external multivalue attributes, but you must also have an external parent table

    with the same key values as the multivalue table; the mapping table must be internal.

    When to Use an External Source Data

    It is a good idea to use external data sources when:

    You already have existing data elsewhere that was created and is being updated by a non-

    BroadVision application.

    You already have a large amount of existing data that is too difficult to move into yourBroadVision system. You can keep the data external, even though you intend to put it under the

    control of your BroadVision-based application.

    Accessing an external data source is slower than accessing a BroadVision database because there is

    additional lookup time required due to the mapping table. Additionally, there is access time incurred

    by communicating with the external database system. However, once data has been retrieved, if it is

    cached, there is no additional performance overhead.

    NOTE: For performance reasons, if you must use an external data source, make sure that you take

    advantage of caching to minimize the effect of the additional lookup and retrieval time.

    relatedby OID

    BV_PRODUCT EXT_CONTENT_ EXT_PROD_CONTENT

    8266

    82678268

    8269

    OID

    22135

    2213622137

    22138

    CNT_I

    8266

    82678268

    8269

    OID ... DESCRIPTION

    related byCNT_ID

    Next Gen Modem

    Premium 7418Econ 5562 Cell

    Standard Cable

    22135

    2213622137

    22138

    CNT_ID

    22136 2 Year Plan

    22136 Loss Insurance22136

    22136

    CNT_ID UPGRADE

    UPGRADES_AVAILrelated byCNT_ID

  • 7/27/2019 BroadVision 8.2 Content Guide

    41/140

  • 7/27/2019 BroadVision 8.2 Content Guide

    42/140

    42 BroadVision, Inc.

    Chapter 3 Working with the Database

    Data Caching

    Data Caching

    Caches are used to improve the performance of activities that access the database and where the

    result of queries can be reused for later evaluations. For example, rules may be used to find content

    while browsing through the site. In Portal, the following caches are also available in addition to

    content caches:

    Text cache stores text segments from pages

    Filter cache stores qualifier values for content items

    All BroadVision caches contain the most recently accessed items.

    When you restart the system, it reverts to the settings specified in the configuration file. Once you

    find the correct setting using the BroadVision Management Center, you can make the change

    permanent by changing the parameter in the configuration file. Increasing the size of the cachesrequires more memory. If you have issues with memory storage space, you can reduce the numberof items stored in the text caches. You can manually flush the cache by using the BroadVision

    Management Center or by using bvtool.

    The bv_ptc_cfg.xml file located in the config_dir/appConfig/bv_framework/etc directorycontains the definitions for text caches. Modify this file when you are satisfied with the cache

    flushing settings on your system. See thePortal Administrator Guide for more details. For

    information about working with data caches, see com.broadvision.data.cache in the Javadoc.

    Database

    Cache

    BroadVision

    ManagementCenter

    Content and

    category data

    cached.

    Application Server

  • 7/27/2019 BroadVision 8.2 Content Guide

    43/140

    Content Guide 43

    4 Tools and Utilities for Working withContent

    BroadVision provides multiple ways for you to load content into your database. Additionally, when

    you work with content, you will need to become familiar with various tools and utilities. This

    chapter contains the following topics:

    Content Management and Bulk Loading Tools, next

    Other Tools on page 49

  • 7/27/2019 BroadVision 8.2 Content Guide

    44/140

    44 BroadVision, Inc.

    Chapter 4 Tools and Uti l i t ies for Working with Content

    Content Management and Bulk Loading Tools

    Content Management and Bulk Loading Tools

    You can use different mechanism for loading content into the database depending on your situation

    and the role of the person loading content. Here are some of the tools you can use to manage content

    and load it into your database:

    LoadUsers used to import user information into your BroadVision visitor database if you use

    Portal or Process.

    load-portal-data used to import Portal-specific elements.

    bvtool multi-purpose utility to perform a variety of tasks, including importing, updating, and

    deleting content or category information into your BroadVision content database.

    BroadVision Management Center tool to enter and edit information in the database and also

    create a personalized experience for your site visitors. The BroadVision Management Center is

    bundled with Portal and allows you to establish logic to select the content you would like todisplay to visitors of your site.

    Inline Publishing users may publish content directly by using the Portal site if they have been

    given permission to do so.

    LoadUsers

    The LoadUsers utility imports user information into your BroadVision visitor database. The utilityprocesses data contained in an XML file.

    See thePortal Administrator Guide for more details.

    load-portal-dataThe load-portal-data utility imports the following information into Portal:

    Use the utility to import and delete Portal information. For example, you might have a portal with acomplex information architecture with lots of channels, programs, and types of users. You can

    manage the information architecture online through the BroadVision Management Center.

    However, for bulk operations, you may find it useful to maintain the definitions for your

    information architecture in separate input files to the load-portal-data utility, and run the utility after

    you make modifications.

    For additional details about using load-portal-data, see thePortal Administrator Guide.

    Channels Display Templates

    Programs Blocks

    Qualifiers Page Types

    User Templates

  • 7/27/2019 BroadVision 8.2 Content Guide

    45/140

    Chapter 4 Tools and Uti l i t ies for Working with Content

    Content Management and Bulk Loading Tools

    Content Guide 45

    bvtool

    The bvtool utility is a multi-purpose tool that allows you to better maintain and manage content inthe database. For example, the bv-updater command allows you to load, update, and deletecontent and categories as well as perform other tasks, while the set-db command allows you to

    change the database settings for your BroadVision system. Additionally, you can deployconfiguration changes, display and set parameter values, and deploy an application using bvtool.

    The following utilities are described in this section:

    bv-updater on page 45

    set-db on page 45

    bv-xmldumper on page 45

    generate-schema (SchemaGenerator) on page 46

    bv-updater

    Thebv-updaterutility imports, updates, and deletes content information or category information

    into your BroadVision content database. The utility processes data contained in XML files. For

    example, you can use this utility to specify content database actions to insert rows, remove rows,

    update rows, or replace rows.

    For detailed instructions on using bv-updater, see bv-updater in the appendices.

    set-db

    The bvtool set-db command changes the database settings for your BroadVision system. Thesyntax is:

    bvtool set-db -user db-user-passwd db-password-database db-name -serverserver-name -url jdbc-url

    bv-xmldumper

    Use bvtool bv-xmldumper to perform a BroadVision content or category dump into XML files.You must provide:

    the full path to the configuration file (.txt)

    the full path to the XML data file into which you are dumping the data

    For example: -c yourPath/config_file -f yourPath/xml_data_file

    Inside the config file, the following variables may be set:

    log= (the default log file is DumpMain.log in the current directory)

    lc_number=_ (locale to parse the number from XML file)

    lc_datetime=_ (locale to parse the datetime from XML file)

    The machine default locale will be used if you do not specify the above locales.

  • 7/27/2019 BroadVision 8.2 Content Guide

    46/140

    46 BroadVision, Inc.

    Chapter 4 Tools and Uti l i t ies for Working with Content

    Content Management and Bulk Loading Tools

    generate-schema (SchemaGenerator)

    The generate-schema command is used to create SQL scripts from your XML schema files. TheSQL scripts can then be executed to create or update tables in your database.

    Use bvtool generate-schema to generate SQL files for content types.

    IMPORTANT: You cannot alter existing column types usinggenerate-schema.

    First, set BroadVision environment variables by executing, or sourcing, the

    install_dir/bin/setEnv utility for your operating system. Then execute bvtool with thefollowing syntax:

    bvtool generate-schema -schema xmlFile -script sqlFile -vendor dbVendor[-noextension]

    or

    bvtool generate-schema -propFile propertiesFile -vendor dbVendor[-noextension]

    -schema xmlFile The name of the schema XML file to use as input.

    -script sqlFile The name of the SQL file to generate.

    -vendor dbVendor The name of your database vendor: oracle, microsoft, mysql, informix, db2,hsqldb.

    -noextension Generates the SQL for an entire content type or profile. Use this option whencreating new content types. Do not use this option when adding attributes to an existing content type

    or profile table.

    -propFile propertiesFile A properties file with entries formatted as follows:

    xmlFilePath=sqlFilePath

    Use this option to generate SQL files for multiple XML schemas at one time. See

    spec_list1.properties in the install_dir/setup/bvf directory for an example of aproperties file.

    This example creates an SQL script for adding attributes to the Editorial content type for an Oracle

    database:

    bvtool generate-schema -schema edit_spec.xml -script edit_spec.sql-vendor oracle

    This example creates an SQL script for a new attribute type for an Informix database. See

    cnt_type.xml in the install_dir/setup/install/srcxml.us directory for an example of the

    file syntax:bvtool generate-schema -schema my_custom_type.xml-script my_custom_type.sql -vendor informix -noextension

  • 7/27/2019 BroadVision 8.2 Content Guide

    47/140

    Chapter 4 Tools and Uti l i t ies for Working with Content

    Content Management and Bulk Loading Tools

    Content Guide 47

    BroadVision Management Center

    The BroadVision Management Center is bundled with Portal. It provides a way to manage

    information in a portal application. You can enter and edit information in the database and also

    create a personalized experience for your site visitors. The BroadVision Management Center allows

    you to establish logic to select the content you want to display to visitors of your site.

    Tasks are divided into nine groups that correspond to nine tabbed pages, depending upon thelicenses you have:

    Tab Purpose

    Service Administer caches, microsite templates, and single-sign on for your service. To use this

    tab, you need the Service Administrator role.

    Users Manage user templates, groups of users, and user profiles for site visitors. To use this

    tab, you need the User Administrator or Organization Administrator role.

    Navigation Manage the navigation and presentation of a portal site, including channels, programs,

    portlets, and page types. To use this tab, you need the Navigation Administrator or

    Channel Administrator role.

    Process Configure process packs, models, or instances. Reassign or delegate tasks and roles.

    To use this tab, you need the Process Administrator, Pack Deployer, or Process

    Manager role.

    Personalization Manage qualifiers, segments, rule sets, email notifications, and alert notifications. To

    use this tab, you need the Personalization Administrator role.

    Content Categorize and create content, manage document types, define content roles, and

    assign users and groups to content roles. To use this tab to perform these types of

    tasks, you need the Content Administrator role.

  • 7/27/2019 BroadVision 8.2 Content Guide

    48/140

    48 BroadVision, Inc.

    Chapter 4 Tools and Uti l i t ies for Working with Content

    Content Management and Bulk Loading Tools

    Your administrator performs the tasks associated with content in the BroadVision Management

    Center. For information, refer to thePortal Administrator Guide.

    Inline Publishing

    If a Portal administrator grants permissions, a user may publish content directly by using the Portal

    site. BroadVision Portal sites support publishing four kinds of content: editorials, advertisements,

    URLs, and products. To learn about the publishing process for each of these types, consult the

    Portal User Guide.

    My Work View tasks that are assigned to you and process instances that you created.

    Staging Ship and receive content, view orders, set staging preferences.

    Orders Perform searches for orders, create Process instances, confirm orders, create order

    flows.

    Tab Purpose

  • 7/27/2019 BroadVision 8.2 Content Guide

    49/140

    Chapter 4 Tools and Uti l i t ies for Working with Content

    Other Tools

    Content Guide 49

    Other Tools

    Besides the tools used to bulk-load content into your BroadVision database, you should understand

    how to use other utilities that assist you when working with content. For additional information

    about the tools, see the guides referred to in each respective section.

    bvant

    The bvant utility is a BroadVision Java-based utility that uses XML build files to:

    manually set up installed BroadVision software

    pre-compile JSPs in a .war file

    generate XSD schemas from database tables

    generate publishing processes for content types

    The primary reasons for using bvant are to: exercise more control over the deployment of process packs

    debug deployment or setup by displaying more information than is provided by other utilities

    re-compile the BroadVision Management Center and sample application JSPs to shorten the

    application server start-up time

    See theBroadVision 8.2 Installation Guide andProcess Services Developer Guide for more

    information.

    generate_xsd

    You can use the generate_xsd.xml file with the bvant command to automatically generate anXSD schema file based on a SQL database table or BroadVision content type that you specify.

    bv-param.xml

    To configure the content types that appear in the BroadVision Management Center when managing

    programs, you use the bv.portal.tool.content.PROGRAM_CONTENT_TYPES parameter in theinstall_dir/baseSuites/bv_services/modules/svc_clt/bv-param.xml file. Use bvtoolset-param to update the parameter.

    Also use this utility to configure the column to use the display name for content items.

    See Configuring Content Types on page 94 for additional information.

    ext_cnt_config.xml

    Use this utility to specify a new data source. Located in config_dir/appConfig/bv_framework.

  • 7/27/2019 BroadVision 8.2 Content Guide

    50/140

    50 BroadVision, Inc.

    Chapter 4 Tools and Uti l i t ies for Working with Content

    Other Tools

  • 7/27/2019 BroadVision 8.2 Content Guide

    51/140

    Content Guide 51

    5 Using the API

    Most often, your development effort