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:

  1. 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.
  2. Determine whether to develop your User Inbox as either an HTML page or a Java applet:
    1. 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.
    2. 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.
  3. 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.
  4. 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.
  5. 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).
  6. If you are building your own custom User Inbox:
    1. 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.
    2. 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.

    3. 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.
  7. 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.
  8. Create a JAR file that includes the customized Java User Inbox. For details, see the Create a Java Archive (JAR) File topic.
  9. 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.
  10. 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.
  11. Using the Process Configuration Console, register your custom Java User Inbox. For details, see the Adding a Custom Processor to the Workflow topic.
  12. 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.