Release 2024.2 is now available; it is a major release that contains new features and refinements.
NOTE: PHP 8.3 is supported and recommended for this upgrade.
We will begin scheduling 2024.2 updates on customer Test systems starting on November 24th, 2024.
Notable Changes
Please review the Database Changes in 2024.2 and make any necessary changes to your AdHoc Grids, Custom Events, and API calls.
Important Notice
This version introduces Indexed Grid Searches for Cable Maintenance, Ports Pins Lens, and Location grids. To utilize this feature, specific requirements and configurations are necessary:
MongoDB Requirement
Database Setup: MongoDB is required to enable Grid Indexing.
It can be installed locally on the same machine as the application or hosted remotely on a separate server.
Security and Authentication
Authentication: MongoDB must be configured to require authentication to ensure security. This means users will need valid credentials to access the database.
Credentials
The application requires login credentials (username and password) to connect to MongoDB.
These credentials must have permissions to create and manage databases and tables.
Optional Feature
Grid Indexing is an optional feature. If your organization does not require it, you can disable this functionality.
This fixes a scenario in which the API returned the HTML of the error page instead of the standard response format.
Billing
The Stop/Start dates for Alternate Recurring Charges are now correctly set on Service ID Actions.
Corrects a bug on the Charge GLA Conflicts grid.
CustomerCenter
Resolves issues when creating duplicate requests through the CustomerCenter, particularly when submitting the same request multiple times.
Custom Reports
Changes Batch Email to use WYSWIG for Email Message.
Revised scheduling Options to Batch process.
Removes the [Create Batch] button from the Custom Reports grid.
Corrects a bug causing all Saved Custom Report data files to be deleted when only one was deleted.
Custom Logic
Adds support for binding array values to a single bind param when using the custom logic ->query() method, exposes custom logic ->getQueryError() method, and prevent stripping HTML characters on the custom logic debug form.
Exposes the authenticated users GLA Permissions for use in custom logic ($user['permittedGlas']).
General
Updates all PCR-360 Email columns to allow for 254 characters.
The system now clears the Table Cache to prevent errors after the Archive Process.
Corrects a bug that prevented saving bookmarks to the bookmarks pane.
Removes ext-raphf from the composer require.
Resolves an error on the Contact Bulk Update form when selecting the Remove Existing Workgroups option.
Imports
Adds a new configuration option to set memory allocation for the Import process.
Imports no longer throw association errors when trying to set inherited UDFs.
The Service Import now allows the use of Category Service Catalogs.
Resolves an issue with the Location Import clearing address data for fields that aren’t mapped.
Service Desk
Adds a ‘Types’ column to the Requestor picker on the Service Order form.
Allows a single Pending Remove action for each Location of a Multi-Location Service.
Service Desk Action UDFs can now be reordered.
Corrects the Service Order link used in Notifications to open the specified Order.
The Service Catalog Picker on the Service Desk Action form no longer allows Categories, only Assignable Service Catalogs.
Corrects the UDC Class association for Service Desk : View / Report : Actions grid. This ensures the correct UDC selection is displayed on the grid.
Release 2024.2 (11-22-2024)
Component
Description
Type
Documentation
API
Adds an API endpoint for pulling Cable View Path Reports
Adds an API endpoint for rendering HTML and PDF Custom Reports.
Fixes an issue preventing Ports/Pins/Lens (PPL) from being added to Service Desk Cabling when using Auto Assign.
Adds a check for “Move To Location” when populating the Auto Assign Location.
Fixes an issue that prevented the Origination, Destination Equipment, and Locationsfrom grouping on the Cable Maintenance Grid.
The Card # field for Cabling Equipment is no longer hidden, regardless of status.
Resolves an issue where transferring a partial set of Pair/Strands unlinks the Cabling Equipment from the untransferred pairs.
Fixes the Pair/Strand transfer to only edit the Pair/Strand Equipment on the Pairs within the transfer range.
CustomerCenter
Expired Requests in CustomerCenter can no longer attempt to be approved. They are still viewable through the approvals grid and will be labeled as expired.
CustomerCenter now supports Work Requests.
The Approval menu item in CustomerCenter now displays the number of requests awaiting approval.
Resolves issues with searching Call Details by Authcode in CustomerCenter.
Resolves issues with searching the Directory in CustomerCenter.
Improves error reporting in CustomerCenter.
Corrects an error preventing Custom Reports from rendering on CustomerCenter
General
Adds PHP 8.3 Support
Introduces more cell copy options in the grid context menu.
Right-click → Copy Row
Right-click → Copy Column
Adds the following Copy Formats for the Copy Row and Copy Column options:
JSON
CSV
TSV (Excel)
Updates the Custom Logic validation to support PHP 8 language-level features and token parsing.
Ending Emulation on the Users grid now reloads the previous filters.
Custom Logic Changes
Adds Custom Logic functions createFile() allowing the creation of files in the Inbound or Outbound directories and arrayToCsv() to assist in generating CSV data.
Adds the detach and detachDb methods in Custom Logic.
Adds the sendSystemMessage method for use in Custom Logic. This allows Custom Logic to generate systemmessages for a specified contact.
Updates the Custom Logic ->call() method to allow for committing data immediately upon successful completion.
Adds a config viewer grid at Admin > Config Viewer to display the PCR-360 configuration values and descriptions.
Adds a Log Viewer menu item for viewing the PCR-360 error logs
Errors are no longer logged in the Error Log Explorer; they are now logged in a log file under logs.
The Log file name is specified by constants.APP_LOG_FILENAME
Available log files are defined by logviewer.logfile[] = PATH values in the .ini file
Minor rework ofAddresses that resolves difficulties adding or editing Addresses.
Composer Changes
Adds required PHP Extensions to Composer config so that Composer will validate the required extensions.
Updated to a PHP 8.3 compatible version of the Zend framework forked from shardj/zf1-future.
Updated to a PHP 8.3 compatible version of the Zend framework Extras forked from shardj/zf1-extras-future.
Moves the MS Graph library to composer.
Moves the Leaque OAuth2 cleint (used by Graph) to Composer.
Removes GuzzleHttp from the Library. It was not added to composer as it will be included by MSGraph as a dependency.
Applies a fix to the _commit and _rollback methods of the Oracle and MySQL adapters to check for an existing transaction before trying to perform and action on it. Resolves the “PDO Exception” errors occasionally for Imports.
The Approval Criteria Import now supports the Tier field.
Inventory
The Units field on Equipment Formscan now be updated if the User is an Admin or has explicit form element permissions set.
New feature Purchase Order Pricing can default the Service Desk charge amount for Equipment in relation to the purchase price instead of the catalog default.
Resolves issues with adding Unit Equipment to a Purchase Order.
People
Allow for Contact email addresses up to 100 characters in length
Reports
Adds Import/Export functionality to Custom Reportbuilder.
Adds PDF Options to Custom Report builder.
Revised Custom Report Attachments.
Custom Reports Enhancements
Upgraded Bootstrap from v4.0.0 to v5.1.3
Adds a new Bills Picker
Improves Error Handling
Batch Report Fixes
Allows Template data in the Batch Report Description.
Fixes rendering issues with Saved Reports on CustomerCenter.
Updates Saved Reports so deletion removes the file from the server.
Services
Adds a MAC Address column to all of the Service Grids.
Service Desk
Adds Service Order and Action Numbers to the Service Deskprompt when notifying users of existing Actions on a Service.
Service Remarks now display timestamps when viewed from a Service Desk Action.
Labor from Voided workflows no longer appear in the Time Entry grid
Prevents creating more than a single Remove or Service ID Action for a Service at a time. Returns a message when attempting to create a second Service ID Action or Remove Action on the Service.
The Service Desk Actions Equipment grid now includes Equipment from the Service Location and all child Locations.
Adds Batch Scheduling for Service Desk Items
Adds a feature to Schedule Completion and Finalization of Service Desk items and Child Actions (excluding Estimates) from the corresponding form.
Adds Service Desk change values for Complete On and Finalize On.
Adds an event to complete scheduled Service Desk items.
Adds some common issues to the validation for Service Desk completion so issues can be detected before trying to Complete.
INSERT INTO LISTS
(TENANTS_RECID, STATUS, MODIFIED_DATE, MODIFIED_BY, LIST_TYPES_RECID, CODE, LISTS_ORDER, VALUE, DESCRIPTION, SYSTEM_USE)
VALUES (0, 1, NOW(), 'system', @list_types_recid, 'COMPLETE_ON', 9, 'Complete On',
'Service Desk Item or Action scheduled for completion', 1),
(0, 1, NOW(), 'system', @list_types_recid, 'FINALIZE_ON', 10, 'Finalize On',
'Service Desk Item or Action scheduled for finalization', 1);
PURCHASE_ORDER
Updated
alter table PURCHASE_ORDER
add SERVICE_DESK_RECID int null;
alter table PURCHASE_ORDER
add constraint PURCHASE_ORDER_5_FK
foreign key (SERVICE_DESK_RECID) references SERVICE_DESK (RECID);
REPORTS
Updated
ALTER TABLE `REPORTS` ADD `PDF_OPTIONS` LONGTEXT NULL;
REPORTS_BATCH
Updated
ALTER TABLE `REPORTS_BATCH` MODIFY COLUMN `EVENTS_RECID` INT NULL;
ALTER TABLE `REPORTS_BATCH` ADD `SQL` LONGTEXT NOT NULL;
ALTER TABLE `REPORTS_BATCH` ADD `NOTIFICATION_SUBJECT` VARCHAR(200) NULL;
ALTER TABLE `REPORTS_BATCH` ADD `NOTIFICATION_MESSAGE` LONGTEXT NULL;
ALTER TABLE `REPORTS_BATCH` ADD `NOTIFICATION_ATTACH` TINYINT(1) DEFAULT 0 NOT NULL;
REPORTS_SAVED
Updated
ALTER TABLE `REPORTS_SAVED` MODIFY COLUMN `QUERY_STRING` VARCHAR(1024) NULL;
SERVICE_DESK
Updated
ALTER TABLE `SERVICE_DESK` ADD `COMPLETE_ON_DATE` DATETIME NULL;
ALTER TABLE `SERVICE_DESK` ADD `FINALIZE_ON_DATE` DATETIME NULL;
SERVICE_DESK_ACTIONS
Updated
ALTER TABLE `SERVICE_DESK_ACTIONS` ADD `COMPLETE_ON_DATE` DATETIME NULL;
ALTER TABLE `SERVICE_DESK_ACTIONS` ADD `FINALIZE_ON_DATE` DATETIME NULL;
SERVICE_DESK_ACTIVITY
Updated
alter table SERVICE_DESK_ACTIVITY
add SERVICE_REMARK_DATE datetime null;
SERVICE_DESK_EQP
Updated
alter table SERVICE_DESK_EQP
add PURCHASE_ORDER_RECID int null;
alter table SERVICE_DESK_EQP
add constraint SERVICE_DESK_EQP_10_FK
foreign key (PURCHASE_ORDER_RECID) references PURCHASE_ORDER (RECID);
TENANTS
Updated
alter table TENANTS
add PO_PRICING_CONFIGURATION varchar(50) null;
alter table TENANTS
add PO_PRICING_MARKUP_PERCENT int null;
alter table TENANTS
add PO_PRICING_MARKUP_FLATRATE int null;
USERS_PERSPECTIVES
Updated
UPDATE USERS_PERSPECTIVES
SET IDENTIFIER = 'Application_Grid_Location_Default,default'
WHERE IDENTIFIER = 'Application_Grid_Location_Location,default';
UPDATE USERS_PERSPECTIVES
SET IDENTIFIER = 'Cabling_Grid_CableMain,default'
WHERE IDENTIFIER = 'Cabling_Grid_Cable,default';
Metadata Schema
Table Name
Change
Table Changes
SYSTEM_LOG
Removed
DROP TABLE SYSTEM_LOG;
USAGE_ADDRESS
Added
create table USAGE_ADDRESS
Archive Schema
Table Name
Change
Table Changes
No changes
Supported Versions
PCR will patch the last two versions of the application and the current LTS Release. Customers will continue to receive Help Desk Support for releases outside of the support period for a given release. Bug fixes are only released for versions that are actively supported.
Key
Active support
A release that is actively supported.
Critical Fixes Only
A release that is supported for critical security issues only. Releases are only made on an as-needed basis.
End of life
A release that is no longer supported and will not receive bug fixes. Customers using one of these releases should upgrade as soon as possible.
Version History
Release Types
LTS Release
An LTS Release is a Major Release that PCR will support for at least 12+ months. All other releases are supported for two release cycles. LTS Releases will be patched (as a hotfix) for any Critical or High-Impact bugs applied after a release. These include (but are not limited to): service-impacting issues, billing issues, or charge-related bugs. These issues have no workaround, or the workaround is cumbersome. LTS Releases are intended to relieve “Upgrade Fatigue” for Customers who may not need all of the latest features but need critical bugs fixed. Once the LTS time period has elapsed, PCR will work with customers to move them to the next LTS release. Once an LTS reaches the last few months of support, it will receive only critical fixes and security patches.
Major Release
Major releases consist of new features and some bug fixes. These features have a relatively large scope with a greater impact on development and testing, e.g. Accounts Receivable, Service Desk Archiving, Work Order, etc.
Minor Release
Minor releases consist mostly of bug fixes and occasionally minor enhancements to the application. Minor enhancements are relatively small changes with a low impact on development and testing, e.g. adding a column to a grid, a new field, or tweaking the API. The specification process will occur in at least the month prior to being assigned.
The specification process will occur in tandem with the traditional development and testing cycle.