In many Maximo implementations, organizations require more control over how Work Log data is captured and protected. A recent request was for the ability to allow certain fields to be editable when a Work Log entry is first created but automatically become read-only after the record is saved.
This article outlines a structured approach to extending the WORKLOG object in Maximo to achieve this behavior while maintaining data integrity and security best practices.
Business Objective
The goal of this enhancement was to:
- Add two new attributes to the WORKLOG object:
- CREATEFOR – identifies the person the log is created for
- CREATEDATEFOR – captures the date the log was created for that individual
- Allow these fields to be editable during initial creation
- Automatically make them read-only after the Work Log is saved (following standard Work Log behavior)
- Mirror the behavior of the standard DESCRIPTION field
- Preserve data integrity through proper security and UI configuration
Solution Overview
To accomplish this, the solution required coordinated updates across:
- Database configuration (new attributes)
- Attribute behavior adjustments
- Conditional logic
- Security and signature options
- Application-level UI configuration
Step 1: Add Custom Attributes to WORKLOG
Two user-defined attributes were introduced:
CREATEFOR
- Stores the Person ID for whom the log is created
- Defaults to the currently logged-in user
- Uses the same validation class as Person fields
- References the PERSON object for data integrity
CREATEDATEFOR
- Store the system date at time of creation
- Defaults automatically using system date logic
By aligning these attributes with existing PERSON object behavior, we ensure consistent validation and lookup functionality.
Additionally, the existing CREATEBY attribute was updated to use the correct person validation class to maintain consistency across the object.
Step 2: Create a Condition to Detect Saved Records
To control editability, we need a way to determine whether the Work Log record has already been saved.
A condition was created that evaluates whether a WORKLOGID exists. In practical terms:
- If the WORKLOGID exists → the record has been saved
- If it does not → the record is new
This condition becomes the foundation for dynamically controlling UI behavior.
Step 3: Introduce a Security Signature Option
A new signature option was created in the WOTRACK application:
ISWORKLOGEDIT – Allows the “Created For” and “Date” fields to be editable during record creation.
This option was granted to the appropriate security group (in this case, MAXEVERYONE).
Using a signature option rather than hardcoding behavior ensures:
- Security alignment
- Flexibility for future adjustments
- Proper adherence to Maximo’s access control framework
Step 4: Apply Conditional UI Logic
With the condition and signature option in place, conditional properties were configured to enforce read-only behavior once the Work Log is saved.
When the WORKLOGID condition evaluates to true:
- The input mode of the custom fields changes to readonly
This mirrors how Maximo handles the DESCRIPTION field and ensures users cannot modify the values after initial entry.
Step 5: Configure Relationship to PERSON
A new relationship named FORPERSON was created on WORKLOG.
This relationship:
- Was copied from the existing PERSON relationship
- Modified to reference CREATEFOR instead of CREATEBY
- Enables lookups and person data retrieval for the new field
By duplicating the structure of a working relationship, we maintain consistency and reduce risk.
Step 6: Update the Application XML
One critical step in this implementation is understanding how Maximo loads dialogs.
I did not want this change over all applications using work logs, only Work Order Tracking. For this, I took the dialog from LIBRARY.XML and pasted it into the WOTRACK.xml, naming it something else with new IDs. Because of this:
- The original CREATEBY and related attributes were hidden (but still recorded in the database)
- The new CREATEFOR and CREATEDATEFOR fields were inserted and configured for conditional editability
Key Takeaways
When extending WORKLOG functionality in Maximo:
- Use user-defined attributes aligned with existing validation classes
- Control editability through conditions tied to record state
- Always use signature options for security-governed UI behavior
- Override dialogs in the application XML when necessary
- Mirror standard field behavior for consistency and user familiarity
This pattern can be reused for other objects where “editable on create, read-only after save” behavior is required.



