Skip Headers

Agile Product Lifecycle Management Recipe Management for Pharmaceuticals Administrator Guide Release 9.3.3 E39287-01 |
| Contents

Previous | Next |

# 2 Integrating Agile Recipe Management for Pharmaceuticals with Agile PLM

This chapter provides information about prerequisite settings in PLM Administrator and system files. The two main areas of integration are:

- the configuration of PLM users so they can work in Agile Recipe Management for Pharmaceuticals, and

- the configuration of PLM business objects that can be leveraged in Agile Recipe Management for Pharmaceuticals.

The material in this chapter must be thoroughly and sequentially applied before refining Agile Recipe Management for Pharmaceuticals users and the Agile Recipe Management for Pharmaceuticals solution itself (as documented in the rest of this manual).

## 2.1 Administrator and User Access to Agile Recipe Management for Pharmaceuticals

This section presents some tasks that permit access to the Agile Recipe Management for Pharmaceuticals user interface in Agile Web Client, as a starting point. This table gives a summary of configuration to work in Agile Recipe Management for Pharmaceuticals:

Administrator User or End-user | Client used to configure Agile Recipe Management for Pharmaceuticals or work in Agile Recipe Management for Pharmaceuticals | Configuration required to perform administrative or user tasks in Agile Recipe Management for Pharmaceuticals
--- | --- | ---
The PLM Administrator uses the information in this chapter to set up, synchronize, and integrate PLM Users and Business Objects to properly work in Agile Recipe Management for Pharmaceuticals. Then an Agile Recipe Management for Pharmaceuticals Administrator refines User capabilities and configures Business Objects in Agile Recipe Management for Pharmaceuticals.
PLM Administrator | Java Client (Admin tab) | PLM "Administrator" role and/or privilege
Agile Recipe Management for Pharmaceuticals Administrator | Web Client > Agile Recipe Management for Pharmaceuticals Administrator UI (which is fully documented in this manual) | Must be assigned specific PLM privilege mask to access Agile Recipe Management for Pharmaceuticals, plus specific selection in AppliedTo property to configure the solution and refine users.
All Agile Recipe Management for Pharmaceuticals users are created in Agile PLM (or company LDAP system) and synchronized and further configured to work in the Agile Recipe Management for Pharmaceuticals user interface.
Agile Recipe Management for Pharmaceuticals End-user | Web Client's "Agile Recipe Management for Pharmaceuticals" UI (documented in other Agile Recipe Management for Pharmaceuticals user manuals) | Must be assigned specific PLM privilege mask to access Agile Recipe Management for Pharmaceuticals, plus additional configuration in PLM (detailed in this chapter), plus assigned Agile Recipe Management for Pharmaceuticals roles and privileges (detailed later in this manual)
PLM End-user | Web Client's "Product Collaboration" UI | PLM roles and privileges (documented in Agile PLM Administrator Guide). Cannot access Agile Recipe Management for Pharmaceuticals unless properly configured

You will return to User Configuration in Configuring PLM Users for Agile Recipe Management for Pharmaceuticals.

### 2.1.1 Administrator Access to and from Agile Recipe Management for Pharmaceuticals

This section contains 4 procedures that describe how the PLM Administrator:

1. gives a PLM user administrative access to Agile Recipe Management for Pharmaceuticals. Once he/she is given administrative access, the PLM user is considered an Agile Recipe Management for Pharmaceuticals Administrator.

2. accesses Agile Recipe Management for Pharmaceuticals administrative features in Agile Recipe Management for Pharmaceuticals.

3. gives the Agile Recipe Management for Pharmaceuticals Administrator the ability to switch back to PC from Agile Recipe Management for Pharmaceuticals.

4. accesses PC from Agile Recipe Management for Pharmaceuticals.

Note: The procedures described in #2 and #4 are applicable to both the Agile Recipe Management for Pharmaceuticals Administrator and the PLM Administrator.

The following procedure allows the PLM Administrator to make a PLM user an Agile Recipe Management for Pharmaceuticals Administrator.

For a PLM user to have access to the administrative functions in Agile Recipe Management for Pharmaceuticals:

1. Assign the Agile Recipe Management for Pharmaceuticals UI Access privilege mask to the user.

2. Assign the (PLM) Administrator privilege mask to the user.

3. In the user's Administrator privilege mask AppliedTo property, move Agile Recipe Management for Pharmaceuticals Admin from the Choices field to the Selected field.

Note: As managing PLM Administrator for your company, you may want to assign user(s) to the administrative function for Agile Recipe Management for Pharmaceuticals users without granting full administrative capacity in PLM. The AppliedTo property is fully detailed in the chapter on Privileges in Agile PLM Administrator Guide.

This following procedure can be done by a PLM Administrator or Agile Recipe Management for Pharmaceuticals Administrator.

To go to the administrative functions in Agile Recipe Management for Pharmaceuticals:

1. In Agile Web Client's standard interface, choose Tools & Settings > Agile Recipe Management for Pharmaceuticals to open the Agile Recipe Management for Pharmaceuticals user interface.

   Note: There are a few licensing tasks that must be completed in PLM in order to enable the Agile Recipe Management for Pharmaceuticals menu item. For details, see the Agile PLM Administrator Guide.

   Many buttons and features are the same as in Web Client's user interface for the other PLM solutions.

2. Click Tools & Settings again; a dropdown menu appears. It lists the Agile Recipe Management for Pharmaceuticals administrative components. These Agile Recipe Management for Pharmaceuticals-configuring objects are fully documented in the remaining chapters of this manual.

