Changes since Execute 21.1.265

This update includes possible breaking changes and may require manual steps before/after upgrade. Please carefully review all items tagged with #manual step prior to updating!

Schema Changes

  • Added new CHUNK column to EXECUTE_DOCUMENTS in Warehouse schema. A document may now be split across multiple chunks (having multiple rows). 21.1.277
  • Removed the data column from EXECUTE_DOCUMENTS_LATEST in SQL Warehouse schema. 21.1.277
  • Added additional fields for email reminders and notifications: NOTIFICATION.ALLOW_OPT_OUT, REMINDER.ALLOW_OPT_OUT, NOTIFICATION.PER_TASK and REMINDER.PER_TASK 21.1.267 #269583 #271420

Featuresī¸

  • Improved capability for referencing fields on other documents. #system 21.1.281 #306214

    In many places throughout Execute, information from linked documents can now be included without requiring you to build calculated fields, etc. The examples below are primarily around Wells, Jobs and Pads but the functionality is available across any for any record type in Execute.

    Browse Reports (User Facing)

    Using our new column picker, everyone can now build reports that include/reference data from related documents.

    Here is a quick example showing how to include Well and Pad-level fields on a Job report.

    Browse Demo

    We always strive to minimize non-admin/end-user-facing changes to avoid the need to retrain users. In this case, while there is a visible change for the end-user, we hope the change is small and obvious enough that it won’t cause any confusion.

    Custom Tabs

    Administrators can also include fields from related documents when building custom tabs. For example, a Job custom tab can include fields from the linked Well or Pad for reference.

    Note that currently, these referenced fields are NOT editable (i.e. you can’t edit a Well field from the Job), but we’re working on that!

    Custom Tabs

    Workflow Tasks

    Administrators can include fields from related documents on workflow tasks. For example, a Job-level workflow task can include fields from the Job, the Job’s Well, and the Job’s Well’s Pad! Unlikely Custom Tabs, these fields are all editable (assuming the user has the appropriate permissions).

    Workflow Tasks

    Custom Business Rules (Blockly)

    And, finally, you can do this when building custom business rules using Blockly too!

    Execute used to offer similar functionality for specific references using our “Reference Fields” dropdowns. These fields have been replaced by the new (more capable) functionality, and any existing rules using the old Reference Fields should have been automatically updated to the new structure*.

    Blockly References

    Note: The old Reference Fields did allow building some references which we consider problematic because their behaviour was unpredictable. We have removed support for these problematic relationship types. Existing rules will continue to work as they did before, but it will no longer be possible to create new rules of these types.

    The following relationships are no longer supported.

    1. Project > Well
    2. Project > Site
    3. Site > Well
    4. Well > Job
    5. Site > Job

    For clarity, the way to read an entry like “Well > Job” in the above list is that it is not valid for a Well-level report, workflow task, report, etc., to refer to a Job-level field. The reason is that a Well often contains more than one Job, and as soon as more than one Job is referenced, it is impossible to show a single value for a linked Job-level field. Previously, we allowed rules to be built like this, but they would silently stop working as soon as more than one Job was linked.

  • Added a new streamlined Document Fetch API as part of Execute’s Advanced Data Export offering. This API makes it easier to slurp bulk data out of Execute to populate an internal data warehouse, or similar. #integration 21.1.273 #288479

    Execute’s new Document Fetch APIs provide a streamlined way to bulk extract documents from Execute.

    • A single streamlined API call vs. the Login > Run Report > Logout call for the current APIs.
    • Returns ALL data for request documents in a nice friendly machine readable JSON form.
    • Supports including calculated field values in the returned data (popular request from User Voice).
    • Easily filtering to return only documents modified since a provided date (makes it much easier to keep a remove warehouse up-to-date).

    Note: These APIs require the Execute Advanced Data Export (OData) module license.

    More information can be found in our New Postman-based API documentation.

  • Administrators can now allow users to opt-in/opt-out of specific email notifications and reminders, giving users more control (when appropriate), and reducing the administrative work for admins. #email 21.1.267 #264439

    When configuring email reminders and notifications, administrators can now…

    • Allow users to opt-out of receiving the notification/reminder by setting the Allow Opt-Out field on the notification/reminder to “Yes” (by default, users are not able to opt-out of reminders/notifications that they are included in)
    • Allow users to opt-in to receiving the notification/reminder by adding the new notify subscribers block to the reminder’s Recipients rule. i.e.

    Users are then able to adjust their email preferences from the new “Email Preferences” menu item under their name in the top-right of the Execute screen.

