-
IDM Administrative Objects
-
Types
-
User objects
- • Provide users access to one or more resources and manage user account data on those resources
- • Assign roles, which set user access to various resources
- • Are part of an organization, which determines how and by whom user accounts are administered
-
By default, IDM stores seven data attributes for each user. 4 of these attributes are contained within the User object and three are contained within the User Extended Attributes configuration object.
- Under User Object
- name
- email
- idmManager
- password
- Under User Extended Attributes
- Topic
-
Organization objects
-
Organization objects allow you to perform the following tasks:
- Logically and securely manage user accounts and administrators
- Limit access to resources, applications, roles, and other Identity Manager objects.
-
Resource and Resource Group objects
- • Resources: Store information about how to connect to a resource or system on which accounts are created
- • Resource Groups: A group of resources with a specific order of creation and deletion of user accounts
-
Policy objects
- • Define and enforce the structure of accounts and passwords
-
• User-based policies:
- • Include the Default Lighthouse Account Policy (a policy of policies)
- • Are assigned to a user directly or indirectly
-
• Resource-based policies:
- • Include the AccountId Policy and Password Policy
- • Enforce parameters, such as length, complexity, and use of dictionary words, when creating accounts and passwords
-
Role objects
- Represent an identity user types
- Allow resources to be grouped and assigned to users
- Typically, roles represent user job functions.
- Roles define a base set of resources and resource attributes for users
- They can also define relations between other roles, for example, roles that contain or exclude other roles
- Users can have one or more roles
-
Role objects consist of:
- List of resources
- List of aprovers
- List of notifications
- List of excluded roles
-
Capability objects
- • Are a group of rights that the user is authorized to execute on an object type
- • Enable a user to perform administrative actions
- • Are typically assigned based on job responsibility (such as password resets and account approvals)
- • Capabilities distinguish and end-user from an administrator in IDM
- • Capabilities can contain other capabilities, therefore creating a logical grouping of rights. For instance, the Password Administration Capability contains the Change Password Administrator capability and the Reset Password Administrator capability.
- • Can be extended for customer-specific needs
-
Form objects
- Forms are associated with a page that contains rules about how the browser should display user attributes on that page.
- Form objects especify which fields are visible on the page and which HTML form elements are used to represent each field.
-
What is IDM?
-
IDM consists of the business process and technologies for managing the life cycle of an identity and its relationship to business applications services
- Involves account creation, modificagtion, disablement, and deletion across heterogeneous platforms
- Use delegated administration, workflow, rules, and policies
- Supports end-user self-service password reset and provisioning
- Provides centralized auditing and reporting
-
Identity Life Cycle
- New Users
- Change events and user support
- User Leaves
-
Business Drivers
- Reduce Costs
- Improve quality of service
- Business: Open Access
- Security: Minimize Risk
- Health information portability and accountability act
- Sarbanes-Oxley
- European Data Protection Directive
- Gram-Leach-Bliley Act
-
IDM Products
-
Enterprise
- Identity Manager
- Access Manager
- Directory Server
- Identity Auditor
-
Collaborative Enterprise
- Federation Manager
- IDM SPE
- Open SSO
-
Components
-
Unified Identity Console
- Delegated Administration
- Role and Policy management
- Self-service interface
- Audit
- Reporting
- Automated User Provisioning
- Password Management
- Identity Sinchronization
-
Identity Platform Services
- Auto-Discovery
- Virtual Identity
- Rules Engine
- Dynamic Workflow
- SPML Interface
- Agentless adapters
-
Features
-
Core features
-
Comprehensive provisioning
- Connectivity to more than 50 types of resources
- Digital and non-digital assets
- Workflow-based solution
- Resource Connectivity
-
Workflow
- Multiple processes that control creation, update, enabling, disabling and deletion of users accounts
- Integration with third-party tools
- Notification and approval handling
- Complex, multi-stage provisioning execution and error handling
-
Interactive request processes:
- Form wizards
- Multi-page user entry
- Virtual Identity
-
Features of Virtual Identities
- Lightweight, yet extensible
-
Real-time interaction with managed resources:
- > Ability to generate reports on native data in resources
- > No complex replication infrastructure
- > Immediate update to resource
-
Virtual identity composition:
- > Key information for each resource
- > List of resources
- > Basic information (name, email)
- > Identity Manager ID
-
Identity Synchronization
- IDM provides automatic synchronization of identity data across multiple resources.
-
Password Management
- Synchronization to multiple resources
- Centralized password reset
- • Self-service password reset and synchronization
-
• Convenient access through:
- > Web browser
- > Interactive Voice Response (IVR) system
- > Microsoft Windows client log-in (CTL-ALT-DEL)
-
• Automated password policy enforcement:
- > Password history store
- > Password exclusion dictionary
-
User Management
- • Forms and rules that encapsulate business logic
- • Centralized solution for applying user policies
- • Web-based self-service ― Delegation to end-users to make profile changes and initiate request
-
• Multi-step, complex provisioning:
- > Convenient, web-based approval steps
- > Available to managers, HR representatives, and IT administrators
-
Reports
-
Reports are considered a special category of task. As a result you wirk with reports in two areas of the IDM Administrative Interface:
-
Reports
- From here, you define, run, delete, and download reports. You can also manage scheduled reports.
-
Tasks
- After you define reports, go to the Task page to schedule and manipulate report tasks.
-
Reporting Categories
-
• Reporting on Identity Manager objects:
- > Summary Reports
-
> Account Index Reports
- Not as much of a report as it is a summary of information pertaining to the Resource Index. This information can be viewed from the Resource page.
-
• Reporting on Identity Manager audit data:
-
> Audit Reports
- It is based on events captured in the system audit log.
- > Usage Reports
-
• Reporting on data extracted directly from resources:
- > Risk Analysis
-
> Resource User Report
- List resources and which users have accounts on those reports.
-
> Resource Group Report
- List Resource groups and which resources are part of those resource groups.
-
Compliance Reports
- • Summary Reports ― Show which users have accounts on which resources
-
• Account Index Reports:
- > Show which resource accounts are not owned by a user ]
- > Allow unassigned accounts to be linked to a user, disabled, or deleted.
- • Risk Analysis Reports ― Show accounts that are expired, inactive, never been used or do not require a password.
- • Administrator Reports ― Show which users in Identity Manager have rights to see data and control user access in Identity Manager.
-
Auditing
- • Auditing records who did what, when, and to which Identity Manager objects.
- • Actions taken through Identity Manager are recorded in the Audit Log: Session, Workflow, Provisioner.
- • The Audit Log does not replace the audit functionality built into the native resources.
- • Custom Audit Log types and actions can be configured in the product.
-
Best Practices
-
Achieving Compliance in IDM
- • Rename the Configurator/Administrator account and reset password to unknow value.
- • Limit the number of administrators who have control over the Top organization and have the ability to change Configurator's password. This will be audited.
- • Tie all administrator accounts to a real user account.
- • Execute Administrator Reports to verify that Identity Manager administrators have the correct scope and capabilities.
- • Configure secure communication for data transmission.
- Password Management
-
Reconciliation
-
IDM can be configured to detect
- New and deleted accounts
- Changes to account attribute values
- Accounts that are not associated with users (and correlate them if possible)
- Accounts that have been moved from one container on a resource to another container on a resource
- During reconciliation, all the resource account attributes are mapped into the global namespace
-
Seed virtual Identity
- Account Index
-
Primary Source
-
Factors to select primary source
- Does the resource contain the universe of accounts?
- Is the data in the resource considered authoritative or it could it possibley incorrect be incorrect data?
- Is it a highly utilized resource?
- Does it contain enough information to build the identity?
- Does it contain a unique naming attribute?
- Can you correlate other accounts with the attributes contained in this resource?
-
Tools for Loading Accounts
-
Standard Tools
- Load from file
- Advantages
- Quickest loading process
- Easy to control which attributes are load
- Do not call any workflow
- Disadvantages
- Requires time to generate a CSV file from a resource
- Requires full reeconciliation before production
- Cannot be used to update accounts
- Load from resource
- Advantages
- Work with all resources
- Easier to configure than reconciliation
- Do not call any workflow
- Disadvantages
- Cannot pick and choose which resource accounts will be loaded
- Requires a full reconciliation before production
- Reconcile
- Advantages
- Can implement all aspects of reconciliation policy
- Using reconciliation up-front prevent last minute surprises
- Can be scheduled
- Disadvantages
- Cannot pick and choose which resource accounts will be loaded
- Can take a larege amount of time to load all accounts in large environments (more than 50,000 employees)
-
Specialized Tools
- Identity console (cli)
- Extract/Load
- Import XML Objects
- Bulk Actions
- Advantages
- Allows you to add multiple accounts simultaneously to an Identity Manager User
- Can be scheduled
- Disadvantages
- Slower than loading from resource or reconciliation
- Cannot easily generate the CSV file from resources
- Requires detail knowledge of Identity Manager to make full use of these feature.
- Requires a full reconciliation before production
- Note
- Use it in production environments, but only very carefully
- One mistake in the bulk action can impact all user in the repository
- Active Sync
- Note
- If at all possible, avoid choosing Active Sync as the means to load account information. Active Sync is designed to detect changes, and as a result, initial loads are slow.
- Can be scheduled
- Import Exchange File
- End User Self Discovery
-
Reconciliation
-
Loading accouints from a primary resource
- Verify resource adapter configuration
- Configure account and password policies
- Account and Password Policies
- The default Lighthouse Account Policy uses other policies to specify what is considered a valid Identity Manager user name and passowrd.
- A default Identity manager user name adheres to the AccountId Policy
- The default password for a user adheres to the Password Policy
- Attempts to load resource accounts that do not follow these policies are rejected.
- You should either update the default policies or create your own before attempting a data load.
- Identity Manager Account Policy can generate AccountId and Password for initial user.
- Resource Account and Password Policies:
- Not used during Reconcile, Load From Resource, or Load From Resource.
- Only used during true resource provisioning processes.
- Create a load from for processing data.
- Load Form
- The Load Form maps data from resource account to Identity Manager users
- The Load form configures User objects:
- Organization
- Roles
- Policies
- Capabilities
- When creating a Load Form:
- Starts with an emty form - do not use existing forms as templates
- Add only attributes needed for loading
- Crate a proxy account in Identity Manager for loading
- Proxy Admin Account
- A service account (not assigned to a real person)
- Has Account Administrator Privileges and controls the top organization.
- Must have sufficient capabilitites to create and view users
- Has a load form assigned to the account that is applicable in the following situations:
- Reconcile and Bulk Actions - Only use the proxy load form
- Load from resource, Load from file and Active Sync - Use both the input form and the proxy load from
- Associate load form with proxy account.
- Configure extended attributes to store correlation keys.
- Adding extended attributes
- Edit UserUIConfig
- Add the attribute QueryableAttrName object for basic searching
-
Add the attribute to the RepoIndex object for fast database-index searching (maximu of five allowed)
- Implement correlation and confirmation rules.
- Correlation and Confirmation Rules
- IDM uses correlation and confirmation rules to link accounts to other resources:
- Correlation rules
- Look for IDM users that might own an account.
- Return a list of users that match the criteria defined in the correlation rule.
- Are a brief, fast search.
- Only look at data contained in the IDM repository; they do not look at view data.
- To achieve optimum performance, correlation rule searches should be performed on attributes that have indexed in the Repository.
- Confirmation rules
- Validate users returned by a correlation rule to determine whether the user actually does own the account.
- Return true or false values
- Uses all data contained in the view to find potential matches.
- Are exhaustive; more time consuming verification. (slower)
-
Definition
- Compares the contents of the Account Index to what each resource currently contains
- During reconciliation, all resource account atributes are mapped into the global namespace.
- If these attributes match an IDM user attribute, such a firstname, lastname or employeeId, then the attribute is set on the IDM user during creates ONLY!
- All attribute that do not directly match IDM attributes are ignored.
- Reconciliation only processes the Proxy Admin Form during creation of new users and only pushes global attributes during creation of new users.
- Can detect the following:
- New and deleted accounts
- Changes to account attribute values
- Accounts that are not associated with users.
- An account that has been moved from one container on a resource to another container on a resource.
- Can run a workflow in response to each situation detected.
- types
- Full Reconciliation
- A comprehensive evaluation of IDM users and all resource accounts
- Is typically a first time account seeding step
- Is used to refresh the system after downtime.
- Does not trust Account Index; can fix problems with both users and Account Index.
- An IDM user can claim a resource by:
- Having a role that implies the resource.
- Having a direct resource assignment
- Referring to an account on the resource.
- Phases:
- Pending
- Examining Identity Manager
- Indexing Users
- Examining resource
- Reconciling accounts
- Performing responses
- Posible Finalization Status:
- unknown
- disabled
- failed
- success
- completed with errors
- Full Reconcile Steps
- Launch pre-reconciliation workflow
- Find all users with resource already assigned
- Fetch last known state from Account Index.
- List all accounts from resource.
- Detect Native changes for all accounts
- Perform per account steps.
- Launch post-reconciliation workflow.
- Incremental
- Trust the Account Index and only processes accounts that have been added or deleted.
- Is much faster than Full Reconciliation, because it processes add/deletes ONLY
- Must still list all accounts on the resource, which can potentially be time consuming.
- Is run daily (or hourly) to refresh the account Index.
- Incremental Reconcile Steps
- Launch pre-reconciliation workflow
- List all accounts from resource
- Compare to the Account Index
- Detect native changes for all accounts.
- Perform per account steps for new or deleted accounts only.
- Launch post-reconciliation workflow
- Reconciliation Policies
- Allow you to establish a set of responses, by resource, for each reconciliation task.
- Allow you to specify the following:
- Server node used to run reconciliation.
- Mode of reconciliation: full or incremental.
- Reconciliation Schedule
- Responses for each situation encountered during reconciliation
- Whether to detect changes made natively to account attributes.
- Scope of Recon Policies:
- Recon Policies can be applied globally, for a resource type, or for a specific resource.
- Parameters are inherited from the parent unless they are overridden at lower levels.
- Global settings are typically used to specify the reconcile server and proxy administrator account.
- Resource type settings are typically used:
- When many resources are of the same type.
- To ensure consistency of policy settings
- Specific resource settings provide granularity for an individual resource.
- Attribute level reconciliation
- • Reconciliation can watch and detect attribute changes on a resource
- • Watched attributes must be:
- > Identified in the reconciliation policy
- > Stored in the Account Index for each account
- • When a change is detected, workflow launches to take appropriate action
- • Implications:
- > Increases reconciliation processing time and storage requirements
- > Takes as long for an incremental as for a full reconcile for IDM repository.
- Situations Options and Responses
- • Reconciliation determines the current state (situation) for each account processed based on correlation rules and the last know state.
- • A specified action (response) can be configured for each state.
- • Situations and responses should be well understood before configuring in production.
- • Leaving all responses set to Do Nothing updates the Account Index only (default) .
- Different Situations
- Confirmed
- What it means
- The user indicates that the resource account exists, and the resource account is found on the resource.
- Possible Responses
- Do nothing
- Deleted
- What it means
- The IDM user says the account exists, but the resource says that the account does not exists.
- ResourceInfo created='true'
- Possible Responses
- Unlink the resource account from the IDM user.
- Provision a new resource account for the IDM user.
- Found
- What it means
- The user account reference does not specify that the account has been created, and the resource indicates that the account does exist.
- ResourceInfo created='false'
- Possible Responses
- Link the found resource account to the matching IDM user .
- Missing
- What it means
- The user's accounr reference does not specify that the account has been created, and the resource indicates that the account does not exist.
- ResourceInfo created='false'
- Possible Responses
- Unlink the resource account from the Identity Manager user
- Provision a new resource account for the Identity Manager User
- Collision
- What it means
- Two or more IDM users claim the same resource account
- Possible Responses
- No responses
- Unassigned
- What it means
- The resource account matches exactly one IDM user, but that user does not say anything about the account.
- Possible Responses
- Link the resource account to the IDM user.
- Delete the resource account.
- Disable the resource account.
- Unmatched
- What it means
- The resource account matches no IDM user.
- Possible Responses
- Create a new IDM user based on the resource account.
- Delete the resource account.
- Disable the resource account.
- Disputed
- What it means
- The resource account matches more than one IDM user.
- Possible Responses
- Delete all the resource account
- Disable the resource account
- Typical Scenarios
- • Initial load:
- > UNMATCHED – Create a new user
- • Account correlation:
- > UNMATCHED – Create a new user
- > UNASSIGNED – Link resource account to user
- • Steady State, continue using native tools:
- > UNMATCHED – Create a new user
- > UNASSIGNED – Link resource account to user
- > MISSING, DELETED – Unlink resource account
- • Steady State, provisioning from Identity Manager:
- > DELETED – Provision new account on resource
- > FOUND – Link resource account to user
- > MISSING – Provision new account on resource (or do nothing)
- > UNASSIGNED, UNMATCHED – Disable or delete resource account
- Reconcile Scheduling
- • Separate schedules are maintained for full and incremental reconciliation.
- • Each resource has a TaskSchedule object that can be controlled externally.
- • Reconciliation only allows three resources to be reconciled at one time by default.
- Scheduling aditional reconcile tasks results in the later tasks wainting until the earlier tasks complete.
- • The Tasks page in the Administrative Interface should show an entry for each resource scheduled.
-
Workflows
-
Definition
- Workflow is a logical, repeatable process during which documents, information, or tasks are passed from one participant to another for action, according to a set of procedural rules.
- A participant can be a person, a machine, or both.
-
Workflow Processing
- • Workflow operates as a specialized form of an executing task.
- • It walks through a defined set of activities in a task using a path defined by transitions.
- • Actions defined within those activities are executed by the Workflow Task as the work accomplished in a task.
-
Workflow Execution Types
- WorkflowExecutionTypes.jpeg
-
Workflow Components
- • Workflow Executor – Specialized task executed by the Scheduler to evaluate TaskInstance objects
-
• Task Definitions (TaskDefinition object):
- > Describe activities that are connected through transitions
- > Constructed as XML Objects in Identity Manager
-
• Task Instances (TaskInstance objects):
- > Instantiate a task definition that is executed by the Workflow Executor
- > Persist the state of the task variables and current place in execution of task definition
-
Workflow Activity
- • An activity is a single step in the workflow process.
- • Each activity can contain multiple components, including transitions, variables, and actions.
-
Workflow Actions
- • Can be simple expression evaluations
- • Can be complex Java class invocations (workflow applications)
- • Support iterating over lists, allowing for multiple, parallel executions of the action
-
• Include the following:
- > Setting variables
- > Providing approvals
- > Invoking custom classes
- > Calling external scripts or programs
- > Invoking Repository API
-
Repository APIs
-
• com.waveset.object.LighthouseContext
- > Contains methods for manipulating objects in the Repository and accessing the object cache
- > Enforces the authorization model
- > Accesses context information within forms and rules with <ref>context</ref>
-
• com.waveset.provision.WorkflowServices
- > Provides provisioning functions such as create, update, delete, and associated error handling
- > Contains utilities to send notifications and obtain a list of approvers
-
ActiveSync
-
Steps to configure active synchronization
- x
- > Correlation and confirmation rules
- > Creating an Empty Form and Proxy Administrator
- > Creating a New Resource
- > Schema Map for a Resource
- > Configuring the Synchronization Policy
- > Configuring Identity Attributes
- > Starting Synchronization
-
Phased Implementation Approach
-
Phase 1 - Regulatory Compliance and Self-Service
- • Meet regulatory compliance guidelines
- • Provide user self-service password management
- • Update the interface for corporate branding requirements
-
Deployment Roadmap
- Connect to Resources
- Create Administrators
- Seed Identity Manager Users
- Configure Audit Reports
- Enforce corporate password policies
- Enable pass-through authentication
- Customize Identity Manager interfaces
- Customize administrative interface
-
Phase 2 - Role Based Provisioning
- • Implement a delegate administration model
- • Streamline process for project managers to manage project-based access control
-
Deployment Roadmap
- Create Project-based roles
- Create a Delegated Administration Environment
- Create Custom forms
- Create Custom Workflos
-
Phase 3 - Identity Sinchronization
- • Synchronize Active Directory with HR and other databases
- • Construct a corporate LDAP directory for existing users
- Deployment sub-phases
-
Phase 4 - Self-Registration
- • Implement a contractor self-registration system
- • Use custom forms for self-registration and role assignments
- • Use custom workflow for approvals
- Deployment sub-phases
-
Implementation approach sumary
- • Configure a resource adapter to connect to and examine each system
- • Define administrative users for executing reconciliation and generating regulatory reports
-
• Build a virtual identity for every employee:
- > Seed virtual identities from an authoritative resource
- > Correlate other resource accounts to virtual identities
- > Schedule updates to the virtual identity store
- • Build example reports for regulatory compliance enforcement
-
Resource Adapters
-
Types
- Mainframe security managers
- Databases
- Directory servers
- Operating Systems
- Enterprise Resource Planning (ERP) Systems
- Messaging Platform
-
Uses
- • Create, update, and delete objects on a resource during workflow processing
- • Retrieve data attributes or objects on resources
- • Fetch single accounts or list all accounts during reconciliation
- • Validate user credentials when implementing pass-through authentication
- • Process change events for accounts
-
Questions
- How workflow can be launched using Simple Object Access Protocol (SOAP) to execute provisioning tasks?
- SPML 1.0 vs SPML v 2.0
- IDM vs IDM SPE
-
Tips
-
SYNC_ResourceName
- Is a generic object type that keeps the last successful event processed for the ActiveSync
-
Generic Objects, Path Expresions and Views
-
Generic Objects
- • Represent complex hierarchical objects (maps of lists of maps) and allow easy navigation of the data structure
-
• Are typically used to represent views and are simple collections of name/value pairs:
- > Generic Objects are essentially a Java class that implements the Map Interface.
- > You can access these attributes externally through path expressions.
- • Are the foundation for manipulating the hierarchical view through simple HTTP request data flat list of attributes)
- • Are supported as a data type using the <Object> tag
-
Path Expressions
- • Is a string interpreted at runtime by the GenericObject class.
- • Is used to retrieve or assign the value of an attribute contained in an object hierarchy.
- • Consists of periods and brackets to represent objects and attributes.
-
• Is used as the value of the name attribute in form fields when customizing a form:
- <Field name='user.waveset.roles'>
-
Views
- • Generic Objects that consist of attributes assembled from one or more objects.
-
• Similar to database views:
- > Abstracts a complex join of several tables
- > Provides a single, readable (and writable) interface
- • Used to display and edit a user's identity
- • Transient – Are not stored in the Repository
- • Used primarily in forms and workflows
-
Types
-
• Several types of views are available:
- > Data contained in the view can be different.
- > Structures can be different.
- • Examples of views are:
- RenameUser - Rename identity
- Enable/Disable - Enable/disable accounts
- Deprovision - Delete accounts
- Password - Change password on one or more accounts
- ReconcileStatus - Fetch status from last reconciliation run
- WorkItem - Provide object model for manual interaction in workflow
-
The User View
- • Consolidates all identity information for a user
-
• Consists of attributes that are:
- > Stored in Identity Manager
- > Read from resource accounts
- • Is used when creating or editing users in Identity Manager
-
Namespaces
-
accountInfo
- Resource and account information.
-
accounts
- Values of attributes fetched from resources.
-
display
- Runtime state of the interface
-
global
- Attributes synchronized across all resources.
-
password
- Attribute values specific to user's password, password expiration and target system.
-
waveset
- Information stored in the repository.
-
Forms
- • Forms are Generic Object editors.
- • Forms are used to display and edit view data.
- • Forms are the portions of the Identity Manager interface that contain data entry areas.
-
• The <Form> XML object is comprised of <Field> elements that map to attributes in the Generic Object.
- > The field name is a view path expression.
- > The field name defines the graphical display of a view attribute, an application of business logic (XPRESS), or both.
-
Forms control the following:
- • Layout and display characteristics of the page
- • Data that is used on the page
- • Data that is coming into the system
- • Identity Manager background processing
-
Form Fields
- • The form body contains field elements that define how each element of the web page appears and behaves.
- • Each field can contain other fields, each with its own display component.
-
• Form fields comprise several parts, which are encapsulated by the <Field> tag set:
- > Value expressions
- > HTML display components
- > Disable expressions
- > Validation expressions
-
Form Field Elements
- Default
- Derivation
- Expansion
- Validation
- Disable
-
SPML
-
Configurations Objects
- • Configuration:SPML
- • Configuration:User Extended Attributes
- • Configuration:UserUIConfig
- • TaskDefinition:SPMLRequest
- • SPML Forms
-
How Request are Processed
-
addRequest
- 1. An SPML <addRequest> message is received. The request must include a value for the object class attribute.
- 2. The server examines the Configuration:SPML object to find the definition for the class. From the class definition, it obtains the associated view type and form name.
- 3. The server calls the Session.createView method to construct a new view for that type.
- 4. The attributes included in the request are processed by the class form. The results of the ,Expansion> expressions are assimilated into the view.
- 5. The view is checked in.
-
modifyRequest
- 1. An SPML <modifyRequest> message is received. The request can include an optional objectclass attribute. The request must contain an identifier for an existing object. The identifier must include both the repository type and the object name.
- 2. The server calls Session.checkoutView for the existing object.
- 3. The server examines the Configuration:SPML object to find the definition for the class. If an objectclass attribute was passed in the request, that value determines the class. Otherwise, the class marked as the default class for the repository type is used.
- 4. The attributes included in the request are processed by the form that is specified by the class definition. The results of the <Expansion> expressions are assimilated into the view.
- 5. The view is checked in.
-
searchRequest
- 1. An SPML <searchRequest> message is received. The request can include an optional objectclass attribute.
- 2. The server examines the Configuration:SPML object to find the definition for the class. If an objectclass attribute was passed in the request, that determines the class. Otherwise, the class marked as the default class for the User type is used.
- 3. If the request includes a filter, it is converted to a list of AttributeCondition objects. Because the filter terms are written using the external names, the class form is consulted to convert these into the names of queryable attributes on the repository type.
- 4. The server calls the Session.listObjects method with the repository type and optional conditions.
- 5. The server builds the search response by iterating over each row of the listObjects call applying the following steps.
- 6. If no list of return attributes is specified in the search, only the summary attributes defined for the repository type are returned. The class form is used to convert the internal summary attribute names into the external names.
- 7. If a list of return attributes is specified, and these all correspond to summary attributes, the summary attribute values are returned. The form is again used to convert internal to external names.
- 8. If a return attribute is specified that is not a summary attribute, the server calls Session.getView on this object to materialize the view. The view is processed with the class form and the results of the <Derivation> expressions are captured and returned as the results for that row.