Complete Execute Release History

This page lists all changes to Execute since the first release of Execute 21. Release notes for previous versions of Execute can be found:

Notes

  • This update fixes Document Synchronization plugins to respect the timezone configured in the plugin file. Previously, all dates were assumed to be in your server’s local time. This means that, upon upgrade, synchronized dates may change if the configured timezone in the plugin is not the same as the server’s timezone. 21.1.261
  • If you are using Execute’s out-of-the-box integration with Peloton-hosted WellView/SiteView, please note that previous versions of that integration will cease to function at the end of Feb 2024 and you must take additional steps to upgrade to the newest version and continue to use this integration beyond that date. 21.1.255 #243175
  • If you are currently using Execute’s legacy integration with SharePoint, please get in touch with Quorum Support prior to upgrading to this version. 21.1.246
  • The Integration Agent installer is now included in Execute. Future updates will be automatically deployed. 21.1.244
  • If you are using the Integration Agent (for Quorum-hosted Execute), we will need to make some minor changes to your plugins as part of your upgrade. 21.1.239

    Plugins that connect to a database via the integration agent MUST be updated to work in the new version. This work will need to be undertaken by Quorum Support/Application Delivery when upgrading your SaaS environment. We’ll be sure to do that as part of your upgrade.

    Other plugins that contain connection strings will continue to work but should eventually be updated to take advantage of the new connection string editor.

  • This update changes how the field cost import from WellView, SiteView and WellEz works. If you use this integration, please review the detailed notes or contact support before proceeding. 21.1.232
  • For those of you managing the Execute application server, the service name in the Services Control Panel has changed from “Quorum Execute” to “Execute” 21.1.218
  • Upgraded Execute from .NET Core 3.1 to .NET 6 21.1.212

    This update of Execute changes the version of the .NET Framework Execute uses from .NET Core 3.1 to .NET 6.0.

    This should have no user-facing effect on Execute and, because Execute is compiled as a standalone application which includes the appropriate version of the .NET Framework, there is no need to make any changes to the packages deployed on the application server hosting Execute.

  • Automated Schema Migrations 21.1.212

    Execute will now automatically update its database schema when launching the Execute service against any existing Execute 21 database.

    • Because this is an upgrade in place it is imperative that a database backup be taken before upgrading Execute. A failure or interruption during the schema upgrade process may leave the database in an unusable state.
    • The release notes for each version of Execute will now explicitly detail any schema changes included in that update.
    • Schema updates are forward only. It is not possible to run an older verison of Execute against an upgraded database.
    • Environments prior to Execute 21 will still need to use the DatabaseTool to upgrade to Execute 21.
    • Environments on any version of Execute 21 will not need to use the DatabaseTool except for migrating Execute from one database platform to another.
  • Quorum Execute 2021 is now known as “Quorum Execute 21” with a new update process. 21.0.0

    For many years, Quorum Execute included major annual releases and small monthly/bi-monthly updates to the current major release. These update releases provided an opportunity to deploy critical bug fixes and minor enhancements to the users of Quorum Execute more quickly.

    With Quorum Execute 21 we are moving away from the major annual releases and will focus entirely on providing a stream of small incremental updates to the software (a process we’ve already been doing successfully for years).

    The primary reason for this move is to make it easier for everybody to stay current with new developments in Quorum Execute:

    • Ensures that users of Quorum Execute have timely access to bug fixes and enhancements.
    • For those of you with your own QA process, helps keep the testing burden manageable for each update (testing a few changes rather than a year or two of changes)
    • Ensures that critical security fixes are deployed quickly

    FAQ

    How will I know when new updates are available?

    Pending updates will be visible to Quorum Execute administrators in the dashboard, and in the Help > About screen.

    How many updates are we talking about?

    There is no specific release cadence we are targeting, although we would expect it to be similar to how updates are released today - roughly monthly.

    Do I have to take every update?

    No, although we do recommend staying current to ensure critical fixes are made in a timely fashion, and to ensure your users always have access to the latest and greatest.

    If you choose to skip and update, however, don’t worry. Updating to the current release will always install any updates you missed along the way.

    What’s involved in upgrading?

    For SaaS deployments of Quorum Execute, get in touch with Client Services to schedule an update at a point where a brief outage is acceptable.

    For on-prem deployments of Quorum Execute, simply installing the update over top of your existing deployment will update the software and automatically apply any database updates that are required.

  • Removed functionality for now-defunct AFE Link. #afe 21.0.0

    Unfortunately, the 3rd party product AFE Link, which allowed for the electronic exchange of partner AFEs, was discontinued earlier this year.

    This release removes support for this defunct product.

    • Removal of AFE Link specific administrative privileges
    • Removal of AFE Link specific dashboard widgets
    • Removal of “Send to Partners” functionality on AFEs
  • To help guide future development we’ve implemented usage telemetry using Pendo. 21.0.0

    In order to help us make better decisions about future product development, this release incorporates high-level usage telemetry using the industry standard 3rd party service Pendo.

    What information is collected?

    Under no circumstances is any specific business data (such as AFEs, Jobs, Wells, etc.) collected or transmitted back to Quorum or Pendo. Keyboard activity is never sent to Pendo.

    The information we do record is:

    • Company Name (Licensed Company)
    • User Name
    • User Email Address
    • Events from user interactions with Quorum Execute (page loads, button clicks, etc.)
    • Browser information (remote IP address, User Agent)
    • User provided feedback (bug reports / feature requests) (note: this functionality hasn’t been enabled yet)

    What will this information be used for?

    This information is captured to provide the Quorum Products team critical information to help guide product development.

    For example:

    • Identify high-usage areas of the software to help prioritize usability improvements.
    • Identify unused areas of the software which are no longer needed.
    • Sometimes the workflow we think our users will adopt in our software doesn’t match what works best for them. This data will help us identify these situations and better streamline our workflows for you.

    This information will not be used for sales or marketing purposes.

    What if I’m uncomfortable with this data collection?

    Please get in touch with Quorum Execute support.

Schema Changes

  • 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
  • Added a new field “IS_REMOVED_VERSION” to the AFE and AFE_H tables to differentiate between deleted AFEs and deleted AFE versions (unrevise/unsupplement) to support the new Undelete feature. 21.1.246
  • New column “DF_CONFIGURATION” added to SCHED and SCHED_H to store Dataflow integration configuration. 21.1.244
  • New tables for the newly added Schedule Activity Type configuraton (SCH_ACTIVITY_TYPE*) 21.1.242
  • New fields added to RTX/RTX_H to support Job Scheduling (DURATION, JOB_START, JOB_END, JOB_IS_SCHEDULED) 21.1.242
  • Note that the fields SCHED_START and SCHED_END have been supersceded by JOB_START and JOB_END and will be removed in an upcoming update. 21.1.242
  • New tables “PLUGINS*” added for in-app plugin management 21.1.239
  • Added new APIKEY* tables to store API Keys. 21.1.234
  • Added “CREATOR” columns to RTX, RTD, RTX_H and RTD_H tables. 21.1.234
  • Modified column type on DOCUMENT_VIEW.HANLDES_EXPRESSION from VARCHAR(4000) to VARCHAR(MAX) to allow storing larger rules. 21.1.219
  • WORKFLOW_INSTANCE.ROOT_DOC_GUID for AFE Workflows is now that AFE’s DOCUMENT_ID rather than the CHAIN_GUID. 21.1.218 #163281
  • New columns (REQ_MANUAL_COMPLETE, REACT_ON_DPNDCY) on WORKFLOW_DEF_TASK to track reactivation configuration. 21.1.218 #158350
  • New column REACTIVATED on WORKFLOW_INSTANCE_TASK to track whether task was reactivated. 21.1.218 #158350
  • Modifed DATABASE_VERSION table (we now track database versions differently) 21.1.212
  • Added WELL_NUMBER column to WELL table (for automatically generated Well identifier) 21.1.212
  • Added SITE_NUMBER column to SITE table (for automatically generated Site identifier) 21.1.212
  • Added WELL_DOC field to AFE_WELL table (for referencing linked Well) 21.1.212
  • Multiple new columns and records in FIELD_MAPPING (used internally to copy data from one document to another) 21.1.212
  • Added SYSTEM_LINK field to DOCUMENT_LINK table to identify system managed document links 21.1.212