Enhancements

  • Upgraded Snowflake library to mitigate potential security vulnerability. #security 21.1.286 #329078
  • Added a new optional “Net Project” field to Projects which ensures that all forecasting/actuals on that project are Net $ (useful for bucket-type projects). #budget 21.1.286 #328293
  • We have improved how we store configuration parameters for integration with On Demand Accounting to streamline troubleshooting for Quorum Support. #system 21.1.282 #306741
  • Execute, our installer, and the helper utilities are now digital signed by Quorum. #security 21.1.280 #293676
  • Added a 6 month option for API key lifetime. #api 21.1.280 #316723
  • Updated .NET framework to .NET Core 8. Updated many of our 3rd party libraries to the latest versions. #system #security 21.1.278 #293070
  • Updated the Reporting/Browse API to make the filter parameter optional. #integration 21.1.278 #310598
  • Added a “DOCUMENT_TYPE” hint for Document Reference fields to Execute’s JSON serializer. This improves Snowflake/Azure SQL Warehouse Exports and the new Document Fetch APIs. #integration 21.1.278 #311108
  • Major improvements to SQL Warehouse to improve performance, error recovery and reliability. These enhancements require a manual update step #integration #manual step 21.1.277 #285281

    Execute’s Data Warehousing feature has received many updates:

    SQL Warehouse

    1. We have removed the NORMAL and MATERIALIZED options for the creation of helper views since they were not-performant with larger datasets. We added a new option TABLES_AUTO (the new default, and our recommendation for most cases) which will similarly ensure that the helper tables are kept current automatically.
    2. We have added support for breaking very large documents (typically only seen with Schedules) into smaller chunks. To enable this, the EXECUTE_DOCUMENTS table has a new chunk column. If you are querying EXECUTE_DOCUMENTS directly, you may need to adjust your queries to handle this correctly (When querying normal fields, filter to chunk=0. When querying child tables, include data from all chunks). If you are querying our automatically created helper tables, this work has been done for you.
    3. To avoid issues where restarting Execute could take a very long time, Execute will no longer wait for a sync to finish on shutdown but, instead, keep a highwater mark of successfully sync’d records. After restart, and on the next automated sync, Execute will publish any records modified since that stored highwater mark.
    4. Fixed behavior when Deleting and Undeleting records.
    5. To avoid excessive replication of data, the EXECUTE_DOCUMENTS_LATEST table no longer includes the data from the latest records. Queries relying on this table will need to join on EXECUTE_DOCUMENTS.

    Snowflake

    1. We have added support for breaking very large documents (typically only seen with Schedules) into smaller chunks. To enable this, the EXECUTE_DOCUMENTS table has a new chunk column. If you are querying EXECUTE_DOCUMENTS directly, you may need to adjust your queries to handle this correctly. If you are querying our automatically created helper tables, this work has been done for you.
    2. To avoid issues where restarting Execute could take a very long time, Execute will no longer wait for a sync to finish on shutdown but, instead, keep a highwater mark of successfully sync’d records. After restart, and on the next automated sync, Execute will publish any records modified since that stored highwater mark.
    3. Fixed behavior when Deleting and Undeleting records.

    Mandatory Manual Upgrade Step

    Because of the changes made in this update, administrators must manually perform the following steps after upgrading Execute.

    1. Replace your SQL Warehouse or Snowflake plugin with the latest version from plugins_available
    2. Verify that the Create Views setting is set appropriately (for SQL Server, we strongly recommend TABLES_AUTO)
    3. Remove all Execute created objects in Execute’s Data Warehouse schema (EXECUTE_DOCUMENTS, AFE, PROCESS_EXECUTE_DOCUMENTS, ...).
    4. Run the Schema Publisher synchronization task.
    5. Run the Document Publisher synchronization task.
  • Execute will now prevent password-based logins (login screen, APIs and OData) for environments which use Windows single-signon or Okta/OIDC. #integration #security #manual step 21.1.277 #306539

    Execute will now correctly prevent passwords from being used in environments configured to use Single Sign-on. This change has the potential to prevent users from accessing these SSO environments if they were relying on a username and password instead of the SSO mechanism.

    This affects environments…

    1. using OKTA or OIDC for SSO
    2. using our legacy Windows login mechanism where the Authentication Type setting is set to WINDOWS

    This means that:

    1. Users will not be able to login with a user-specified password in these environments.
    • Login screen
    • APIs
    • OData
    1. Users will not be able to set a password. The password changing feature will be hidden from the user’s profile.
    2. Administrators will not be able to set a user’s password from the user management screen.

    Any integrations using Execute’s API or OData should transition to using Execute’s safer API Key mechanism.

    If you require the use of user-specified passwords in your SSO environment (NOT RECOMMENDED), you can override this new behavior by setting the new Allow User Passwords When Federated setting.

  • Those of you wishing to bulk accept the autogenerated forecasts from the Update Project Forecasts screen now can. #budget 21.1.276 #161329
  • Instead of typing things like “6d 12h” for a duration in the scheduling module, you can now type “6.5”. Additionally, the Export to Excel button always exports using the more Excel-friendly decimal days. #opsched 21.1.276 #302484
  • Execute’s integration logging now includes support for logging calls NDJSON APIs (such as our own Fetch APIs). #system #integration 21.1.275 #296342
  • Updated default DynamicDocs configuration file. #integration 21.1.275 #300773
  • Added a new ‘Flags’ configuration item which can be used to suppress sending specified document types to a remote Data Warehouse. #integration 21.1.275 #302797
  • Updated default configuration file for ODA integration. #integration 21.1.275
  • Performance improvements when importing field costs from WellView and SiteView. #integration 21.1.275 #303107
  • Improvements to calculated field performance for formulas that involved a divide by zero. #performance 21.1.274 #291058
  • Browse reports (and many other report tabs) now support frozen titles, and columns using the new pushpin icon. #reporting 21.1.274 #296096
  • Upgraded 3rd party library (underscore.js) to eliminate a potential security vulnerability. #security 21.1.274 #298303
  • The new Show Field Usage function takes a while to work on very large record types. We’ve added a loading bar so that you won’t be left wondering, “Is it working?” #admin 21.1.273 #288972
  • Updated HTTP caching headers to improve page load performance across the system. #system #performance 21.1.273 #288982
  • Added additional guidance on the Plugin management screens to help administrators avoid common mistakes. #admin 21.1.272 #288483
  • Improved error messages with Quorum OnDemand Accounting (ODA) integration. #integration 21.1.272 #290415
  • Added support for new concurrent operational scheduling licenses. #opsched 21.1.271 #270672
  • We’ve made improvements to the Integration Agent’s auto-update mechanism to make it more reliable for organizations with restrictive firewalls. #integration 21.1.271 #279370
  • We’ve made some improvements to the error messages returned by our Integration Agent so that troubleshooting is a whole lot easier when things don’t go according to plan. #integration #valnav 21.1.270 #265027
  • We’ve significantly improved the import speed for new activities on a busy schedule. In our test of importing 7,300 rows, we reduced the import time from 4.5 minutes to a brisk 7 seconds (a time savings of one metric coffee break!). #performance #opsched 21.1.270 #268392
  • A bit of spring cleaning on the Integration Agent to ensure things keep running smoothly. #integration agent 21.1.270 #268543
  • To keep Execute’s Job Scheduling feeling snappy, we’ve limited the number of rows shown in the Job Hopper to 1000. Users will see a warning if they are seeing a partial result set, and searching will still search all rows and just return the (maximum 1000) matching rows. #performance #ui #opsched 21.1.270 #269387
  • We’ve reduced the volume of schedule data we read from the Execute server on each schedule change. This will substantially improve the performance of operational scheduling for large schedules and users with high-latency Internet connections. #performance #ui #opsched 21.1.270 #269388
  • We’ve seriously reduced the amount of data loaded, and the number of API calls made when loading a tab in Execute. This has the effect of substantially improving tab loading/switching performance, especially for very large (many custom fields) documents and users with high-latency Internet links. #performance #ui 21.1.270 #274567
  • Execute’ Support Package Generator is great for sending a copy of your environment’s configuration to Quorum for help. Unfortunately, generating the support package was quite slow for certain configurations. We’ve made some improvements to the speed and memory usage for these configurations. #performance #system #admin 21.1.270 #275762
  • Execute’s Data Warehouse feature ensures Execute data is efficiently replicated in an external AzureSQL or Snowflake. Sometimes, however, if you made a pile of changes in Execute, syncing those changes into the warehouse could take a bit of time. If you tried restarting Execute while that was happening, it would apparently hang without any obvious indication of why. We’ve added some logging to make it easier to see what’s going on. #performance #integration 21.1.270 #275780
  • Document Synchronization and Bulk Loads could perform poorly when dealing with very large numbers of records with a unique validation rule (such as PARTNERS, ACCOUNTS, …). In one environment with ~150k partners, the system would take many seconds to process each partner. With this enhancement, that same environment is loading records at a blazing 300 pps (partners per second). #performance #integration 21.1.270 #279727
  • We’ve made some improvements to responsiveness when pasting large amounts of data from Excel (using our import/update multiple record functionality). #performance 21.1.270 #280994 #280995
  • We’ve continued to clean-up and finesse our Data Selector sample configuration files to make them easier to understand and implement. #plugins 21.1.270 #281351
  • Huge speed improvement when using the job hopper to add jobs to a large schedule. #performance #opsched 21.1.269 #269386
  • Support for the 2.1 version of Peleoton’s APIs for Peloton-hosted instances of WellView and SiteView. #peloton #integration 21.1.267 #268639
  • Execute’s performance graphs (on the About page) now include past history instead of starting blank when you open the page. In addition, performance history is now included in the Execute Support Package to help our team troubleshoot issues. #system 21.1.267 #269390
  • Added configuration options to user.config to hide the default Wells and Jobs tabs on a Site, and the default Jobs tab on a Well. This is useful if you’ve built your own versions of these tabs using Document Link Summary tabs. #well delivery #system 21.1.267 #276708
  • Added helpful comments to the Snowflake helper views to describe foreign-keys for document reference fields. Note that these comments only show when viewing the view definition (such as by querying the Information Schema). #integration 21.1.267 #280427
  • We’ve added the ability to make notifications and reminders for Workflow Tasks. Previously, the ability to customize and extend notifications for Advanced Workflows was limited. Now, using the new “Workflow Task” notification/reminder type, administrators have a lot more control. #email #well delivery #workflow 21.1.267 #269583 #271420

    When creating a new Notification or Reminder, administrators can now use the new “Workflow Task” document type to build custom notifications for workflow tasks which much greater control than was previously available.

    These new notification types allow building more complex rules like:

    To help get you started, we’ve created a new sample notifications for the Job (RTx) module:

    Note: There is currently a known issue that makes it impossible to build notifications when a task activated/reactivated and assigned to a user. We are aware of this and working on a fix in a coming release.

  • If you’ve ever looked at the Execute email notifications and thought, “Gosh. These emails sure look retro!”, we have good news. The Execute email notifications have received a fresh coat of paint and look much nicer! #email 21.1.267 #264438
  • Updated version of .NET SDK used by (and included in) Execute. #system #security 21.1.267 #276751
  • We’ve seen some occurrences of long-running jobs (imports, generating support packages) being resubmitted by something. This is occasionally causing issues like overloading the Execute service with invalid requests or importing duplicate records. While we continue to investigate the cause of this, we’ve added new logging which will record if/when this happens. In addition, the new Duplicate API Call Detection setting can be used to reject these duplicate requests if you are encountering problems in your environment. #system 21.1.267 #278529

