RELEASE NOTES
1. ALL REGIONS
FEATURES
[2086] Timesheet Emails
Overview: To enhance the timesheet approval process, two new email notifications have been introduced. These notifications aim to ensure timely approval of timesheets and address cases where timesheets lack an active approver due to user suspension or termination.
Pending Approval Notification:
Timesheet approvers will now receive an email listing pending timesheets that need their attention.
The email includes key details, such as the timesheet user, date, project name, and hours worked, for the five most recent records.
This can be enabled in the Office Setting and set to run daily or weekly on a specific day. Emails are sent at 9 PM UTC.
Missing Approver Notification:
The Operations Group will be notified when timesheets record lack an active approver. This ensures that issues caused by suspended or terminated approvers are flagged for action.
This can be enabled in the Office Setting and set to run daily or weekly on a specific day. Emails are sent at 9 PM UTC.
Key Features:
- Both emails include clear calls to action, directing users to the Pending Approval Report.
- Notifications adapt to the user’s date format settings for clarity and consistency.
- Flexible settings allow offices to enable or disable these emails as needed.
- This update improves transparency and accountability in timesheet approvals, ensuring a smoother workflow for all offices.
[1775] Estimates in the US – Phase 1
This feature allows the US to use estimates in Pulse. Key updates include:
- Fixed the “Failed to locate tax rate” issue allowing the US to create estimates in Pulse.
- Decoupled the “Finance” setting (for sending documents to Agresso) from “Finance Workflows.” The US can now use Finance Workflows immediately without requiring Agresso submission.
- Integrated a new US “Rate API”. This API will allow us to sync roles and rates by pricelist and currency.
- Fixed processing messages to ensure Agresso-specific references are removed when not applicable.
Enhacements
[#70518] [BO.12] Enhanced “Attach Form” Settings in Form Setup
We’ve enhanced the “Attach Form” functionality in the Briefing Form setup by adding two new options for improved task assignment:
- Assign Requestor to the Task: When enabled, the person submitting the form will automatically be assigned to the task created by the form.
Assign Usergroup to the Task: Allows a specific user group to be assigned to the task created by the form.
What does this mean for you?
These new settings make it easier to ensure the right people are automatically assigned to tasks generated from the form, saving time and improving workflow efficiency.
[#70510] Update the job api – Pulse Fields
To enhance the project creation process in Pulse, we’ve added a new optional field to the job creation API. This update allows users to specify a “Template Jobid,” which will use a pre-defined template to create the project. This feature works similarly to the Project Wizard, where selecting a template defines the layout of the project.
This improvement helps streamline project setup by allowing more flexibility in how projects are created, making the process smoother for users managing multiple projects.
[#70684] BE: New Access Rule in Forms – Requesting Project
We’ve introduced a new feature in Job Builder forms to enhance project management flexibility. Users can now create and link a new project to an existing one through the Requesting Project option.
- A new Requesting Project dropdown appears when enabled.
- Select an existing project to link it with your new project.
- The new project’s Title and Brand will match the selected project.
- If no Requesting Project is chosen, you can manually add a Title and Brand as before.
- Option only appears when applicable based on form settings.
[#67458] Allow syncs to be marked as available
A new feature has been added to the Agresso sync functionality to improve visibility and control over sync actions. Now, when a sync is not available due to an issue with the Finance Profile or Ledger, the sync button on the Agresso Sync page will behave as follows:
- Sync Button Availability: If a sync record exists in the system but is marked as unavailable, the sync button will be disabled, preventing users from trying to run it. If the sync is available, the button will be enabled, allowing the sync to run.
- Error Prevention: This update prevents the “Server Error” message by providing clearer feedback about why a sync cannot be executed, making it easier for users to understand when sync actions are not possible.
[#69502] Enhancement: Allow superusers to see all Pulse Ratecards
Permission change in Pulse rate cards administration. Superusers (Pulse Team members) are now able to see all rate cards in the system. Previously, only rate cards where they were directly mapped to were visible.
[#70786] Setup Default Alien User Roles
A new feature has been added to streamline the process of assigning global worker roles in bulk. This feature allows Superusers to upload templates for both Finance Profile and Office roles, enabling them to create or update default roles for multiple users at once.
Here’s what’s new:
- Admin Panel Update: In the Admin > Global Worker Role Assignment section, two dropdown options have been introduced: Role by Finance Profile and Role by Office.
- Template Downloads: Superusers can now download templates for both Finance Profile and Office roles, fill them in, and then upload them for bulk role assignment.
- Bulk Updates: When uploading the templates, the system checks for existing IDs to update roles if necessary. This ensures that only valid roles are assigned to users.
- Validations: Several validations are in place to ensure that roles are assigned correctly:
- Roles must be valid for the selected Finance Profile or Office.
- No duplicate roles can be assigned within the same office or finance profile.
- Users can only have one role per finance profile and one default role per office.
- Only valid users can be updated.
This new functionality improves efficiency by enabling bulk role assignments, reducing manual entry errors, and ensuring that roles are correctly updated or added for users. It also simplifies managing roles across large numbers of users while ensuring compliance with system requirements.
[#68298] Change Audit creation to include control id
This update enhances the synchronization process by ensuring that audit records are properly linked with a specific control ID. A new method has been introduced to the SyncRepository, which allows the system to automatically populate the agresso_sync_control_id field in the audit records. This ensures that each sync operation is accurately tracked with the corresponding control ID, making it easier to maintain and reference the correct data.
With this improvement, when a sync is run, the relevant control ID is now saved alongside the sync audit details, allowing for better tracking and validation of sync operations.
[#68928] BE: Update the API to include the AJAX route for the Sync
We want to add a sync button to the V2 Sync Page. To support this, we have updated the AgressoSyncControls API to provide the necessary URL for initiating profile-based and ledger-based syncs. When the button is clicked, the system will use a specific URL format to trigger the sync.
[#70569] BE: Add another type of Associated Project
This update extends the Associated Projects section in the Project Details widget under the Project > Summary tab. A new project link, titled Interagency Job, has been added to the associated projects list. This link represents a relationship between a project and its related Agency Job and Studio Job, based on the Interagency Job Number attribute.
The Interagency Job Number is a user-defined text field in both Pulse and Agresso, where any job number can be entered. The system now checks if the entered job number exists in the job table and, if it does, displays the associated Agency Job and Studio Job projects in the Associated Projects section. If no match is found, the system will skip displaying the associated project.
This functionality enhances the project overview by linking related jobs, improving navigation and project management.
FIXES
[#68067] Bug: Finance tab – mixed currencies issue
Finance Charts fixes in the Project > Finances tab when project has source Agresso finance data in various currencies.
[#69203] Production: UI bug: Task flyout is being cut-off
In the Task Flyout the Tooltip triggered from the Info icon (showing the associated Task meta data) was not displaying correctly. This has been fixed.
[#70395] Merging PDFs failing on PDF download
Fix of a bug causing an issue in merging Purchase order PDF from Agresso and Pulse notes from the related PO.
[#70603] Bug: Parent Project dropdown shows wrong projects
Parent Project dropdown fix in the Project > Edit project settings. This dropdown didn’t show correct project to be linked as Parent.
[#69932] [BO.06] Bug: Validate mandatory fields in the Briefing Form
We’ve resolved an issue where mandatory fields in the Job Builder form were not being validated properly during submission. Previously, users could submit the form without filling out required fields, even if they were visible.
What’s changed?
- All mandatory fields visible to the user are now validated upon submission.
- Fields that are revealed based on user selections will also be validated if marked as mandatory.
Why does this matter?
This fix ensures that forms cannot be submitted unless all required information is provided, improving data accuracy and reducing errors.
How it works:
When filling out a form, the system will check that all mandatory fields visible to you have been completed before allowing submission. Validation applies only to fields shown based on your selections, not to hidden fields.
[#70647] Bug: Template tasks & Template in general not creating as expected
We’ve resolved an issue where tasks created from templates using the Briefing Form were not behaving as expected. Previously, all tasks generated from the form would have the same name, causing confusion and mismanagement of project workflows.
What’s changed?
- Now, when a project is created using the Briefing Form, the form will only attach to the first task in the template, as intended. This includes adding the form details into the task description.
- All other tasks from the template will be created with the correct names, statuses, assignments, and other settings as configured in the template.
Why does this matter? This update ensures that tasks are accurately created and organized according to the setup in your template, making it easier to manage and track your projects.
[#70838] Bug: Resource Scheduler: Error when linking booking to a task
We have resolved an error causing that it wasn’t possible to link tasks to a booking in Resource Scheduler.
[#70280] FE: Pricelist not showing correctly on Phantom Jobs
Fix – When creating a Phantom Job, the payment terms (pricelist) were showing incorrectly in the UI. Although the system was pulling the correct payment terms, the displayed value was always set to “Net 30 days” rather than the expected “Due upon receipt” or other values.
3. TECH DEBT
[#70160] Role Pricing Sync Redesign
This update improves the handling of Role Pricing in Pulse, specifically for the closure of prices, making it easier to manage and track price changes. The changes include updates to the system that allow for better filtering and processing of price data, ensuring that closed prices are correctly reflected.
Key improvements include:
- Expanded Flexibility: The ability to filter price data by Invoice Rule and Currency. These options are now available but optional when running the sync process, providing more control over which price data is processed.
- Role Pricing Closure Updates: The system now supports the closure of Role Prices in Pulse by marking them as “closed” when appropriate, ensuring that these updates are accurately reflected and do not show up as active prices after they’ve been closed.
- Data Integrity Enhancements: The update ensures that all relevant price data is correctly compared between the local and remote systems, marking items as closed when they should be, and making necessary updates to the audit table for tracking.
- Efficient Data Handling: New background processing jobs were introduced to handle the updated pricing information, ensuring the changes are applied correctly and efficiently.
This update helps ensure that the Role Pricing process in Pulse is more streamlined, with better tracking and data management for price closures, resulting in a more reliable and accurate pricing system.
[#70721] Allow syncs to use the at method to stagger running
The system was experiencing significant performance issues due to overlapping syncs between Pulse and Agresso. The syncs were scheduled too frequently, causing spikes in traffic that overloaded the Agresso test servers. This issue arose because syncs were not properly staggered, leading to a high number of simultaneous processes.
Fix Implemented: We have optimized the sync scheduling process to minimize overlap. The frequency of syncs has been adjusted, and a new system now ensures that syncs occur at more evenly spaced intervals. This includes changes to how syncs are scheduled, particularly for non-daily or non-cron tasks. The synchronization process now uses a more efficient “when” method to prevent multiple syncs from running simultaneously.
This improvement reduces the load on both Pulse and Agresso systems by ensuring syncs are more evenly distributed over time. Users will experience smoother operations with fewer performance slowdowns or disruptions due to server overload. Additionally, the system now supports a more efficient use of resources, improving overall stability.
[#68722] Remove the dependency on the TEMPLATE MAP parameters
The system’s ability to send data to the Agresso Query Engine Service was reliant on passing the correct Template ID. This ID is mandatory for communication but needed to be retrieved from the environment parameters, which were not easily accessible by the Relay service.
Fix Implemented: We updated Relay to accept the Template ID as a parameter, improving its ability to fetch the required Template ID dynamically. A new lookup method was introduced in the SyncService class to streamline how the Template ID is fetched based on the module name and instance. This change eliminates the previous reliance on static template methods and allows for more flexible, accurate template lookups.
[#70841] Move office tool should unlink the alien user resourceID
The “Move Office” tool previously did not properly manage alien user resource IDs when users were moved to a new office. This caused issues with the creation of new alien user records in Agresso, which led to inconsistent data when users were invited to jobs.
Fix Implemented: To resolve this, we have enhanced the “Move Office” tool to delete any existing alien user resource records associated with a user before a new resource ID is assigned. This ensures that when a user is moved to a new office and invited to a job, the system will either create a new alien user entry in Agresso or update an existing one as needed.
What This Means for Users: Now, when using the “Move Office” tool, users will have their alien user resource IDs properly deleted and recreated, ensuring that the correct data is always present in Agresso. This will result in more reliable handling of alien users when they are reassigned or invited to projects, reducing the likelihood of conflicts or missing records.