Features️

  • 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.

  • Users can now update values and entire columns directly from Execute’s browse screens. #system #ui 21.1.263 #258593

    If you’ve ever found yourself looking at a report in Execute’s browse screen and thought to yourself, ‘Gosh, that ain’t right. I need to update that!’, only to be slightly deterred by the prospect of actually opening the Well, AFE, Job, etc. to make the change… Have we got a thing for you!

    Users can now update individual values or entire columns right from the browse screens throughout Execute!

    From the browse screen, users can now click the toolbar’s pencil icon to enable bulk edit mode. This puts a pencil in each editable cell in your browse report which will allow updating the cell without leaving the report. In addition, the new “Bulk Update” option under the column dropdown allows a user to update the entire column (respecting any filters you have, of course).

    This new functionality respects the user’s edit permissions and will only allow updates to data they could have changed normally.

    Here is a quick demo:

  • If you’ve ever found yourself wondering “just where is this field used” or “is this field safe to remove”, we think you’ll like our new functionality that helps you answer those very questions. The new “References” tab on a field’s configuration screen shows you the rules, tabs, reports, etc. that make use of that field. #admin 21.1.257 #257716
  • Support was added for new Peloton 2.0 APIs for our integration with WellView/SiteView. #peloton 21.1.255 #243175

    This release includes support for Peloton’s new 2.0 APIs (affecting Peloton SaaS customers).

    Peloton has announced their plans to deprecate their existing APIs (used by previous versions of Execute’s integration with Peloton SaaS) by the end of February.

    Customers who wish to use/continue to use this integration must:

    1. Contact Peloton support and request written permission to enable this integration (cc’ing Execute Support). Peloton requires customers obtain written permission prior to integrating with third parties.
    2. Upgrade Execute to this version or later.
    3. Work with Execute Support to update their configuration to use the new integration.
  • Initial release of the Configuration Migration feature which makes it easier to migrate configuration from one environment (such as a TEST environment) to an another environment (such as PROD). This feature is new and still in active development. At this time, we strongly recommend working with someone from Quorum Professional Services if you need to make use of this tool. #admin #system 21.1.249 #239691
  • Improved support for integration with document management systems such as SharePoint and DynamicDocs. #system 21.1.246 #246071

    With this update, Execute now includes support for integrating with the following document management systems:

    • Quorum’s DynamicDocs
    • Microsoft’s SharePoint

    Execute now supports multiple pluggable “AttachmentStores” which can selectively take over the storage of attachments.

    • Each attachment store can decide which document(s) (AFE, Well, …) it should store attachments for.
    • Execute supports pushing and maintaining additional meta-data for each attachment to help searching/sorting/categorization/etc. in the document management system.

    This gives a great deal of flexibility. For example, you can use SharePoint for “approved” AFE attachments, DynamicDocs for Well-level attachments, and the built-in storage for everything else.

    Plugins for these integrations are found under plugins_available\integration\product_integrations\document_management.

  • Future versions of the Integration Agent will automatically update themselves as necessary to avoid issues where integrations break because of incompatible Execute and Integration Agent versions. Note that manual steps are required to upgrade the Integration Agent this time, but future updates will happen automatically as required. #integration 21.1.244 #166459

    The Execute Integration Agent, which facilitates integrations between Quorum-hosted Execute and on-prem systems, is now packaged with Execute and will, in the future, automatically update itself as required.

    If you are currently running the Integration Agent, however, you must manually update it as part of taking this Execute update. If this step is not taken, integrations using the Integration Agent will be broken.

    You can download the latest Integration Agent installer from Execute’s Tools > Configuration > Integration Agent Configuration menu.

    You’ll need to stop the current version of the Integration Agent (under your Windows Services panel).

    You can then run the downloaded installer on the server hosting the Integration Agent and install the Integration Agent over top of your existing Integration Agent installation’s root folder.

    Note that because the installer was downloaded from the web, you may need to unblock it before you’ll be able to run it by right clicking the downloaded file, selecting Properties, and then Unblock.

  • Improvements to standalone use of Execute’s Operational Scheduling when using the Jobs module. #opsched #well delivery 21.1.242 #160969

    In this update, we’ve added a new Job Scheduling mode (inspired by Generwell’s similarly named module) to Execute’s Operational Schedule. This new mode simplifies the process of adding jobs (from the Jobs module) to a schedule, adjusting their timing, and feeding that updated timing back into the Job workflow.

    • Each schedule view can define a report which provides a list of candidate jobs (the job hopper) that can be added to that view.
    • A scheduler can select one or more job(s) from that report and add them to a resource on the schedule.
    • New Schedule Activity Relationships configuration allows you to define the relationships between activities (Completion happens after Drilling, etc.), so that appropriate dependencies will automatically be created when scheduling Jobs.
    • Updated timing from the master schedule will automatically feed back to the new “Job Start”, “Job End” and “Duration” fields.

    Note: Execute previously included “Sched Start” and “Sched End” fields which were barely used (only set when creating a Job from the schedule). The new Job Start and Job End fields replace these and the old fields will be removed in a future update.

  • When copying a document in Execute, there is now a checkbox to copy the document links. #ui 21.1.242 #223503
  • Execute now includes beta support for publishing a reporting schema to Snowflake or SQL Server/AzureSQL #integration 21.1.239 #236172

    Execute now includes the following functionality in beta (pre-release) form. This functionality is optional (off by default) and has not yet undergone our usual stringent QA process. We have released it so that interested customers can start exploring it, planning adoption, and providing feedback.

    We do not recommend using these new capabilities in production at this time.

    The following capabilities are available for testing.

    1. Publishing Execute reporting-type data to a Snowflake database
    2. Publishing Execute reporting-type data to a SQL Server / Azure SQL database
    3. Creating Document Synchronizations and Data Selectors against a Snowflake database

    Publishing to a Data Warehouse

    For BI, reporting and warehousing purposes, Execute now supports publishing all Execute data (documents) to either a client-owned/managed Snowflake database, or a client-owned/managed public-facing SQL Server (Azure SQL) database.

    To enable the publishing of Execute data to Snowflake…

    1. Create a new empty database in your Snowflake environment
    2. Copy plugins_available\integration\product_integrations\warehouse\non_production\snowflake.config to your plugins_available folder or add as a new in-app plugin, and restart Execute.
    3. Create a new “Connection String” (Tools > Configuration > Connection Strings) called “Snowflake” with the credentials and information for your Snowflake environment.
    4. Run “Tools > Synchronization > Snowflake Schema Publisher” to create tables and helper views in your Snowflake database. This same process would also be run any time you want to update the helper views to include newly created fields in Execute.
    5. Run “Tools > Synchronization > Snowflake Document Publisher” to pre-populate your Snowflake database with your existing data (latest version of each non-deleted document). This would typically only ever be run once.
    6. Execute will periodically and automatically push incremental updates to Snowflake. You can adjust this timing by changing the “Integration/Snowflake/Snowflake Queue Wait” configuration setting.

    Settings

    To enable the publishing of Execute data to SQL Server/Azure SQL…

    1. Create a new empty database in your SQL Server/Azure SQL environment
    2. Ensure that the SQL Server / Azure SQL database can be access directly from Execute (no VPNs, etc.)
    3. Copy plugins_available\integration\product_integrations\warehouse\non_production\sqlwarehouse.config to your plugins_available folder or add as a new in-app plugin, and restart Execute.
    4. Create a new “Connection String” (Tools > Configuration > Connection Strings) called “SQLWarehouse” with the credentials and information for your database.
    5. Run “Tools > Synchronization > SQL Warehouse Schema Publisher” to create tables and helper views in your database. This same process would also be run any time you want to update the helper views to include newly created fields in Execute.
    6. Run “Tools > Synchronization > SQL Warehouse Document Publisher” to pre-populate your database with your existing data (latest version of each non-deleted document). This would typically only ever be run once.
    7. Execute will periodically and automatically push incremental updates to your database. You can adjust this timing by changing the “Integration/SQL Warehouse/SQL Warehouse Queue Wait” configuration setting.

    For both Snowflake and SQL Server, the published data is:

    1. A table called EXECUTE_DOCUMENTS with up-to-date semi-structured JSON-based representations of all records (documents) in Execute (Wells, AFEs, Users, Accounts, Schedules, Approval Rules, …). If a document is deleted, the corresponding record in this table will not be removed but will have its “deleted” field set to “1” / “TRUE”.
    2. (Optional) Helper views which reformat the data from EXECUTE_DOCUMENTS as normal tables (closely resembling the underlying tables in Execute). These helper views are intentionally simplified and do not include deleted records, nor all the complex document versioning tables/fields (_DOC, _DOC_V, _H, …) that made querying the underlying tables complex.

    This functionality requires the “OData” module be licensed for your in environment.

    Data Selectors and Synchronizations against Snowflake

    Execute now supports creating connection strings to Snowflake databases in the Connection String editor. These connection strings can be used by Document Synchronizations and Data Selectors.

    CS

  • Administrators can now blissfully manage plugins from within Execute #admin 21.1.239 #180679

    I think it’s safe to say that administrators with the new Manage Execute Plugins administrator privilege will be overjoyed that they can now (optionally) manage Execute plugins directly in Execute. This is primarily targeted at Execute SaaS customers, but can be helpful for on-prem installations as well.

    NOTE: Plugins found in the plugins folder will continue to work and there is no requirement to migrate some or all of your plugins to in-app managed plugins. If you choose to migrate plugins from the plugins folder to the in-app plugins it is CRITICAL that the migrated plugins in the plugins folder are removed prior to adding them to the in-app plugins list (for SaaS environments, this will require a support ticket). Loading the same plugin twice never yields good results.

    Administrators can find the list of in-app managed plugins under Tools > Configuration > Plugins. This screen may look familiar at this point because in-app plugins are treated just like any other record in Execute. They even have change tracking!

    Plugins

    Viewing a plugin will show details about the plugin, as well as give the opportunity to edit the “Content” for the plugin.

    Plugin Detail

    In addition, we’ve made some improvements to error handling. In most cases, when a plugin fails to load properly, Execute will skip that plugin and continue startup. The “Loaded Successfully” column on the plugins screen will identify any plugins that failed to load (they will also have a red status bar the the left of the plugin row).

    It is important to note that plugins managed in this way are included in the database and will get copied as part of the database (for example, when copying PROD to TEST). This can potentially cause some issues where a TEST Execute environment is inadvertently attached to a 3rd-party production system. There are two mechanisms to avoid this:

    1. Connection strings and credentials should be stored in Execute’s (new) connection string storage or external credential storage. These values are NEVER copied between environments, and this eliminates the risk of a PROD>TEST migration accidentally causing TEST data to leak into a downstream PROD system.
    2. You can tag plugins with a “Plugin Environment” which can limit which environment a plugin is valid for (based on the Environment Label). If unspecified, the plugin will load in any environment. Environment Labels are the little badge next to the “Q” icon (PROD environments are usually blank) » envlabel

    We hope you are as excited by this functionality as we are. It will hugely streamline the process for managing Execute plugins.

  • Administrators can now effortlessly manage database connections from within Execute #admin 21.1.239 #180679

    Database connection strings can be managed by an admin with the “Edit External Credentials” privilege under Tools > Configuration > Connection Strings. New connection strings can be defined here and then referenced in your plugin files (rather than embedding database connection strings right in the plugin).

    This is now the preferred way to manage database connections made directly from Execute to another system (Integration Agent connections are still managed separately).

    • Multiple plugins can refer to the same connection string instead of a separate copy in every file
    • The connection strings can be edited without restarting the Execute service (plugin file changes still require a restart)
    • Connections can be tested from the UI, rather than having to restart the service and trying to operate the plugin before learning if the connection actually works
    • These connection strings still support the @@@ notation for using the separate credential storage feature. It is recommended to use that for passwords, to ensure they are securely stored.

    Connection Strings

    Most plugins that contain a connection string, such as this:

    <ConnectionString>account=abc123-abc123;user=secureuser;password=securepassword123;db=EXECUTE;SCHEMA=PUBLIC;WAREHOUSE=COMPUTE_WH</ConnectionString>
    <ProviderType>SnowflakeProvider</ProviderType>
    

    Can then be updated to refer to the defined connection string like so. Note: The “ProviderType” is now captured in the connection string and should be removed from the plugin file.

    <ConnectionString>Connection List=Server; Id=Snowflake</ConnectionString>
    <ProviderType></ProviderType>
    

    If you are migrating a plugin to an in-app managed plugin, you must move the connection string out of the plugin and into the connection string storage.

    Please feel free to reach out to Execute Support if you need some help updating your existing plugin files to use this new functionality.

  • Introduced API Keys, a better and more secure way of authenticating to Execute when building integrations against the Execute APIs. For those of you with existing API-based integrations, it is probably worthwhile migrating away from username/password and toward our API keys when possible. #integration 21.1.234 #165516

    We’ve added the ability to create API Keys to Execute to make it easier/safer to write integrations against the Execute APIs.

    1. By default, only admins can create a new API key.
    2. Sessions created using an API Key do not consume or require a license.
    3. API Keys can be set to expire (user-created API Keys must expire within one year).
    4. API Keys work much better in an environment that doesn’t have passwords (i.e., SSO users).

    The Problem

    Execute has a great set of APIs that many of you use to build integrations between Execute and other systems. Unfortunately, to use these Execute APIs, you needed to create a session using a username and password and the normal login API (used by the app itself). This raises several problems:

    1. It Doesn’t work well for environments that use SSO and don’t have passwords.
    2. Execute’s normal sessions consume/require a license. This requirement means that integrations start failing when the system is busy because they can’t get a license. It also means that for clients with small numbers of licenses, a long-running integration may lock people out of the system.
    3. Execute’s default 2-minute timeout on a session can break long-running integrations.

    What is an API Key?

    In Execute, an API key is an additional credential that can be used to log into the Execute APIs (or OData) to facilitate integrations. It’s like an additional username and password that are machine-generated (long and secure). Creating a session using an API Key does not consume a license and is more robust than the old-style login.

    Creating an API Key

    API Keys are managed under Tools > Configuration > API Keys.

    It is always a best practice to create unique API Keys for each service/integration to simplify phasing out old credentials or replacing compromised ones.

    Admin API Keys

    Users with the new Manage API Keys privilege are always able to add new API Keys using the Create API Key button on the top of the API Keys screen.

    • A description is always required for an API key and should describe what the key is being used for. A good description might be something like “Integration with Petrosight” or “Data Warehouse”
    • You must define when the key expires. Administrators can create API Keys that never expire.
    • An admin may also configure the key to impersonate another user. Doing so means that all APIs called using the new API Key will operate as if the impersonated user was calling them. Impersonation is commonly required so an admin can set up an API key for a service account in Execute that they can’t log into directly.

    Once created, you need to note the ID and the Key as both are required to use the APIs. The Key will never be shown again. The ID is just the DocumentID for the newly created API Key document and is not a secret.

    Non-admin API Keys

    By default, non-admin users can NOT create new API Keys. You can permit users to create API Keys by toggling the new Allow non-admin users to create API Keys? setting to “Yes”.

    The typical use-case for non-admin self-serve API keys is to support OData use in password-less environments. Alternatively, if only a few users need API Keys, administrators can create API Keys that impersonate that user, and then securely share the Id and Key with the user.

    When permitted, users can create a new API Key (for themselves) using the Create API Key button at the top of the API Keys screen.

    • A description is always required for an API key and should describe what the key is being used for. A good description might be something like “OData Summary Report” or “Data Warehouse”
    • You must define when the key expires. Non-admin users can set a maximum expiry of 1 year.
    • Non-admin users can NEVER create API Keys that impersonate other users.

    As before, once created, you need to note the ID and the Key as both are required to use the APIs. The Key will never be shown again. The ID is just the DocumentID for the newly created API Key document and is not a secret.

    Viewing and Editing API Keys

    Current API Keys can be viewed from Tools > Configuration > API Keys.

    • Administrative users with Manage API Keys will see all API Keys across all users in the system
    • Non-admin users will only see API Keys that they created and those created by other users that impersonate them

    Either the owner of an API Key or an admin can change an API Key, but those changes are limited to:

    1. Toggle the “Active” flag on an API Key (temporarily enable/disable it)
    2. Deleting the API Key
    3. Updating the API Key description

    Once an API Key is created, there is no way to change the user to impersonate or the expiry time.

    Managing API Sessions

    When an API Key is in use, administrators will see it under the Manage Sessions screen, where they can terminate it if required.

    API Sessions are different

    • Only a single active session is permitted for an API key (whereas you can log in multiple times with a username/password)
    • API Key sessions timeout after an hour instead of the usual 2 minutes
    • API Key sessions do not consume a license

    Because of the above, the primary reason to terminate an API Session is if it was accidentally left open and you’d like to terminate it so a new session can be created and any locks it holds can be released.

    Using an API Key with Execute

    API Keys can be used to call Execute’s APIs, and can also be used for OData.

    APIs

    Calling any Execute APIs requires you have a valid session.

    To create a new Execute session using an API key, call the new /api/Authentication/ApiKey/Login API instead of the previous /api/Authentication/Login API.

    The arguments to this API are simply the ID and Key obtained when creating the API Key.

    {
      "Id": "a426fcff-6569-4aa6-a596-4dba1469c425",
      "Key": "SK9EwPMwMX4CYKMX6Xc7JMchJp5ZyWEUdAIni5V3OwS6nLfAHZJHrKd8vnruIBnD"
    }
    

    The response from the ApiKey/Login call is identical to the normal login call. If the API Key impersonates a user the session will be created as that user.

    OData

    The new API Keys can also be used to connect to OData for environments/situations where the normal username and password is not appropriate.

  • Execute now allows you to add additional custom tables to your documents to allow you to better lay out custom fields, as well as handle very large numbers of fields (more than 1000). For those of you implementing many new workflows in RTx and watching your custom field count climb steadily upward, you can breath easier now. #system 21.1.234 #175816

    When you add custom fields to Execute, they are typically added to a single _CUSTOM table. It turns out that there is a maximum number of columns supported in a table (it varies by database configuration) but it’s roughly around 1000. This can be a problem for organization implementing many RTx-type workflows.

    To alleviate this, you can now add additional storage tables in Execute from a document’s configuration page.

    In this example, we’re adding a new storage table for fields related to our abandonment process. We could also just call it Custom 2 if we don’t want to separate fields by type.

    Once created, new fields can be added to the new table by selecting it as the “Record” when adding a new field.

  • Added support for multiple columns in custom tabs! #system 21.1.223 #168243

    Something we’ve been asked for a lot ever since Execute was reborn as a web-based application was the ability to stick fields side-by-side on your custom tabs. Here it is!

    Sample

    You configure your custom tabs just as you always have, but now there is a new “Same row as Above” checkbox in your tab configuration, which you can use to indicate that the field should share a row with the field above it. Currently, you can have up to 4 fields share a single row.

    Setup

  • Added support for integration with our very own Val Nav from Quorum-hosted Execute environments using the Integration Agent. #integration 21.1.222 #161179
  • If you’ve ever found yourself annoyed by date fields that insist on capturing not only the date, but also the time. If your organization is spread across timezones and you’ve struggled with date fields where the day changes depending on where you are viewing Execute… We have good news. We have added support for creating date-only fields which are never affected by your user’s timezone! #system #ui 21.1.222 #175938

    Most dates in Execute are actually Date + Time and those come with automatic timezone conversions. Sometimes, however, you just want a plain old date that will always show the same thing regardless of what timezone you are in. For that, we’ve added a new Unzoned Date/Time setting to Date Fields in the Field Configuration screen.

    When a date field is set to Unzoned, users will never see a time component for that field, and the value will never be subject to automatic timezone conversion.

    For example. In the screenshot below, Date 1 is a normal date field, and Date 2 is a new unzoned date field.

  • The Execute “plugins_available” folder is a collection of sample configuration files used to adjust the behaviour of Execute (most commonly, integrations). We’ve done a bunch of clean-up in this folder to make it easier to find a relevant sample, and we’ve added piles of documentation to those sample files to make configuration much easier. Our focus on this release was Data Synchronization and Data Selection, but we’ll continue to work on this in the coming releases. If you think that deploying these files is too difficult (needing to have IT or Quorum Application Delivery actually deploy the plugin) we have a new feature coming very soon that is going to make this process approximately 100% easier! #system 21.1.222 #181647
  • We have made SUBSTANTIAL improvements to Null (no value) handling in Execute’s calculated fields. Nowhere is this more apparent, and needed, than our handling of date fields where, previously, an empty date field would read as January 1, 0001. Along with these changes, the IsNull function now can be used to detect an empty field so that you can build formula logic around that. Never has nothing been so exciting! #system 21.1.222 #172933
  • We’ve added a new setting to Document Synchronizations that can automatically inactivate records in Execute that are no longer found in the source data. #system 21.1.222 #181530

    A new setting (inactivateMissingRecords - off by default) was added to synchronizations to automatically inactivate records that are no longer found in the source dataset.

    If you would like to enable this in an existing sync, you can add the following to the IDocumentSynchronizer component.

    <inactivateMissingRecords>true</inactivateMissingRecords>
    

    Note: Be careful when using this feature as it can/will quickly inactivate records in Execute that are no longer found in the source system. If the source data is a table (populated by a scheduled job such as the replicator) make sure that the table is filled before letting this sync run! As always, it is strongly advised to run this in TEST before doing this in PROD.

    See plugins_available\integration\synchronization\synchronize_document_data.config.sample for more documentation.

  • Better Release Notes Integration #system 21.1.214 #166159

    With Execute’s move to smaller and more frequent releases, keeping tabs on What’s New could be a bit overwhelming. In this release, we’ve changed things a bit.

    When new versions of Execute are available, administrators with the “IT Monitor” administrator privilege will continue to see a dashboard widget notifying them of the availability of a new version. This panel now includes a “What’s New” link which shows a summarized list of all new changes (potentially summarizing multiple releases) released since the version currently running in that environment. If you are a few versions behind on your upgrades, this gives one place to look for all of the new bug fixes and exciting enhancements you’ll receive when you upgrade your environment.

    Similarly, the “About” screen will also show information about the next available version and a link to the same summarized release notes.

    Similarly, under the help menu, release notes have also been split into two options:

    1. “Release Notes (Available Version)” is a link to the summarized release notes showing everything new and exciting when you upgrade your environment
    2. “Release Notes (Current Version)” is a link to the release notes for the version of Execute currently running in the environment

  • Added support for ODBC in Data Selection, Data Synchronization and Table Replication (Integration Agent). This means that these types of integrations are no longer limited to either Oracle or SQL Server, but can now work against most data providers that have an ODBC driver (such as Snowflake, Excel, Access, …). #integration 21.1.212 #157945
  • Added the ability to integrate Execute directly with some OIDC providers (such as Azure AD). #security 21.1.212 #164641
  • Added the ability to turn off “Device Pairing” completely. Useful for environments that wish to require all devices authenticate through federated AD/Okta. #security 21.1.212 #164641

    A new setting Enable "Device Pairing" (default: True) was added to the settings screen to allow an administrator to prevent the pairing of additional devices using the “Device Pairing” feature under the user menu in the top-right of the screen.

    This setting is aimed at environments that which to ensure all devices directly authenticate using federated Okta/Azure.

  • Addition of the “Reverse Table/Query Replicator” to the Integration Agent which allows raw query results to be copied from SaaS hosted Execute environments to on-prem databases. This allows for direct-to-database BI/reporting to continue to work unchanged when migrating from Execute on-prem to Execute SaaS. #saas #integration 21.1.212
  • Improved integration between hosted Quorum Execute environments and on-prem systems. #integration #saas 21.0.0

    The Quorum Execute Integration Agent is a new service which can be installed on an on-prem server to facilitate integrations between cloud-based deployments of Quorum Execute and on-prem systems. The integration agent is not required for instances of Quorum Execute installed on client-managed infrastructure.

    The Integration Agent makes it easier/possible for existing clients to migrate from their on-prem installation of Quorum Execute, to a Quorum-hosted instance, if desired.

    More information on the Integration Agent can be found here.

  • Support for integration with hosted Peloton (SaaS / Allez). #integration #afe 21.0.0

    Quorum Execute 2019 introduced first-class integration with Peloton’s WellView and SiteView. This integration allows:

    1. AFE Owners can see up-to-date spending against their AFEs (Peloton’s Field Costs)
    2. Field staff can see up-to-date AFE status and budget in WellView/SiteView

    This release reintroduces that functionality for Peloton’s hosted (SaaS) WellView product.

    More information on the integration with WellView and SiteView can be found in the Quorum Execute online documentation.

  • Grid overhaul throughout the system. More Excel-like. #ui 21.0.0

    Grids throughout Quorum Execute have been replaced by a new component that behaves like Excel.

    • Grids look and feel much more modern.
    • Performance for large grids (many columns or many rows) is substantially faster
    • No more pagination. Scroll through large grids with ease.
    • After many requests, we finally have support for frozen rows and column headers to make it much easier to work on large grids.

    Here is an example from the Capital Budgeting screens:

    Capital Budgeting in Excel

  • Support for Single-signon and MFA for Quorum hosted Quorum Execute environments through Okta. #integration #saas 21.0.0

    We all have way too many passwords to manage. IT departments have too many systems to manage (onboarding, offboarding, enforcing policies, etc.).

    Quorum Execute has long supported integration with Active Directory for on-prem installations of Quorum Execute. This integration allowed users who were logged into the domain to automatically login to Quorum Execute without needing to set and remember yet another password. It also simplified management for IT groups because some user properties would automatically sync between the domain controller, and Quorum Execute.

    In this release, we add optional support for integration with Okta to allow domain federated sign-on for Quorum hosted Quorum Execute environments.

    This functionality is configured by the Quorum Application Delivery team (with input from client IT departments). More information is available in the Quorum Execute Documentation.

  • Integration with Quorum’s WellEz. #integration #afe 21.0.0

    Those of you using Quorum’s WellEz, or thinking about switching to WellEz, can now integrate your Quorum Execute AFE process and WellEz.

    • AFE Owners (in Quorum Execute) - Ensure timely (nightly) access to spending (field costs) for their AFEs. This information helps AFE owners stay on top of their AFEs, more easily identify issues, and take corrective actions (supplementing the AFE, for example) sooner.
    • AFE Owners (in Quorum Execute) - When accrual time comes, AFE owners will laugh with glee (or at least be pleasantly surprised) because up-to-date field costs and actuals are collected in one system, making it easy for them to review their accruals, apply adjustments, and submit their accruals, without needing to wrangle data in Excel.
    • Field Staff (in WellEz) - Ensure visibility into the latest approved AFE estimate for Jobs in WellEz. This helps field staff ensure that they (a) have an approved AFE before starting work, (b) raise the alarms if field tickets/spending are out of whack with AFE estimates.
    • Ensure that WellEz and Quorum Execute users can run Budget v. Spend comparisons in their systems to identify trends and systemic problems estimating AFEs.

    Here is a rough workflow diagram describing the interaction between the two systems: workflow

  • New tool to simplify changing schedule view configurations. #opsched 21.0.0

    Schedule view configuration is able to control which activities are shown on an operational schedule, how they are colored, what information is shown, which resources are shown, milestones, etc.

    Unfortunately, the configuration for a Schedule View is complex. In previous versions of Quorum Execute, this configuration was difficult to modify.

    This release includes a new graphical Schedule View Configuration tool.

    • It is much easier to use and more discoverable (administrators will be able to use it to make adjustments to their views)
    • It avoids syntax issues and typos that you encounter when editing view configuration by hand
    • It provides drop-down lists of fields, colors, etc.

    Here is a short demo of the new tool: config

  • New workflow to simplify releasing funds from an AFE. #afe 21.0.0 #136463

    For those of you whose process when finalizing a project is to revise/supplement an AFE estimate down to match the AFE’s actual spend… we have a new thing!

    The new optional “Release Funds” actions make it easy to:

    • Supplement an AFE and automatically adjust the AFE estimate to match the actual spend
    • Get that new supplement approved (without requiring a complicated approval process)

    The new feature is controlled by following new configuration settings.

    Setting Default Description
    Enable ‘Release of Funds’ feature false Enable quick action to allow an AFE owner to automatically supplement an AFE and adjust the AFE estimate to match the AFE actuals.
    Release Funds Flag Field (null) Field (i.e. CUSTOM/RELEASE_FUNDS) that will be set on the AFE to indicate the supplement was created using the Release Funds feature. (must be a list, text or yes/no type field)
    Release Funds Flag Value (null) Value to be set in the ‘Release Funds Flag Field’ field.
    Release Funds Approval by AFE Owner false Allow AFE Owner to ‘Force Approve’ previously approved supplemental AFEs that decrease the AFE estimate.
    Release Funds Approval Default Approval Position (null) Name of placeholder approval position to be used on the Approvers tab for ‘Force Approved’ AFEs