Once an Agile Recipe Management for Pharmaceuticals Administrator is in Agile Recipe Management for Pharmaceuticals, he must also have the proper privilege to access PC from Agile Recipe Management for Pharmaceuticals. The PLM Administrator must complete the following task to give the Agile Recipe Management for Pharmaceuticals Administrator this privilege.

For an Agile Recipe Management for Pharmaceuticals administrator to have access to Product Collaboration from Agile Recipe Management for Pharmaceuticals:

1. From the Search dropdown menu, select People > Role.

2. Enter Admin* in the Search field, then click Execute Search.

3. On the Administrator row, click the checkbox, then click the Edit button.

4. Open the Privileges tab, then click the Actions subtab.

5. On this path: System > Default > Manage, select Product Collaboration.

6. Click OK.

7. This sequence permits access of the PC user interface.

To go to Product Collaboration from Agile Recipe Management for Pharmaceuticals:

This can be done by an Agile Recipe Management for Pharmaceuticals administrator user who has been configured according to the previous procedure.

1. Choose Tools & Settings > Product Collaboration to return to the standard user interface for the other PLM solutions.

#### 2.1.1.1 Agile Recipe Management for Pharmaceuticals Preferred Start Page

If it helps for an Agile Recipe Management for Pharmaceuticals administrator or Agile Recipe Management for Pharmaceuticals users to be directed to the Agile Recipe Management for Pharmaceuticals user interface upon logging in to Web Client, on the user's User Preferences, set Preferred Start Page to Agile Recipe Management for Pharmaceuticals.

This menu selection is available only to those users who have been assigned the Agile Recipe Management for Pharmaceuticals UI Access privilege mask, assuming that the Agile Recipe Management for Pharmaceuticals licenses are enabled in PLM. This prevents a PLM user from changing his Preferred Start Page to Agile Recipe Management for Pharmaceuticals if he has not been assigned the privilege to the Agile Recipe Management for Pharmaceuticals UI.

Note: The Preferred Start Page setting affects how UI-UI context switching functions. To learn about how UI-UI context switching is affected by this setting, see the Getting Started with Agile Recipe Management for Pharmaceuticals Guide.

### 2.1.2 User Access to Agile Recipe Management for Pharmaceuticals

A PLM user can access the Agile Recipe Management for Pharmaceuticals solution after the PLM administrator assigns the PLM privilege mask called Agile Recipe Management for Pharmaceuticals UI Access.

Important: The tasks below do not indicate anything more than access of the Agile Recipe Management for Pharmaceuticals solution. End-users must be created in PLM and further configured in Agile Recipe Management for Pharmaceuticals, as documented in Configuring PLM Users for Agile Recipe Management for Pharmaceuticals.

Further Agile Recipe Management for Pharmaceuticals-specific roles and privileges are assigned to users within the Agile Recipe Management for Pharmaceuticals solution.

Note: You may want to create a role for "Agile Recipe Management for Pharmaceuticals User", especially if you want to consistently bundle together other PLM privileges for PLM users who will work in Agile Recipe Management for Pharmaceuticals. For more information, see Agile PLM Administrator Guide chapter on Roles.

To give a PLM user access to Agile Recipe Management for Pharmaceuticals in Web Client:

1. All users who will work in the Agile Recipe Management for Pharmaceuticals solution are first created in Agile PLM (or the company's LDAP system).

2. An Agile PLM user must be assigned the Agile Recipe Management for Pharmaceuticals UI Access privilege mask. This privilege mask is based on the Agile Recipe Management for Pharmaceuticals UI Access privilege type.

3. From Agile Web Client's standard interface, a user chooses Tools & Settings > Agile Recipe Management for Pharmaceuticals to open the Agile Recipe Management for Pharmaceuticals user interface.

For Agile Recipe Management for Pharmaceuticals user, to access Product Collaboration from Agile Recipe Management for Pharmaceuticals:

1. In Agile Web Client's Agile Recipe Management for Pharmaceuticals interface, choose Tools & Settings > Product Collaboration to return to the standard UI for Product Collaboration and the other PLM solutions.

Note: You must have already assigned the user the privilege to access Product Collaboration as mentioned in Configuring Privileges for the Integration User.

## 2.2 Preliminary Configuration Tasks in PLM

This section details preliminary configuration tasks.

Note that the following terms may be used in directory paths:

- ORACLE_HOME - the directory where Oracle software is installed

- AGILE_HOME - the directory where Agile software is installed

### 2.2.1 Run Pharma.sql

The pharma.sql file creates an Agile Recipe Management for Pharmaceuticals privilege mask and creates Agile Recipe Management for Pharmaceuticals-Agile PLM subclasses in PLM. The pharma.sql file does the following:

- Adds subclasses under Item - Materials subclass, Recipe subclass.

- Adds Workflow under for Material - Default Material ECO.

- Adds a new Privilege type - Agile Recipe Management for Pharmaceuticals UI Access.

- Creates a new privilege - Agile Recipe Management for Pharmaceuticals UI Access.

- Adds Agile Recipe Management for Pharmaceuticals Admin to Admin type list. (The list of activities that the admin can access).

- Enables the Material and Equipment Management and Recipe Management modules. (These modules are added to the database in a disabled state.)

Run thepharma.sql script as Agile DB user. It is located at oracle_home\admin\<ORACLE_SID>\create\<agile schema user>.

### 2.2.2 Required Changes When Agile Recipe Management for Pharmaceuticals and PLM Are Installed Separately

When PLM and Agile Recipe Management for Pharmaceuticals are installed on different servers, there are manual changes you must make on the PLM side, as well as the Agile Recipe Management for Pharmaceuticals side.

#### 2.2.2.1 Manual Changes Required in Agile Recipe Management for Pharmaceuticals

When PLM and Agile Recipe Management for Pharmaceuticals are installed on separate servers, you must verify that the following URLs are properly defined in the CFMConfig.xml file which is located in agile_home\AgilePharma\config.

Note that when PLM and Agile Recipe Management for Pharmaceuticals are installed on the same server, these properties are pre-populated and manual changes are not required.

#### 2.2.2.2 Agile Http URL

Set the Agile HTTP URL:

http://<A9_SERVER_HOST_NAME>:<A9_SERVER_PORT>/<A9_VIRTUAL_PATH>

where "A9" refers to Agile PLM 9.x.y.z (such as 9.3.1.1). The default port number is "23791".

Example:

<AgileHttpUrl> `http://plm.company.com:23791/Agile` </AgileHttpUrl>

#### 2.2.2.3 The Remote Method Invocation (RMI) is slightly different on OAS or WLS.

If Agile PLM is installed on Oracle Application Server (OAS), the RMI should be:

Ormi://<A9_SERVER_HOST_NAME>:<RMI_port>/<virtual_path>

Example:

<AgileRmiUrl> ormi://plm.company.com:23791/Agile </AgileRmiUrl>

If PLM is installed on WebLogic Server (WLS), the RMI should be:

T3://<A9_SERVER_HOST_NAME>:<A9_SERVER_PORT>

Example:

<AgileRmiUrl> T3://plm.company.com:7001/Agile

</AgileRmiUrl>

#### 2.2.2.4 Agile Web Services URL

Agile Web Services are located at

http:// <A9_SERVER_HOST_NAME>:<A9_SERVER_PORT>/<A9_WS_VIRTUAL_PATH>/services

Example:

<AgileWebServiceUrl> `http://plm.company.com:23791/CoreService/services` </AgileWebServiceUrl>

#### 2.2.2.5 Summary of Agile Details

Another look at these "Agile Details":

    <AgileDetails>

<AgileHttpUrl> >http://<agile_host>:<port>/<virtual_path </AgileHttpUrl>

<AgileRmiUrl> ormi://<agile_host>:<RMI_port>/<virtual_path> </AgileRmiUrl>

<AgileWebServiceUrl> >http://<agile_host>:<port>/<Web_Services_virtual_path </AgileWebServiceUrl>

    </AgileDetails>

#### 2.2.2.6 Manual Changes Required in PLM

The following changes are required in PLM when PLM and Agile Recipe Management for Pharmaceuticals are installed on different servers.

#### 2.2.2.7 Configuring agile.properties For Separate Server Setup

1. Open agile.properties and scroll down to the Agile Agile Recipe Management for Pharmaceuticals Integration section.

   Note: If PLM is installed on an OAS server, agile.properties is located in oracle_home\j2ee\home\applications\Agile\APP-INF\classes. If Agile is installed on Weblogic, the location of the file agile.properties is agile_home\agileDomain\config.

2. Modify properties as given below:

   ##### Agile Agile Recipe Management for Pharmaceuticals Integration #####

   # Change this value to true if Agile Recipe Management for Pharmaceuticals is installed.

   agilepharma.install = true

   # Specify the Host Name of the Pharma Server.

   agilepharma.hostname = < Agile Recipe Management for Pharmaceuticals_hostname>

   # Specify the Port Number of the Pharma Server.

   agilepharma.portnumber = < Agile Recipe Management for Pharmaceuticals_port>

   # Specify the Protocol http or https.

   agilepharma.protocol = http

   # If the Agile Recipe Management for Pharmaceuticals server is configured for HTTPS/SSL, specify:

   agilepharma.protocol = https

3. Save the file.

### 2.2.3 Create Default Company and Site in Agile Recipe Management for Pharmaceuticals

"Default Company" and "Default Site" properties work differently in Agile Recipe Management for Pharmaceuticals than they do in PLM. The administrator must set default values for the Company and Site attributes in Agile Recipe Management for Pharmaceuticals, and have them correctly mapped from PLM, before creating Agile Recipe Management for Pharmaceuticals users.

If "Sites" are not enabled in PLM, the "Default Company" attribute must be set in Agile Recipe Management for Pharmaceuticals Administrator for user synchronization to work properly (this is accomplished in the task below).

To configure Company and Site in Agile Recipe Management for Pharmaceuticals:

1. Choose Create New > Organizations > Company.

2. Enter a Company Name. There are other properties you may fill in, but Name is the only required field that does not have a default value.

3. Choose Create New > Organizations > Site. A site always has a root Company, and the Company has to exist before the site can be created.

   These Agile Recipe Management for Pharmaceuticals objects are documented in the sections Add New Company and Add New Site.

4. Under Tools & Settings, choose Settings > Default Preferences and, under the System tab, ensure that the Default Company attribute is populated.

5. Do one of the following:

   a. In Java Client, on the General Info tab of the User object, set the attributes Default Site and Sites as Required fields. You must provide a valid Company for the Sites and Default Site attributes while creating or modifying the user in PLM.

   b. Leave the Default Site and Sites attributes in PLM empty. Ensure that the Default Company is set in the Default Preferences in Agile Recipe Management for Pharmaceuticals. In this case, the Agile Recipe Management for Pharmaceuticals user will have company as the "Default Company" in the Agile Recipe Management for Pharmaceuticals Default Preferences.

#### 2.2.3.1 Differences in Company and Site in PLM and Agile Recipe Management for Pharmaceuticals

- In Agile Recipe Management for Pharmaceuticals, regarding Company, and unlike Product Collaboration:

  - Company is a business object, not an attribute;

  - Company is a necessary parent object for a Site in Agile Recipe Management for Pharmaceuticals;

  - Company is a required attribute for creating Users; that is why a default value must be set in Agile Recipe Management for Pharmaceuticals admin's Default Preferences;

  - User synchronization maps (PC user) Default Site to (Agile Recipe Management for Pharmaceuticals admin) Default Company.

- In Agile Recipe Management for Pharmaceuticals, regarding Site, and unlike Product Collaboration:

  - A Site always has a parent Company;

  - That Company must exist before the Site can even be created;

  - A Site can have multiple levels of child sites, locations, etc.;

  - A Site can be defined as a Supplier, a Manufacturer, or both.

### 2.2.4 Configure CFMConfig.xml for Integration Updates to PLM

The CFMConfig.xml file is the main configuration file in Agile Recipe Management for Pharmaceuticals.

There is one parameter in CFMConfig.xml that must be configured for integration purposes. You must set the hourly periodicity of the integration of Agile Recipe Management for Pharmaceuticals to Product Collaboration (or "PC", the basic solution in PLM) - that is, how often you want the system to publish Agile Recipe Management for Pharmaceuticals updates to PC - open

agile_home\AgilePharma\config\CFMconfig.xml

and, under the CFMDaemon tag, adjust the AgileIntegrationHourlyPeriodicity property.

The property accepts integers 1-24 (that is, 1, 2, 3, ..., 23, or 24) for number of Hours.

## 2.3 Configuring PLM Users for Agile Recipe Management for Pharmaceuticals

This section details how to configure users who will work in the Agile Recipe Management for Pharmaceuticals solution.

All users who will work in the Agile Recipe Management for Pharmaceuticals solution are created in Agile PLM (Java Client or Web Client), or in the company's LDAP system.

### 2.3.1 Sequence of Agile Recipe Management for Pharmaceuticals User Configuration

The following sequence applies to all users who will work in Agile Recipe Management for Pharmaceuticals.

Sequence to configure Agile Recipe Management for Pharmaceuticals users:

1. Create user:

   Users are created in PLM, either in Java Client (Admin), in Web Client (Address Book), or in the company's LDAP system.

   Note: You may need to refer to the chapter about Users in Agile PLM Administrator Guide.

2. Provide PLM Privilege to access Agile Recipe Management for Pharmaceuticals:

   Each user must be assigned Agile Recipe Management for Pharmaceuticals UI Access privilege mask. Any user can also have PLM roles & privileges for non-Agile Recipe Management for Pharmaceuticals work.

   Note: Roles assignment must be done in both PLM (this step) and in Agile Recipe Management for Pharmaceuticals Administrator (see final step below).

3. Email format:

   Agile Recipe Management for Pharmaceuticals requires that each user's email address be in this format: xxx.yyy@zzz.com where "xxx" represents the user's first name, "yyy" represents the user's last name, and "zzz" represents the domain name of the mail server.

4. Preferred Start Page:

   User > User Preferences > Preferred Start Page and set to Agile Recipe Management for Pharmaceuticals. This lands the user directly in the Agile Recipe Management for Pharmaceuticals user interface. While this setting is best for users who will work only in Agile Recipe Management for Pharmaceuticals, it is optional and may not be preferred for users who work in other PLM solutions along with Agile Recipe Management for Pharmaceuticals.

   Note: The Agile Recipe Management for Pharmaceuticals option for Preferred Start Page is available only when the user has the Agile Recipe Management for Pharmaceuticals UI Access privilege and Agile Recipe Management for Pharmaceuticals specific licenses are enabled in the PLM.

5. Company and Site:

   Preliminary tasks were described in Create Default Company and Site in Agile Recipe Management for Pharmaceuticals.

6. User Synchronization:

   PLM users must be synchronized with Agile Recipe Management for Pharmaceuticals before any Agile Recipe Management for Pharmaceuticals-specific modifications to users can be made. Before creating and configuring users for Agile Recipe Management for Pharmaceuticals, you must choose between manual synchronization and automatic synchronization. The latter process is more involved than creating a single Process Extension, but it is more efficient in the long run, especially for synchronizing many Agile Recipe Management for Pharmaceuticals users. See Preliminary Steps to Synchronize Agile Recipe Management for Pharmaceuticals Users for more information.

7. Refine and modify user in Agile Recipe Management for Pharmaceuticals:

   Now the user can be seen and accessed in Agile Recipe Management for Pharmaceuticals. His capabilities in Agile Recipe Management for Pharmaceuticals now depend on the Agile Recipe Management for Pharmaceuticals administrator assigning Agile Recipe Management for Pharmaceuticals roles, following the procedures detailed in the sections Configuring Privileges for the Integration User and People.

   Note: Agile Recipe Management for Pharmaceuticals administrators are automatically synchronized, once they fulfill the conditions described in Administrator Access.

   The Agile Recipe Management for Pharmaceuticals administrator further refines the configuration of Agile Recipe Management for Pharmaceuticals users by applying solution-specific roles and privileges from within the administrative functions of Agile Recipe Management for Pharmaceuticals. For details on Agile Recipe Management for Pharmaceuticals-side configuration of users, see People.

### 2.3.2 Preliminary Steps to Synchronize Agile Recipe Management for Pharmaceuticals Users

To synchronize Agile Recipe Management for Pharmaceuticals users, choose one of the following ways of synchronizing User objects:

a. Create a user in PLM and manually synchronize the User object to Agile Recipe Management for Pharmaceuticals. This is called the "force synchronization" process, and it is detailed in Create Process Extension to Manually Synchronize Users.

b. Set up Event subscriptions in the Event Management framework that will automatically synchronize modifications to Users. The components are detailed in Event Management Process Extensions for Automatic User Synchronization. This is the recommended method.

#### 2.3.2.1 Create Process Extension to Manually Synchronize Users

Users must be synchronized from the Agile PLM framework to the Agile Recipe Management for Pharmaceuticals solution.

If your company's use of Agile Recipe Management for Pharmaceuticals will be limited to a finite number of users, you may elect to create a single process extension and apply it manually. The alternative is to use the Event Management capability (in Administrator module of Java Client) for automatic user synchronization.

Note: If you elect to use the Event Management framework to automatically synchronize users, the PX in this topic is not necessary. See Create Event Management PXs for Automatic User Synchronization.

When the general "Agile Recipe Management for Pharmaceuticals User Synchronization" Process Extension (PX) is created and added to the Users class (or subclass) in Java Client, it is then available to manually synchronize users from PLM to Agile Recipe Management for Pharmaceuticals.

Note: The jar file namedpharmaIntegrationPX.jar was deployed, during Install, in the extensions folder (agile_home > integration > sdk > extensions), but it will not show up in Java Client until the PX is configured.

To create the "Agile Recipe Management for Pharmaceuticals User Synchronization" PX:

1. In Java Client >Admin > Data Settings > Process Extensions, click the New icon and populate it with these values:

   - Name: Agile Recipe Management for Pharmaceuticals User Synchronization [suggested]

   - API Name: [accept the default after entering a Name]

   - Description: [brief description of the PX]

   - Type: Internal Custom Action

   - Internal Custom Action [this field was enabled when you set Type; the PX itself was deployed onto the server at Install time]: com.agile.agilepharma.integration.PX.UserIntegrationPX

   - Initiate From: Actions Menu [move from Choices to Selected in the dropdown dialog]

   - Roles: [leave empty]

     Important: The PX runs with the privileges of the user who triggers it, so it is important that the Roles field is left empty.

   - Enabled: Yes

2. Click OK to save the PX.

3. Navigate to Data Settings > Classes > users class > Process Extensions tab, and assign the Agile Recipe Management for Pharmaceuticals User Synchronization PX to the users class.

   The "synchronize users" PX is now properly configured and available as you create new users or modify existing users to work in Agile Recipe Management for Pharmaceuticals. Once the PX is configured, you can do synchronizations by accessing the PX, which is available in the user object's Actions menu in the PLM web client.

#### 2.3.2.2 Event Management PXs for Automatic User Synchronization

The Event Management capability in Java Client Administrator enables PXs to streamline the synchronization of User objects between PLM and Agile Recipe Management for Pharmaceuticals.

Event Management is fully documented in Agile PLM Administrator Guide and Agile SDK Developers Guide. The various masks below are guidelines for a useful set of Event subscriptions when users are created, modified (updated), or deleted.

#### 2.3.2.3 Event Masks for User Synchronization

The following sections describe Event Masks for User Synchronization.

#### 2.3.2.4 'Create User' Event mask: [Create User]

- Event Type: Create Object

- Object Type: User [the User subclass]

#### 2.3.2.5 'Delete User' Event mask: [Delete User]

- Event Type: Delete Object

- Object Type: User [the User subclass]

- Action: Soft

#### 2.3.2.6 'Update User' Event mask: [Update User]

- Event Type: Update Title Block

- Object Type: User [the User subclass]

#### 2.3.2.7 Event Handler for User Synchronization

The following sections describe the Event Handler for User Synchronization.

#### 2.3.2.8 Handler mask: [Agile Recipe Management for Pharmaceuticals User Sync Handler]

- Handler Type: Java PX

- Event Action: com.agile.agilepharma.integration.px.UserIntegrationPX

- Enable: Yes

- Role: [Leave blank.]

#### 2.3.2.9 Event Subscribers for User Synchronization

The following sections describe the Event Subscribers for User Synchronization.

#### 2.3.2.10 'Create User' Subscriber mask: [Agile Recipe Management for Pharmaceuticals Create User Sync Subscriber]

- Event: [CreateUser]

- Event Handler: [Agile Recipe Management for Pharmaceuticals User Sync Handler]

- Trigger Type: Post

- Execution Mode: Synchronous

- Order: 0

- Error Handling Rule: Continue

#### 2.3.2.11 'Delete User' Subscriber mask: [Agile Recipe Management for Pharmaceuticals Delete User Sync Subscriber]

- Event: [DeleteUser]

- Event Handler: [Agile Recipe Management for Pharmaceuticals User Sync Handler]

- Trigger Type: Post

- Execution Mode: Synchronous

- Order: 0

- Error Handling Rule: Continue

#### 2.3.2.12 'Update User' Subscriber mask: [Agile Recipe Management for Pharmaceuticals Modify User Sync Subscriber]

- Event: [UpdateUser]

- Event Handler: [Agile Recipe Management for Pharmaceuticals User Sync Handler]

- Trigger Type: Post

- Execution Mode: Synchronous

- Order: 0

- Error Handling Rule: Continue

  Note: Once all events have been configured, you must enable events to be triggered. To do this, navigate to the Admin tab in Agile PLM java client and click the Enable Triggering Events button.

## 2.4 Configuring PLM Business Objects for Agile Recipe Management for Pharmaceuticals

The following PLM business objects must be integrated with Agile Recipe Management for Pharmaceuticals so that the Agile Recipe Management for Pharmaceuticals solution works properly:

- Parts - Materials, Recipes;

- Manufacturers;

- Manufacturer Parts;

- Suppliers;

- Content (Attachment);

- Workflow and Autopromote.

- User

Each of the integrations of PLM business objects includes an optional step is to create a Subclass in Agile PLM that is dedicated to the Agile Recipe Management for Pharmaceuticals-specific object, for example, "Agile Recipe Management for Pharmaceuticals Manufacturers" or "Agile Recipe Management for Pharmaceuticals Suppliers". Whether or not you create Agile Recipe Management for Pharmaceuticals-specific subclasses depends on such factors as: the volume of business by your company in PLM and/or Agile Recipe Management for Pharmaceuticals solutions; the need to easily distinguish whether a Manufacturer, for example, produces goods to be used in pharmaceutical manufacturing or otherwise; and so forth.

When some objects, such as materials, get to a specified lifecycle phase, such as the Approved state, the object gets updated into the PLM database. This process is called synchronization. You can track the success or failure of an object's synchronization to PLM by checking the Integration Status and Integration Message attributes in the Default view of the object. These integration status fields are available for the Material, Recipe or Site Qualification objects. Additionally, you can check the WebServices.log file for integration errors. The log file is on the Agile Application Server, but is in different locations for OAS or WLS. Integration errors are written to the log file for the PLM-Agile Recipe Management for Pharmaceuticals integration objects, namely, Materials, Recipes, Manufacturers, Manufacturer Parts, Suppliers, Users, and (Attachment) Content.

Note: You can control the interval at which synchronization of integration objects occur. Refer to Configure CFMConfig.xml for Integration for more information.

### 2.4.1 Files Required for Integration

The following files need to be modified to integrate business objects between Agile Recipe Management for Pharmaceuticals and PLM:

- Integration.properties

- AgilePharmaMapping.xml

In general, all PLM business classes and PLM business objects that are required for integration by Agile Recipe Management for Pharmaceuticals must be created, enabled, and configured in the PLM Administrator.

Instructions that are more specific to the various PLM business classes follow.

Important: If you change any of the following files, you must re-start the Agile Agile Recipe Management for Pharmaceuticals Application Server for the changes to be incorporated by the system: - Integration.properties - AgilePharmaMapping.xml - CFMConfig.xml

#### 2.4.1.1 Integration.properties

The Integration.properties file contains subclass names from Agile PLM that are needed for Agile Recipe Management for Pharmaceuticals Integration. If you customize these names in the Java Client, you must ensure that the API names are correct as per your customization in the Integration.properties file.

Modify the Integration.properties file located at agile_home/AgilePharma/config/agile so that all API Names are correct. The file contains inline comments to guide you.

Refer to the information about API Names in Agile PLM Administrator Guide, Chapter 3, "Administrator Functions in Java Client".

WARNING: The last portion of the Integration.properties file is preceded by the following comment: "It is highly recommended NOT to modify the below properties." Please heed this warning and do not alter any line of code in that portion of the file.

#### 2.4.1.2 AgilePharmaMapping.xml

The configurations in the AgilePharmaMapping.xml file are necessary for integration purposes. There are two separate AgilePharmaMapping.xml files, one of which is located on the PLM side and another that is located on the Agile Recipe Management for Pharmaceuticals side.

The PLM version of the AgilePharmaMapping.xml file is used for user synchronization from PLM to Agile Recipe Management for Pharmaceuticals. The file is used to pass data from PLM to Agile Recipe Management for Pharmaceuticals. It can be found in the following locations:

- In a WebLogic setup, agile_home/agiledomain/config folder.

- In an OAS setup, oracle_home/j2ee/home/applications/Agile/APP-INF/classes.

Caution: It is recommended that you do not remove entries from the PLM version of this file, since user synchronization functionality could be broken.

The Agile Recipe Management for Pharmaceuticals version of the AgilePharmaMapping.xml file is used for Material, Recipe, Site Qualification, and Content integrations from Agile Recipe Management for Pharmaceuticals to PLM. The file is used to pass data from Agile Recipe Management for Pharmaceuticals to PLM. It is available under agile_home/AgilePharma/config/agile.

### 2.4.2 Material Integration

1. In Java Client, go to Admin > Data Settings > Classes > Items base class > Parts Class > Materials Subclass.

2. Add an AutoNumber source to the Materials Subclass.

3. Enable the Page Three tab for the Materials subclass

4. Create or Enable a Text Field in Page Three and set its Name as Material Category and API Name as materialCategory.

5. Create or Enable a Text Field in Page Three and set its Name as Material Type and API Name as materialType.

6. Create or Enable a Text Field in Page Three and set its Name as Material Name and API Name as materialName.

7. Modify AgilePharmaMapping.xml located in agile_home/AgilePharma/config/agile so that it has correct API Names for Material-related properties.

8. Modify Integration.properties file located at agile_home/AgilePharma/config/agile so that it has correct API Names for Material-related properties, for example:

PHARMA_CLASS_APINAME=MaterialsSubclass

ITEM_LIFECYCLE_PHASE_DEFAULT=Production

ITEM_LIFECYCLE_PHASE_DEACTIVE=Inactive

ITEM_LIFECYCLE_PHASE_ACTIVE=Production

### 2.4.3 Recipe Integration

1. In Java Client, go to Admin > Data Settings > Classes > Items base class > Parts Class > Recipe subclass.

2. Add an AutoNumber source to the Recipe subclass.

3. Enable the Page Three tab for the Recipe subclass.

4. Create or Enable a Text Field in Page Three and set its Name as Recipe Name and API Name as recipeName.

5. Create or Enable a Date Field in Page Three and set its Name as Effective Start Date and API Name as effectiveStartDate.

6. Create or Enable a Text Field in Page Three and set its Name as Effective End Date and API Name as effectiveEndDate.

7. Modify AgilePharmaMapping.xml located in agile_home/AgilePharma/config/agile so that all the Agile attributes have the correct API Names for Recipe-related properties.

8. Modify Integration.properties file located at agile_home/AgilePharma/config/agile so that it has the correct API Names for Recipe-related properties, for example:

RECIPE_APINAME=Recipe

RECIPE_LIFECYCLE_PHASE_DEFAULT=Production

RECIPE_LIFECYCLE_PHASE_DEACTIVE=Inactive

RECIPE_LIFECYCLE_PHASE_ACTIVE=Production

RECIPE_LIFECYCLE_PHASE_OBSOLETE=Obsolete

RECIPE_CHANGE_ORDER_APINAME=ECO

RECIPE_CHANGE_AUTONUMBER_APINAME=ECONumber

RECIPE_CHANGE_ORDER_WORKFLOW=DefaultChangeOrders

RECIPE_CHANGE_ORDER_WORKFLOW_FINAL_STATUS=CCB

Note: This last line names the final status to which the integration will advance the workflow: from that status on, it must be manually approved and released. If Autopromote is enabled on the workflow, it is released automatically when everyone approves. If you do not want approvals to be required in PLM, you must configure the workflow appropriately.

### 2.4.4 Manufacturer Integration

PLM uses the Manufacturer subclass for integration purposes, however, you can customize the setup by creating a new subclass. The steps to create and configure a custom Manufacturer subclass are as follows:

1. In Agile Java Client > Admin > Data Settings > Classes > Manufacturers base class > Manufacturers Class, create a subclass for "Agile Recipe Management for Pharmaceuticals Manufacturers".

2. Enable the Country/Area and State/Province/Region attributes on the Attributes:General Info tab.

3. Customize AgilePharmaMapping.xml located in agile_home/AgilePharma/config/agile so that all the Agile attributes have the correct API Names for Manufacturer-related properties.

4. Modify the Integration.properties file located at agile_home/AgilePharma/config/agile so that it has the correct API Names for Manufacturer-related properties, for example:

   MANUFACTURER_APINAME=Manufacturer

### 2.4.5 Manufacturer Part Integration (Optional)

PLM uses the Manufacturer Parts subclass for integration purposes, however, you can customize the setup by creating a new subclass. The steps to create and configure a custom Manufacturer Parts subclass are as follows:

1. In Agile Java Client > Admin > Data Settings > Classes > Manufacturer Parts base class > Manufacturer Parts Class, create a subclass for "Agile Recipe Management for Pharmaceuticals Manufacturer Parts".

2. Customize AgilePharmaMapping.xml located in agile_home/AgilePharma/config/agile so that all the Agile attributes have the correct API Names for Manufacturer Part-related properties.

3. Modify the Integration.properties file located at agile_home/AgilePharma/config/agile so that it has the correct API Names for Manufacturer Part-related properties, for example:

   MANUFACTURERPART_APINAME=ManufacturerPart

### 2.4.6 Supplier Integration (Optional)

PLM uses the Suppliers subclass for integration purposes, however, you can customize the setup by creating a new subclass. The steps to create and configure a custom Suppliers subclass are as follows:

1. In Agile Java Client > Admin > Data Settings > Classes > Suppliers base class > Suppliers class, create a subclass for "Agile Recipe Management for Pharmaceuticals Suppliers".

2. Enable the Country/Area and State/Province/Region attributes on the Attributes:General Info tab.

3. Customize AgilePharmaMapping.xml located in agile_home/AgilePharma/config/agile so that all the Agile attributes have the correct API Names for Supplier-related properties.

4. Customize the Integration.properties file located at agile_home/AgilePharma/config/agile so that it has the correct API Names for Supplier-related properties. For example:

   SUPPLIER_APINAME=Supplier

   SUPPLIER_CORPORATECURRENCY=USD

### 2.4.7 Content and Attachments Integration

1. Agile File Server must be installed and configured properly in Java Client (see Agile PLM Administrator Guide).

2. Agile File Server should be up and running.

3. Customize the Integration.properties file located at agile_home/AgilePharma/config/agile so that it has all correct API Names for Content-related properties. For example:

   FILE_FOLDER_APINAME=FileFolder

   FILE_FOLDER_AUTONUMBER_APINAME=FileFolderNumber

### 2.4.8 Workflow and Autopromote Configuration

1. You need to configure the following workflows for integration purposes:

- Default Material ECO

- Default Change Orders

- Default Manufacturer Orders

#### 2.4.8.1 Configuring the Default Material ECO Workflow

To configure the Default Material ECO workflow:

1. Navigate to Agile Java Client > Admin > Workflow Settings > Workflows > Default Material ECO.

2. Modify workflow statuses so that Pending status (Pending status type) has CCB status (Review status type) as Manual Valid Next Status.

3. In CCB status, set Autopromote to True.

4. Remove all entry and exit criteria for Workflow CCB status.

5. Modify the Integration.properties file located at agile_home/AgilePharma/config/agile so that it has the correct API Names for Workflow- and Change Order-related properties, for example:

   CHANGE_ORDER_APINAME=ECO

   CHANGE_AUTONUMBER_APINAME=Agile Recipe Management for PharmaceuticalsIntegrationAutonumber

   AGILE_WORKFLOW_APINAME=Agile Recipe Management for PharmaceuticalsIntegrationWorkflow

   AGILE_WORKFLOW_FINAL_STATUS=CCB

   ITEM_REVISION=1

   WORKFLOW_TYPE=Auto-Promote

   AGILE_WORKFLOW_STATUS_FOR_MANUAL_WORKFLOW=Submitted

   Note: The Default Material ECO workflow is a PLM-only workflow. The Agile Recipe Management for Pharmaceuticals solution has its own workflows (see Workflows).

#### 2.4.8.2 Configuring the Default Change Orders Workflow

To configure the Default Change Orders workflow:

1. Navigate to Agile Java Client > Admin > Workflow Settings > Workflows > Default Change Orders.

2. Modify workflow statuses so that Pending status (Pending status type) has CCB status (Review status type) as Manual Valid Next Status.

3. In CCB status, set Autopromote to True.

4. Remove all entry and exit criteria for Workflow CCB status.

5. Modify the Integration.properties file located at agile_home/AgilePharma/config/agile so that it has the correct API Names for Workflow- and Change Order-related properties, for example:

   CHANGE_ORDER_APINAME=ECO

   CHANGE_AUTONUMBER_APINAME=Agile Recipe Management for PharmaceuticalsIntegrationAutonumber

   AGILE_WORKFLOW_APINAME=Agile Recipe Management for PharmaceuticalsIntegrationWorkflow

   AGILE_WORKFLOW_FINAL_STATUS=CCB

   ITEM_REVISION=1

   WORKFLOW_TYPE=Auto-Promote

   AGILE_WORKFLOW_STATUS_FOR_MANUAL_WORKFLOW=Submitted

#### 2.4.8.3 Configuring the Default Manufacturer Orders Workflow

To configure the Default Manufacturer Orders workflow:

1. Navigate to Agile Java Client > Admin > Workflow Settings > Workflows > Default Manufacturer Orders.

2. Modify workflow statuses so that Pending status (Pending status type) has CCB status (Review status type) as Manual Valid Next Status.

3. In CCB status, set Autopromote to True.

4. Remove all entry and exit criteria for Workflow CCB status.

5. Modify the Integration.properties file located at agile_home/AgilePharma/config/agile so that it has the correct API Names for Workflow- and Change Order-related properties, for example:

   CHANGE_ORDER_APINAME=ECO

   CHANGE_AUTONUMBER_APINAME=Agile Recipe Management for PharmaceuticalsIntegrationAutonumber

   AGILE_WORKFLOW_APINAME=Agile Recipe Management for PharmaceuticalsIntegrationWorkflow

   AGILE_WORKFLOW_FINAL_STATUS=CCB

   ITEM_REVISION=1

   WORKFLOW_TYPE=Auto-Promote

   AGILE_WORKFLOW_STATUS_FOR_MANUAL_WORKFLOW=Submitted

## 2.5 Configuring Privileges for the Integration User

You must ensure that the integration user has the required privileges. The Integration user (as defined in agile.properties in the Agile PLM and in agile_home/AgilePharma/config/agile/Integration.properties in Agile Recipe Management for Pharmaceuticals) must have the following privileges in PLM:

1. Recipe and Material Workspace Admin privilege in PLM and must be super user in Agile Recipe Management for Pharmaceuticals.

2. Create, Discovery, Read and Modify privileges on all attributes of Materials subclass.

3. Create, Discovery, Read, Modify and Change Status privileges on the Default Material ECO.

4. Create, Discovery, Read and Modify privileges on all attributes of Manufacturer subclass (or on the custom sub class if one was created and configured in Integration.properties).

5. Create, Discovery, Read and Modify privileges on all attributes of Manufacturer Part subclass (or on the custom sub class if one was created and configured in Integration.properties).

6. Create, Discovery, Read and Modify privileges on all attributes of Broker subclass (or on the custom sub class if one was created and configured in Integration.properties).

7. Create, Discovery, Read and Modify privileges on all attributes of Recipe subclass

8. Create, Discovery, Read, Modify and Change Status privileges on the Default Change Orders (or on the custom workflow if one was created and configured in the Integration.properties).

9. Create, Discovery, Read, Modify and Change Status privileges on the Default Manufacturer Orders (or on the custom workflow if one was created and configured in the Integration.properties).

10. Create, Discovery, Read, Modify, Check-in, Check-out, Cancel Checkout, Get File, and Delete privileges on the File Folder subclass in PLM (or on the custom subclass, if one was created and configured in the Integration.properties) to perform Attachment operations:

11. The privilege in Agile Recipe Management for Pharmaceuticals for the user to navigate from Agile Recipe Management for Pharmaceuticals to Agile PLM. Navigate to System > Default > Manage > Product Collaboration privilege to enable the privilege.

Note: If Agile PLM is installed on an Oracle Application Server, the agile.properties file is located in <ORACLE_APP_SERVER_HOME>\j2ee\home\applications\Agile\APP-INF\classes. If Agile is installed on WebLogic Server, the location of the file agile.properties is agile_home\agileDomain\config. The value for Agile Recipe Management for Pharmaceuticals.intuserpassw in agile.properties and AGILE_PASSWORD in agile_home\AgilePharma\config\agile\Integration.properties should be encrypted using the encryptpwd.cmd or encryptpwd.sh (This file can be found under agile_home\AgilePharma\bin).