Bugs

  • Resolved an issue where adding a custom link to the help menu would cause the release notes links to disappear. While we were at it, we also added support for “mailto:” links in the help menu making it easy for users to launch a new email to your internal Execute support team from the Execute help menu. #system 21.1.286 #328756
  • Password fields are now correctly hidden from browse report column selection screens (don’t worry, passwords were never exposed in this way). This prevents an issue where OData reports would crash if they mistakenly included a password column. #system 21.1.282 #328646
  • Fixed a super annoying issue where the screen would sometimes automatically scroll when interacting with dropdown fields 😡. Primarily, this was noticable when selecting a report on a Browse screen with large numbers of visible columns. #system 21.1.281 #327877
  • Fixed an issue where adding an additional storage table that included the name of its parent table would cause an issue. #system 21.1.280 #303945
  • Fixed issue where you could bulk import a reporting calculated column whose ID exceeded the maximum allowed length. #system 21.1.280 #308428
  • When exporting the AFE to ODW, the description is now trimmed to 50 characters. #integration #wellez 21.1.280 #325648
  • Fixed default placement of the monthly columns on the Field Cost Entry screen to directly left of the total column. #afe 21.1.280 #325711
  • Fixed an issue where changing a UWI from DLS to API would leave the old Lat/Long in place. #integration 21.1.280 #319947
  • Fixed an issue where UWI formatting was inconsistently applied when loading UWIs using a sychronization or data selection. #system 21.1.280 #323966
  • Fixed a typo (missing “>”) in the sample “Expense Forecast” widget. #plugins 21.1.278 #263772
  • Fixed wording of the AFE’s “Change Company” feature on the Partners tab. The title now lists the company’s name, instead of just repeating the word company twice. #afe 21.1.278 #267358
  • We fixed an issue where the new browse screen update feature (a.k.a. pencil mode) would fail when trying to set a dropdown list field to null (no value). #system 21.1.278 #292810
  • Resolved an issue where users could not set values for Additional Storage Table fields on records created after a new Storage Table was added but before restarting Execute. Upon upgrade, the system will fix records that are currently experiencing this suboptimal behavior. #system #admin 21.1.278 #304858
  • Resolved issue where the Due for Forecast filter was including projects it shouldn’t. Also added a “please wait” indicator when bulk accepting forecasts. #budget 21.1.278 #307384
  • Resolved an issue where Execute wasn’t closing temporary files correctly. This caused some unexpected (but harmless) errors to show up when restarting the service. #system 21.1.278 #307541
  • Resolved an issue when copying a database from Oracle to SQL Server where the Oracle database contained dates before 1753 (Yes… 1753…). These unusual dates occassionally snuck into the database through database scripts and imports, and would cause the upgrade to crash. #system 21.1.278 #307776
  • Fixed issues with the Due for Forecast filter’s identification of projects with new or updated actuals. #budget 21.1.278 #307941
  • We resolved an issue where deleting a user who had been delegated field cost entry would cause the service to fail to start. #afe 21.1.278 #307963
  • Resolved an issue where Execute’s startup data validation routines could occasionally run slowly enough to timeout. #system 21.1.278 #308330
  • Deleting a user now deletes all sessions associated with that user. #system #security 21.1.278 #310101
  • Added time zone configuration to our sample table_data_selector plugin. #plugins 21.1.278 #310187
  • Resolved an issue where an undeleted document wouldn’t be visible in the Browse screen until a service restart. #system 21.1.278 #310725
  • Fixed an issue with custom fields not showing when creating workflows on User and Partner documents. #workflow 21.1.278 #314180
  • We now ensure that the global system user can see all documents, regardless of visibility rules, to avoid issues with synchronizations. #system 21.1.276 #300925
  • Execute would run out of memory when trying to show really huge views (20k+ activities) in Operational Scheduling. We’ve adjusted that so that Execute will load a smaller set of activities and alert the user that they are viewing truncated results. #opsched #performance 21.1.275 #279726
  • Resolved an issue where the Net Supplement columns would be incorrect on AFEs using Estimate Phases. #afe 21.1.275 #297871
  • Increased AzureSQL timeout when clearing the TEMP table to allow Execute to recover from a very large failed sync. #integration 21.1.275 #300922
  • Resolved issue with Project reforecasting when spend curves are being used. #budget 21.1.275 #301600
  • Fixed an issue where a misconfigured plugin would cause the menubar to fail to load. #system 21.1.274 #245798
  • Fixed an error where users were unable to update activity duration on activities in Execute’s operational scheduling module. #opsched 21.1.274 #289480
  • Improved the clarity of error messages raised when a Document Link Summary view is misconfigured to make finding and fixing the mistake easier. #system 21.1.273 #253151
  • Fixed an annoying issue where switching schedule views would sometimes jump to a different view a few seconds later. #opsched 21.1.273 #288470
  • Fixes to the export of AFEs to Peloton-hosted SiteView (2.1 APIs). #integration #peloton 21.1.273 #291362
  • We resolved an issue where we were inadvertently creating automated document links to Project Snapshots. #system #budget 21.1.273 #291678
  • Resolved issue where Blockly rules referencing the now deprecated Advanced blocks would fail to compile. #workflow 21.1.272 #283239
  • Fixed issue where NET estimate was not correctly exported to Quorum OnDemand Accounting (ODA). #integration 21.1.272 #290332
  • Fixed an annoying issue where the route for review comment box would clear itself when you clicked outside of the comment box. #afe 21.1.271 #228443
  • Fixed an issue where document synchronizations would create multiple rows if the document’s visibility rule excluded the AFE Navigator Service User. #integration #system 21.1.271 #237917
  • We’ve ensured that errors when connecting to databases (such as using the Connection String Editor’s test button) don’t expose the connection string which may contain security credentials. #security #integration 21.1.271 #268092
  • We’ve added some additional safety checks to ensure you don’t accidentally bulk import the same data twice (causing duplication). #system 21.1.271 #268614
  • Resolved issue where the sample connection string for EXECUTE_INTERNAL wasn’t able to be copied into a plugin because of case-senstivity issues. #system 21.1.271 #269490
  • The system will now wait for all scheduled tasks to complete before shutting down. #system 21.1.271 #280989
  • Resolved an issue where the Integration Agent’s table replicator couldn’t handle null boolean values on SQL Server. #integration agent 21.1.270 #268904
  • We’ve eliminated a potential memory leak in Operational Scheduling where the detail grids (below the gantt) weren’t always cleaned up properly when we didn’t need them any more. #performance #opsched 21.1.270 #279943
  • Added a rate limiter to the new Duplicate API call checker to avoid overloading logs. #system 21.1.270 #284913
  • Execute will now prevent certain long-running and computationally expensive jobs (import/update multiple, and generate support package) from being started multiple times simultaneously. This would sometimes happen if a user rapidly clicked on the start button, causing the job to be submitted multiple times. In the case of imports, this could cause the data to be imported multiple times. #system 21.1.269 #274986
  • Resolved an issue where the support package would fail to generate successfully when including Document Metadata. This issue was introduced in the previous email enhancements because the newly added fields had unspecified field lengths (not a problem for Execute, but unexpected for the support package generator). #system 21.1.269 #281821
  • Resolved an issue where AFE Numbers containing “&” caused errors when exporting to ODA or ODW. #workflow 21.1.267 #267409
  • Resolved an issue where the /Documents/Field/UpdateMultiple API wouldn’t allow you to set top-level document fields. #api 21.1.267 #274988
  • Fixed the mail icons on the Job’s Team tab and restored the behavior where it would automatically populate the new email with a link to the Job. #well delivery 21.1.267 #277169
  • Fixed an embarrassing typo in the function description for all of our Table* formula functions. #formula 21.1.267 #280425
  • Resolved issue where the new bulk editing from browse screen feature would not work for workflow task reports. #reporting 21.1.267 #272576
Ready to update?
  • For Quorum-hosted Aucerna Execute environments, email an upgrade request to Execute Support.
  • For on-prem instances of Execute:
    • Always ensure you have a recent backup of your Execute database before updating.
    • Download the installer from the Client Portal.