Enhancements

  • 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
  • Deprecated functionality where workflows on parent documents could include/reference fields from child documents. In practice, this functionality was unlikely to be used since it could only work in very specific cases. On startup, however, Execute will check for references of this type and, if encountered, will prevent the system from starting up. If this happens, revert to Execute 21.1.264 and contact Execute Support. #workflow 21.1.265 #248415

    Previously, Execute’s Advanced Workflows allowed administrators to reference fields (either as task-fields or in Blockly rules) from child documents. In practice, these references would rarely work (since the behaviour becomes ambiguous as soon as a parent record has multiple children of the same type) and this functionality has been removed.

    Specifically, we have removed:

    1. The ability for a Project-level workflow to reference fields on linked Wells or Sites
    2. The ability for a Site-level workflow to reference fields on linked Wells or Jobs
    3. The ability for a Well-level workflow to reference fields on linked Jobs

    As a safety check, Execute 265 and higher will check for these invalid references and, if encountered, will fail to start and the server log will contain a message like this:

    2024-05-06 11:17:01.613 [ERR] Exception: System.ApplicationException: Upgrade incomplete. Precondition failed for upgrade of database to version 30: There are 2 task paths that must be addressed. Please contact Execute Support.
    

    If this happens, revert to Execute 21.1.264 and contact Execute Support.

  • Technical updates to the Job’s (RTX) Partner tab. #security 21.1.264 #260186
  • Improved error message when the Integration Agent connecting to Execute is the wrong version. #integration 21.1.264 #262830
  • The configuration migration tool now copies inactive custom tabs (which are often used for sub-views). #integration 21.1.264 #265018
  • Added a “Drop Table” flag to the Integration Agent Table Replicator configuration. This allows the Integration Agent to automatically drop and recreate the target table when changes happen. #integration 21.1.264 #268182
  • Added support for expression-based event filtering when using Enteprise Events for non-AFE document types. #integration 21.1.264 #270877
  • Added the ability to import actuals from a CSV file located on a remote SFTP server. #integration 21.1.263 #267410
  • Added ‘filename’ as an option when building expressions in Dynamic Docs and SharePoint configurations. #integration 21.1.263 #267534
  • Removed legacy option for GIT-managed plugin files. This was never actually turned on for customer environments. #system 21.1.262 #258547
  • Added support for publishing data to Quorum’s DataHub. #integration 21.1.262 #267291
  • Removed legacy 3rd party component on the Job’s Team Tab. #security 21.1.261 #260180
  • Added a new service health endpoint to simplify external monitoring of Execute services. #system 21.1.260 #254999
  • Improved the error message when an HTTP source is not found in the Integration Agent’s configuration. #integration 21.1.260 #259445
  • Added a new Regular Expression validation rule to allow building all manner of interesting field validation rules. i.e. numeric, serial numbers, phone numbers, … It even allows you to specify that the field should contain unique values. #system #admin 21.1.260 #259850
  • Document Link Summary Tabs now support Extended Document Links. #system 21.1.260 #262829
  • When building browse reports on Custom Tab configuration, administrators can now see the field’s display name and not just the database column name. #admin 21.1.259 #258791
  • Upgraded the 3rd party component used by the user permissions screen. #security 21.1.259 #259244
  • Improved documentation on the ‘Reset Task’ API. #integration 21.1.259 #259297
  • Replaced the 3rd party component on the ‘Set Document Type’ button on Notifications and Reminders. #security 21.1.259 #261077
  • Brand new API-based real-time export of approved AFEs from Execute into Quorum On Demand Accounting. #integration 21.1.258 #260257
  • Improved handling of minor account number formatting differences between On Demand Well Ops (WellEz) and Execute. For example, Execute having “100 / 01 " while ODW is configured with “100.01 " will no longer cause an issue when exporting AFEs and importing field estimates. #integration 21.1.258 #260479
  • Replaced the legacy component used on the Job’s Approval tab. #security 21.1.257 #260183
  • Replaced a legacy 3rd party component used by the header on a Job’s Discipline tabs. #security 21.1.256 #257877
  • Replaced a legacy 3rd party component used by the header on Discipline configuration tabs. #security 21.1.256 #258264
  • Improved error messages when exporting projects to Val Nav. #integration #valnav 21.1.256 #259893
  • Added a new ‘TABLE’ mode to Execute’s SQL Warehouse feature that separates the pushing of data to the warehouse, from the processing of that data into the helper views. This mode is intended for large environments, or those where the existing views aren’t performant. #integration 21.1.256 #260441
  • If you are a heavy user of document links, you can now create extended document links (see extended_document_link.config.sample). This allows you to show links for documents linked to other linked documents. And because that sentence left more questions than it answered, here is an example: A common setup is for a Pad Site to be linked to one or more Wells. A Well is linked to one or more Jobs. A Job is linked to an AFE. This feature allows you to say, “I’d like to see those AFEs that are linked to Jobs that are linked to the Wells on this pad as virtual document links on my Pad Site so that I can, among other things, make use of Execute’s formulas to give me a total AFE cost across all the Jobs on all the Wells on my Pad.” #admin 21.1.255 #257218
  • Replaced legacy components on the Job/RTx Discipline’s Configuration tab. #security 21.1.255 #257588
  • Administrators can now see the size of text fields from both the document’s field list and the “Field Info” browse report. Similarly, document reference fields now indicate which document type is referenced. Finally, calculated fields are also now marked as such, making it easier to identify which fields are calculated. #admin 21.1.255 #257711
  • Added new formula functions “DocumentLinkTextValueCombined” and “DocumentLinkChildrenTextValueCombined” to make it easier to quickly summarize field values from related documents, such as including a comma-separated list of Well UWIs on your Pad Site. #formula 21.1.255 #257318
  • We’ve added “Description” fields to store notes about workflow definitions and custom tabs to help administrators keep things nicely organized. #admin 21.1.255 #257212
  • Administrators using the browse screen to report on FIELD_INFO configuration will be pleased that we’ve added the “Editability Rule - Display Name” and “Visibility Rule - Display Name” fields to make it easier to figure out which rules are actually in use. #admin 21.1.255 #257213
  • If you find yourself selecting a lot of data using Execute’s Table Data Selectors, we’ve added “Select All” and “Select None” buttons to make life easier. While we were at it, we also added larger limits to the number of rows to show, and we’ve made Execute remember each user’s preferred number of rows. #system #ui 21.1.255 #257214
  • If you struggled to find the descriptions of available user privileges, you weren’t alone. We’ve renamed the “Administrator Privileges” to “Available Privileges” and added a link to this helpful list from the User Role configuration screen. By the way, you can also hold your mouse over a privilege while you are in the User Role configuration screen to see the description. #admin 21.1.255 #253801
  • Execute includes a cool feature where a user can request to be notified (by email) when another user moves their activities on a schedule. We’ve resolved a bug that prevented this notification from working if the user owned any undated activities. #opsched 21.1.255 #255857
  • Updated the Schedule View configuration documentation to reference “greater” and “less” than operators. #opsched 21.1.255 #256670
  • We’ve continued to clean-up the sample data selector plugin files. #plugins 21.1.255 #256784
  • Users reporting on Workflows and Workflow Task status will be happy that we’ve added columns for the root document type, root document display name, and workflow name. This makes this report much more useful! #workflow #reporting 21.1.255 #257213
  • If you have trouble finding columns in our detail-level reports, we have good news! We have adjusted the report builder’s “Available Columns” search to search on the full name of columns so that if you are searching for “partners” on an “AFE - Partners” report, you’ll actually see the partners columns as you’d expect. #admin 21.1.255 #257213
  • We’ve made it easier for administrators to create plugins (such as Data Selectors and Synchronizations) that point at the Execute database by adding a new database alias “EXECUTE_INTERNAL” which can be used in your plugin’s connection string. (Ex: “Connection List=server; Id=EXECUTE_INTERNAL”) #admin 21.1.253 #254272
  • Various performance improvements to Operational Scheduling #opsched 21.1.251 #244269
  • Having trouble finding a particular well or activity on your schedule? We have a thing for that! The new schedule search box makes it incredibly easy to find an activity that is hiding somewhere in your schedule! #opsched 21.1.251 #244269
  • Updated version of SQL Server database library. #system #security 21.1.249 #247055
  • Improved handling of newly added tasks when rolling out a workflow against a complete or mostly complete workflow instance. Tasks autocomplete if the tasks that immediately follow are also complete and the task is set to require manual completion or the task’s completion rule is met. #workflow 21.1.249 #247181
  • Updated integration with Dynamic Docs to work with the latest DynamicDocs APIs. #integration 21.1.249 #249213
  • Migrated the Job’s Copy Teams backend toolkit from Angular to React. This is part of a larger initiative to eliminate our dependency on an aging version of Angular. #security 21.1.247 #171883
  • Increased the default size for formula editing windows to make editing those monster formulas more pleasant than trying to peer at it four lines at a time. #system 21.1.247 #244477
  • A while ago, we added a great feature to Execute’s Document Synchronization to automatically inactivate records when they no longer appeared in the source data. Now, we’ll automatically reactivate those records if they come back! #integration 21.1.247 #245783
  • We’ve added a new “Copy from Sample " button when creating a new in-app plugin to make it much easier to preload your plugin with a sample from the plugins_available folder. #admin #system 21.1.247 #246432
  • Administrators with the “Manage Excel Templates " privilege can now upload and manage Excel Template Reports from Tools > Configuration > Manage Excel Template Reports. #admin #reporting 21.1.247 #246435
  • Added support for publishing Execute events to a file on a remote server using SFTP. #integration 21.1.247 #246490
  • Added new AFE-level calculated fields to allow reporting on reviewer and approver counts (both totals, and those who have completed their work). #afe 21.1.247 #247494
  • Changed the default minimum password length to 12 (doesn’t affect environments using SSO). #security 21.1.247 #247637
  • Added handy Select All / Select None buttons to the support package generation screen. #admin 21.1.247 #247724
  • The project reforecasting process now better identifies when a project needs forecasting, and better handles changes to historical AFE actuals (such as when changing mappings). #budget 21.1.246 #164376
  • Added a new AFE-level field “Available Project Capital” which shows the remaining capital available for an AFE (total capital available for allocation project activities less any AFEs allocated to those activities). This makes it easy to build business rules that alert the user when their AFE exceeds the available budget. #afe 21.1.246 #243837
  • Forced a “recalculate” when creating Excel Template Reports to resolve issues using those sheets directly in systems which don’t support Excel calculations natively. By the way, if you find it cumbersome to manage your Excel Template reports in Execute we’ll have a thing for that in the next update! #system 21.1.246 #244228
  • Added an alert when adding a connection string to a SQL Server database without enabling end-to-end encryption in the connection string (Encrypt=true). We strongly recommend enabling end-to-end encryption when configuring Execute to connect to any SQL / Azure SQL database over an untrusted network. #security #integration 21.1.246 #244240
  • We made the account group on accounts an optional field so make implementation easier for those of you who don’t need the cosmetic grouping of AFE costs by account group. In addition, this makes it possible to sync the list of accounts from a 3rd party system that doesn’t have a similar concept of Account Group. #afe 21.1.246 #244439
  • Accidentally deleted the wrong document? We’ve all done it. We’ve now added a “Undelete” action to deleted records that brings that document back from the dead. In general, the rule of thumb is that “if you can delete it, you can now undelete it!”. (Note that for AFEs specifically, Undelete is only available for AFEs deleted after taking this update.) #system 21.1.246 #244584
  • If you are a heavy user of Document Links, you’ll be overjoyed to know that you can now create summary tabs that list all linked documents of a specified type and give the administrator and the end-user the ability to control which columns they see. These are controlled by the new “plugins_available\customization\tabs\documentlinksummary.config.sample” plugin #system 21.1.246 #245826
  • Sample configuration for integration with Quorum’s OnDemand Accounting system #afe 21.1.246
  • The Update Forecasts grid now supports sorting and filtering to make it more pleasant when managing large number of capital projects. #budget 21.1.244 #161327
  • The Integration Agent status information has moved into the Help / About screen. #integration 21.1.244 #179893
  • We’ve included the “ConnectionStringEncryptor.exe” helper in the Integration Agent package to make it easier for those who want to store encrypted database credentials in the databaseConnections.config file. #security #integration 21.1.244 #216364
  • Administrators can now delete unneeded User Roles, Accounts, User Groups, Partners, and Position Rules. #admin 21.1.244 #231563
  • Minor cosmetic enhancements and fixes to the new Job Scheduling capability. #opsched 21.1.244 #237776
  • If exponents are your thing, you’ll be happy to know that Execute’s formulas now support the “Pow” function! #system 21.1.244 #241158
  • Performance fixes to OData column validity checking on system startup. #integration 21.1.244 #241699
  • Added the ability to synchronize schedules with Quorum’s Dataflow. #integration 21.1.244 #243278
  • Removed unused WSDL and XML examples from API Documentation. JSON is our path forward. #integration 21.1.242 #235124
  • Added the attachment date to the dropdown on Attachment Fields to help you pick the right attachment. (This idea was raised as part of our last CAB meeting). #ui 21.1.242 #236143
  • Administrators with the “Can Delete Top-level Workflow Instances” privilege can now delete a workflow instance that is no longer needed, or was created in error, using “More > Delete Workflow Instance” while viewing the workflow instance. #admin #workflow 21.1.239 #178841
  • Emailed workflow task links now point to the appropriate root document (Well, Job, AFE, etc.) instead of the Workflow Instance #workflow 21.1.239 #235449
  • Improvements to keyboard-based tabbing between fields in grids. #ui 21.1.235 #233113
  • Added many additional formula functions to make it easier to extract and use data in custom tables. #system #formula 21.1.235 #234266

    We’ve added some calculated field helper functions to fetch data from tables:

    These functions are broken into two parts:

    1. Find a row - return the “ID” for the row you’d like to retrieve a value from
    2. Retrieve a value - given the “ID” for a row, retrieve the value of a specified field

    Find a row functions:

    • TableGetRow("TABLE","FIELDPATH","FIELDVALUE") - returns ID of the row where FIELDPATH = FIELDVALUE
    • TableGetMinDateRow("TABLE","DATEFIELD") - returns ID of the row with minimum date in DATEFIELD
    • TableGetMaxDateRow("TABLE","DATEFIELD") - returns ID of the row with max date in DATEFIELD
    • TableGetMinRow("TABLE","NUMFIELD") - returns ID of the row with minimum numeric value in NUMFIELD
    • TableGetMaxRow("TABLE","NUMFIELD") - returns ID of the row with maximum numeric value in NUMFIELD

    All of the above return the text “MULTIPLE” if there are multiple matched rows.

    Retrieve a value functions:

    • TableGetText("TABLE","ROW ID","FIELD") - returns the value of a TEXT field
    • TableGetDecimal("TABLE","ROW ID","FIELD") - returns the value of a DECIMAL field
    • TableGetInteger("TABLE","ROW ID","FIELD") - returns the value of an INTEGER field
    • TableGetBoolean("TABLE","ROW ID","FIELD") - returns the value of a BOOLEAN (Yes/No) field
    • TableGetDate("TABLE","ROW ID","FIELD") - returns the value of a DATE field

    If “MULTIPLE” is passed in as the Row ID, the above functions return Null

    Examples:

    The following returns the ID of well with DESCRIPTION = “test”

    tablegetrow("WELL","DESCRIPTION","test")
    

    The following returns the ID of well with Custom PARNTER name of “Arctic…” (i.e. can peak into fields on document references)

    tablegetrow("WELL","CUSTOM/PARTNER/COMNAME","Arctic Canada Ltd.")
    

    The following returns the of the primary well (boolean checking)

    tablegetrow("WELL","ISPRIMARY","True")
    

    The following shows how you can chain functions together to get the Company Name value (custom field on the AFE’s Well) from the Primary Well.

    tablegettext("WELL", tablegetrow("WELL","ISPRIMARY","True"), "CUSTOM/PARTNER/COMNAME")
    

    In this example, we return the Contract Number for the contract (custom table) with the most recent contract date. (Note: if two contracts share the same latest date, nothing will be returned).

    tablegettext("CUSTOM/CONTRACTS", tablegetmaxdaterow("CUSTOM/CONTRACTS","CONTRACT_DATE), "CONTRACT_NUMBER")
    
  • Multiple behaviour improvements to drop-down lists in grids. #ui 21.1.235 #235035
  • We’ve updated the version of NSIS (the software that powers the Execute installer) and, while we were at it, we now display the version of Execute being installed in the installer to help avoid any “oops, I installed the wrong version” type mishaps. #system 21.1.234 #230486
  • The creator of a document link, and an administrator, are now able to update the comment on document links without removing and recreating the link. Helpful for fixing up those embarrassing typos. #ui 21.1.234 #231482
  • We added a new warning when exporting from OpSched to Enersight to highlight any step groups that are partially scheduled. Enersight requires that all activities in a step group are either scheduled or unscheduled, and this helps catch those cases where that condition isn’t met. #opsched #enersight 21.1.234 #231963
  • If you were curious about who created that RTD/RTx/Job vs. who owns it now, we’ve added a new “Creator” column and backfilled it for all of your historical data using Execute’s version history. #well delivery 21.1.234 #233601
  • Improved the error message when the Integration Agent Data Replicator failed due to a column-type mismatch. The error now shows the offending data types. #integration agent 21.1.234 #233688
  • Added a new schedule validation that highlights activities in a step group with inconsistent use of the “Scheduled” flag. For activities in a step group, it is required/expected that they all be scheduled, or all be unscheduled. #opsched 21.1.234 #234126
  • Added some nice navigation arrows to make it easier to open the related root document for a workflow task from the dashboard widgets, and the task completion popup. #workflow 21.1.234 #235278

    If you are using Execute’s Advanced (Task-based) Workflows, to help guide the workflow for an AFE or a Job, it turns out it wasn’t easy to find your way back to the underlying AFE/Job if you wanted to see the whole picture.

    In this update, we’ve added helpful little icons in the “My Active Tasks” and “Group Active Tasks” widgets that will bring you directly to the root document.

    Similarly, there was no way to open the root document once you were viewing a task (either by clicking the “view” button next to the task in the dashboard, nor by clicking the link in the email), so we added those too.

  • We’ve added a new Data Loader that allows bulk loading links between documents in Execute. #loader 21.1.228 #229813
  • We’ve increased your filtering options with a new “Doesn’t Start With” operator you can use when building browse reports. #reporting 21.1.228 #230542
  • We’ve turned on the “Comment Preview” column for all report types, making it easy to report on the latest comment for your projects, wells, sites and any other document you can think of. #system 21.1.228 #230763
  • The data loaders now correctly create any required “system managed” document links on load, instead of requiring you to restart the service for those to show up. #system #admin #loader 21.1.228 #230767
  • It is now possible to bulk load calculated fields and their formula (making it much easier to migrate calculated fields from one environment to another). #system 21.1.228 #230769
  • The job start date is now appended to the Job name when linking an AFE to a Job in Peloton to help differentiate between multiple jobs of the same type on the same well. #peloton #afe 21.1.228 #230037�
  • The new auto ad hoc reviewer function now works with TEXT or calculated fields, rather than just LIST type fields. #afe 21.1.227 #229993
  • Added new DocumentLinkSum functions to calculated fields that make it possible to add up values from linked documents. #system 21.1.227 #230006

    We’ve added four new formula functions to make it easy to pull text information from linked documents (in the case where there are multiple linked documents):

    • DocumentLinkChildrenSum
    • DocumentLinkChildrenSumFiltered
    • DocumentLinkSum
    • DocumentLinkSumFiltered

    Each function returns the sum of a numeric field across linked documents.

    i.e.

    On a site, the following would return the sum of the Cost custom field on linked child wells.

    DocumentLinkChildrenSum("WELL","CUSTOM/COST")
    

    While the following would add up the Cost custom field from linked “Maintenance” Jobs for the site.

    DocumentLinkChildrenTextFirstFiltered("RTX","CUSTOM/COST","JOB_TYPE/VALUE","Maintenance")
    
  • Major performance improvements to old-style create rights editing. #admin 21.1.224 #228247
  • Document sync now supports automatic document inactivation for document types which don’t have an out-of-the-box ACTIVE column. #integration 21.1.224 #228269
  • Added the ability to use a subtab view (a tab with multiple subtabs) as a child/sub-view on another view. An almost incomprehensible sentence but, for those of you waiting for this… it’s here! #admin 21.1.224 #228531
  • We’ve improved handling workflows when their root document is archived (using your document archive rules). Execute will no longer start new workflows, or update existing ones, on archived documents. In addition, tasks against archived documents are also considered archived on reports. #workflow 21.1.223 #178580
  • A new column, “Workflow Applicable”, was added to Workflow Task reports allowing you to find active workflows that probably don’t need to be there (based on the current rules and data). #workflow 21.1.223 #178844
  • Updated the Integration Agent to make the “httpConnection.config” and “databaseConnection.config” files optional on startup. #integration 21.1.223 #227267�
  • Added new formula functions to simplify pulling text data from linked documents. #system 21.1.223 #228015

    We’ve added four new formula functions to make it easy to pull text information from linked documents (in the case where there are multiple linked documents):

    • DocumentLinkTextValueFirst
    • DocumentLinkTextValueFirstFiltered
    • DocumentLinkChildrenTextFirst
    • DocumentLinkChildrenTextFirstFiltered

    Each function returns the alphabetically first non-empty value from the referenced field on the linked documents.

    i.e.

    On a site, the following would return the alphabetically first non-empty Job Description from linked child jobs.

    DocumentLinkChildrenTextFirst("RTX","DESCRIPTION")
    

    While the following would do the same, but only for Drilling Jobs.

    DocumentLinkChildrenTextFirstFiltered("RTX","DESCRIPTION","JOB_TYPE/VALUE","Drilling")
    
  • Technical upgrade to document copy pop-screen to remove an out-of-date component. #security 21.1.222 #166570
  • Custom Business Rules now have an ACTIVE flag, which allows you to easily turn off rules you don’t need any longer. #system #admin 21.1.222 #171791
  • Upgraded multiple 3rd party components to resolve a potential security issue. #security 21.1.222 #176492
  • Improved the help / error text for default values to make it more obvious how to set default values for decimal fields. #system 21.1.222 #179772
  • The detailed change history on a document is great, but defaulting to loading detailed history for all time is excessive and can adversely impact the performance of the system. We’ve updated the Change Tracking tab to load only 60 days of detailed history by default. If there is more history than that to show, you’ll see a “Load All History” button which will bring in the rest of it. #system 21.1.222 #180622

    To improve performance when viewing Change Tracking for documents with a LOOONG history of changes, we have modified the default behaviour to only show/load detailed history for 6o days.

    If you’d like to see the full history, there is a handy “Load History” button which will load everything, just as before.

    We’ve done our best to make sure it’s clear when you are viewing a partial history (or searching partial history) to avoid any confusion.

    Here is how it all looks.

  • Curious how long it takes a workflow task to complete? We’ve now now added a TaskAssignedDate function to calculated fields (to sit alongside the TaskCompleteDate function) so that you can now calculate just how long some of those critical tasks take to complete. #workflow 21.1.222 #180668
  • If you have multiple Document Synchronizations configured against the same type of Document, we now append the sync component’s ID to the log filename so that you can tell them apart. #system 21.1.222 #180847
  • Adjusted the export of estimates sent to WellView/SiteView so that they are sorted by account number. #afe #peloton 21.1.222 #180876
  • Continued enhancements to Integration Agent when copying data from Execute to an on-prem table. #integration 21.1.219 #162700
  • It is now possible to report on Document Links via. OData so that your dashboards can make sense of links between documents in Execute. #system #odata 21.1.219 #164442
  • Upgraded components on the drag-and-drop browse report builder screen to replace an out-of-date 3rd party components. #security 21.1.219 #164469
  • Upgraded jQuery library to the latest and greatest to resolve some potential security threats. #security 21.1.219 #164814
  • On system startup for a brand-new database, Execute will now generate a secure random password for the System Admin user and store it in initial_system_admin_password.txt in the service’s config folder. #security 21.1.219 #176042
  • Added the ability to define additional System Links. #system 21.1.219 #176280

    Execute automatically manages System-level document links between…

    • An AFE and the Job it was created from
    • An AFE and the Project(s) it is linked to
    • A Well and it’s Pad (Site)
    • A Project and related Wells and Sites
    • A Job and related Wells and Sites

    If you have some other relationship between records (such as a “Well” drop-down field on an AFE), you can use the new plugins to automatically manage System-level document links based on that field.

    This functionality is enabled with the following new plugin configuration files:

    • plugins_available/custom_auto_document_link_list.config.sample
    • plugins_available/custom_auto_document_link_single.config.sample
  • Changed the suffix in email notifications to use the user-facing Environment Label (shows in the top-bar) instead of the Environment Name (used for keeping track of services in the Windows Services control panel). We typically recommend the Environment Label for production environments be empty which, with this change, means we can avoid confusion when an email like “Execute - Well Diego 7a Status Changed (Production)”… Did Diego 7a go into production?!!! If you do have email notifications enabled in your TEST environment and you do not have an Environment Label set (the orange badge in the top-left of your TEST environment), contact Execute support to get the environment label set so that TEST and PROD emails are able to be differentiated from each other. #system 21.1.219 #178493
  • In the previous update, we introduced the ability to reactivate part of the workflow. Unfortunately, when subworkflows were involved, this reactivation was “excessively thorough” and would inadvertently reactivate tasks that shouldn’t have been reactivated. With this update, we endeavor to make the reactivation process involving subworkflows “do the right thing”. #workflow 21.1.219 #178952
  • Add a new FormatDate function to calculate fields which makes it easy to convert a date/time field to text in a specific time-zone and format. #system 21.1.219 #178988

    The new FormatDate function enables you to convert a date field to text in a specified format (and time-zone).

    For example, this formula converts the START_DATE to the America/Edmonton time-zone and then formats it as a long format date/time field (i.e. 2022-12-23 11:30:00 PM).

    FormatDate([START_DATE], "yyyy-MM-dd hh:mm:ss tt", "America/Edmonton")
    

    This formula converts the START_DATE to the UTC and then formats it as a date only (i.e. 2022-12-23).

    FormatDate([START_DATE], "yyyy-MM-dd", "UTC")
    

    You can find documentation on date format strings here.

  • Sometimes you just want to spread the word… to an existing Execute user. We’ve added a new “notify specified user” block that can be used to notify a specific Execute user. #system 21.1.219 #179961

    The new “notify specific user” block is available when building Notifications and Reminders and allows you to pass in an existing Execute users name, Document ID, or other identifier. When the rule runs, we’ll automatically look up the user’s current email address.

    Rule

  • Added an option to supress the automatic creation of Wells when import Projects from Val Nav or Enersight (it will, however, continue to link to an existing well). #integration 21.1.219 #175310
  • New system for managing sensitive credentials in Execute and avoiding the need to embed those credentials in plugin files. #system #security 21.1.218 #157817

    In this update, we have made some HUGE improvements to how we store credentials for 3rd party systems (required for integrations).

    What needed to change

    Previously, some credentials were stored in the Execute database, while others were embedded in plugins and configuration files.

    • Credentials in the database were suboptimal for several reasons:
      • Users with read access to the database could potentially retrieve integration credentials
      • When copying from PROD to TEST you could inadvertently end up with a TEST environment that was integrating with PROD data
    • Access to credentials in the plugins and configuration files were typically limited to the IT folks who manage those systems, but it’s still not a best practice to do things that way.

    What’s New

    With this update, we’ve added a new credential storage mechanism.

    • For those of you with on-prem Execute environments, this is an encrypted file called credentials.bin in your service’s config folder. This file is encrypted using the Windows Data Protection API and unusable for any user other than the user running the Execute service. (NOTE: this means that changing the user that runs the Execute service will render all credentials stored in this file unusable!)
    • For those of you with Quorum-hosted Execute environments, these credentials are stored securely in an Azure Key Vault.

    All external credentials managed from within the Execute UI (Quorum OnDemand Well Operations (WellEz), Peloton, Enersight, and the Integration Agent) are automatically written to the new encrypted credential mechanism.

    Relevant plugins and config file now support a sensitive information placeholder element which will refer to credentials stored in the credential store.

    What happens on upgrade?

    On upgrade, any database-stored credentials (such as WellEz, Peloton, Enersight, and the Integration Agent) will be automatically migrated to the secure credential store. Note that this will come with a change in behaviour as these credentials will no longer copy between Execute environments when you copy the database. While different, we strongly feel this is a much safer behaviour.

    Any existing plugins/config files with embedded credentials will be left as-is. If desired, the process of migrating a secret from these files to the credential store is described below.

    How do I add protection for credentials in my config and plugin files?

    Many plugins (such as synchronizations to external systems) contain sensitive information like database connection strings.

    <actual_cost_database>Data Source=SQL_Server;Initial Catalog=SQL_Server;Integrated Security=False;User ID=accounting;Password=hunter2;MultipleActiveResultSets=True</actual_cost_database>
    

    We can replace the password in the connection string with a placeholder label (prefixed with @@@).

    <actual_cost_database>Data Source=SQL_Server;Initial Catalog=SQL_Server;Integrated Security=False;User ID=accounting;Password=@@@ACCOUNTING_PASSWORD;MultipleActiveResultSets=True</actual_cost_database>
    

    Then, an administrator with the Edit External Credentials admin privilege can navigate to Tools > Configuration > External Credentials and set the value for that placeholder.

    Adding a credential

    Now, when Execute tries to connect to the accounting database it will evaluate the connection string and replace the placeholder @@@ACCOUNTING_PASSWORD with the password we defined in the External Credentials screen.

    Note that for security purposes the password, once added, can never be read from the Execute UI. A best practice is to track integration passwords in a separate secure password management application so that they are available if needed in the future.

  • Authorized users can now reset/reactivate workflow tasks, causing parts of the workflow to be re-run. #workflow 21.1.218 #158680

    The new advanced task-based workflow module in Execute is great and allows you to tightly control the collection of information on your Wells, Sites, Jobs, AFEs, etc.

    Up until now, the workflow always marched forward. Once a task was complete, it would stay complete. There was no way to reactivate part of the workflow and force those tasks to be re-run.

    <announcer_voice>Until today. . .</announcer_voice>

    In this update, we’ve added phase 1 of a new workflow reset feature that allows a task owner or an administrator with the Can Reactivate Workflow Task admin privilege to reactive a task. As part of the workflow definition, administrators can now configure what happens when a task is reactivated, such as:

    • Does reactivating a task clear any data (forcing the user to re-enter those fields)?
    • Does reactivating a task require the user to manually review/complete the task?
    • If a parent task is reactivated, should the child/dependent task also be reactivated?

    As mentioned, this is only the beginning.

    In this update, task reactivation is a manual process.

    Over the coming months, the plan is to introduce an automated aspect to this so that you can build rules like “If the location changes, automatically reset big chunks of the workflow.”

    As part of this change, we have also cleaned up the behaviour of the “Manual Completion Behaviour”.

    • If a task marked as “Require Manual Completion” has a Completion Rule, that completion rule must be satisfied before the task can be completed.
    • If a task is not marked as “Require Manual Completion”, the task must have a Completion Rule to be completed. There is no option for a user to manually complete the task in this case. This is a change from the previous version where the software would incorrectly show a Complete button to the user.
    • Tasks where “Require Manual Completion” = yes will show a “Save” and a “Save & Complete” button
    • Tasks where “Require Manual Completion” = no will show a “Save” only
  • Now that Execute is part of the Quorum family, we thought it was a good time to tweak things a bit. The product formerly known as “Quorum Execute” is now “Quorum Execute” or “Execute” for short. The application icons, logos, and branding have been updated accordingly. #system #security 21.1.218 #159350
  • To help keep things tidy, we’ve added an option to remove schedule activities that are no longer in your Enersight import dataset. #opsched #enersight 21.1.218 #161131
  • If you use OnDemand Well Operations (WellEz) and have AFEs that contain costs that apply to multiple jobs (such as a D&C AFE), we have good news! We’ve added support for pushing multi-job AFEs into WellEz. #well delivery #wellez 21.1.218 #162398
  • Workflows created against AFEs are now AFE-version specific and will reset when revisions/supplements are made. #workflow #afe 21.1.218 #163281
  • Adjusted browser caching from 24 hours to 15 minutes to avoid issues that pop up after upgrading Execute versions. #system 21.1.218 #165822
  • Support m-files:// links to the M-Files document management system #system 21.1.218 #166537
  • We’ve made the user experience a bit more consistent by ensuring that primary document types (AFE, WELL, RTx, SITE and PROJECT) always have vertical tabs. #system 21.1.218 #172292
  • We’ve cleaned up the interface a bit by hiding automatic Wells/Sites/Jobs tabs on Sites, Wells, Projects, etc. if those documents are not being used (i.e. There is not much point in showing an empty Wells tab on a Project if you aren’t using Execute’s Wells module). #system 21.1.218 #172936
  • After rolling out Document Validation Rules and Custom Field Permissions, we fully intended to allow you to create those rules on any record in the system. Unfortunately, overzealous validation shut that down when you tried to actually do that. We have “adjusted” that validation so that you may now add, for example, Document Validation rules to your Partners, AFE Types, etc. #system 21.1.218 #174942
  • Added new Table*Filtered functions which allow extracting Min/Max/Count of a subset of the rows in a table. #system 21.1.218 #175760

    We’ve added some new functions to provide more options when building calculated fields against a subset of the data in a table.

    • TableMaxDateFiltered - return the maximum date from a filtered subset of the rows in a table
    • TableMinDateFiltered - return the minimum date from a filtered subset of the rows in a table
    • TableMaxFiltered - return the maximum number from a filtered subset of the rows in a table
    • TableMinFiltered - return the minimum number from a filtered subset of the rows in a table
    • TableSumFiltered - return the sum of a numeric field on a filtered subset of the rows in a table
    • TableCountFiltered - return the count of a filtered subset of the rows in a table

    All of the above work like their non-filtered counterparts, but introduce two new parameters:

    1. filterPath - is the path to a field on the table row that we are going to use to filter the rows.
    2. filterValue - is a text value that we are going to compare to the value of the field in filterPath. The function will only process/include rows where the filterValue is a match to the filterPath value.

    For example:

    If I have a custom table for tracking Contract details (CUSTOM/CONTRACTS) and I wanted to return the most recent contract date (CUSTOM/CONTRACTS/CONTRACT_DATE) for any “Land”-type contract (CUSTOM/CONTRACTS/CONTRACT_TYPE = “Land”), I would use a formula like this:

    TableMaxDateFiltered("CUSTOM/CONTRACTS","CONTRACT_DATE","CONTRACT_TYPE","Land")
    

    (note: the fields above must be enclosed in quotes and not square brackets in this case.)

  • We have also included sample configuration for deploying sub-tabs which may be helpful in simplifying layout for those of you with huge numbers of fields. #system 21.1.218 #172292
  • Execute previously relied on the older NTLM protocol for on-prem single sign-on. In this release we’ve also enabled Kerberos support. If this causes problems on your environment either NTLM or Kerberos can be disabled. #system #security 21.1.218 #175304

    We will enable both types of authentication by default. They can be turned off by adding one of the following to the <castle> container in user.config.

  • Improved retry logic for integration with Peloton SaaS. #afe #integration 21.1.215 #164806
  • For those of you not using SSO, we’ve changed default password strength to more secure defaults (this will have no effect on existing passwords or your current password strength settings, if you’ve changed those from the defaults). However, if you aren’t using SSO for Execute yet, we strongly suggest setting that up for your PROD environment! #system 21.1.215 #164815
  • Added new AFE Count and Project Activity Count columns to Project browse reports. #budget 21.1.215 #164902
  • The Database Tool now creates empty schemas, rather than pre-populating them with the tables required by Execute. This is because Execute will now automatically create/update tables as needed upon startup. #system 21.1.215 #166279
  • Added the “NoOwnerEstimatePermission.config” plugin to plugins_available. This plugin prevents an owner from changing the AFE estimate after the AFE is routed for review. #afe 21.1.215 #166520
  • Added the ability to override Application Settings via. Environment Variables. This is primarily intended for automated deployment scenarios. #system 21.1.215 #168165
  • Added a new sample configuration file for configuring default column ordering in a custom table. #system 21.1.215 #171584
  • Support for pagination in larger datasets from Peloton SaaS. #afe 21.1.215 #171660
  • Added additional formula functions inList, firstNonEmpty, DocumentLinkChildrenCount, DocumentLinkCount to calculated fields. #system 21.1.214 #165736

    The new calculated fields in Execute have been phenomenally successful and many of you are finding all sorts of great uses for them. In this release, we’ve added a few new functions based on your feedback.

    InList

    Sometimes you need to check if a value is one of a big list of options. While you can do this with the if function, it’s not pleasant. Trying to get the brackets right in an expression like if([CUSTOM/AFE_TYPE/VALUE]=="Drilling",true,[CUSTOM/AFE_TYPE/VALUE]=="Complete",true,[CUSTOM/AFE_TYPE/VALUE]=="Drill & Complete",true,false))) is enough to break anybody’s brain.

    So… We’ve added the InList function which returns whether a value is found in a list of values.

    i.e. the following will return true when the AFE Type is one of “Drilling”, “Completion” or “Drill & Complete”

    inlist([CUSTOM/AFE_TYPE/VALUE],"Drilling","Completion","Drill & Complete")
    

    Usually, inList would be used in condition part of if statement:

    if(inlist([CUSTOM/AFE_TYPE/VALUE],"Drilling","Completion","Drill & Complete"),"drilling & completion AFE","not a D&C AFE")
    

    FirstNonEmpty

    Sometimes it’s helpful to return the first non-empty value from a bunch of text fields (such as when showing the “best available identifier for an AFE”). The new FirstNonEmpty function helps with that!

    i.e. Here is a function that returns the description (if one), or the internal justification (if one), or a constant string.

    FirstNonEmpty([DESCRIPTION],[INTERNAL_JUSTIFICATION],"This AFE has no name")
    

    Another common ask has been around getting a count of linked documents, so we’ve introduced DocumentLinkChildrenCount and DocumentLinkCount to help with that.

    i.e. Find the number of child wells for a site.

    DoumentLinkChildCount("WELL")
    

    i.e. Find the count of AFEs linked to a Job (child, associated, parent… all are counted).

    DoumentLinkCount("AFE")
    
  • Technical upgrades to AFE Route for Review screen, Review Tab, and Approval tab. (removing an older 3rd party component) #system 21.1.214
  • Updated 3rd party component MomentJS to resolve potential security concern. #security 21.1.214 #164813
  • Technical improvements to Execute to allow it to be efficiently containerized using Docker. This will simplify and improve the management of Quorum hosted Execute environments. It does not affect on-prem Execute installations. #system #saas 21.1.212 #151575
  • Improvements to management of configuration files and plugins in Quorum-hosted Execute environments. This should vastly reduce turn around time for changes to plugins. #system #saas 21.1.212 #154672
  • When pushing a schedule to Enersight, capital is only pushed across for static activities (avoiding unnecessary errors). #enersight #opsched 21.1.212 #156073
  • Relaxed database type checking for data selection and data synchronization for numeric types. Avoids the need to coerce source data column definition into matching, exactly, what was in Execute. #integration 21.1.212 #162694
  • Modified the “New Field” dialog to be full width to make editing calculated field formulas more pleasant (i.e. nobody likes postage stamp sized formulas). #admin 21.1.212 #164873
  • Migrating document headers from Angular to React as part of an initiative to remove an out-of-date component. #security 21.1.193 #160897
  • Adding new supplement reporting columns for"AFE - Line-item" and “AFE - Line-item by Date” report types. #afe 21.1.193 #162524

    A common request has been to extend the “AFE - Line-item” and “AFE - Line-item by Date” report types to include some of the additional “approved” and “supplemental” estimate columns found on the base AFE report type.

    As such, we’ve extended both report types to include the following additional columns:

    • Line-item Detail - Supplemental Gross Estimate
    • Line-item Detail - Supplemental Net Estimate
    • Line-item Detail - Approved Gross Estimate
    • Line-item Detail - Approved Net Estimate
    • Line-item Detail - Net Estimate
  • Support for SiteView 6 #afe 21.1.188 #163614
  • Added automatic document links between AFE and linked Project(s). #system 21.1.184 #159569
  • On system startup, Execute will automatically create/fix automated document links such as those between Wells and Site, Job and parent Site, Job and parent Well, AFE and parent Job, AFE and linked Project. #system 21.1.184 #161041
  • Now that we’re firmly into spring, we’ve added the ability to do some spring cleaning within Execute by enabling the deletion of Wells, Sites and Workflows Definitions. #well delivery 21.1.184 #161128
  • When deleting a document, manual links are automatically removed to limit cases where a document links to a deleted document. System links are automatically removed where it makes sense. #system 21.1.184 #161130
  • Added a new configuration setting (Automatic Adhoc Reviewer Fields) that allows automatically adding mandatory ad hoc reviewers to an AFE based on fields on the AFE (potentially copied from Job Team members). #afe 21.1.184 #161542
  • Added support for event-based file exports to the Integration Agent. This makes it possible to use Bolo, Excalibur and other integrations from a Quorum hosted instance of Execute. #integration 21.1.169 #156869
  • Support for Enterprise Events in integration agent. #integration 21.1.169 #158011
  • Support for AFEStoredProcedureValidator in the Integration Agent. #integration 21.1.169 #161030
  • New Document Link Formula Functions (covering all of our field types) #system 21.1.128 #158844

    Added new functions (DocumentLink_____ and DocumentLink____Filtered) to the formula editor to retrieve data from linked documents. These new functions support the following data types:

    • Integer
    • Decimal
    • Text
    • Date
    • Boolean (Yes/No)

    These new functions make it easy, for example, to add a calculated field on the Job that returns the related AFE’s current status or estimate.

  • Automated Document Linking #system 21.1.128 #158871

    Execute now does it’s best to automatically maintain Document Links between related documents. This includes:

    • Linking an AFE to the Job it was created from.
    • Linking Jobs to the Well or Site they are associated with / created from.
    • Linking a Well to the Pad (Site) it is associated with.

    These new links are automatically managed by the system and will automatically be updated or removed when you change the underlying field that link is based on. For example: Changing the “Pad” field on the well will automatically update the associated Document Link. These links are identified by a “system managed” badge on the Document Links tab.

    Links

    These new links are exciting for several reasons:

    1. They are bi-directional. From a well you can see the associated sites and click on them to open them. From a site, you see the associated wells.
    2. Our new document link formulas make it easy to see/summarize information from linked documents. For example:
      • Show the current AFE Status for the AFE linked to a Job
      • Show the minimum Spud Date for all wells linked to a Site
    3. Use the new “Refresh Linked Data” button on the AFE to automatically copy data from linked Wells, Sites and Jobs onto the AFE and the fill out the AFE’s well list.

    Document Links are automatically created from this point forward. This update does not retroactively create links on historical documents.

  • Automatically generated Well and Site numbers #well delivery 21.1.128 #157849
  • Ability to copy workflow definitions #workflow 21.1.128 #156771
  • New “Is Actual”, “AFE Gross Actuals” and “AFE Net Actuals” columns added to Monthly Project Capital report type. #budget 21.1.128 #157846
  • Projects can now be copied. #budget 21.1.128 #158145
  • Made Enersight timeout configurable to better handle integration with larger projects #system 21.1.128 #158410
  • Button to copy details from linked Wells, Sites and Jobs onto an AFE #afe 21.1.128 #158900

    In addition to the AFE process that most of you are using today, Execute also has the ability to track Wells, Sites and Jobs and their associated data and workflow.

    For those of you tracking these other details in Execute, we’ve added a new “Refresh Linked Data” button on the AFE that makes it easy to pull information from related Wells, Sites and Jobs onto the AFE.

    The first step is to configure the mapping(s) from your Well/Site/Job to your AFE. These are found under Tools > Configuration > Field Mappings.

    Field Mappings

    There are three new Field Mappings which control how attributes are copied onto top-level fields on the AFE.

    1. RTX > AFE (mappingId = “update”)
    2. WELL > AFE (mappingId = “update”)
    3. SITE > AFE (mappingId = “update”)

    In addition, there is one new Field Mapping which controls mapping linked wells to new rows in the AFE’s Well List.

    1. WELL > AFE (mappingId = “update-well”)

    Here is an example mapping that maps three fields from the Well to top-level fields on the AFE. If a single Well is linked to the AFE, pressing the “Refresh Linked Data” button will use this mapping to copy these three values from the well to the AFE.

    Well Mapping

    Next, this feature must be enabled by enabling the Enable 'Refresh Linked Data' on AFEs setting under Tools > Configuration > Settings.

    Document Links can be fairly complex and the system will try and follow the links to find all “reasonable” linked documents. This includes:

    Jobs:

    • Directly linked to AFE

    Sites:

    • Directly linked to AFE
    • Owner of a Job linked to an AFE (Site Job)

    Wells:

    • Directly linked to an AFE
    • Owner of a Job linked to an AFE (Well Job)
    • Directly Linked to a Site that is:
      • Directly linked to the AFE
      • Owner of a Job linked to the AFE (Site Job)

    Mappings are applied in the following order:

    1. Well -> AFE
    2. Site -> AFE
    3. Job -> AFE

    This means that if the AFE is linked to a Well and Site, for example, and both the Well and Site map to the same field, the Site will “win” because it’s processed second.

    A mapping will not be applied if multiple documents of that type are linked.

    For example, in the following situation the AFE is linked to one Site and two Wells (via. the Site).

    mapping1.png

    • The Well > AFE mapping will not run because the AFE is linked to two Wells
    • The Site > AFE mapping will run because the AFE is linked to only one Site
    • The Job > AFE mapping will not run because the AFE isn’t linked to any Jobs
    • The Well > AFE - Well mapping will run to add each of the two Wells to the AFE’s Well list.
  • AFE Number field on Dashboard now displayed as “AFE Number” instead of “Value” #afe 21.1.128 #158901
  • Added drag-and-drop mode that automatically moves all related activities that aren’t assigned a resource. #opsched 21.1.128 #111424
  • Added new formula functions to make it easy to extract part of an AFE’s estimate in a report. #afe 21.1.87 #157107

    We’ve added two new formula functions to make it easier to extract/report on parts of an AFE’s estimate:

    1. GrossEstimateForAccountFilter
    2. NetEstimateForAccountFilter

    The following example pulls out just a single account’s (9210.247) Net estimate amount.

    NetEstimateForAccountFilter("ACCOUNTNUMBER","9210.247")
    

    While this formula sums up the gross estimate for any accounts with a Target Activity Name of “Development”.

    GrossEstimateForAccountFilter("CUSTOM/TARGET_ACTIVITY/NAME","Development")
    
  • Multiple Enhancements to integration with WellEz, and import of field estimates. #afe 21.1.87 #154540
  • Authorized users are now able to create Document Links between all “Primary” document types. #system 21.1.87 #157309
  • New functionality to allow a User to “Take Ownership” of a task if the share a User Group with the task’s owner. #workflow 21.1.87 #157112

    Workflow Tasks in Execute are assigned to a single user through that task’s “Assigned To” rule. In some cases, however, this individual approach is too restrictive. i.e.

    • “While Bob is on vacation other members of Bob’s team would like to be able to see and complete tasks assigned to Bob.”
    • “A Task needs to be completed by someone in the Land Group (Alice, Bob and Eve) but we don’t care who in particular.”

    We’ve introduced a new couple of new settings and a new feature to make this a breeze.

    Settings

    When enabled users who share an eligible* “User Group” with the owner of a task will be allowed to “Take Ownership of Task” and complete the work (using the button they’ll see when viewing the task).

    Take

    In addition, a new Dashboard Widget (“Group Active Tasks”) makes it easy for Team member to see all the active Tasks that they could participate in.

    Dashboard

  • Wells and Sites can now be copied #well delivery 21.1.87 #158142
  • Support for field mapping to copy data from Well/Site to Job, when creating a new Job. #well delivery 21.1.87 #158138
  • Support for Database Document Export (Qbyte and Envision) from the Integration Agent (for SaaS deployments of Execute) #integration 21.1.87
  • Added “User Groups” to the User’s Permissions tab to make it easier to manage user permissions for admins. #afe 21.1.62 #156148
  • Administrators can now copy “classic” approval rules, system review rules, and create rights. #afe 21.1.62 #156228
  • Administrators can now see idle time for users in the session manager. #system 21.1.62 #156187
  • Workflow visualization enhancements #workflow 21.1.62 #156371

    We’ve been working closely with several of you as you’ve rolled out the new Advanced Workflows and made some changes based on the feedback from that process.

    Tooltips

    The tooltips on the workflow diagrams weren’t particularly helpful and had an annoying tendancy to get stuck on your screen. We’ve removed them.

    Tooltip

    Workflow Diagram Box Sizing

    Boxes on the workflow diagram now automatically adjust to the size of the task name. This makes it easier to read the diagram and fixes the issue where the task arrows would render incorrectly.

    Sizing

    Assigned & Completion Date on Workflow Diagrams

    We’ve added the Assigned and Completion date fields to the workflow diagram.

    Dates

    Subworkflow Visualization

    If your workflows make use of Subworkflows, we’ve made some huge improvements.

    1. Only the main workflows are listed on the Workflows tab on your Well/Site/Job. This makes it much less confusing for end-users.
    2. Active subworkflows show in a panel on the main workflow (see screenshot below), making it much easier to see what’s going on and how the subworkflow relates to the main workflow.
    3. Clicking on a subworkflow task will always bring you to the detailed diagram and task status page for that subworkflow.
    4. Main workflows tasks and subworkflow tasks are shown together in the task list under the main workflow making it much easier for those involved in the workflow to find their tasks.

    Subworkflow

  • Administrators will now see if a user is active in a role on the User’s Permissions tab #system 21.1.62 #127682
  • New Formula Functions for Document Links and Custom Tables. #system 21.1.62 #156553

    We’ve added some cool new functions to the formula language used for calculated fields and calculated report columns. These include functions for dealing with table data (Min/Max/Count), and linked documents.

    Table Functions

    The following new functions make it possible to summarize table data from a formula.

    • TableMinDate/TableMaxDate - return min/max of a date column in a table
    • TableMin/TableMax - return min/max of a numeric column in a table
    • TableSum - return sum of a numeric column in a table
    • TableCount - return row count of a table

    If, for example, we have a table like this:

    GeoProg Table

    We can build a formula to retrieve the maximum depth with this formula:

    TableMax("CUSTOM/GEOPROG","EST_TD")
    

    Or we can return the number of GeoProg rows with:

    TableCount("CUSTOM/GEOPROG")
    

    Document Links are a great way of linking records in Execute (such as linking Jobs and AFEs together). We’ve added new functions that allow navigating these links from a formula to make it easy to fetch related information from another document in the system.

    The new functions added are:

    • DocumentLinkChildrenMinDate/DocumentLinkChildrenMaxDate - return min/max of a date field on linked documents of a certain type
    • DocumentLinkChildrenMinDateFiltered/DocumentLinkChildrenMaxDateFiltered - same as above with filtering on a single column
    • DocumentLinkTextValueFiltered - return a single text value from a linked document meeting a single column filter
    • DocumentLinkDateValueFiltered - return a single date value from a linked document meeting a single column filter

    Here I have a document linked to three Jobs (2 drilling and 1 completion):

    Links

    We can build a formula that will retrieve the first (minimum) Spud date from linked Drilling Jobs with:

    DocumentLinkChildrenMinDateFiltered("RTX","CUSTOM/SPUD_DATE","RTX_TYPE/DESCRIPTION","Drilling")
    

    Or we could build a formula to retrieve the pad construction date from the linked Construction job with:

    DocumentLinkDateValueFiltered("RTX","CUSTOM/CONSTRUCTION_DATE","RTX_TYPE/DESCRIPTION","Pad Construction")
    
  • Entering a month & day (i.e. “Jul 7”) in a date field now defaults to the current year instead of 2001. #system 21.1.62 #156183
  • Huge performance improvement on the Project’s AFEs tab. #budget 21.1.21 #154511
  • Added user’s description to the Review and Approval status tabs in #afe 21.1.21 #155467
  • New color-scheme with Quorum branding. 21.0.0 #127725

    Since Quorum Execute has joined the Quorum family, we thought it was a great time to refresh our look a bit.

    Quorum Execute 21 now features a Quorum inspired color schema.

    We love the new look and hope you do too.

    If, however, you long for the old color schema you are can select it under your user settings screen.

  • Many 3rd party components updated to latest versions. #security 21.0.0

    It’s always important to keep software up-to-date and take advantage of any/all security fixes.

    In this release, we have updated the versions of some of the 3rd party libraries that we use within Quorum Execute. This includes:

    • jQuery
    • jQuery UI
    • Bootstrap
    • MomentJS
    • UnderscoreJS

    In addition, we have migrated from our older charting library (HighCharts) to eCharts.

    All of the above updates are behind the scenes and should have no impact on the end-users.

  • Added support for Workflow Tasks to the User Reassign Wizard. #admin #workflow 21.0.0
  • Added support for Project Activity Owners to the User Reassign Wizard. #admin 21.0.0
  • New custom business rules to allow an administrator to configure when Revisions and Supplements may be made. #admin #afe 21.0.0
  • Improved reporting on Capital Project snapshots. #budget 21.0.0
  • New tool to simplify bulk updating Capital Project forecasts. #budget 21.0.0

    The new Bulk Forecast update utility makes it easier to update capital forecasts across many projects via. Excel. It will extract current forecast data (for a user-specified date range and set of projects) and export that to Excel as a starting point for the update. The user can then see the current forecast, quickly make bulk updates across many projects in Excel, and then re-upload those changes into Quorum Execute.

    Excel

  • Button added on Capital tab, and reforecasting screen, to quickly update capital summary to match monthly capital. #budget 21.0.0 #54370
  • Added the ability to have additional information show in the activity pop-up on the schedule #opsched 21.0.0 #98342
  • Administrators (with “AFE Owner Actions”) can now delegate Field Cost entry on behalf of another user. #afe 21.0.0 #135784
  • Added a new “EstimateForAccountGroup” formula function to the formula editor to allow users to pull out specifics parts of an AFE estimate. #afe 21.0.0 #136343

    A common problem for operators who combine multiple phases of a project into a single AFE (such as a combined Drill & Complete) is getting visibility into specific phases of the estimate from reports, etc.

    The new GrossEstimateForAccountGroup and NetEstimateForAccountGroup formula functions make it easy to extract parts of your AFE’s estimate for reporting.

    Formula

  • The Field Cost Entry and Field Cost Cutoff Date settings are now editable by an Accruals Admin. #afe 21.0.0 #144621
  • The Browse screen now color codes more status fields (i.e. task statuses). #ui #workflow 21.0.0 #147722

