This section contains new and corrected information that was required after the Oracle Waveset 8.1.1 documentation set was published.
This section contains new information and documentation corrections for Oracle Waveset 8.1.1 Deployment Reference.
The Forms and Workflow chapters of this guide are missing the following discussion about assigning scope to <Variable> elements: (ID-14915)
Identity Manager assigns a scope to all <Variable> elements when the element is declared. If you do not assign a value to the scope attribute, Identity Manager assigns it a value of local, which means that the variable can be accessed only within the XPRESS section that is declared in.
Additional Variable attributes that define scope include:
input -- Declares that the <Variable> element has local scope and that the value can be initialized by the caller.
output -- Declares that the <Variable> element has local scope but can be returned to the caller.
external -- Declares a <Variable> that has non-local scope - that is, assignments to this variable will result in assignment to this variable in the scope it was first declared in.
The following discussion of the Identity Manager whitelist feature is missing from this chapter. (ID-19474)
The Identity Manager whitelist feature makes it possible to check forms and workflows that use the SaveNoValidate action against a list of IDs or form names. Identity Manager checks the whitelist for either form names or form-owner IDs.) The list of IDs, called saveNoValidateAllowedFormsAndWorkflows, is located in the security attribute in the System Configuration object. If the form name or owner ID is on the whitelist, the form or workflow can use the SaveNoValidate action. If the form name or the owner ID is not on the list, the form or workflow is processed using a Save action. If the list is not present, all forms and workflows can be processed as SaveNoValidate.
To implement this feature in your deployment, you must add any forms or workflows using SaveNoValidate to the saveNoValidateAllowedFormsAndWorkflows list in the System Configuration object. To see the IDs or form names that you must add, check the syslog or turn trace level 4 on for com.waveset.ui.util.GenericEditForm and submit any custom forms or workflows that use SaveNoValidate. A warning including the ID will be logged. If you are getting “null” form names in the syslog, confirm that the form in the TaskDefinition that was run has a name attribute.
The Workflow chapter is missing the following discussion of the handleNativeChangeToAccountAttributes workflow (ID-3275):
Whenever Oracle Waveset detects a native change (that is, a change not performed through Oracle Waveset) to the values of an auditable attribute of a resource account, it responds by running the handleNativeChangeToAccountAttributes workflow, which is associated with this System Configuration object attribute:
<Attribute name='process'> <Object> <Attribute name='handleNativeChangeToAccountAttributes' value='Audit Native Change To Account Attributes'/> </Object> </Attribute>
This workflow logs the native change events to the event log if you have enabled the Changes Outside Lighthouse audit filter. Otherwise, Identity Manager ignores the event. Warning: Be careful which methods you call from any workflow that replaces the default workflow listed above.
Because Identity Manager launches this workflow whenever a resource account fetch reveals a native change, it must not invoke any method or workflow that would trigger another fetch of the same resource account. For example, an infinite loop will result if you call any WorkflowServices method that assembles the user view: getView(User),checkoutView(User) and possibly checkinView(User).
The fact that Identity Manager handles each native change by running a workflow allows you to hook the native change event, and to handle that native change however you see fit by replacing or adding to the default native change workflow. For example, you might choose to send email to an administrator or a user, to record the event in a database, to queue an update that would back out the native change, or even to pull that native change into and push it back out to the other resources.
The Workflow chapter of this guide is missing the following description of how to specify the subject or administrator of a source adapter task. (ID-19694).
You can assign a subject or administrator to a Source adapter task and designate the server on which it runs by editing the following attributes of the system configuration object. source.subject specifies the login name of administrator designated as the owner of this task. sources.host specifies the server on which the task runs. The new values in the configuration object are by default:
<Attribute name='sources'> <Object> <Attribute name='hosts'/> <!-- any host is the default --> <Attribute name='subject' value='Configurator'/> </Object> </Attribute>
This section contains new information and documentation corrections for Oracle Waveset 8.1.1 Resources Reference.
The discussion of identity connectors is missing the following information about how ConnectorAdapter implements the run() method: The arguments passed to the runResourceAction service are passed to the script (defined in the ResourceAction) as direct script variables. (ID-19856)
This section contains new information and documentation corrections for Oracle Waveset Service Provider 8.1.1 Deployment.
The ResourceAttribute element may contain a ValidationPolicy element. A validation policy ensures the value a user specifies on the Resource Parameters page meets the requirements defined in a separate policy object.
The following sample causes the adapter to use the Port Policy to ensure the specified value is valid. The default Port Policy checks the value is an integer between 1 and 65536.
<ResourceAttribute name=.Port. value="123"> <ValidationPolicy> <ObjectRef type="Policy" id="#ID#PortPolicy" name="Port Policy"/> </ValidationPolicy> </ResourceAttribute>
This FAQ answers some commonly asked questions related to using the Identity Manager IDE.
The information is organized into these categories:
Which version of Netbeans should I use?
Answer:Use the Netbeans version referenced in the Oracle Waveset product documentation provided for the Netbeans plugin version you are using.
Always use the exact version referenced because even patch releases can cause major functionality to break.
The Netbeans plugin was working, I did something, and now it is no longer working. What could be causing this problem?
Answer:This problem is commonly caused by a corrupt file in your .netbeans directory. Generally, deleting your .netbeans directory and re-installing the NetBeans plugin resolves the problem. (Deleting the .netbeans directory effectively uninstalls the NetBeans plugin. You lose all of your user settings, but the contents of your project will be safe.)
The steps are as follows:
Shutdown NetBeans.
Delete the .netbeans directory.
Start NetBeans.
Install the NetBeans plugin.
Restart NetBeans.
Building and running a project is taking a very long time, and the Identity Manager IDE seems to be copying a lot of files. What could be causing this problem?
Answer:This problem can occur for the following reasons:
You are using the Identity Manager IDE 7.0 or 7.1 plugin.
Use the Identity Manager IDE 8.0 plugin. Several adjustments were made to the Identity Manager IDE 8.0 Configuration Build Environment (CBE) to improve performance.
You might be using the Clean commands unnecessarily.
When you use Clean Project or Clean And Build Project, the Identity Manager IDE deletes the entire image directory, which contains several thousand files. Identity Manager IDE must copy all of these files from idm-staging during the next build.
To use the Identity Manager IDE efficiently, you must understand when to use the Clean commands. Refer to the “When to Use Clean” section in the Identity Manager IDE README.txt file for more information.
Now that I have created an Identity Manager project, what files should be checked into source control?
Answer:See the “CVS Best Practices” section in the Identity Manager IDE README.txt for information.
Question:What are the best practices for using project management in CVS?
Answer:See the “CVS Best Practices” section in the Identity Manager IDE README.txt for information.
Question:When are objects imported into the repository?
Answer:See Working with the Repository for information.
Question:How do I add a new JAR to the project?
Answer:See the “How to add a new JAR dependency” section in the Identity Manager IDE README.txt.
Which repository should I use for my sandbox repository?
Answer:Use the embedded repository for your sandbox— particularly if you are using Oracle Waveset 7.1 (or higher), which has an HsSQL repository available. You lose functionality if you do not use the embedded repository.
Refer to the “Working with the Repository” section in the Identity Manager IDE README.txt for more information.
Question:When are objects imported automatically?
Answer:You have to configure Identity Manager IDE to import objects automatically.
The steps are as follows:
Select Repository > Manage Embedded Repository from the IdM menu.
Enable the Automatically Publish Identity Manager Objects option on the Manage Embedded Repository dialog.
This option is not available for Identity Manager Project (Remote) or if you specify your own repository.
Select Project > Run Project or Project > Debug Project.
The Identity Manager IDE automatically imports all objects that have changed since the last time you ran the project.
Automatically publishing Identity Manager objects increases the time needed to start the server. To minimize server start time, disable this option and explicitly upload objects to the repository.
What is the most effective way to upload objects?
Answer:Use one of the following methods to upload modified objects:
Right-click one or more edited objects in the project tree and select Upload Object from the pop-up menu.
To upload multiple objects, press and hold the Control key as you select objects from the list.
Select one or more edited objects, and then select Repository > Upload Objects from the IdM menu. A dialog is displayed so you can select the objects to upload.
Either method uploads the object or objects directly to the server, so there is no cache latency issue and it is much faster than using Run Project or Debug Project. The Upload Objects feature is available regardless of which repository you are using.
The Netbeans embedded application server automatically shuts down whenever you perform any of the following project operations:
Clean Project
Create Delta Distribution
Create Jar
Debug Project
Manage Embedded Repository
Profile Project
Run Project
The Identity Manager IDE Debugger is sluggish. What could be causing this problem?
Answer:To improve the Debugger’s performance:
Always disable Tomcat’s HTTP Monitor, as follows:
Select the Identity Manager IDE Runtime Tab.
Expand the Servers node and right-click Bundled Tomcat > Properties.
Disable the Enable HTTP Monitor option, and then close the dialog.
The next time you start Tomcat, the HTTP Monitor will be disabled.
If you are not debugging Java, select Project > Run Project, and then select Attach Debugger > Oracle Waveset XML Object Debugger to use just the XPRESS Debugger.
Selecting Project > Debug Project for a non-remote Identity Manager IDE project starts both the XPRESS Debugger and Java Debugger, and the Java Debugger adds substantial overhead.
I cannot set a breakpoint in the Debugger. What could be causing this problem?
Answer:The following conditions might prevent you from setting a breakpoint:
You just installed the NBM, but did not restart Netbeans.
Your XML contains a <Waveset> wrapper element.
The Identity Manager IDE basically ignores any file that starts with a <Waveset> wrapper element because the Identity Manager IDE parses that element as a multi-object file.
The following features do not work on multi-object files:
Debugger
Rule Tester
Form Previewer
Any of the editors
Import file generator
Upload Object
Diff Object
Basically, all you can do with multi-object files is import them. The only files that should contain <Waveset> wrapper elements are your project’s top-level import files.
I set a breakpoint in the Debugger and it is not suspending on the breakpoint. What could be causing this problem?
Answer:There are two things to check:
Be sure the object name does not contain a CBE replacement string (%%). CBE replacement strings are not allowed in object names.
Verify that the code you think is being executed is actually being executed. Try adding a trace and see if anything prints out.
When developing rules in Netbeans, why is design mode not available for a Rule Library?
Answer:The design mode functionality is available from the explorer tree in Projects view. Use the following steps:
Expand the library node and right-click a rule.
When the pop-up menu displays, select Properties and then click Body.
Historically, Oracle Waveset does not localize resource objects and functions, primarily because they are mostly samples that get loaded (through init.xml) during initialization of Oracle Waveset, and because the attributes of object types can vary between actual customer deployments, depending on the level of customizations. Following is a list of areas where users might encounter English: (ID-16349)
Default user forms and process mapping
Example: Edit User > Security > User Form pull-down menus
Example: Configure > Form and Process Mappings
Configuration object attribute names
Example: Configure > User Interface, concatenated names such as displayPasswordExpirationWarning
Default tasks
Task templates
Example: Server Tasks > Configure Tasks > available task template names in table
Task type labels
Example: Server Tasks > Run Tasks > second column items from Available Tasks table
Task definitions
Example: Server Tasks > Find Tasks > second pull-down menu to select Task Definition
Default report names
Example: Report names found under Reports > Run Reports > Report Table
Default policy names
Example: Compliance > Manage Policies > audit policy names and descriptions
Default capability names
Example: Edit User > Security > Available Capabilities
Default report & graph names
Process/workflow diagram applets
This section contains documentation corrections for online help.
The “Configure Reports” help page contains the following sentence, which should be disregarded:
Fonts should also be added to the JVM in order for graphs to display properly.
The sentence is incorrect. Adding fonts to the JVM is not necessary in order to properly render text in the PDF report.