This document was uploaded by user and they confirmed that they have the permission to share
it. If you are author or own the copyright of this book, please report to us by using this DMCA
report form. Report DMCA
Overview
Download & View Content Management as PDF for free.
Restricted Rights Legend This software is protected by copyright, and may be protected by patent laws. No copying or other use of this software is permitted unless you have entered into a license agreement with BEA authorizing such use. This document is protected by copyright and may not be copied photocopied, reproduced, translated, or reduced to any electronic medium or machine readable form, in whole or in part, without prior consent, in writing, from BEA Systems, Inc.
Trademarks and Service Marks
A
Information in this document is subject to change without notice and does not represent a commitment on the part of BEA Systems. THE DOCUMENTATION IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. FURTHER, BEA SYSTEMS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY REPRESENTATIONS REGARDING THE USE, OR THE RESULTS OF THE USE, OF THE DOCUMENT IN TERMS OF CORRECTNESS, ACCURACY, RELIABILITY, OR OTHERWISE.
Most portals incorporate content into their applications. Content can be anything from an advertisements (graphic files), documents (word processor files), or animation files. Content that you use in your portal is typically stored in a content repository which is connected to your portal. Developers and administrators then have access to content and can determine how and when it is viewed by portal users. This chapter includes the following sections: Introducing Content Management
z
Content Management in the Portal Life Cycle
B
z
Introducing Content Management BEA WebLogic Portal’s content management system allows you to store content, track its progress, and incorporate content in your portal applications. It provides an easy integration between creating content and delivering that content to your users. Content creators can use WebLogic Portal’s repositories to create content and portal developers use the content API and JSP tools to deliver content to portal visitors. This section contains the following topics: z
Storing Content
z
Creating Content
z
Using Content When Developing Your Portal
BEA WebLogic Portal Content Management Guide
1-1
z
Securing Content
Storing Content
ET
A
You can store content in the provided BEA repository or use a third-party repository. Either method requires you to connect your repository to the Virtual Content Repository within the Portal Administration Console. The Virtual Content Repository allows content to be accessed by the WebLogic Portal content tools such as the federated API, JSP tags, and content selectors. In order for a repository’s content to be used within a WebLogic Portal, it must be connected to the Virtual Content Repository.
B
When using a BEA repository, you can set up the repository according to your organization’s content needs. Within a BEA repository, you can: z
Create content workflows to route content to appropriate users during the creation process.
z
Create content types that define how content is stored and what metadata is associated with it.
z
Create a hierarchy of folders to make it easier to categorize your content.
Creating Content Content creators can add content to your BEA repository through the Portal Administration Console which provides access to your content repositories. The BEA repository provides automatic versioning, a default content workflow, and the ability to search for repository content using keywords.
1-2
BEA WebLogic Portal Content Management Guide
In tr od uci ng Con ten t Ma na ge ment
Content creators also have user-specific workspaces that track content while it is in progress. <screenshot here> If you chose to use a third-party repository, you may either use Virtual Content Repository to create or modify content or rely on the native tools for your repository, depending on your implementation.
Using Content When Developing Your Portal Portal developers deliver content to your portal users using a variety of WebLogic Portal development tools. These include the content API, JSP tags, and personalization tools that use rules to personalize content delivery for certain portal users. For more information, see Chapter 10, “Delivering Content Within Your Portal.”
A
WebLogic Portal’s content management system allows developers to: Display content with JSP tags, HTML or controls.
z
Programmatically access and display content using the WebLogic Portal API.
z
Search across multiple repositories to retrieve content.
z
Personalize content delivery by using WebLogic Portal’s wide variety of personalization tools. Content selectors, placeholders, and campaigns deliver dynamic, personalized content to user based upon personalization rules or conditions. For more information about personalization, see the WebLogic Portal Interaction Guide.
ET
z
B
Securing Content
You can ensure the security of your portal content using Delegated Administration and Visitor Entitlements. You can use Delegated Administration to determine which users can add or modify content within the repository. Visitor Entitlements are used to allow or disallow portal visitors to view portal content. With Delegated Administration, you can control how content creators interact with the repository by associating Delegated Administration roles that are used to determine whether to grant or deny access to content, and to determine which capabilities on those content are available to the administrator, such as deleting or updating. Visitor Entitlements determine if portal visitors can view content when it is displayed within your portal. By using Visitor Entitlements, portal administrators can determine which portal visitors view what content and under what conditions.
BEA WebLogic Portal Content Management Guide
1-3
For more information about Delegated Administration and Visitor Entitlements, see the WebLogic Portal Security Guide.
Content Management in the Portal Life Cycle The tasks in this guide are organized according to the portal life cycle. For more information about the portal life cycle, see the BEA WebLogic Portal Overview Guide. The portal life cycle contains four phases: architecture, development, staging, and production. Figure 1-1 shows how content management fits into the portal life cycle. Figure 1-1 How Content Management Fits into the Four Phases of the Life Cycle
B
Create and modify content, and update parameters for personalized content.
ET
A
Choose, configure, and organize your content repository.
Use repository tools to add content and use Workshop for WebLogic to position content within your portal.
Test your portal content.
Architecture During the architecture phase, you determine which type of content repository you will use. You also plan the taxonomy of your repository and the content types you will use to organize your content. You also plan out propogation strategies and determine which content tools you will use. The chapters describing tasks within the architecture phase are: z
1-4
Chapter 2, “Planning Your Content Management System Architecture”
BEA WebLogic Portal Content Management Guide
Cont en t Ma na geme nt in t he Por t al Lif e Cyc le
z
Chapter 3, “Configuring BEA Repositories”
z
Chapter 4, “Using Content Folders in Your BEA Repository”
z
Chapter 5, “Using Content Workflows in Your BEA Repository”
z
Chapter 6, “Using Content Types in Your BEA Repository”
z
Chapter 7, “Using WebDAV with Your BEA Repository”
z
Chapter 8, “Connecting to a Third-Party Repository”
Development
A
During the development phase, content creators create content and publish content to the repository for use within your portal. Content creators use the Portal Administration Console to create and manage content. Using BEA Workshop for WebLogic Platform, portal developers use content selectors, placeholders, JSP tags, HTML and the content API to retrieve and display content.
ET
The chapters describing tasks within the development phase: z
Chapter 9, “Creating Content within a BEA Repository”
z
Chapter 10, “Delivering Content Within Your Portal”
Staging
B
The staging phase is when test your portal and verify that developed content is appearing correctly. You might move iteratively between developing and then testing what you created. If you return to the development phase and make changes, you must redeploy your portal application to see the changes in the staging phase. z
Chapter 11, “Staging Your Content Management System”
Production After you test your portal application in the staging phase, use the production phase to perfect your production environment. In the production phase, for example, you might use the Portal Administration Console to make changes to your portal application, such as adjusting content caches or updating published content files. You can also modify content selectors and start using campaigns, see the WebLogic Portal Interaction Management Guide.
BEA WebLogic Portal Content Management Guide
1-5
Chapter 12, “Managing Content”
z
Chapter 13, “Managing Content Security”
B
ET
A
z
1-6
BEA WebLogic Portal Content Management Guide
Architecture
A
Part I
ET
This section contains information to help you complete the architecture phase of deploying and using WebLogic Portal’s content management features. Your content management system consists of a repository and the content types you use to organize it. Choosing the type of repository you will use and defining the types of content that you will use should be done before adding content to your repository and delivering that content to your portal users. Part I contains instructions for tasks you should accomplish in the architecture phase. When you finish the architecture phase, you can proceed to the other phases.
B
For a description of the architecture phase of the portal life cycle, see the BEA WebLogic Portal Overview Guide. The portal life cycle is shown in the following graphic:
BEA WebLogic Portal Content Management Guide
A
Part I includes the following chapters:
Chapter 2, “Planning Your Content Management System Architecture”
z
Chapter 3, “Configuring BEA Repositories”
z
Chapter 4, “Using Content Folders in Your BEA Repository”
z
Chapter 5, “Using Content Workflows in Your BEA Repository”
z
Chapter 6, “Using Content Types in Your BEA Repository”
z
Chapter 7, “Using WebDAV with Your BEA Repository”
z
Chapter 8, “Connecting to a Third-Party Repository”
B
ET
z
CHAPTER
2
A
Planning Your Content Management System Architecture
Before you can begin to develop content and incorporate it within your portal application, you must set up your content repository and organize it so content creators and portal developers can access and search content efficiently, according to parameters you set.
ET
When you plan how you will use your content management system, you will consider: z
The type of repository you want to use
z
How you will organize your content repository
z
The content workflow will content creators use when creating content
B
This chapter includes the following sections: z
Connecting Repositories to the Virtual Content Repository
z
Choosing a Repository
z
Organizing Your Repository
z
Securing your Content Repository
BEA WebLogic Portal Content Management Guide
2-1
Connecting Repositories to the Virtual Content Repository Regardless of how you store your content, all repositories must be connected to WebLogic Portal’s Virtual Content Repository. The Virtual Content Repository allows content creators to access repositories using the content tools in the Portal Administration Console. It also connects your repositories to your WebLogic portal application.
A
The Virtual Content Repository automatically includes a BEA repository for you to use. It also integrates with leading enterprise management systems. Content creators access the Virtual Content Repository through the Portal Administration Console, see Figure 2-1. If you are using a third-party repository, whether or not you can modify content using the Virtual Content Repository depends on your implementation.
B
ET
Figure 2-1 Viewing Repositories connected to the Virtual Content Repository
Choosing a Repository Choosing a repository type depends on how you want to store your content and how much content you need to store. This section details the types of repositories you can use and the features of each. You can use either a BEA repository or a third-party repository with your portal. If you decide to use the BEA repository, there are two types of BEA repositories from which to choose: the default database repository and a filesystem repository.
2-2
BEA WebLogic Portal Content Management Guide
Choo sing a Reposi to ry
This section discusses the following topics: z
Storing Content with a BEA Database Repository
z
Storing Content with a BEA Filesystem Repository
z
Storing Content with a Third-Party Repository
Storing Content with a BEA Database Repository The default BEA repository comes pre-configured for use within your portal environment. It includes WebLogic Portal’s library services which provides content workflows and versioning. The default configuration uses tables in the portal database to store metadata, published content, and content versions.
A
Storing Content with a BEA Filesystem Repository
ET
Filesystem repositories allow you to use a filesystem in tandem with the BEA database to store your content. When you use a filesystem repository, content binary files are stored in the filesystem you designate, while the metadata associated with the files (content type information) is stored in the a database. This can increase performance for both data retrieval within your portal and bulkloading large amounts of data (and its associated metadata) to a filesystem repository.
B
When you use a filesystem repository, it is important for content creators to work with content using the Portal Administration Console. If you manipulate content within the filesystem directly, data will be out of sync and behave unpredictably. When you are using a filesystem repository with library services, non-published versions of content are stored in the BEA database. This provides an additional safeguard if the filesystem gets damaged or removed. For more information about using a filesystem repository, see Chapter 3, “Configuring BEA Repositories.”
Storing Content with a Third-Party Repository You can use third-party content repositories with WebLogic Portal. Some third-party content management systems provide connection interfaces for WebLogic Portal. BEA provides a set of Java classes called the WebLogic Portal content Service Provider Interface (SPI), which many enterprise content management (ECM) vendors have implemented. If the BEA WebLogic Portal Content Management Guide
2-3
vendor of your ECM system has implemented the SPI, then adding your repository to the Virtual Content Repository will simply require a configuration within the Portal Administration Tools. However, if your vendor has not implemented BEA's SPI, then you can use the instructions in Chapter 8, “Connecting to a Third-Party Repository,” to do so yourself. When you use a third-party repository to store content, you also continue to use that repository’s content tools to add and modify content or you may be able to use BEA's content tools, depending on the implementation.
Organizing Your Repository
A
When you use a BEA repository, you need to decide how to logically organize your content to ensure that it is easily retrieved, managed and used within your portal. You set up a hierarchy of content folders and also create content types that define the content properties that content creators use when defining content.
ET
Portal developers can use the metadata (properties) associated with content types to retrieve content files to display within your portal. When you set up content types, you want to be sure to include properties that are useful when retrieving and displaying content, such as the size of an image or whether it is click-able. Another example may be an “end date” property for content so developers can query for content that is still valid for use. You can also create and assign content workflows to content to ensure that content creators use a specific process when adding and publishing content to your portal.
B
For more information about organizing your repository, see Chapter 4, “Organizing Content within a BEA Repository.”
Securing your Content Repository Before starting to use a content repository, you can set up the users, roles, and privileges you want to use in order to dictate who can add, edit, or delete content within the repository. For example, you use Delegated Administration to create administration roles for users and groups that will create content or maintain your repository. You can set up a role that is used for publishing content and all users that are assigned that role can publish content to your portal. You may also want a separate role for creating content types or new folders. Visitor Entitlements allow a way for portal administrators to limit what content portal users can see. For example, within a portal used for human resources, you can entitle content published for managers so that only a user with a manager role can view that content.
2-4
BEA WebLogic Portal Content Management Guide
Se c ur i n g yo ur C o n te nt R e p o s i to ry
Users and roles are used when you set up Delegated Administration as well as Visitor Entitlements. For more information about setting up security for the Virtual Content Repository, see Chapter 13, “Managing Content Security.”
B
ET
A
For more information about setting up users and groups, see the WebLogic Portal User Management Guide.
BEA WebLogic Portal Content Management Guide
2-5
A ET B 2-6
BEA WebLogic Portal Content Management Guide
CHAPTER
3
A
Configuring BEA Repositories
WebLogic Portal installs with a BEA repository that is pre-configured for use with your portal application. It includes WebLogic Portal’s library services which provide content management features such as content workflow and versioning.
ET
You can use the pre-configured repository, and add additional repositories to suit your needs. This chapter includes the following sections: Working with BEA Repositories
z
Working with a Default BEA Repository
z
Working with a BEA Filesystem Repository
z
Configuring Multiple BEA Repositories
B
z
Working with BEA Repositories When working with BEA repositories, you can choose the default database-based repository or use a filesystem repository. Both allow you to use BEA’s robust library services to manage your content. Table 3-1 lists the features and advantages of both types.
BEA WebLogic Portal Content Management Guide
3-1
Working with a Default BEA Repository Table 3-1 Repository Types Features
BEA Repository (default)
•
Pre-configured out-of-the-box.
•
Robust content management features built-in such as versioning and content workflows.
•
Stores all content and metadata in the portal database. No additional configuration necessary, unless you want to use multiple repositories.
•
Stores published content in a filesystem.
•
Robust content management features built-in such as versioning and content workflows.
•
Can have higher performance than a default BEA repository.
•
Can be used with legacy content that is stored in a filesystem.
BEA Filesystem Repository
A
Repository
ET
Note: Does not support transactions as a database-based repository does. If your network connection goes down, data could be lost.
The default BEA repository comes pre-configured for your portal application. Before using your BEA repository, you should enable library services and add any custom properties needed for your environment.
B
Note: Library services allow you to version content and use workflows to manage the content creation process, see “Creating Content within a BEA Repository” on page 9-1 for more information about library services. This section discusses the following topics: z
Enabling Library Services for a BEA Repository
z
Modifying a BEA Repository
Enabling Library Services for a BEA Repository WebLogic Portal’s library services allow you to version content and use content workflows to route content through an approval and publishing process. If you are using a BEA repository, you should enable library services before organizing your repository. Enabling library services gives you access to content workflows and versioning.
3-2
BEA WebLogic Portal Content Management Guide
W or kin g wit h a BE A File system Reposi to ry
Note: Once you have enabled library services for a repository, they cannot be disabled. To do this: 1. Select Manage | Repositories to view the Repositories tree. 2. Click the BEA repository for which you want to enable library services. 3. In the Summary tab, click Library Services to view the Library Services dialog. 4. Mark the Library Services Enabled check box and click Save.
Modifying a BEA Repository
Table 3-2 BEA Repository Properties
A
You can add custom properties or additional BEA properties to your repository to match your configuration.
Definition
streaming_enabled
Information not available for beta.
cm_fileSystem_webpath
Information not available for beta.
webdav_enabled
Information not available for beta.
B
WEBDAV_TYPE
ET
Property
Provides the name of the content type to use when adding content to the repository when using WebDAV (Windows Explorer).
Working with a BEA Filesystem Repository Filesystem repositories allow you to use a filesystem in tandem with the BEA database to store your content. When you use a filesystem repository, content binary files are stored in the filesystem you designate, while the metadata associated with the files (content type information) is stored in the BEA database. Typically, this increases performance for data retrieval within your portal to a filesystem repository. As with all types of BEA repositories, non-published content is stored in the content database in separate tablespace from published content. This provides an additional safeguard if the filesystem gets damaged or removed. BEA WebLogic Portal Content Management Guide
3-3
This section discusses the following topics: z
BEA Filesystem Repository Considerations
z
Configuring a Filesystem Repository
BEA Filesystem Repository Considerations When you use a filesystem repository, there are additional requirements when working with both content types and associated content. This is because the repository design must match the associated filesystem.
z
Content Requirements
z
Configuring a Filesystem Repository
ET
Content Requirements
A
This section discusses the following topics:
When you use a filesystem repository, you must organize and manage content according to the same requirements you would have if storing content in a filesystem. For example, creating a folder in a filesystem repository creates a folder in the shared directory. For this reason, there are content requirements that help maintain the integrity of the repository and its associated filesystem. In a filesystem repository, you cannot associate folders with content types.
z
Content must have the same name as the binary filenames are restricted to the names of the binary file associated with it.
z
You must always include the file extension when you name or rename content.
B
z
z
Configuring a Filesystem Repository When you configure a repository within the Virtual Content Repository, you are creating a connection to the repository's datastore. In the case of a filesystem repository, the datastore is a filesystem on your network. When you add filesystem repository, you also need to add custom properties that direct WebLogic Portal to that filesystem.
3-4
BEA WebLogic Portal Content Management Guide
W or kin g wit h a BE A File system Reposi to ry
Before You Begin The recommended way to implement a filesystem repository is to modify the properties of the default BEA repository. By default, the BEA repository class remains deployed even after you modify the connection information. This is intended because the BEA repository classes (com.bea.content.spi.internal.ExtendedRepositoryImpl) are used to store metadata in the database.
Creating a Connection to the New Filesystem Repository Using the Portal Administration Console, configure a connection to the new repository. You will do this by editing the existing connection. If you want to create an additional repository, see “Configuring Multiple BEA Repositories” on page 3-6.
A
1. Select Content > Content Management from the navigation menu. 2. View the Manage | Repositories tree by selecting Repositories. Figure 3-1 shows an example of selecting the Repositories area.
B
ET
Figure 3-1 Manage Repositories Tree within the Virtual Content Repository Select Repositories to work with a repository in the Virtual Content Repository.
3. In the Manage | Repositories tree, click the existing BEA repository to view the Repository Summary. 4. Click Repository Details.
BEA WebLogic Portal Content Management Guide
3-5
5. In the Repository Details dialog box, edit the connection class to be the following: com.bea.content.spi.internal.FileSystemRepositoryImpl 6. Click Save. 7. In the Properties area, click Add Property. a. In the Name field, enter cm_fileSystem_path. b. In the Value field, enter the path to the filesystem that contains your content. For example: /home/myData. z
Be sure that the your portal application has network access to your filesystem.
c. Click Save.
To add this property, click Add Property.
A
8. If your filesystem is exposed using a web server, you should also set a cm_fileSystem_webpath property. This can significantly improve performance.
ET
a. In the Key field, type cm_fileSystem_webpath.
b. In the Value field, enter the URL of your filesystem.
Note: For example, your cm_fileSystem_path could be set to /home/myData but the same path could be referred externally as http://mydomain.com/data/myData which can be set using the cm_fileSystem_webpath property.
B
9. Click Create.
Caution: Do not set the STREAMING_ENABLED property for a filesystem repository.
Configuring Multiple BEA Repositories You can create multiple content repositories within the Virtual Content Repository to meet your unique business needs. For example, if you need a physical separation of your content data from your portal application data then you can create multiple BEA repositories. You must be working within an XA domain to effectively use multiple repositories, if using Library Services. Note: For large projects with several thousand content items, you can use separate database instances and minimize changes done in the production environment.
3-6
BEA WebLogic Portal Content Management Guide
Configuring Multipl e BEA Reposi to ri es
This process has three steps: z
Create Database Objects for the New Repository
z
Connect the New Repository to the Server
z
Connect the New BEA Repository to the Virtual Content Repository
Create Database Objects for the New Repository In this step, you create database objects for your additional content management database. 1. For Oracle or DB2 databases, create a new database user for your additional content management database. For SQL Server or Sybase, create a new database for your additional content management database objects.
z
ET
A
BEA provides sample scripts which can be copied and used to define the database resources that must be configured prior to running any .sql scripts. For each repository, a separate database/database user must be predefined according to the appropriate sample script, see the WebLogic Portal Database Administration Guide for more details. For Oracle, BEA provides the following sample scripts: WebLogic_HOME/portal/db/oracle/admin/create_tablespaces.sql and create_users.sql. z
For SQL Server and Sybase, BEA provides the following sample scripts: – For SQL Server:
– For Sybase: WebLogic_HOME/portal/db/sybase/admin/create_devices.sql and create_database.sql
Note: For both SQL Server and Sybase, the WEBLOGIC_INDEX file group must be defined for indexes created via the database-specific cm_create_tables.sql and cm_create_indexes.sql scripts to execute without errors. z
For DB2, BEA provides the following sample scripts: WebLogic_HOME/portal/db/db2/admin/create_tablespaces.sql and create_users.sql
Note: PointBase is not recommended for a production repository. 2. Connect to the database as the database user created in Step 1.
BEA WebLogic Portal Content Management Guide
3-7
3. Navigate to the appropriate database directory based on your environment. Depending on your database vendor, the path is: Oracle: WebLogic_HOME/portal/db/oracle/ SQL Server: WebLogic_HOME/portal/db/sql_server/ Sybase: WebLogic_HOME/portal/db/sybase/ DB2: WebLogic_HOME/portal/db/db2/ 4. Run the following scripts to create content management database objects: – cm_create_tables.sql – cm_create_fkeys.sql – cm_create_indexes.sql
A
– cm_create_triggers.sql
5. Run the following scripts from the directory WebLogic_HOME/portal/db/data/required: – sample_cm_insert_system_data.sql
ET
You can now connect your repository to WebLogic Server.
Connect the New Repository to the Server To connect the new repository to the server, you need to configure the WebLogic Server to point to the new repository.
B
To do this:
1. Start WebLogic Server for your domain, and log in to the console. 2. In the Domain Structure area, go to Services > JDBC > Data Sources. Figure 3-2 shows an example of the Summary of JDBC Data Sources page.
3-8
BEA WebLogic Portal Content Management Guide
Configuring Multipl e BEA Reposi to ri es
ET
A
Figure 3-2 Summary of JDBC Data Sources in the WebLogic Server Console
3. Click Lock & Edit to ensure that the server is locked before proceeding.
B
4. In the Data Sources table, click New to view the JDBC Data Source Properties page. Figure 3-3 shows an example of the JDBC Data Source Properties page.
BEA WebLogic Portal Content Management Guide
3-9
ET
A
Figure 3-3 Create New JDBC Data Source in the WebLogic Server Console
5. In the JDBC Data Source Properties page, complete the fields using Table 3-3. Table 3-3 JDBC Data Source Properties
Name JNDI Name
Input
B
Field Name
Enter the name of your new JDBC Data Source. Use contentDataSource as the JNDI name for your new repository data source.
Database Type
Use the drop-down list to select the database type that corresponds with your repository.
Database Driver
Choose a database driver. If using library services, you must use an XA driver.
6. Click Next to view the Transaction Options page. 7. In the Transaction Options page, select any transactions options you require. If you selected an XA driver, there are no transaction options to select. 3-10
BEA WebLogic Portal Content Management Guide
Configuring Multipl e BEA Reposi to ri es
Note: If you want to use library services, you must select an XA driver. 8. Click Next to view the Connection Properties page. Figure 3-4 provides an example of the JDBC Data Source Connection Properties page.
ET
A
Figure 3-4 JDBC Data Source Connection Properties Page in the WebLogic Server Console
B
9. Within the Connection Properties page, use the information in Table 3-4 to complete the dialog fields. Table 3-4 Connection Properties Connection Property
Description
Database Name
The name of the database you are using.
Host Name
Enter the host name used for the database you are using.
Port
Enter the port number of the port hosting your database.
Database User Name
Enter the database user name for the database login required for this database.
10. Click Next to view the Test Database Configuration page. 11. Optionally, click Test Configuration. If the database test is successful, click Finish. 12. Click Finish. 13. When finished adding your data source, click Activate Changes to update the server.
A
Connect the New BEA Repository to the Virtual Content Repository
ET
After you have configured the new repository, you’ll need to connect it to the Virtual Content Repository. Use the Portal Administration Console to connect to a new repository. 1. Open the Portal Administration Console.
2. Select Content > Content Management from the navigation menu at the top of the console.
B
3. Select Manage | Repositories.
4. In the Manage | Repositories tree, click the Virtual Content Repository. 5. On the Browse tab, click Add Repository Connection. Figure 3-5 provides an example of the Browse tab within the Repositories area.
3-12
BEA WebLogic Portal Content Management Guide
Configuring Multipl e BEA Reposi to ri es
A
Figure 3-5 Browse Tab within the Manage Repositories Window
6. In the Add Repository Connection dialog, provide the following information:
Field
Description
Repository Name Connection Class
The name you give your new repository. For example: MyNewRepository com.bea.content.spi.internal.RepositoryImpl
The username field is only used when connecting to a third-party repository. When configuring a BEA repository, you can leave this blank.
B
Username
Password
ET
Table 3-5 Repository Connection Information
The password field is only used when connecting to a third-party repository. When configuring a BEA repository, you can leave this blank
Retype Password
Leave this field blank.
Enable Library Services
Unmark this checkbox if you do not want to use library services with this repository.
7. Click Save.
BEA WebLogic Portal Content Management Guide
3-13
B
ET
A
8. Within the Repositories area, click the repository you just created to verify that it has been created and view its Repository Summary.
3-14
BEA WebLogic Portal Content Management Guide
CHAPTER
4
A
Using Content Folders in Your BEA Repository
Within your BEA repository, you can use folders and subfolders to organize content into logical categories. In addition, you can associate folders with content workflows and content types. You can also apply security policies to folders.
ET
Folders allow you to organize your repository in the following ways: Maintain categories for different areas of content. For example, you can create folders per department such as human resources, ad campaigns, and video content.
z
Manage your content creation process. You can associate a folder with a content workflow. If a folder is associated with a workflow, all content stored in that folder automatically follows the same process. For more information about content workflows, see “Using Content Workflows in Your BEA Repository” on page 5-1.
z
Secure your content files. You can add administration roles to folders that allow or disallow users to access to content folders in your repository, using Delegated Administration. Visitor Entitlements can also be applied at the folder level. For more information about securing content, see Chapter 13, “Managing Content Security.”
B
z
The BEA repository allows you to use these features at both the folder level and the file level. For example, you can apply security policies on the folders in your repository and maintain workflows and content types at the content level. <SCREENSHOT> This chapter includes the following sections: z
Creating a Folder
BEA WebLogic Portal Content Management Guide
4-1
z
Moving a Folder
Creating a Folder You can create folders to help organize your content. You can choose to associate the folders you create with content workflows and/or content types. When a content workflow is associated with a content folder, all content within that folder follows the workflow. If content within the folder uses a content type that is also associated with a folder, the content type workflow overrides the folder workflow.
A
When a content type is associated with a folder, content added to that folder uses that content type. This is particularly helpful when if you have enabled WebDAV for your repository. WebDAV enables content creators to add content to the repository via Internet Explorer and other Windows applications, for more information see, <x-ref>. Note: If you are using a filesystem repository, you cannot associate a folder with content type. 1. Select Manage | Content in the resource tree.
ET
2. Select the repository to which you want to add a folder.
B
3. In the Browse area, click Add Folder to view the Add Folder dialog.
4. In the Add Folder dialog, type a name for your folder. 5. Optionally, associate a content workflow with the folder by selecting one from the Workflow drop-down list. 6. Optionally, click Advanced Options to associate a content type with this folder. Note: You can only associate a folder with a content type when you create a new folder. After you create a folder, it cannot be associated with a content type.
4-2
BEA WebLogic Portal Content Management Guide
7. Click Add when finished.
Moving a Folder After you have created the folders you need, you can re-arrange them within your repository if necessary. Moving a folder also moves all content within that folder. 1. Within the repository, select the folder you want to move. 2. After selecting the folder, click Move in the right tool bar. 3. The Move Content dialog displays. Click OK.
5. Click Paste in the right tool bar.
ET
A
4. Select the location to which you want to move the folder (for example, under an existing folder or at the repository root).
6. The Paste Content dialog displays. Click OK.
Deleting a Folder More to come.
B
Renaming a Folder more to come.
BEA WebLogic Portal Content Management Guide
4-3
A ET B 4-4
BEA WebLogic Portal Content Management Guide
CHAPTER
5
A
Using Content Workflows in Your BEA Repository
ET
Content workflows enable content creators to manage content using a defined publication process. BEA repositories come with one default workflow for you to use. You may want to create additional content workflows and customize content workflows to suit your business needs. For example, your content workflow can dictate how extensive the review process should be before content can be published in the portal. You can also customize a content workflow so that when content is published, e-mail is sent to an administrator.
B
Content workflows can be associated with content folders so that all content that resides in that folder follows the same publishing process. You can also associate content workflows with content types, which means that all content associated with that content type follows the same content workflow. Although you can add new workflows to your repository at any time, it is helpful to create workflows before you create your content types. The BEA repository includes a default content workflow that you can use. You can also create new content workflows or customize existing ones. This chapter includes the following sections: z
Working with Content Workflows Content workflows are XML files that store process information. Once these files are added to your repository, you can associate their defined workflow with content. You create and add content workflows by doing the following: 1. Create a content workflow document. This document is an XML document based on the content workflow schema that is used to define a content workflow for your repository. 2. Add the content workflow document to your repository and give it a name. After the content workflow document is added to your repository, it is available to associate with content. 3. When creating content, content folders, or content types, you can associate the named content workflow with the item.
ET
This section discusses the following topics:
A
4. When content creators add content that uses a content type, the content they create must move through the associated workflow. For example, Draft > Ready for Review > Published > Retired.
z
Using the Default Content Workflow
z
XML Elements of a Content Workflow Document
Using the Default Content Workflow
B
WebLogic Portal's content workflow includes the following statuses: Draft, Ready for Review, Rejected, Published and Retired, see Figure 5-1.Through Delegated Administration, you can assign content management capabilities to different users and groups. The different Delegated Administration rights have access to different content status transitions within the workflow.
5-2
BEA WebLogic Portal Content Management Guide
W o r k i n g w i t h C o nt e n t Wor k f l o w s
Figure 5-1 Default Content Workflow Diagram
A
To fully take advantage of the content workflow, you must set up Delegated Administration roles that assign different capabilities to the users and groups on your content management team.
ET
For example, you can create a separate role to manage the publishing of content, as well as an editor role which can modify content yet not publish. Optionally, if you have a small content management team, you can assign all capabilities to a single role. Note: The capabilities you give to a role determine how a user role participates in the content workflow. For example, if a role is not granted Publish capabilities they cannot transition content to the Published or Retired status.
B
Table 5-1 describes the content workflow statuses and the Delegated Administration capabilities needed for each.
BEA WebLogic Portal Content Management Guide
5-3
Table 5-1 Default Content Workflow Status
Usage Notes
Delegated Administration Capabilities Required
Draft
The initial status for all content items.
Publish
This status is also used to indicate a content item that is a work in progress and not ready for review. Items in Draft status display in the My Assigned Items folder for all users whose role includes Edit capabilities. Ready for Approval
Marks a content item for ready for review and/or publication to the site.
Publish
A
Content items that have the status Ready for Approval can only be modified by content administrators who have publish rights.
ET
Items in Draft status display in the My Assigned Items folder for all users whose role includes Publish capabilities. Content items that have this status can be accessed by portal content selectors or placeholders according to their content type property values.
Publish
Rejected
The Rejected status is used to re-route a content item to the last known user or group to which it was assigned.
Publish
Retired
The final status of a content item.
B
Published
Publish
This status indicates that a content item is no longer in use. When a content item has a retired status, it cannot be retrieved by a content selector or a placeholder. Deleted
When you delete a content item, you delete all versions of that content item. Only administrators with Delete capabilities can delete content. Content cannot be retrieved by placeholders or content selectors after it is has been deleted.
Figure 5-1 displays the default content workflow document.
5-4
BEA WebLogic Portal Content Management Guide
Publish
W o r k i n g w i t h C o nt e n t Wor k f l o w s
XML Elements of a Content Workflow Document Table 5-2 lists the XML elements of a content workflow document and the considerations for each element.
A
Table 5-2 XML Elements of Workflow Document Usage
Indicates a workflow transition.
Indicates from which status the transition originates. is a child element of the transition element. •
ET
Workflow XML Element
If you want to include the capability to switch from one workflow to another after content has been created, you should include an undefined that allows the workflow to smoothly replace other workflows, if needed. To do this, you should define a set to -1.
B
The corresponding should be a status that is defined in your workflow. For example, you can set up the undefined to move to the first status in your workflow. In the default content workflow, the undefined transitions to a of 1 (Draft).
5-8
Indicates the ending status of the transition.
BEA WebLogic Portal Content Management Guide
W o r k i n g w i t h C o nt e n t Wor k f l o w s
Table 5-2 XML Elements of Workflow Document Workflow XML Element
Usage
Indicates what action takes place within this transition. Four default action classes are: •
com.bea.content.virtual.workflow.DraftAction
•
com.bea.content.virtual.workflow.ReadyAction
•
com.bea.content.virtual.workflow.PublishAction
•
com.bea.content.virutal.workflow.RetireAction
You can also create your own custom classes. If you use your own custom class, be sure you add them to the portal classpath.
Indicates what Delegated Administration capability is needed to complete the transition.
A
The syntax required for defining a Delegated Administration capability restraint is as follows: Create: can_create
•
View: can_view
•
Update: can_update
•
Delete: can_delete
•
Associate: can_associate
•
Publish: can_publish
ET
•
B
If you allow portal visitors to modify content, you can also create a content workflow that uses the Visitor Entitlement capabilities. The syntax for defining a Visitor Entitlement capability is as follows:
•
Create: can_visitor_create
•
View: can_visitor_view
•
Update: can_visitor_update
•
Delete: can_visitor_delete
•
Associate: can_visitor_associate
•
Publish: can_visitor_publish
Indicates what user role is required to complete the transition. Be aware that this role is hardcoded in the workflow document and must be manually changed if the role name changes.
BEA WebLogic Portal Content Management Guide
5-9
Table 5-2 XML Elements of Workflow Document Workflow XML Element
Usage
Indicates which status is the beginning status for new content.
<status>
Defines a status ID. The status ID must have both a display name and a number attributed to the status. Numbers 1-5 are reserved for the default workflow and cannot be redefined in custom workflows.
Creating Content Workflow Documents
A
Content workflow documents are written in XML and based on WebLogic Portal’s content workflow XML schema, as listed in Table 5-2. You create or edit a content workflow document using an XML editor. An XML editor reads a schema, as well as all the schemas the schema imports, and shows you elements and attributes that can be added to an XML document.
ET
You can customize your content workflow according to your needs. Some examples of customized content workflows include: z
Change the display names of the content workflow states to match your company’s process.
z
Simplify the content workflow to allow publishing content with fewer steps.
z
Extending the content workflow to allow for certain actions to take place when content changes states.
z
B
This section discusses the following topic:
Creating a Content Workflow Document
Creating a Content Workflow Document The easiest way to create a new content workflow document is to use the default content workflow and save it as a new document. Note: Become familiar with the content workflow schema before you create a content workflow document, “XML Elements of a Content Workflow Document” on page 5-8. To create a new content workflow document by modifying an existing document: 1. Select Manage | Repositories to view the repository tree.
5-10
BEA WebLogic Portal Content Management Guide
A dd ing Con te nt W or kfl ows to Yo ur Rep osi to ry
2. Navigate to the content workflow you want to copy. 3. In the Workflow File area, click Download File and choose to Save to Disk. This saves a copy of the content workflow document in the location you specify. 4. Make your modifications. For more information about the content workflow XML schema, see Table 5-2. 5. When finished, save the content workflow with a new name. Add the new workflow document to your repository, see “Adding Content Workflows to Your Repository” on page 5-11.
Adding Content Workflows to Your Repository
A
Content workflows must reside in your repository before you can associate them with content. You can do this using the Content Management part of the Portal Administration Console: 1. Select Manage | Repositories to view the repository tree.
ET
2. Select the repository to which you want to add a workflow. 3. Select Workflows to view the Workflows tab.
4. Click Add Workflow to view the Add Workflow dialog. 5. Enter a name for your new workflow in the Add Workflow dialog.
B
6. Optionally, enter a description for your workflow.
7. Use the Browse button to select the workflow XML file you want to add. 8. Click Save.
Workflows can be associated with content types or folders to define the process that content creators follow when adding content to a repository, see “Working with Content Workflows” on page 5-2. This section discusses the following topics: z
Assigning Content Workflows with Folders, Content Types and Content
z
Assigning a Content Workflow to a Content Type
z
Assigning a Content Workflow to a Content Item
BEA WebLogic Portal Content Management Guide
5-11
Assigning Content Workflows with Folders, Content Types and Content When a content workflow is associated with a content folder, all content within that folder follows the workflow. If content within the folder uses a content type that is also associated with a content workflow, the content type workflow overrides the folder workflow. You can also change the content workflow for an individual content item. If the content workflow is set at the content item-level, that content workflow overrides any other associated content workflow.
Assigning a Content Workflow to a Folder After you have added a content workflow to your repository, you can associate it with a content folder.
A
When a content workflow is associated with a content folder, all content within that folder follows the workflow. If content within the folder uses a content type that is also associated with a content workflow, the content type workflow overrides the folder workflow.
ET
You can choose to associate content workflows at the folder level, or only with content types, see “Assigning Content Workflows with Folders, Content Types and Content” on page 5-12 for more information. To associate a content workflow with a folder within the Virtual Content Repository: 1. Select Manage | Content to view the content tree.
B
2. Navigate to the folder to which you want to associate a content workflow. 3. Click the folder to view.
4. In the Summary tab, click Workflow to view the Switch Workflow dialog. 5. In the Switch Workflow dialog, select a content workflow from the drop-down list and add comments, if needed. 6. Click Update.
Assigning a Content Workflow to a Content Type Information not available for beta release.
5-12
BEA WebLogic Portal Content Management Guide
Ma na gin g Cont en t Wor kf lo ws
Assigning a Content Workflow to a Content Item Information not available for beta release.
Managing Content Workflows You can manage content workflows in many of the same ways you manage content. You can add security features such as entitlements and delegated administration that will help determine who can modify a workflow or associate a workflow with a content type or folder. You can also view which content types use which workflows, or see a list of all the content associated with a single workflow. This helps you see which content workflows are in use. You cannot delete a content workflow if it is currently assigned to a content type or any content.
Information not available for beta release.
ET
Viewing Assigned Content
A
Viewing Assigned Content Types
You can search for and view content that has been explicitly assigned a content workflow that overrides the content workflow associated with its type.
B
Additional information not available for beta release.
BEA WebLogic Portal Content Management Guide
5-13
A ET B 5-14
BEA WebLogic Portal Content Management Guide
CHAPTER
6
A
Using Content Types in Your BEA Repository
ET
Content types are named property sets that can be associated with a content file. When content creators add content to your BEA repository, they associate their content with a content type that matches the content file they are adding. Content types can include any combination of metadata properties and content files (binary properties). For example, when adding an image file to the repository, a content creator may choose to associate the image file with the “image” content type. The “image” content type may include properties such as width and height, as well as if the image is color or has alternative text.
B
Content types also determine how you will be able to search for content and how much information (metadata) you can associate with a content file. By thoughtfully planning out your content types, you can make it easier for portal developers to retrieve and deliver content within your portal application. The BEA repository includes some predefined content types, but you can create your own types to meet your business needs. As a best practice, you should design and add most of your content types before releasing the content repository to content creators to add content. Although you can add additional content types at any time during your development process; you cannot delete a content type after it has been associated with content. Content types are comprised of the following parts: z
Properties You define the properties included in a content type, the legal values for each and if that property is required, and so on. For example, the properties for a content type used for images may include the image dimensions, the date it is being uploaded, and so on.
BEA WebLogic Portal Content Management Guide
6-1
z
Content Workflows Content types can be associated with content workflows. Content workflows enforce a publication process for content. When you associate a content workflow with a content type, all content that uses that content type follows the same publication process (unless the content item is assigned its own workflow). For example, the BEA default workflow includes the following process: Draft > Ready for Review > Published > Retired.
This chapter includes the following sections: Understanding Content Type Properties
z
Using Abstract Content Types
z
Using Content Type Inheritance
z
Out-of-the-Box Content Types
z
Creating a Content Type
A
z
ET
Understanding Content Type Properties
When creating content types, it is important to understand the properties you can use to define content. The property types you use determine how content can be used in your portal. The more properties that are associated with a piece of content, the more granular your searches can be when retrieving content associated with that type.
B
The properties you associate with image files also determine how the file can be used in your portal. For example, you can use content properties in conjunction with interaction management tools such as content selectors and campaigns to define when content expires and stops displaying to your users. Note: For more information about interaction management, see the WebLogic Portal Interaction Management Guide. Property definitions for content type properties are multi-faceted. A content type property definition includes the data type is valid for the property and what options can be applied, such as making a property value required or assigning it a default value. This section discusses the following topics:
6-2
z
Supported Data Types
z
Property Options
BEA WebLogic Portal Content Management Guide
U nd e r s t an di n g C o nt e n t Type Properti es
z
Using Primary Properties
z
Setting Default Values
z
Defining Content Properties for Interaction Management
z
Using Abstract Content Types
Supported Data Types Properties can be of different data types. Each data type represents a unique definition that helps you capture specific information about content. For example, to associate content files with content, you must define a property that uses the binary property type. Users can associate binary files (documents, graphics, and so on) with content. You can also define properties as String data types, which allows users to associate a description of the file with the content.
Table 6-1 Supported Data Types Value Definition
Boolean
A data type that can have one of two values: true or false.
Long Integer
A 64-bit integer
A 64-bit integer that includes one decimal.
B
Number with Decimal (Double) String
ET
Data Type
A
Table 6-1 lists the data types that can be used.
A variable length character string of up to 254 alphanumeric characters.
Date/Time
A data type that contains the date and time. When this definition is used, users can define the value using a calendar and time entry control.
Binary
A data type that contains a binary file.
Nested Content Type
A data type that contains another content type.
Link
A data type that contains a link to another content item within the Virtual Content Repository.
BEA WebLogic Portal Content Management Guide
6-3
Property Options When you define a property, you define how that property definition behaves within the context of your content type. For example, you can make a property required or read-only. Table 6-2 lists the property options that are available. Table 6-2 Available Property Options Usage
Required
Makes this property mandatory when creating content.
Read Only
Information not available for beta.
Primary Property
Ensures that this property is retrieved in all searches. Binary properties must be marked as primary properties.
Searchable
Makes this property accessible through developer content queries. Occasionally, you will not want to make properties searchable. For example, salary data might be confidential and not searchable.
Is Explicit
Information not available for beta.
ET
A
Property Option
Using Primary Properties
B
Primary properties are used by portal developers when retrieving content to display to portal users. To display binary content in your Content Selectors and Placeholders, you must assign binary properties as the Primary Property.
Setting Default Values
You can set default values for the properties you define within your content types. Default values ensure consistent data entry when content creators add content to your repository. You can also provide choice lists and limit the entries to the values included in the choice list.
Defining Content Properties for Interaction Management Targeting users with content is one of the most important aspects of including content in your portal. You can do this by using interaction management tools such as placeholders, content selectors, campaigns and JSP tags. For more information about personalization, see the WebLogic Portal Interaction Management Guide.
6-4
BEA WebLogic Portal Content Management Guide
U nd e r s t an di n g C o nt e n t Type Properti es
For example, each time an employee visits your intranet portal, you can display a different picture from the company picnic. Another example is to run a “campaign” telling employees that they can update their benefit information. In the internal human resources portal, you can create a campaign that runs from November 1 to 30, during which time the campaign displays an Open Enrollment graphic in the portal header region and, when employees make changes to their benefits. Adding specific properties to your content types can ensure that developers can take full advantage of the interaction management tools that are available. The following properties should be used for content with which you want to retrieve with interaction management activities. You can use an abstract content type to add interaction management properties to multiple content types within your repository, see “Using Abstract Content Types” on page 6-6. To do this, create a content type that includes each interaction management property and then mark it as Abstract. You can then add this abstract type to any content type within your repository.
A
Tip:
ET
For example, if you want to use goal setting to end campaigns based on the number of times content is clicked, you must use the adTargetUrl, adTargetContent, or adMapName properties as described in Table 6-3. Table 6-3 Interaction Management Properties for Content Type
Description
adTargetUrl
String
Makes an image clickable and provides a target for the clickthrough, expressed as a URL. The Event Service records the clickthrough.
B
Content Property
Depending on how you want to identify the destination of the ad clickthrough, use adTargetUrl, adTargetContent, or adMapName.
adTargetContent
String
Makes an image clickable and provides a target for the clickthrough, expressed as the content management system's content ID. The Event Service records the clickthrough. You can view a content item's unique ID by selecting the content item in the WebLogic Portal Administration Console and viewing the description in the Edit Content window. Depending on how you want to identify the destination of the ad clickthrough, use adTargetUrl, adTargetContent, or adMapName.
BEA WebLogic Portal Content Management Guide
6-5
Table 6-3 Interaction Management Properties for Content (Continued) Content Property
Type
Description
adMapName
String
Makes an image clickable, using an image map to specify one or more targets. The value for this attribute is used in two locations: •
In the anchor tag that makes the image clickable:
•
In the map definition: <map name=value>
If you specify a value for adMapName, you must also specify a value for adMap. Depending on how you want to identify the destination of the ad clickthrough, use adTargetUrl, adTargetContent, or adMapName. String
Supplies the XHTML definition of an image map. If you specify a value for adMap, you must also specify a value for adMapName.
adWinTarget
String
Displays the target in a new pop-up window, using JavaScript to define the pop-up window. The only value supported for this attribute is newwindow.
adWinClose
String
ET
A
adMap
Specifies the name of a link that closes a pop-up window. The link appears at the end of the window content. For example, if you provide Close this window as the value for this attribute, then Close this window appears as a hyperlink in the last line of the pop-up window. If a visitor clicks the link, the window closes.
adBorder
String
Specifies a text string for the alt attribute of the tag. If you do not include this attribute, the tag does not specify an alt attribute.
B
adAltText
Integer
Specifies the value for the border attribute of the tag. If you do not include this attribute, the border attribute is given a value of 0.
Using Abstract Content Types Additional information not available for beta. When you create a content type, you can mark it as abstract. Abstract content types allow you to create re-usable property sets to use as building blocks that you can add to content types. Abstract content types can only be used within the context of an existing content type. By using abstract
6-6
BEA WebLogic Portal Content Management Guide
Us i ng C o n t e nt T yp e I nh e r i t an c e
content types, you can ensure consistency across all content types that include that abstract content type. Abstract content types cannot be associated with content, unless used as part of another content type. If you mark a content type as “abstract”, you prevent content creators from creating content based on that content type. For example, if you wanted to include author information within more than one content type, you could create an abstract content type that included all the properties you wanted to store. For example, you could create an abstract type for address information. By adding this type to a content type, you could add the same address properties to each content type that uses the abstract type.
A
After you have created the “author info” content type, you can then add it to other content types where you want to track the same information. You can do this by using a nested content property. For more information about the nested property type, see “Creating a Content Type” on page 6-12.
ET
Using Content Type Inheritance Additional information not available for beta.
When you create a content type, you can specify if that content type inherits the properties from a parent type.
B
For example, you can create a content type for all catalog items that includes properties such as SKU and PRICE. Whenever you create additional content types that require this information, you can indicate that you want your content type to inherit from a different content type.
Out-of-the-Box Content Types The BEA repository includes six content types that are ready to use. You can use these content types when you add content to your repository or you can create your own. Although these content types may not meet all of your needs, they do provide examples of the properties you can include in your own custom types. In some cases, such as the ad and ad_shockwave content types, the properties used are required to take full advantage of interaction management features. For more information about interaction management, see the WebLogic Portal Interaction Management Guide. This section includes a reference of the content types that are included and the property definitions they use. You can re-create these properties in your own types.
BEA WebLogic Portal Content Management Guide
6-7
z
Ad Content Type
z
Article Content Type
z
Book Content Type
z
Image Content Type
z
Message Content Type
Ad Content Type
A
This content type can be used for content that is designed to be an advertisement. It includes properties that open and close popup windows as well as presents alternative text when the portal user’s browser does not support viewing the content.Table 6-4 provides information about the properties includes in the ad content type. Table 6-4 Ad Content Type Properties Data Type
content
Binary
Content binary file.
height
Long
Preferred height, in pixels.
width
Long
Preferred width, in pixels.
adTargetURL
String
The target URL for image clicks.
String
If set, target render will be in a popup window with this name.
String
If set, and adWinTarget set, a close link will be included.
adWinTitle
String
If adWinTarget set, this will be the name of the window.
adClickTarget
String
The target for a click.
adUseXhtml
String
Set to true to produce XHTML, set to false to produce HTML.
adAltText
String
The alternative text for an image.
adWinClose
6-8
B
adWinTarget
Description
ET
Property Name
BEA WebLogic Portal Content Management Guide
Ou t -o f - t h e - Bo x C o n t e n t T y p e s
Table 6-4 Ad Content Type Properties (Continued) Property Name
Data Type
Description
adMapName
String
The HTML image map name for the image (required if using the adMap property).
adMap
String
The XHTML content for an image.
adBorder
String
The value of the border attribute around the image.
audience
String
Target audience for the content. Default choices are external and internal.
A
Article Content Type
ET
The article content type is designed to be used for web articles. You can either associate the article file or include the text of the article as a property. Other helpful properties include start and end dates for when to display the article in your portal. These dates can be used when configuring campaigns. Table 6-5 details the properties includes in the article content type. Table 6-5 Article Content Type Properties Property Name contributor
Description
String
Contributor of the article.
Date
Start date to display the article.
B
startDate
Data Type
description
String
Description of the article.
endDate
Date
Date to stop displaying article.
file
Binary
Binary file of the article.
headline
String
Article headline.
language
String
Language in which the article is written.
articlePriority
String
Article priority.
sizeInBytes
Long
Size of article.
source
String
Source associated with the article.
BEA WebLogic Portal Content Management Guide
6-9
Table 6-5 Article Content Type Properties (Continued) Property Name
Data Type
Description
status
String
Status of the article.
subject
String
Subject of the article.
textContent
String
Text content of the article, if applicable.
url
String
URL associated with the article.
title
String
Article title.
Book Content Type
ET
A
The book content type can be used for books that you may want to suggest to your portal users. The book content type properties allow you to associate sample content from the book as well as author and publication details. Table 6-6 shows the properties included in the book content type. Table 6-6 Book Content Type Properties Data Type
abstract
Binary
application
String
author
String
city
Abstract of the book.
Application area of the book.
Author of the book.
String
City of publication.
String
Country of publication.
edition
String
Book edition.
email
String
Publisher e-mail information.
file
Binary
Sample chapter or any file associated with book.
isbn
String
ISBN number of the book.
keywords
String
Keywords associated with book.
link
String
Link associated with book.
country
6-10
Description
B
Property Name
BEA WebLogic Portal Content Management Guide
Ou t -o f - t h e - Bo x C o n t e n t T y p e s
Table 6-6 Book Content Type Properties (Continued) Property Name
Data Type
Description
note
String
Comments associated with book.
pub_date
Date
Date the book was published.
state
String
State the book was published.
Image Content Type
A
The image content type can be associated with simple image content. Table 6-7 shows the properties includes for the image content type. Table 6-7 Image Content Type Properties Data Type
Description
image_name
String
Name of image.
file description
ET
Property Name
Binary
Image file.
String
Description of the image.
B
Message Content Type
Table 6-8 Message Content Type Properties Property Name
Data Type
Description
subject
String
Subject of message.
date
Date
Date the message was posted.
from
String
Message originator.
organization
String
Organization associated with message.
group
String
Group associated with message.
id
String
Message id.
BEA WebLogic Portal Content Management Guide
6-11
Table 6-8 Message Content Type Properties (Continued) Property Name
Data Type
Description
body
String
Body text of message.
attachment
String
Attachments to message, usually a binary file.
to
String
Message destination.
message_name
String
Name of message.
link
String
Link to related URL.
A
Creating a Content Type Content types are created within the Portal Administration Console. To create a new content type:
ET
1. Within the Administration Console, select Content > Content Management. 2. Select Types within the resource tree.
B
3. Select the repository in which you want to create a type. Figure 6-1 shows an example window.
6-12
BEA WebLogic Portal Content Management Guide
C re at i n g a C o n te nt T y p e
A
Figure 6-1 Manage Types Window
ET
4. Within the repository area, click Add Type. The Add Type dialog displays as shown in Figure 6-2.
B
Figure 6-2 Add Type Dialog
5. In the Add Type dialog, enter a name and description for your content type. 6. Optionally, you can select a content type from which to inherit additional content properties. For more information, see “Using Content Type Inheritance” on page 6-7. 7. Optionally, you can select a workflow to use for this content type.
BEA WebLogic Portal Content Management Guide
6-13
Default is the name of the default workflow that comes with your BEA repository. If other workflows have been created for this repository, they display in the drop-down list in addition. For more information about workflows, see “Using Content Workflows in Your BEA Repository” on page 5-1. 8. Optionally, you can select a content type from which to inherit properties. 9. When finished, click Create Type. The Types tab displays. You can define properties for this content type using the Types tab.
Define Properties of a Content Type After creating a content type, you need to define the content properties for that type.
A
1. From the Type tab, select the type to which you want to define properties. Figure 6-3 shows an example Type tab.
B
ET
Figure 6-3 The Type Tab within the Manage Types Window
2. Select the Properties tab. 3. Click Add Property. The Add Property dialog appears as shown in Figure 6-4.
6-14
BEA WebLogic Portal Content Management Guide
C re at i n g a C o n te nt T y p e
Figure 6-4 Add Property Dialog
A
4. In the Add Property dialog, select the type of property you want to add: Basic Property, Link or Nested-Type Property.
ET
– To add a Basic Property, select a data type from the drop-down list. See “Supported Data Types” on page 6-3 for more information about data types. – To add a Nested-Type Property, select a content type from the provided list. A nested-type property will add the property definitions from the selected type to the type you are creating.
B
Note: Nested type properties allow you to include another content type within the type you are creating. When you do this, all properties from the nested property type are added to the content type you are creating. – To add a Link property, select Link. 5. Click Next to view the Add Property dialog. Figure 6-5 shows an example of the Add Property dialog.
BEA WebLogic Portal Content Management Guide
6-15
A
Figure 6-5 Add Property Dialog
ET
6. In the Add Property dialog, type a name for the property you are creating. 7. Mark the property option you want to assign to this property. For more information about property options, see “Property Options” on page 6-4. 8. Optionally, you can add a list of property values to be used for this property.
B
9. When finished, select either Save to exit the Add Property dialog or Save and Add Another to use the Add Property dialog to add another property.
Marking a Content Type as Abstract Optionally, you can mark a content type as abstract. Marking it as an abstract type allows you to use it as a “building block”, see “Using Abstract Content Types” on page 6-6. To mark a content type as abstract: 1. Select Types within the resource tree. 2. Select the repository in which your content type resides. 3. Click the content type you want to make abstract. The Summary tab displays in the right pane. 4. In the Summary tab, click Name & Status to view the Edit dialog.
6-16
BEA WebLogic Portal Content Management Guide
C re at i n g a C o n te nt T y p e
5. In the Edit dialog, mark the Is Abstract checkbox.
B
ET
A
6. Click Save.
BEA WebLogic Portal Content Management Guide
6-17
A ET B 6-18
BEA WebLogic Portal Content Management Guide
CHAPTER
7
A
Using WebDAV with Your BEA Repository
When you configure WebDAV for your BEA repository, content creators can save files directly to the BEA repository from Windows Explorer and other Microsoft applications.
ET
Note: For more information about WebDAV, see the WebDAV website. This chapter includes the following sections: WebDAV Overview
z
Enabling WebDAV for Your BEA Repository
z
Using WebDAV with Your BEA Repository
B
z
WebDAV Overview
Adding WebDAV support to your BEA repository effectively adds a new suite of applications to access, create and update content. Content creators can add files to a BEA repository using Windows Explorer or from Microsoft Office applications. Before adding WebDAV support to your repository, please review the following guidelines and requirements. z
WebDAV Guidelines
z
Supported Versions of Microsoft Office
BEA WebLogic Portal Content Management Guide
7-1
WebDAV Guidelines In summary, the WebDAV service requires certain directory structures to be in place and content names must match the associated binary file. When adding content to your repository using WebDAV, use the following guidelines: After adding a file to the repository, you cannot rename it without also renaming the associated file. The name of the content and the associated binary must be the same.
z
You must create content within a folder.
z
You cannot rename a file and move it at the same time. You must first move the file, then rename.
z
As with any content repository, if versioning is not being used, it is possible for content creators to overwrite work.
z
When adding very large files (larger than 10 MB), you should use the Virtual Content Repository through Portal Administration Console.
A
z
ET
Supported Versions of Microsoft Office
WebLogic Portal’s implementation of WebDAV requires Microsoft Office 2000, SP3 or greater, with MSDAIPP.dll version 8.103.3521.0. For additional details about Microsoft’s support for WebDAV, see http://www.greenbytes.de/tech/webdav/webfolder-client-list.html.
B
Enabling WebDAV for Your BEA Repository Before you can use WebDAV with your BEA repository, you must prepare your repository. You need to create a default content type for applications to use when you save content directly to your repository. For example, you can enable all WebDAV content to use the press release content type. You also enable your repository to recognize WebDAV content by defining a WebDAV property for your repository. Note: You can enable one BEA repository for use with WebDAV. If you are using multiple BEA repositories you must choose which one with which you want to enable WebDAV. This section discusses the following topics: z
7-2
Set Up a WebDAV Content Type
BEA WebLogic Portal Content Management Guide
En ab lin g Web DAV f or Yo ur BEA Rep osi to ry
z
Enable WebDAV for Your Repository
z
How WebDAV Determines the Content Type to Use
z
Disabling WebDAV
Set Up a WebDAV Content Type You must set up the default content type that will be used when the content is created. To do this: 1. Login to the Portal Administration Console. 2. Click Content Management. 3. View the Type List Resource Tree by selecting Manage | Type.
A
4. Define a new content type with at least one binary property. Mark this property as the primary property. Save the changes.
ET
Note: WebDAV can use an existing type as long as the content type has at least one binary property. WebDAV does not use any other properties other than this binary property, unless default values are set for properties within the content type.
Enable WebDAV for Your Repository You can enable WebDAV for one BEA repository within your Virtual Content Repository. To do this:
B
1. Select Manage | Repository to list the available repositories. 2. In the Manage | Repositories tree, click the existing BEA repository to view the Repository Summary. 3. In the Properties area, click Add Property. a. In the Name field, enter WEBDAV_ENABLED. b. In the Value field, enter true. c. Click Save. 4. In the Properties area, click Add Property. a. In the Name field, enter WEBDAV_TYPE.
BEA WebLogic Portal Content Management Guide
7-3
b. In the Value field, enter the name of the new content type you defined in “Set Up a WebDAV Content Type” on page 7-3 c. Click Save.
How WebDAV Determines the Content Type to Use The content type used for content added to the repository using WebDAV depends on which folder in the repository tree content is saved. If there is content type associated with the folder under which you are creating content and that content type defines a WebDAV property, WebDAV uses that property value to assign a content type.
A
If no content type is associated with the immediate folder, WebDAV iterates up the tree until it finds the first content type associated with a folder. If no content type is associated with any content folder WebDAV finds, it uses the content type associated with the repository.
ET
When you add a file to your repository using WebDAV, WebDAV associates the content with the content type you have configured for your repository. WebDAV automatically fills in system properties for the content type, but users need to log in to the Portal Administration Console to complete administrator-defined properties. For more information about associating a content type with a folder, see “Creating a Folder” on page 4-2.
B
Disabling WebDAV
If you want to disable WebDAV for a BEA repository, do the following: 1. In the Manage | Repositories tree, click the existing BEA repository to view the Repository Summary. 2. Click Repository Details. 3. For the WEBDAV_ENABLED property, enter a value of false. 4. Click Save.
7-4
BEA WebLogic Portal Content Management Guide
Usin g W eb DAV wit h Yo ur BEA Rep osi to ry
Using WebDAV with Your BEA Repository Content creators must configure their individual environments to take advantage of WebDAV features. Supported applications include Windows Explorer and Microsoft Office programs. The following procedure enables all WebDAV capabilities that are supported by WebLogic Portal. This section includes the following topics: z
Enabling WebDAV for an Environment
z
Adding a Microsoft Word Document to a BEA Repository
z
Using Windows Explorer Add a File to the BEA Repository
Enabling WebDAV for an Environment 1. Open Internet Explorer.
A
To enable WebDAV for your individual environment,
ET
2. Choose File > Open to view the Open dialog.
3. In the Open dialog, enter the URL where WebDAV is running in the text box. This URL is uses the same machine name and port as is used to access the Portal Administration Console, (for example, http://localhost:7001/webdav). 4. Mark the Open as Web Folder check box.
B
5. Click OK.
6. You are asked to login to the BEA repository, enter your login name and password. The BEA Repository is listed as a folder within Windows Explorer. You can use Windows Explorer to browse the content in BEA repository like you would any other folder.
Adding a Microsoft Word Document to a BEA Repository After configuring WebDav for your environment, you can save files directly to your repository from Microsoft Office programs. This examples explains how to add a a Microsoft Word document to a BEA repository. Note: When adding content to a BEA repository, you note the WebDAV guidelines, see “WebDAV Guidelines” on page 7-2. 1. Within Microsoft Word, choose File > Save As.
BEA WebLogic Portal Content Management Guide
7-5
2. Within the Save As dialog, navigate to the location of your BEA repository. 3. Click Save. 4. If you have not already logged into the BEA repository, you are prompted to log in. The file is added to the repository using the default content type and automatically fills in default values and system properties such as the version number, the date and so on, see “How WebDAV Determines the Content Type to Use” on page 7-4 for more information. After adding a file to the repository, you should log in to the Portal Administration Console and use the Virtual Content Repository to fill in additional properties.
Using Windows Explorer Add a File to the BEA Repository
A
You can add files to your BEA repository using Windows Explorer. You can drag-and-drop files to folders within your repository. Note: When adding content to a BEA repository, you note the WebDAV guidelines, see “WebDAV Guidelines” on page 7-2.
B
ET
Additional information not available for beta.
7-6
BEA WebLogic Portal Content Management Guide
CHAPTER
8
A
Connecting to a Third-Party Repository
ET
WebLogic Portal’s Virtual Content Repository enables you to plug in multiple, heterogeneous content repositories. Leading vendors such as Documentum, FileNet and FatWire and have built integrations (Content Service Provider implementations) that allow them to integrate with the Virtual Content Repository and their content accessed by portal tools such as content placeholders, content selectors, and so on. Contact your third-party repository vendor to find out the details about their implementation. If you are using a third-party repository that has not written an integration to the BEA’s Virtual Content Repository, you can write your own using BEA’s Service Provider Interface (SPI).
B
If you want to connect to a JSR170 repository, you can use BEA’s JSR 170 Connector. For more information about JSR170, see the JSR170 website. This chapter includes the following sections: z
Connecting to a Third-Party Repository
z
Creating a Third-Party Repository Implementation
z
Propagation and Deployment Considerations
Connecting to a Third-Party Repository If you want to use a third-party repository, you need to connect that repository to the Virtual Content Repository using the Portal Administration Console. After you have connected WebLogic Portal to a third-party repository, you can use that repository’s content within your
BEA WebLogic Portal Content Management Guide
8-1
portal. If the third-party repository is configured to be read/write, you can also use the Portal Administration Console to modify content within the repository. Note: Typically, you cannot use BEA’s library services with third party repositories. When you connect to a third-party repository, you may need to configure additional properties that match your third-party repository’s configuration. Consult your third-party documentation to verify the properties you need to configure and the connection class you should use.
Connecting to a JSR 170-Compatible Repository WebLogic Portal provides a connector to supported JSR 170 repositories such as Day Software’s CRX. If you want to use this repository, you do not need to write a custom implementation. To connect to a JSR 170 repository, do the following:
2. Click the Virtual Content Repository.
A
1. Select Manage | Repositories to view the Repositories tree.
ET
3. On the Browse tab, click Add Repository Connection. Figure 8-1 provides an example of the Browse tab within the Repositories area.
B
Figure 8-1 Browse Tab within the Manage Repositories Window
4. In the Add Repository Connection dialog, provide the following information:
8-2
BEA WebLogic Portal Content Management Guide
Con nec tin g to a Thi rd - Pa rt y Rep osi to ry
Table 8-1 Repository Connection Information Field
Description
Repository Name
The name you give your new repository. For example: MyNewRepository
Connection Class
If connecting to the Day Software CRX repository, use the following connection class: com.day.content.spi.jsr170.JNDIRepository Enter the username required to connect to you third-party repository the third-party repository you are using.
Password
Enter the password required to connect to your third-party repository.
Retype Password
Re-enter the password required to connect to your third-party repository.
Enable Library Services
Unmark this checkbox if you do not want to use library services with this repository.
ET
A
Username
Note: Typically, library services should not be enabled for use with third-party repositories.
5. Click Save.
B
6. Within the Repositories area, click the repository you just created to verify that it has been created and view its Repository Summary. 7. Configure the following properties if you are using Day Software’s CRX repository: Repository Property
Required Value
What it does:
jsr170.hide.builtin
true
This property prevents repository-specific types and properties from interferring with the Virtual Content Repository.
jsr170.uid.mapping
uuid
This property maps the IDs generated by your repository to the internal IDs needed by the Virtual Content Repository.
BEA WebLogic Portal Content Management Guide
8-3
8. Repeat the following steps for each property you want to add: a. In the Properties area, click Add Property. b. In the Name field, enter the name of the property you want to add. c. In the Value field, enter the value of the property. d. Click Save. 9. Within the Repositories area, click the repository you just created to verify that it has been created and view its Repository Summary.
Creating a Third-Party Repository Implementation
ET
A
The section discusses the necessary steps to implement the BEA Content Management SPI and use the implementation with the Virtual Content Repository. This SPI is not be tied to any particular underlying architecture, data source, or protocol. This means it can be applicable to a wide range of implementations including database-centric, filesystem-based and network protocol-based repositories. Note: For more information regarding the SPI, please review the Content SPI JavaDoc. The SPI implementation runs inside a WebLogic Portal enterprise application and can be clustered. It can also be deployed multiple times with different configuration parameters. Different implementations may affect scalability and performance for WebLogic Portal.
B
Implementing the BEA Content SPI involves implementing the repository connection and service interfaces that reside in com.bea.content.spi. The SPI domain is modeled around a set of value objects. These value classes are created, read, updated and deleted through a set of service interfaces. The service interfaces are accessed through a set of repository connection interfaces that are the gateway to the SPI implementation. The model tries to be as open as possible for the limited amount of functionality and relies on the SPI implementation to throw appropriate exceptions if the attempted operations are not allowed in the repository. For example, the SPI allows for content to be added to folders, if the repository does not allow that behavior then it must throw a RepositoryException stating so. If a method is not implemented at all, then a UnsupportedRepositoryOperationException can be thrown. This section includes the following topics: z
8-4
Service Interfaces
BEA WebLogic Portal Content Management Guide
Cr ea ti ng a Thi rd - Pa rt y Rep osi to ry I mple me nt at io n
z
Repository Connection Interfaces
z
Connection Sequence
z
Value Model
z
Configuring the Expression Model
z
Configuring the Repository
Table 8-2 lists the value classes included in the content SPI. Table 8-2 Value Classes included in the Content SPI Usage Notes
ContentEntity
ContentEntity is the superclass for most of the value classes. It defines that any subclass will be serializable and will also contain a unique ID.
ID
ID uniquely identifies a ContentEntity in the system. It consists of both a repositoryName (used by management layer) and also a UID (used by repository layer). The management layer ensures that both the ID is never null and that its UID is never null when referring to a ContentEntity that exists in the system.
ET
A
Value Class
This is a container for other nodes and also properties. A node can be of type hierarchy or content. Hierarchy nodes can contain both hierarchy and content nodes, while content nodes can only contain other content nodes.
Node
B
Nodes have a few system properties defined directly on the node class including createDate, createdBy, modifiedDate and modifiedBy. Nodes also have user or application-defined Property objects. In order for a node to contain Property objects, it must have an ObjectClass associated with it.
Property
Property is a name value pair that can contain zero or more Value objects. Its associated PropertyDefinition defines the shape of a Property. The association is an implicit relationship based on name.
Value
This is a generic wrapper for the real value, which can be a BinaryValue, Boolean, Calendar, Float, Long, or String.
BinaryValue
BinaryValue contains a byte array that includes the associated binary and also has the binary name, mime type, and size. A BinaryValue cannot always contain the actual byes for performance reasons. For the consumer of the SPI to get the actual bytes, they can use the NodeOps service interface.
BEA WebLogic Portal Content Management Guide
8-5
Table 8-2 Value Classes included in the Content SPI (Continued) Value Class
Usage Notes
ObjectClass
ObjectClass defines the schema for a node and contains a name that uniquely identifies it within a repository and also an array of PropertyDefinitions. ObjectClasses are stand-alone and do not provide an inheritance or containment structure.
As such, if the repository implementing the SPI has an inheritance or containment model, it must transform the requested ObjectClass into a single ObjectClass with all PropertyDefinitions found in all super ObjectClasses. If nodes are associated with an ObjectClass, it is recommended that you do not update the ObjectClass as there can be undesired outcomes.
PropertyDefinition defines the shape of a Property including its name, type, whether it is single-valued or multi-valued, read only, and mandatory. It also can define a set of PropertyChoices and whether the Property value is restricted to these choices. The validity of a PropertyDefinition is left to the SPI implementation with a few exceptions. The management layer requires the following rules be in place, even though they are not apparent in the class structure. These rules are enforced during the creation of a PropertyDefintion by the management layer, and the value model is not considered valid if the conditions are not true for PropertyDefintions (and the corresponding Properties) that are retrieved from an SPI implementation
B
ET
PropertyDefinition
A
Each ObjectClass can contain a primary PropertyDefintion. This allows the model to distinguish between content and metadata. The primary PropertyDefinition indicates which Property on a node represents the true content.
PropertyChoice
8-6
•
If the PropertyDefinition contains a reference, it can not be multi-valued, or binary.
•
If the PropertyDefinition is binary, it can not be multi-valued or restricted and can only have one PropertyChoice.
•
If the PropertyDefinition is Boolean, it cannot be multi-valued.
This defines a value choice for a Property and also whether it is a default for the Property. A PropertyChoice can be of any type that is supported by a Property.
BEA WebLogic Portal Content Management Guide
Cr ea ti ng a Thi rd - Pa rt y Rep osi to ry I mple me nt at io n
Service Interfaces Service Interfaces are used to perform CRUD (Create, Read, Update, and Delete) on value interfaces such as creating a node or updating a property to a node. Service interfaces, in general, operate on the entity's id, such as Node ID. This ID can be a UUID database ID or the element’s path as long as it uniquely identifies it to the repository. Service interfaces are expected to be transactional (where necessary), threadsafe and scalable. There can be one implementation for all interfaces, or a separate implementation for each service interface. All service methods throw a general com.bea.content.RepositoryException. The SPI also includes a few standard exceptions that inherit from RepositoryException.
Table 8-3 Service Interfaces
A
Table 8-3 lists the service interfaces available with the content SPI. For more information about these service interfaces, see the WebLogic Portal JavaDoc for the com.bea.content.spi package.
Usage Notes
NodeOps
NodeOps is the service interface for performing operations on nodes and their properties. This includes creating, updating, deleting, copying, moving and renaming nodes.
ObjectClassOps
ObjectClassOps is the service interface for performing operations on ObjectClasses and their PropertyDefinitions and PropertyChoices. This includes creating, updating and retrieving ObjectClasses. SearchOps is the service interface for performing searches for nodes. The search is based on the Search object defined in com.bea.content.expression along with the expression structure in the com.bea.p13n.expression package.
B
SearchOps
ET
Service Interface
Search is for any node that matches the property and/or ObjectClass definitions in the expression. There are system properties that can be part of the search and are defined in the Search class.
Repository Connection Interfaces Repository Connection Interfaces include Repository, Ticket and PasswordCredential. In order for a client of the SPI to connect to the services, the repository connection interfaces must be implemented. These interfaces allow an SPI implementation to be plugged into the BEA content management framework.
BEA WebLogic Portal Content Management Guide
8-7
The repository connection interfaces are responsible for accepting a PasswordCredential object, which includes a username and granting the client access to the various service interfaces. Table 8-3 lists the service interfaces available with the content SPI. For more information about these repository connection interfaces, see the WebLogic Portal JavaDoc for the com.bea.content.spi package. Table 8-4 Repository Connection Interfaces Usage Notes
Repository
Repository defines the configuration for a content repository and also provides access to the content repository services through the Ticket. It must be implemented as a J2SE class such that "new" can be called on it. The setProperties method on the Repository will be called on initialization so the Repository instance will always have its configuration properties before it is asked for a ticket. The Repository implementation can be configurable to allow for multiple instances to be deployed against different repositories.
Ticket
Ticket is the interface given back to the client after calling connect to a Repository with Credentials that are authenticated. It is the gateway to the content repository services.
Credentials
Credentials defines the credentials for a user attempting access to the content repository. Both authentication and authorization can be based on the Credentials. It is necessary for the SPI implementation to authenticate and authorize based on username, because password is not present in the PasswordCredential. If the username is null then the authentication can be based on an anonymous user.
B
ET
A
Service Interface
Connection Sequence
The ContentManagerFactory calls the SPI on a need-to-know basis. You can either write your SPI implementation to take advantage of this by lazy loading, or you can have your implementation load up front if that is more advantageous.
8-8
BEA WebLogic Portal Content Management Guide
Cr ea ti ng a Thi rd - Pa rt y Rep osi to ry I mple me nt at io n
A
Figure 8-2 Connection Sequence
ET
For example, both the getNodes and getNode calls may either return “light” versions of the node that do not include the properties, or they may return “full” versions of the node that do include the properties. If the properties are not part of the node, when the ContentManagerFactory needs the properties it will go back to the SPI to retrieve them. The InputStream for binary properties can only be returned on the getBytes() call, otherwise it will not get closed properly.
B
Listing 8-1 is an example of a repository implementation is that is called by the Virtual ContentManager. Listing 8-1 Example of Repository Implementation public class RepositoryImpl implements Repository { Properties properties; String name; public Ticket connect(Credentials credentials) { return new TicketImpl(credentials, properties); }
BEA WebLogic Portal Content Management Guide
8-9
public Ticket connect(String userName, String password) { Subject subject = com.bea.p13n.security.Authentication. getCurrentSubject(); Credentials credentials = new Credentials(subject); return new TicketImpl(credentials, properties); } public Properties getProperties() { return properties; } public void setProperties(Properties properties) {
{ return name; }
ET
public String getName()
public void setName(String name) {
}
B
this.name = name; }
Value Model Figure 8-3 shows the value model.
8-10
A
this.properties = properties; }
BEA WebLogic Portal Content Management Guide
Cr ea ti ng a Thi rd - Pa rt y Rep osi to ry I mple me nt at io n
B
ET
A
Figure 8-3 Value model
Configuring the Expression Model Figure 8-4 shows the expression model.
BEA WebLogic Portal Content Management Guide
8-11
B
ET
A
Figure 8-4 Expression Model
Configuring the Repository Once you have implemented the SPI, you need to connect the third-party repository to the Virtual Content Repository using the Portal Administration Console. Generally, third-party repositories require additional configuration properties in order to connect to the Virtual Content Repository, see “Connecting to a Third-Party Repository” on page 8-1. After configuring the repository, you can start utilizing it in BEA WebLogic Portal.
8-12
BEA WebLogic Portal Content Management Guide
P ro pa ga ti o n an d D e p l o yme nt Considerations
Propagation and Deployment Considerations
B
ET
A
Information not available for beta release.
BEA WebLogic Portal Content Management Guide
8-13
A ET B 8-14
BEA WebLogic Portal Content Management Guide
A
Part II Development
ET
Within content management, the development phase covers both creation of content as well as delivering that content to your portal users. Using the Portal Administration Console, content creators add content to the content repository using workflows and versioning. Using Workshop for WebLogic, developers use to incorporate content within the portal by using personalization tools such as content selectors and placeholders. Developers can also display content with JSP tags, controls and the content API. Content and portal developers can use these features to deliver content to your portal by performing some of the following tasks: Create content to be used within your portal
z
Search for applicable content to use within your portal
z
Choose how to display content in your portal
z
Personalize how content is presented
B
z
The decisions you made during the Architecture phase shape what you do in the development phase. For example, content creators create content according to the repository hierarchy and content types you have already put in place. When you finish the Development phase you can proceed to the Staging phase. Consider setting up a common development environment for the development phase and the staging phase. You might move iteratively between these two phases, developing and then testing what you created. If you moved on to the Production phase and then go back to make changes that affect the development phase, you must redeploy your portal application in order to view your changes. The
BEA WebLogic Portal Content Management Guide
BEA Propagation Utility performs the redeployment; see the BEA WebLogic Portal Production Operations User Guide for more information.
ET
A
For a detailed description of the development phase of the portal life cycle, see the BEA WebLogic Portal Overview. The portal life cycle is shown in the following graphic:
Part II includes the following chapters:
Chapter 9, “Creating Content within a BEA Repository”
z
Chapter 10, “Delivering Content Within Your Portal”
B
z
BEA WebLogic Portal Content Management Guide
CHAPTER
9
A
Creating Content within a BEA Repository
Content creators create content in the BEA repository through the Virtual Content Repository. The Virtual Content Repository is accessible through the Portal Administration Console and provides access to all configured BEA repositories.
ET
Creating content involves associating a content file with a content type and uploading the file to the repository. The BEA repository includes version tracking and a default content workflow that enforces a default process for content creation. This chapter includes the following sections:
Creating Content within a BEA Repository
z
Example: Creating a Content Item
z
Example: Checking Out a Content Version
z
Searching for Content within Your Repository
B
z
Note: Before content can be created, you must first create content types and design your repository hierarchy, see Chapter 4, “Organizing Content within a BEA Repository.”
Creating Content within a BEA Repository BEA repositories include library services by default. Library services provide versioning, workflow, as well as customized workspaces for content creators. z
Workflow management that provides a customizable workflow for developing content
BEA WebLogic Portal Content Management Guide
9-1
z
Content workspaces that provides a simplified user-based views of content that is currently in progress
z
Version control of content items and content types
Table 9-1 details the library services that are available to BEA repositories. BEA’s library services are only available when using a BEA repository. Table 9-1 Overview of BEA Repository Library Services What it provides:
Content Workflow
The Content Workflow allows you to move content through a set of statuses that can be further managed through WebLogic Portal's Delegated Administration. WebLogic Portal's default content workflow includes the following statuses: Draft, Ready for Review, Rejected, Published and Retired.
Content Workspace
The Content Workspace provides a simplified user-based view of content that is currently in progress. It contains two folders: My Checked Out Items and My Assigned Items. My Checked Out Items contains all content items that the current user has checked out for edit. My Assigned Items contains all items that are assigned to that user and require further action, such as approval.
ET
A
Library Service
Use the Content Workspace to:
View items that are currently assigned to your role. All users within a particular role view/modify items assigned to that role.
•
View items that you currently have checked out. This folder displays only those items checked out by the current user.
B
•
Content Versioning
Content Versioning allows you to keep track of multiple versions of a content item. Versioning provides a more powerful alternative to keeping backup files. With content versioning, you can easily view previous versions of a content item if needed, as well as keep a detailed record of when and why changes were made.
Example: Creating a Content Item In this example, you create content using the “book” content type, which is one of the default content types that is included with your BEA repository. Your repository may have other customized content types that differ from this example. To add content: 9-2
BEA WebLogic Portal Content Management Guide
E x amp l e : C re at i ng a C o n te nt I t e m
1. In the Manage | Content tree, select the repository to which you want to add content. 2. In the Browse area, click Add Content to view the Add Content dialog. 3. In the Add Content dialog, a. Type a name for the content. b. Select the book content type from the Type drop-down list. c. Click Add to view the Add Node page. 4. In the Add Node page, a. Associate content with item by clicking Upload File in the Primary Properties area.
A
b. Click Browse to select a content file from your filesystem. c. If you know the type of encoding you wish to use, select it from the drop-down list. If not, leave the default.
ET
d. Optionally, select the MIME format that matches the content you selected. e. In the Other Properties area, provide values for the properties listed. These property values are used by portal developers to retrieve your content. 5. Click Save. Your content item is saved and remains checked out of the repository.
B
While content is checked out of the repository, it is displayed in the Workspace View under the Checked Out Items folder. 6. To view your content item, select the Workspace View tab and navigate to your content item within the Checked Out Items folder. 7. Click the content item you created to view its properties. 8. In the Versioning and Workflow area, click Check In to view the Content Check In dialog. 9. Select a status from the Check in with Status drop-down list. 10. Enter any comments in the comments text box. 11. Click Check In.
BEA WebLogic Portal Content Management Guide
9-3
Example: Checking Out a Content Version In this example, you check out a content item, make some modifications, and change its workflow status. This example uses the content item created “Example: Creating a Content Item” on page 2. 1. In the Workspace View > Assigned Items, navigate to the content you want to check out. Note: Optionally, you can work with content that is not assigned to you navigating to the content you want to work with in the Repository View. You must have security access to the content you want to edit. 2. Select the content to view the Summary tab. 3. In the Versioning and Workflow area, click Check Out.
A
Your content item is now displayed in the Workspace View under the Checked Out Items folder. Use the steps listed in “Example: Creating a Content Item” on page 9-2 to edit your content.
ET
Example: Rolling Back Content to a Previous Version Information not available for beta.
To roll back to a previous version of content:
Check out the content item that you want to modify.
Within the Workspace View, navigate to the Checked Out Items folder.
B
Select the content you want to modify.
In the right pane, select the Version History tab. Optionally, you can search for the version you want to use by using the version history search, see “Searching Versions of a Content Item” on page 9-8.
Searching for Content within Your Repository As your repository grows, you can save time by using the Virtual Content Repository’s search features to find the content you want to work with. You can search the version history of a particular content item, as well as conduct a search of the entire repository. This section includes the following topics: z
9-4
Searching for Content By Name
BEA WebLogic Portal Content Management Guide
S e a rc h i n g f o r C o n t e nt w i th i n Yo ur R e p o s i to ry
z
Searching for Content By Property Value
z
Searching the Full Text of Content
z
Searching Versions of a Content Item
Searching for Content By Name If you know the name of the content you need to find, you can search for it by name. To search for content by name: 1. In the Manage | Content tree, select the repository you want to search. 2. In the right pane, select the Search tab.
A
3. In the Name field, select an operator from the drop-down list (contains, doesn’t contain, and so on) and type the name that you wish to use. 4. Click Search.
ET
Searching for Content By Property Value
You can use the property search when you know the properties used for the content you want to find. For example, if you want to find all content that was published on a certain day, you would search the “published date” property for a value of the date you want to find.
B
When you search for content according to property values, you can search published content, unpublished content or all content. To search your repository for content using property values, do the following: 1. In the Manage | Content tree, select the repository you want to search. 2. In the right pane, select the Search tab. <screenshot> 3. Select Advanced Search Options in the Search area. 4. Select whether you want to search Published content or New (unpublished) content by marking the appropriate check box. Mark both check boxes if you want to search for all repository content. 5. Select Or Search Specific Properties. Figure 9-1 provides an example of searching for specific properties.
BEA WebLogic Portal Content Management Guide
9-5
Figure 9-1 Search Properties Area
ET
A
6. Specific the properties for which you want to search, in the Search Specific Properties area. Use Table 9-2 for specific instructions on each criteria.You can use any or all of the criteria. If a criteria is left blank, it is not used in the search. Table 9-2 Specific Properties Search Criteria Search Criteria
Usage
Matches any condition
Choose whether you want your search to include any of the conditions you specify or all of them by marking the appropriate option.
Matches all conditions
Selecting a type determines which content type you want to find. Choose the content type(s) you want to search from the drop-down list.
B
Type
Include Subtypes
If you want to search for individual property values within the content type(s) you selected, mark Include Subtypes.
Type Properties
Define the property values for which you want to search. Select a property from the drop-down list, choose an operator (contains, equals, and so on) to use, and enter the value you are searching for.
Dates
You can search according to the date content was created or modified. Select Created or Modified from the drop-down list, select an operator (before, after, and so on), and use the calendar tool to select a date for which to search.
9-6
BEA WebLogic Portal Content Management Guide
S e a rc h i n g f o r C o n t e nt w i th i n Yo ur R e p o s i to ry
Table 9-2 Specific Properties Search Criteria Search Criteria
Usage
Creator or Editor
You can search for content according to the user name that created it or modified it. Select Created By or Modified By from the drop-down list and enter a user name in the provided field.
Binary Content
You can search for the binary file associated with content. For example, you can search for the size or the name of the file you want to find. Using the drop-down list, select the property of the binary file you want to search (file name, file size, or MIME type), select an operator and provide a value. You can search for content according to the folder or subfolder that it resides in within your repository. This is referred to as the Path to Content.
A
Path to Content
Fill in the folder name(s) you want to search using the following format:
ET
/foldername/subfoldername/contentname
7. When finished entering criteria, click Search. Your results display in the Search Results area.
Searching the Full Text of Content
B
You can search the full text of a content item which includes both its associated property values as well as the associated content file. Full-text search can only be used to find repository content that has been published for delivery to your portal. For example, you can use full-text search to find content of different content types that might include the same information. To use a full-text search to find content, do the following: 1. In the Manage | Content tree, select the repository you want to search. 2. In the right pane, select the Search tab. 3. Select Advanced Search Options in the Search area. Figure 9-2 provides an example of the Search area.
BEA WebLogic Portal Content Management Guide
9-7
Figure 9-2 Search Tab within the Repository View
A
4. Mark Published to search for content that has been published for delivery to your portal. Full-text search does not work on unpublished content. 5. Mark Full Text Search.
7. Click Search.
ET
6. In the text box provided, type the keywords for which you want to search. The text you provide will be used to search both the property values for content and the associated binary files.
Searching Versions of a Content Item
B
You can search the version history of a content item either by what is contained in the version comments or by using advanced options such as when the content was modified and by who. To search within the version history of a content item, 1. In the Manage | Content tree, select the content item whose version history you want to search. You can use the Search tab, see “Searching for Content By Name” on page 9-5. 2. Select the Version History tab in the right pane. 3. Within the Search area, you can search the version comments field for the content item for specific text. Enter the text you want to find and click Search. 4. Optionally, you can use the Advanced Search Options to search the version history by workflow status, date modified or by the user name who modified the version you are looking for, see Table 9-3.
9-8
BEA WebLogic Portal Content Management Guide
S e a rc h i n g f o r C o n t e nt w i th i n Yo ur R e p o s i to ry
Table 9-3 Advanced Search Options for Searching the Version History of a Content Item Search Criteria
Usage
Modified By
Searches for content versions that were modified by the user name you specify.
Workflow Status
Searches for content versions that have the workflow status you specify.
Checked in
Searches for content versions that were checked in before or after the date you specify. You can also specify a single date.
5. After defining your search criteria, click Search.
A
Using Expressions to Search for Content
B
ET
You can use expressions to search for content within your BEA repository, see “Using Content Queries” on page 10-10 for a complete reference to building content queries.
BEA WebLogic Portal Content Management Guide
9-9
A ET B 9-10
BEA WebLogic Portal Content Management Guide
C H A P T E R 10
A
Delivering Content Within Your Portal
Note: The code samples in this chapter have not been updated for the beta release. The 9.2 release includes a new API for content management. The previous API has been deprecated for this release. For more information, see the WebLogic Portal JavaDoc.
ET
When developing your portal, you use JSP tags, the content API and personalization tools to search for and display content to your portal users. Retrieving and displaying content is typically done within the context of a JSP page. Within a JSP page, you can use the API directly, a JSP tag, or use content selectors or placeholders to base content on queries or rules.
B
You can use content selectors and campaigns deliver personalized content to user based upon personalization rules or conditions. Within this context, you use JSP tags to retrieve the content you need. This chapter includes the following sections: z
Working with JSP Tags
z
Displaying Content Using with the Content API
z
Personalizing Content
z
Implementing Caching when Using Content
BEA WebLogic Portal Content Management Guide
10-1
Working with JSP Tags WebLogic Portal provides JSP tags that can be used to both retrieve and display content. to use retrieve content for use within your portal. However before you can use either feature, you must have configured the Autonomy search engine. WebLogic Portal relies on the Autonomy search APIs to implement content search. For more information, see Integrating Search with WebLogic Portal. Retrieving content or searching for the content is typically done within the context of a JSP page. However you can also retrieve content using the content API, see “Displaying Content Using with the Content API” on page 10-9.
z
Retrieving Content with JSP Tags
z
Displaying Content with JSP Tags
A
This section includes the following topics:
ET
Retrieving Content with JSP Tags
There are four content-specific JSP tags that can be used to retrieve content. For more information about JSP tags, see the WebLogic Portal JSP Tag Guide. Table 10-1 Content JSP Tags JSP Tag
Usage
B
Retrieves a content node based on an explicit path and stores the node in a variable. Retrieves a property value from a content node and stores it as a variable or prints it in the JSP.
Searches for and retrieves content nodes based on a supplied query and stores the results in a variable.
Information not available for beta.
Regardless of which tag you decide to use, retrieving for content within a JSP tag is done using one of two methods: z
10-2
Retrieving Content Using a Repository Path
BEA WebLogic Portal Content Management Guide
W o r k i n g w i t h JS P T ag s
z
Using Content Queries
Retrieving Content Using a Repository Path All content is addressable by a unique path. This path is visible in the Portal Administration Console as you create folders and content. Within the JSP tag, you can specify the repository path to retrieve content. For example, if your content hierarchy appears in the Portal Administration Console as shown in Figure 10-1, you could use the code in Listing 10-1 to retrieve CarPic.
ET
A
Figure 10-1 Content Hierarchy
B
Listing 10-1 Sample Code for Retrieving CarPic
<%@ taglib uri="content.tld" prefix="cm"%>
Displaying Content with JSP Tags After retrieving content, you need to decide how you will display it within the portal. Displaying content can be done using JSP tags and with personalization tools such as content selectors and placeholders. This section discusses JSP tags and provides some examples. For more information about personalizing content, see “Personalizing Content” on page 10-10. This section provides an overview of JSP tags you can use to display content.
BEA WebLogic Portal Content Management Guide
10-3
z
Content Display JSP Tags
z
Example: Using the JSP Tag
z
Displaying Content with Display Templates
Content Display JSP Tags Content can be displayed in your portal using the tags listed in Table 10-2, “JSP Tags Used to Display Content,” on page 10-4. For a complete reference for the tags listed, see the WebLogic Portal JSP Tag Guide. Table 10-2 JSP Tags Used to Display Content Description
Uses the Ad Service to send an ad query to the content management system.
Renders a content node from the Virtual Content Repository in the current JSP. Displays personalized web content in a JSP based on Placeholder and Campaign rules and queries that have been defined.
10-4
Performs a content attribute search in a content management system and returns an array of content objects. Implements a Content Selector that has been defined using Workshop for WebLogic. Displays personalized Web content in a JSP based on Content Selector rules and queries defined.