Bugs

  • 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
  • Resolved issue where Export to QByte would fail when using the Integration Agent. #integration 21.1.264 #267950
  • Resolved issue where configuration migration would fail to match accounts on Overhead Rules. #admin 21.1.264 #271118
  • Improved output message when using the “Test” button on a Workflow Task’s Hide Rule. #admin 21.1.264 #271760
  • Resolved issue preventing the legacy reporting tool from connecting to Execute. #reporting 21.1.264 #272493
  • Resolved issue where choosing a contributor on a Job’s Team-tab would fail if the User Identifying Columns were modified from the default. #well delivery 21.1.264 #273009
  • Fixed the issue where the ‘Extension’ property when publishing Execute event data to a remote SFTP server was ignored. This meant that all the newly created files were given no extension, instead of whatever was configured. #integration 21.1.263 #268098
  • Resolved issue where the AFE’s release validation rule was being incorrectly invoked on Custom Document Actions. This prevented some plugins from working as expected. #afe 21.1.262 #267702
  • Resolved an issue where the Integration Agent was unable to connect to HTTP/HTTPS services. #integration 21.1.262 #267829
  • Resolved issue where the timezone in Document Synchronization plugin files was being ignored. #integration 21.1.261 #263907
  • Resolved issue where custom tables exported to the SQL Warehouse / Azure SQL were empty. #integration 21.1.261 #266641
  • Resolved an issue where the task reactivation button would disappear when paging through tasks on large workflows. #workflow #admin 21.1.260 #257198
  • The WellEz Estimate Account Filter now respects the path specified in the plugin file. #integration #wellez 21.1.260 #265670
  • When we rolled out the new configuration migration functionality, we inadvertently locked down several of our implementation tool loaders to only work for administrators with the configuration migration privilege. We have restored the original permissions. #admin 21.1.259 #255269
  • Resolved an issue where long-running (greater than 30 minutes) jobs using the Integration Agent would fail. #integration 21.1.259 #258072
  • Updated the task banner (for Advanced Workflows) to use the document’s display name rather than the database name. #ui 21.1.259 #259954
  • Resolved an issue where large data sets could cause the Integration Agent to run out of memory. #integration 21.1.259 #261468
  • Resolved minor issue where the suggested filename for Job (RTx) position rule data loaders was incorrect. #admin 21.1.258 #259353
  • The data loaders exported by the configuration migration tool are now sorted by name to make it easy to navigate the individual files and compare with other loaders. #loader 21.1.257 #259967
  • Resolved issue where long-running configuration migrations could fail because the system was “helpfully” cleaning up temporary files prior to them being processed. #loader 21.1.257 #260261
  • Fixed ’null reference’ exception that could occur when re-importing projects from Val Nav. #integration #valnav 21.1.256 #248308
  • Resolved critical memory leak in Operational Scheduling module that could cause the service to eventually run out of memory and become unresponsive. #performance 21.1.256 #258407
  • Minor fixes and improvements to the recently release Peloton API-based integration. #integration #peloton 21.1.256 #259593
  • Resolved issue where ‘On Demand Well Operations Entity/Job Name Sync’ would fail to run. #integration #wellez 21.1.256 #259831
  • Resolved issue where ‘Can Product After’ flag was not being correctly read from Val Nav Template when importing projects from Val Nav. #integration #budget #valnav 21.1.256 #259883
  • Fixed an issue where the Configuration Migration tool wouldn’t correctly migrate Discipline tabs between environments. #admin 21.1.255 #251884
  • Resolved issue where updates to Custom Business Rule names (such as a custom field permission) wouldn’t immediately be visible elsewhere within Execute. #admin 21.1.255 #253436
  • Fixed up view definitions for legacy Val Nav capital database views. #integration 21.1.255 #256835
  • Fixed multiple issues dealing with inactivated fields in a Workflow Definition (such as fields showing with an empty name, and being unable to remove them from the task reset list of fields). #admin 21.1.255 #256906
  • Fixed date filtering issues (using the In Range operator) in the new-style grids throughout Execute. #ui 21.1.255 #257773
  • Resolved issue when creating helper views in Azure SQL warehouse where an existing global object could cause the creation/update of the helper view to fail. #integration 21.1.255 #258148
  • Resolved an issue that prevented creating a new SQL Server database when using SQL Server authentication. #system 21.1.255 #259011
  • If you are still waiting for your schedule to print, we have resolved an issue where the “Print” button on a Schedule would appear to be stuck and never actually print the schedule. Sorry! #opsched 21.1.255 #257366
  • Added the missing element in table_data_selection.config sample plugin file. #plugins 21.1.255 #247786
  • Resolved an issue where an administrator setting the “Fields that are cleared on task reactivation” list on a workflow’s Reactivation Rules tab, switching to a different tab, and coming back again would be greeted by an unexpected (and unintentional) error. #workflow 21.1.253 #246266
  • Resolved an issue where RTX disciplines that were migrated from the former RTD module were unable to be removed from the RTX. #well delivery 21.1.253 #246500
  • When adding a new “Additional Storage Table” we’ve added a message to let you know that it was successfully added so that you aren’t left wondering, “Wait. That happened so quickly! Did something happen?” #admin 21.1.253 #249709
  • We’ve resolved an issue where the Integration Agent was unable to replicate the results of a database calculation/function from Oracle into Execute. #integration 21.1.253 #256139
  • We’ve improved the reliability of our AzureSQL Data Warehouse functionality by increasing the timeouts to allow slow running queries time to finish. #integration 21.1.253 #256838
  • Use the default values parameter of the Document Create API now works properly with date fields #api 21.1.253 #256115
  • Fixed an issue where the new “Document Link Summary” tabs would break if a document was linked to another document of the same type. #system 21.1.251 #252853
  • Various improvements to debug logging on invalid JSON requests (only visible when debug logging is enabled). #system 21.1.251 #255396
  • Fixed an issue where the Update Multiple (triggered from the Browse) feature would fail if you had two or more columns with identical names. Note that this fix prevents the overall feature from breaking when there are duplicate columns. Update Multiple is not able to update columns where the name is not unique. #system 21.1.249 #236586
  • Resolved issues where Execute would occasionally incorrectly start up in recovery mode and require a restart. #system 21.1.249 #241065
  • Resolved an issue where a misconfigured plugin (containing a reference to the removed AgentDbAccessFactory) would prevent the service from starting correctly. #system 21.1.249 #241439
  • Prevent using the Unzoned feature on date fields in the Schedule document. All dates on a schedule must be relative to the schedule’s timezone and may not be unzoned. #system 21.1.249 #245404
  • Resolved an issue where inactivating a field could break the column configuration popup on the browse screen if that column as previously selected as a visible column. #system 21.1.249 #247707
  • Fixed an issue when creating a new custom field. Sometimes the new fields was incorrectly checked against other fields for overlapping names. #system 21.1.249 #250039
  • Fixed the issue introduced in the previous release where the AFE Print pop-up would show an DataTables Warning. #afe 21.1.249 #252024
  • Various fixes to Execute’s integration with Dataflow. #integration 21.1.249 #253328
  • Resolved an issue where “re-evaluate workflow " would incorrectly delete sub-workflows. #workflow 21.1.247 #244969
  • Document Link Summary tabs are now hidden on un-saved documents to avoid an annoying pop-up error. #system 21.1.247 #246910
  • Support packages no longer inadvertently include some security sensitive configuration files. #system #security 21.1.247 #247060
  • Resolved issue where API keys were still inadvertently taking a license in some situations. #integration 21.1.247 #247599
  • Resolved issue where slow connectivity to Azure SQL or Snowflake could block saving documents elsewhere in Execute. #integration 21.1.247 #247975
  • Fixed an issue where the background process that updated Jobs with the latest schedule information would create zillions of sessions rather than just creating one and reusing it. Fortunately, these sessions were internal (no licensing effect), but it looked messy in the logs. #opsched 21.1.246 #241305
  • Updated the “custom_table.config.sample” to include an example of the GridHeight attribute which is used to control the size of the table. #system 21.1.246 #241634
  • Fixed issue where the Data Loaders were unable to load data into a table added to an Additional Storage Table. #system 21.1.246 #242480
  • Removed the configuration lock on the WELL and SITE fields on the RTX document so that administrators are able to update configuration for these fields (such as to adjust field-level permissions, and list field filters). #well delivery 21.1.246 #243510
  • Fixed an issue where formulas with many nested if() statements were extremely slow to compile/evaluate. #system 21.1.246 #244145
  • An activity being the destination of multiple relations caused an error when adding from the job scheduler. These activities are now skipped. #opsched 21.1.246 #244317
  • Fixed an issue where a broken formula on a document would break the “Undo” button for that document. #system 21.1.246 #244529
  • Fixed an issue where a % sign included in a report title would prevent you from exporting that report to Excel. #system 21.1.246 #244942
  • Resolved issue where Account Rules could show “UNDEFINED TEMPLATE ‘contains’” when using Account Rule by Pattern. #afe #admin 21.1.246 #245202
  • Resolved an issue where the schedule view configuration tool would fail to work properly on schedules without any activities. #opsched 21.1.246 #245393
  • Resolved issue where the Review Completed Date field would only consider System Reviewers. #afe 21.1.245 #236197
  • Resolved an issue where errors returned by Document Validation Rules were formatted as unassuming “Info” messages, instead of the much more alarming “Error” styling as intended. #system 21.1.245 #241345
  • Resolved an issue showing date-type columns in the Project Reforecasting screen. #budget 21.1.245
  • Resolved an issue using the Integration Agent to replicate tables containing Small Int columns. #integration 21.1.244 #236711
  • Fixed some minor issues where buttons in the schedule toolbar wouldn’t align properly when viewing a schedule in Execute 21.1.244 #237228
  • Fixed permissions on the “Workflow/UpdateWorkflowInstances” API to ensure that it can not be called by a non-admin user. #security #workflow #api 21.1.244 #239351
  • Resolved issue where the Schedule’s data grid would sometimes show activities in the wrong timezone. #opsched 21.1.244 #240344
  • Removed the empty and unused “Project Report” tab from the Schedule’s Configuration tab. #opsched 21.1.244 #240961
  • Resolved issue where the sorting of the Capital Summary and Monthly Capital Grids (Projects) were different. #budget 21.1.244 #241067
  • Resolved an issue where the Integration Agent’s table replicator didn’t correctly handle Oracle numeric types with defined precision. #integration 21.1.244 #241380
  • Fixed the sample plugin “replicate_queries_from_execute.config.sample” #integration 21.1.244 #241568
  • Resolved issue where Data Selectors were unable to set boolean fields properly. #integration 21.1.244 #241635
  • Improvemed the automatic recognition of URLs in text fields to better handle URLs containing parenthesis. #system 21.1.244 #241881
  • Separators now display properly when viewing a Task pop-up window. #workflow 21.1.244 #241936
  • Resolved an embarassing issue where the newly introduced API Keys were inadvertently consuming a license. #integration 21.1.244 #242019
  • Fixed a spelling mistake in the pop-up for Document Validation Rules. Two L’s in “Following”. Oops! #ui 21.1.242 #228072
  • Resolved an issue where calculated fields returning very long text values would incorrectly show a length warning. #ui 21.1.242 #237901
  • Fixes and improvements to the Snowflake / SQL Warehouse beta functionality. Deleted data is now visible in the helper views/tables. Introduced “Materialized Views” in SQL Server databases for performance purposes. #integration 21.1.242 #240107
  • Resolved issue where the Export to Excel button would fail on the Operational Schedule’s Activities tab. #opsched 21.1.235 #233653
  • Improved session handling when viewing maps to get rid of potential security issue. #security 21.1.235 #234902
  • Upgraded 3rd party component “jQueryUI” to resolve potential security risks in the version Execute was using. #security 21.1.235 #235198
  • Fixed issue where building reports with multiple filters on the same column would fail. #reporting #ui 21.1.235 #235331
  • Fixed issue where Workflow Task pop-up would not handle Unzoned Date fields correctly. #workflow 21.1.235 #236341
  • Resolved minor case-sensitivity issue for attachments in Unix-based Execute environments. #system 21.1.235 #236506
  • Fixed an issue where an admin could create two columns whose names differed only by an underscore (i.e. AREA and AREA_) which would break OData reporting for those fields. #system 21.1.234 #224490
  • We fixed an issue where specifying an invalid view within a custom sub-tab (plugin) would incorrectly break/hide all tabs. We’re all for making errors obvious so that they get corrected, but this was a little over the top. #system 21.1.234 #230872
  • Fixed an issue where printing multiple forms on an AFE could fail intermittently. #afe 21.1.234 #233247
  • Fixed an issue where newly added rows in a grid (using non-default column grouping) would only appear after saving. #system 21.1.234 #233344
  • For those of you dealing with monster print jobs (taking longer than 30 minutes to run), we’ve fixed the issue where, after waiting all that time, your download would fail. #afe 21.1.234 #234123
  • Fixed an issue where Execute wouldn’t reconnect/reload after a service outage (for example, after restarting the service). Nothing a click of the Refresh button wouldn’t solve, but this is nicer now. #system 21.1.234 #234148
  • Resolved an issue where linking an AFE to a WellEz job would sometimes fail with a validation error on “NumberValue”. #wellez 21.1.234 #234423
  • Fixed an issue where calculated fields that referred to deleted workflow tasks could cause other calculated fields to inexplicably fail too. #workflow #formula 21.1.234 #234905
  • Fixed multiple issues in Field Cost import affecting imports from WellView, SiteView and WellEz. #peloton #wellez 21.1.232 #230959

    In this update, we’ve made some changes to how the import of Field Costs from Peloton’s WellView/SiteView and Quorum’s WellEz work to fix some issues with cost duplication with Execute’s carryover behavior.

    • We’ve added a new setting called Field Cost Import Ignore On/Before Date that instructs the import to completely ignore any existing / import costs on/before a certain date. Execute doesn’t compare existing costs to imported costs for months on/before the ignore-before date and will never generate carryover amounts for differences. This setting is primarily useful if your source system doesn’t have complete/correct data before a certain point.
    • We’ve fixed the behavior for the Field Cost Cut-off Date setting to ensure that the import will never change costs on/before the cut-off date. If the system detects changes between the costs already in Execute and the import data, however, Execute will carry the difference into a future unlocked/open month.
    • We’ve cleaned up the behavior of the Submitted after Field Cost Import setting.
      • When set to Yes, all imported costs will be imported and marked as submitted automatically.
      • When set to No, imported costs will be imported as unsubmitted. Additionally, if we are importing changed costs over a month that the owner of those costs has already submitted, the import will now unsubmit the cost to trigger a re-review.
    • Previously, the import wouldn’t overwrite submitted costs by default (creating some issues… you could end up with excessive months of carryover). In this update, the import WILL overwrite submitted costs after the Cut-off date if they are changed.

    What if I want to instruct Execute to ignore (and not change) known correct costs?

    If you are completely happy with historic hosts in Execute up to and including June 2022 (for example), and you want the import to ignore those costs, you can set the Field Cost Import Ignore On/Before Date setting to “2022-06”. Note, however, that doing so will mean that if costs prior to that date change in the source system, Execute will not see that change.

    What if I want costs in Execute to match the source system exactly?

    If you want the monthly costs in Execute to match those of the source system exactly, set the following settings:

    • Field Cost Import Ignore On/Before Date = empty
    • Field Cost Cut-off Date = empty
    • Submitted after Field Cost Import = Yes

    What if I want to freeze historical field costs in Execute?

    If you want to ensure that historical field costs in Execute don’t change if they change in the source system (i.e. someone adds a missing cost to a prior period), set the Field Cost Cut-off Date. This will prevent the import from changing costs on/before that date but will carry any change forward into a future unlocked month (ensuring that, at the end of the import, the totals always match between the two systems).

    What if I want to have AFE owners review and, potentially, adjust imported costs?

    If you would like AFE owners/delegates to use the Field Cost Entry screen to review imported costs and, potentially, add adjustments for costs that are not represented in the source system (perhaps overhead or material transfers), set the Submitted after Field Cost Import to No.

    Note that when using this behavior, if the import does change a month that has already been reviewed (submitted), it will unsubmit that month to trigger a re-review.

  • Fixed an issue where working interest fields (ending in _WI) in custom grids did not correctly honor the working interest as decimal setting. #system 21.1.231 #230559
  • Fixed an issue where the Help Text configuration field was limited to 50 characters instead of the intended 2000. #system 21.1.230 #231980
  • Fixed an issue where custom tab text section fields were limited to 50 characters instead of the intended 2000. #system 21.1.230 #232050
  • Resolved an issue where new-style grids configured via a plugin would not honor the configured sort column. #system 21.1.230 #232293
  • Resolved a critical bug with the integration to on-prem WellView/SiteView where the API calls to retrieve wells and jobs would fail. #peloton 21.1.230 #232847
  • Restored the handy behavior where clicking the envelope icon next to an AFE approver would automatically add a link back to that AFE in the email body. #afe 21.1.228 #180732
  • Fixed an issue where deleted attachments were, confusingly, still showing in the dropdown for attachment fields. #system 21.1.228 #230569
  • Fixed minor issue where non-AFE Data Selector’s included a message incorrectly referring to “AFE”. #system 21.1.228 #230771
  • Fixed a minor HTML formatting issue which would, sometimes, cause the email notification footer to be incorrectly highlighted as a link. #system 21.1.228 #230775
  • Resolved an issue where the importing $0 activities from Enersight could cause the import to fail. #enersight #opsched 21.1.228 #231016
  • Resolved issue where calculated fields would return the incorrect DOCUMENT_ID from linked child records. #system 21.1.227 #230002
  • Resolved issue where Execute would take HOURS to start up for customers with many AFE document links. #system 21.1.227 #230443
  • Improvements to the behaviour of Table Data Selector filter fields to make them more consistent with other data selectors. #integration 21.1.226 #210645
  • Resolved issue where menu-items were unreadable when using the “Default” theme with the “More Contrast” option. #system 21.1.226 #227839
  • Resolved issue where the buttons to uncomplete a discipline were hidden. #well delivery 21.1.226 #229889
  • Resolved issue where custom tabs wouldn’t correctly hide the time component of unzoned date fields. #system 21.1.224 #229728
  • Resolved issue where tab visibility rules were ignored on subviews. #system 21.1.224 #229730
  • We’ve changed the Enersight integration to prevent Execute from sending updated Project/Well Name when pushing Capital to Enersight. Doing so would cause a mismatch between the name in the capital and the name in the well list. In a future update, Execute will add support for updating the attributes in the Enersight well list directly. #integration #enersight #budget 21.1.223 #222666
  • Fixed an issue with the new secure credential storage where only the first per-user credential entered would be saved. #system 21.1.223 #228012
  • Improvements to numeric entry in the new Excel-style grids that made it difficult to edit values with thousand separators (commas) in them. #system #ui 21.1.222 #164731
  • We’ve resolved an issue in the formula editor where it would gobble up more and more of your browser’s memory until, eventually, the browser would decide to kill of the process (losing your formula changes). This issue only reared it’s ugly head when editing super complex formulas but, as it turns out, many of you are doing just that! #system #ui 21.1.222 #175408
  • Fixed issue where you couldn’t clear an integer value from a new-style data grid. #system #ui 21.1.222 #179563
  • Fixed issue with Attachment fields in new-style data grids causing weird navigation behaviour. #system 21.1.222 #180037
  • Restored the handy behaviour where the email icon next to a review in the Reviewers tab would automatically partially fill out the email body. This functionality was accidentally missed when the tab was reworked as part of a larger technical update. #afe #ui 21.1.222 #180049
  • Fixed issue upgrading Postgres based Execute database (currently, only used by internal demo environments). #system 21.1.222 #180357
  • Fixed issue where the table on the Jobs tab (Wells and Sites) would break if it included in-active fields. #well delivery 21.1.222 #180370
  • We fixed up an issue where the assigned tasks reminder would potentially include the summary table once per task assigned to the owner. #workflow 21.1.222 #180744
  • Resolved an issue where importing capital from Enersight wouldn’t always bring across $0 months. #budget #enersight 21.1.219 #160690
  • Improvements to the default column types for tables created by the Integration Agent. Specifically, text fields no longer default to VARCHAR(MAX). #integration 21.1.219 #166048
  • Fixed issue where disabling the “Capital WI Override” field would break the capital grids. #budget 21.1.219 #171332
  • Enabled configuration of the delimiter in the concatenate operator for Operational Scheduling views. #opsched 21.1.219 #171493
  • The links in Task notifications now correctly open the task completion form. #workflow 21.1.219 #175308
  • Fixed potential issue where Peloton integration might fail to authenticate when run on daylight savings boundary. #integration 21.1.219 #175333
  • Sometimes the view rule for a custom tab is simple and concise. Sometimes it isn’t. For those times when you have an absolutely monster rule controlling when a custom tab should be shown, we’ve extended the limits for the underlying database column from 4000 characters to a colossal 2GB! #system 21.1.219 #175411
  • Fixed issue where an admin could break a Custom Business Rule by dragging an invalid block into a loop block. #system 21.1.219 #175678
  • Fixed issue where reactivated task icon would not show for task assignee. #workflow 21.1.219 #175679
  • Added clarification warning to task completion rule configuration regarding rules that consist only of completion instruction blocks. #workflow 21.1.219 #175758
  • Resolved database migration issue for Postgres-based databases. #system 21.1.219 #176146
  • Fixed incorrect error message when trying to use a new build of the Database Tool to copy an older (pre-21.1.212) Execute database. #system 21.1.218 #166602
  • Fixed issue where unscheduled activities in OpSched would cause a Null Reference Exception when updating Project timing. #opsched 21.1.218 #171827
  • Removed the old Aucerna blog widget that was throwing exceptions in the system log. #system 21.1.218 #175280
  • Improved error handling when an Invalid Data Selector / Sync configuration is encountered. #system 21.1.215 #162769
  • Resolved issue where RTD Disciplines migrated to RTX couldn’t be deleted. #well delivery 21.1.215 #166468
  • Fixed an issue where filtering on the Project Snapshot Number in the “All Snapshots” report didn’t work. #budget 21.1.215 #166755
  • Resolved issue where ‘Reverse Table Replicator’ would run out of memory on large tables. #integration 21.1.213 #166345
  • Resolved issue where the Operational Scheduling view editor would sometimes break (and remove) milestone configuration. #opsched 21.1.212 #156813
  • Fixed issue where User Reassign tool wouldn’t always close after completing the reassignment. #admin 21.1.212 #161970
  • Fixed issue where a user viewing a task via. the Group Task widget would be unable to take and complete the task. #workflow 21.1.212 #165284
  • Resolved issue that prevent integration with enVision via. the Integration Agent (for hosted Execute environments). #afe #saas 21.1.212 #165296
  • Fixed minor error where deleting an AFE wouldn’t automatically clean up document links to that AFE. #afe 21.1.212 #165514
  • Fixed issue where report on Last Modified User would fail on some documents (FIELD_INFO) where historical data didn’t exist. #system 21.1.193 #162082
  • Fixed issue where deleted Projects would incorrectly get included in future snapshots. #budget 21.1.193 #162598
  • Fixed critical issue where editing an AFE would replace the Operator with the AFE’s Parent Company. #afe 21.1.193 #164446

    During some code reworking as part of a bug fix in Execute 21.1.184, a critical error was unfortunately introduced that caused issues with the handling of the selected operator on AFEs.

    When an AFE was updated, the code was incorrectly updating the Operator field to the selected Parent Company for the AFE.

    On operated AFEs where the Operator and Parent Company were the same, there would be no effect caused by this issue. Unfortunately for non-op AFEs or affiliate operated AFEs, this would cause the operator to be incorrectly changed.

    This issue was present in both Execute 21.1.184 and 21.1.188 and would affect any AFEs created or updated by that version of the software. Historical AFEs that were not edited with either of the two affected versions of the software will be unaffected.

    Fortunately, Execute’s extensive change history means that this data was not lost.

    If only a small number of AFEs were effected, it might be that manually updating them is the quickest path forward. For larger numbers of AFEs get in touch with Execute Support and we can work with you to create a script to fix up any affected AFEs.

    Details on the Issue and Resolution

    The change was a copy-paste mistake that unfortunately slipped through our development code review, normal QA process, and our automated QA process.

    The code read:

    editableRecord.SetField(Paths.AFE.OPERATING_COMPANY, currentDocumentData.ReadDocumentField(Paths.AFE.PARENT_COMPANY));
    

    instead of:

    editableRecord.SetField(Paths.AFE.OPERATING_COMPANY, currentDocumentData.ReadDocumentField(Paths.AFE.OPERATING_COMPANY));
    

    A mistake that, in retrospect, is very easy to spot, but we missed seeing it amidst the larger set of changes.

    In this release, we have fixed the offending code, but also re-reviewed the entire larger change to make sure no other similar errors were introduced. From what we can see this was the only issue.

    To help avoid mistakes like this, we do employ and continue to invest in a suite of automated tests which are run as part of every build. Unfortunately, our automated build scripts only tested operated AFEs where the operator and parent company were the same company, so they didn’t catch this mistake. Our automated test development team is extending our testing model to include other operator combinations to make sure mistakes like this can’t happen in the future.

    Our sincere apologies for any trouble this has caused. Please do reach out if you have any further questions or concerns.

  • Resolve issue where Capital Project links created on a Revision/Supplement would be lost when removing that Revision or Supplement. #budget 21.1.184 #159873
  • Fixed issue where duplicating a “Field=null” block in Blockly would create a broken block. #system 21.1.184 #160899
  • Resolved minor issue where entering more than 2 decimal places on project capital would cause a mismatch between total capital and monthly capital. #budget 21.1.169 #143427
  • Fixed issue where a user’s name and timezone would both be labeled as “Name” in the various configuration screens, making it difficult to know which was which. #system 21.1.169 #155460
  • Fixed permissions on “Update Actuals Closed Date” to require only an admin with “Accruals Admin” privilege. #budget 21.1.169 #155660
  • Including the same subworkflow multiple times in a workflow is now correctly supported. #workflow 21.1.169 #156689
  • Fixed issue where starting Execute 21 against a Execute 2020 database would automatically add some Execute 21 fields before failing the version check. #system 21.1.169 #159714
  • Fixed issue where Integration Agent connection would fail if the connection name included mixed case. #integration 21.1.169 #160093
  • Resolve issue where AFEs that were already exported to QByte/enVision would incorrectly show up in the list of AFEs to export when using the Integration Agent. #integration 21.1.169 #160154
  • Resolved issue where Projects would sometimes incorrectly stay in “Due for Forecast” filter even after their forecast was updated. #budget 21.1.169 #160160
  • Resolved issue where the total row could disappear while editing Project forecasts. #budget 21.1.169 #160408
  • Leading and trailing spaces are now trimmed from VARCHAR fields on Document Synchronization. #integration 21.1.169 #160604
  • Moved Peloton Subscription Key out of configuration file and built it into the application. #integration 21.1.169 #160678
  • Huge improvements to the performance of the legacy Create Rights screens for clients with complex rules and many AFE attributes. #afe 21.1.169 #160691
  • Fixed issue where filter fields on Data Table Selector were not being honoured. #system 21.1.128 #158765
  • Fixed default sorting on the new-style grids. They new sort on first column like the used to. #system 21.1.128 #157020
  • Fixed bug where a Site’s Well List would fail to load if there was an inactive field specified in the Well’s identifying fields. #well delivery 21.1.128 #158746
  • Fixed issue where bulk update of document flags from the browse screen could leave document locked #system 21.1.128 #159355
  • Fixed issue where import from Enersight would fail when project referenced capital class contained upper-case characters (i.e. unallocatedProvision, ownerCosts, �) #opsched 21.1.128 #159038
  • Fixed issue where Document Sync would fail on non-AFE custom columns. #system 21.1.128 #158299
  • Fixed issue where removing an account from the system would fail if it was referrenced by a hidden (according to view rights) AFE. #afe 21.1.128 #154748
  • Fixed issues where an error in a workflow task rule would cause the rule to become uneditable. #well delivery 21.1.128 #158675
  • Fixed issue where About page and Dashboard wouldn’t show available updates of Execute 21. #system 21.1.87
  • Search for a DocumentID in the browse page now works. #system 21.1.87 #155636
  • Fixed issue where Reassign tool wouldn’t show Workflow tasks correctly. #admin 21.1.87 #157305
  • Fixed concurrency issues in pop-up task form that occassionally caused changes to be lost. #workflow 21.1.62 #156372
  • Filtering by Document ID now works again on the Browse screen #system 21.1.62 #154747
  • Fixed issue where AFE data loader would fail when importing more than nine revisions or supplements on a single AFE. #afe 21.1.21 #152425
  • Fixed crash when using the AddDays function to add negative days to a date. 21.1.21 #155305
  • Fixed issue where the AFE Status Widget (on the dashboard) would show incorrect results for Revised or Supplemented AFEs. #afe 21.0.0 #61091
  • Resolved issues where slashes in text sections within a Task would cause an error. #workflow 21.0.0 #147716