User Inbox Development Procedure
Developing a custom User Inbox (or User Tasks Page) can range from a few simple
modifications to the user interface of the sample User Inbox provided with your
installation to a fairly complex development process. You can develop a custom
User Inbox as an HTML page or as a Java applet. This topic is designed to provide
a step-by-step procedure as an overall guide and check list for developers.
This procedure assumes that you have a basic understanding of Process applications
(for information, see Introduction to
Process Applications) and that you have to some degree familiarized yourself
with the Process Java APIs. For information on these APIs, see the topics: Working
with Process Java API Classes, Process
Java API Class Relationships (calling sequences), and the Process
API Samples Overview (describes the Process API samples provided with the
Process Development Environment).
In addition, this procedure assumes that you have already:
To develop and deploy a custom User Inbox, use the following procedure:
- Plan your User Inbox in terms of its user interface, its business processes,
how it fits into the workflow definition (designed using the FileNet
Process Designer), and the operations to be performed for this step. It
is recommended that before you start that you review the topics: What
to Customize and How and Basic User
Inbox Operations.
- Determine whether to develop your User Inbox as either an HTML page or a
Java applet:
- HTML Page: For information specific to developing an
HTML User Inbox, see the Developing
a Custom User Inbox topic in this guide and also general information
on developing web applications in the Help for Web Application Toolkit
Developer's Guide. In addition, the FileNet
eXtra Web site provides a sample HTML User Inbox you can download,
as well as other samples that illustrate a broader range of Web Application
Toolkit functionality.
- Java applet: Determine whether
to deploy the User Inbox as a Java application or applet, what elements
need to be provided as work items (for example, Step elements, work objects,
etc.), whether to customize the User Inbox by extending the existing sample
Java User Inbox (using
the Java User Inbox UI Toolkit provided with the Process Development Environment),
using a Work Performer (Component Integrator-based or daemon-based) to
perform specific step operations, or to develop your own custom User Inbox
from scratch. You may wish to create Work Performers for specific operations
(for example, you may wish to develop a Component Integrator-based Work
Performer (automatically polls the queues) to obtain a JMS or Java object
(including retrieving objects from a Content Engine Object Store or from
an external system or application), or a daemon-based automatic Work Performer
(in which case you will need to specify polling). For information on creating
Work Performers for User Inbox operations, see Developing
Work Performers. If you need to retrieve objects from or interface
with a non-FileNet system, application, or data source, you may wish to
set up and configure the Process Engine EAI connector; for information
on this and related topics, see Overview
of FileNet Enterprise Application Integration (EAI) for the Process Engine.
- You can either copy, deploy, and modify the sample Java User Inbox application/applet
provided with the Process Development Environment (for details see the Building
a Java User Inbox with the Java User Inbox UI Toolkit topic) or you can
develop your own from scratch. If you are modifying the sample User Inbox
application or applet, go to the next step. If you are developing your own
custom Java User Inbox from scratch, skip to Step 6 below.
- Compile, deploy, and run the sample Java User Inbox to verify that they
work correctly in your development environment. For details, see the Building
and Deploying the Sample Java Processors topic.
- Customize a copy of the sample Java User Inbox. This consists of creating
a new version of the sample Processor and then using the Java User Inbox UI
Toolkit to help in customizing the code. For details, see the Customize
the Sample Java User Inbox topic. Once you have customized the user interface,
content integration, and operations, you are ready to compile your Java classes
(skip to Step 7).
- If you are building your own custom User Inbox:
- Customize the user interface, such as modifying graphics, layout,
user controls, etc. Using your IDE (such as JBuilder, etc.) or text editor,
you can copy and modify the sample Java User Inbox application/applet
provided with the Process Development Environment, or develop your own.
To add new User controls, modify, or hide existing controls, you may use
standard Java Swing controls (e.g., JButton, etc.), or you can use the
sample controls provided with the Java
User Inbox UI Toolkit, or your own Swing-based or AWT-based controls,
or you can mix and match as you wish. If you wish to use the sample controls
provided with the Java User Inbox UI Toolkit, be sure to add the vwpanel.jar
file (provided with your Process Development Environment) to your IDE
panel container (for details see Building
a Java User Inbox with the Java User Inbox UI Toolkit). When a workflow
user opens a step assignment that references a User Inbox, the user is
presented with a popup window containing the User Inbox user interface.
For information on the algorithm used to determine which application to
select for this step, see the Opening
User Inboxes topic.
- Create the User Inbox class. When building the User Inbox,
use the Process Java APIs to:
- Login to the Process Engine and establish a Process session (use
the VWSession API).
- Query User and Work queues for work items (for example, Step Elements),
query rosters and retrieve information about users, etc.
- Lock retrieved objects.
- Update workflow data.
- Complete the step (such as, doing a Save/Complete/MoveToQueue),
etc.
Be sure to include all operations needed to update workflow data and
complete the workflow step. For an overview on using these APIs, see
Working with Process Java
API Classes. For information on API calling sequences used to query
a queue, retrieve Step Elements, etc., see Runtime
API Relationships. For information on developing the actions described
in this substep, see Basic User Inbox
Operations.
- Use the Content Java APIs to integrate with the Content Engine.
If you are using an IDE, You can use the VWTabbedPane control and the
VWAttachmentPanel beans (included with the vwpanel.jar provided
with your Process Development Environment) to access attachments stored
in Content Engine Object or File Stores; otherwise, you can use the VWAttachmentPanel
bean in a manner similar to that used with the Java
User Inbox UI Toolkit to access Content Engine attachments; for information
on this approach, see Working
with the VWAttachmentPanel. For information on using the Content Java
APIs, see the Content Java Developer's Guide.
- Compile your customized Java User Inbox in a manner similar to the way you
would compile the sample Java User Inbox. For details, see the Compile
the Sample Processors topic.
- Create a JAR file that includes the customized Java User Inbox. For details,
see the Create a Java
Archive (JAR) File topic.
- Sign the JAR file in a manner similar to the way you would sign the JAR
file for the sample Java Processor. For details, see the Signing
a JAR File topic.
- Deploy the JAR file on the Application Engine server. Once deployed, you
will need to create a JSP event page to make the Processor available to the
Process Engine server. In addition, you will need to create a JSP view (UI)
page. For details on these steps, see the
Deploying
a Java User Inbox topic.
- Using the Process
Configuration Console, register your custom Java User Inbox. For details,
see the Adding a Custom Processor to the
Workflow topic.
- Once the Processor has been registered, using the Process Designer, add
the User Inbox to the workflow (unless the Processor has been registered,
it will not be available in the Process Designer). For details, also see the
Adding a Custom Processor to the Workflow
topic.