Changes since Execute 21.1.320

Schema Changes

  • An IS_INTERRUPTIBLE column has been added to the SCH_ACTIVITY_TYPE and SCH_ACTIVITY_TYPE_H tables. 21.1.321 #347413

Features️

  • Introducing the Bulk Sync API to streamline your data synchronization process. The functionality of the Document Synchronization plugin is now available as an API endpoint with a straightforward CSV data format. #api #system 21.1.323 #351573

    Bulk Sync API

    A new API (POST to /api/bulk/sync) allows bulk creation, updating, and inactivation of documents using CSV data.

    This can be used to keep a list of data in Execute synchronized with an external system. Any tool that can extract data as a CSV file and perform an HTTP POST will now be able to update Execute data.

    Example Usage

    The API is reached at https://YOUR_SERVER/api/bulk/sync?type=PARTNER&dryrun=true.

    Authentication uses Execute API Keys via HTTP Basic Auth.

    The type= query parameter is required and indicates which Execute document type will be updated.

    Other parameters are available to control the sync behaviour, see the documentation.

    The dryrun=true parameter is useful for testing — it runs the full sync and returns a report of what would happen without making any changes to the data. Remove it (or set it to false) when ready to commit.

    Each row in the CSV identifies one or more documents and provides value columns to update the data on the matched document(s).

    The CSV header row contains the field path for each column. Columns prefixed with $ are key columns used to find matching documents; the remaining columns are the values to update.

    Here is a CSV for Execute PARTNER data which will match on the partner code to update the name and address.

    COMNAME,$CODE,STRADDRESS
    Sesame Exploration,39,123 Sesame Street
    Micro Eggbert Oil,12,"1111, 111 - 1st Avenue S.W."
    Example Ltd.,10,"3300, 333.3 - 3rd Avenue S.W."
    

    It could be sent to the Execute API with curl like so:

    curl -u "$APIKEY_ID:$APIKEY_KEY" \
      -X POST "https://YOUR_SERVER/api/bulk/sync?type=PARTNER&dryrun=true" \
      -H "Content-Type: text/csv" \
      --data-binary @sample.csv
    

    With dryrun=true, the response shows what would happen without making any changes:

    Record,Level,Message
    1,Info,DRY RUN: Would update document a1b2c3d4-...
    2,Info,DRY RUN: Would update document b2c3d4e5-...
    3,Info,DRY RUN: Would update document c3d4e5f6-...
    Summary,Info,"Summary: 0 created, 3 updated, 0 unchanged, 0 inactivated, 0 errors, 0 warnings"
    

    Once the results look correct, remove dryrun=true to commit the changes. The response will then confirm what was actually updated:

    Record,Level,Message
    1,Info,Updated document a1b2c3d4-...
    2,Info,Updated document b2c3d4e5-...
    3,Info,Updated document c3d4e5f6-...
    Summary,Info,"Summary: 0 created, 3 updated, 0 unchanged, 0 inactivated, 0 errors, 0 warnings"
    
  • Schedule activities can now automatically extend their duration when a resource is unavailable. This can be used to implement “5-Day Scheduling” by marking the weekends as unavailable time on a resource. So go ahead - give your crews weekends off! #opsched #ui 21.1.321 #347413

    Interrupted Schedule Activities

    Schedule activities can now be set as interruptible or non-interruptible (Tools > Configuration > Schedule Activity Types). If an activity is interruptible, the activity’s duration will extend when it overlaps an exclusion period on the primary resource.

    Please note that the Enersight schedule integration does not yet export the extended duration values for activities which are interrupted. We will change this in an upcoming release.

    ScheduleVis

    For example: An activity with a 4 day duration is assigned a primary resource that is not available on a weekend.

    • If the activity starts on a Monday, the activity runs on Monday, Tuesday, Wednesday, Thursday.
    • If the activity starts on a Thursday, the activity runs Thursday, Friday, takes the weekend off, and continues Monday and Tuesday.

    The Duration field on the activity does not change as it will continue to show the “actual” duration of the work. When viewing the content on the activity, you would see an elapsed duration that includes the time that the resource is unavailable.

    content

    A Job that is linked to an interrupted activity will show the elapsed duration (see example of linked Job below).

    Job

    An interrupted schedule activity that is linked to a capital activity on a project will cause the project to appear in the Due for Forecast list, as the timing for the activity has changed.

Enhancements

  • We’ve improved file attachments by adding a progress meter to drag-and-drop uploads, enforcing a consistent 256MB file size limit, and showing clearer error messages when uploads fail. #attachments #ui 21.1.323 #359298
  • Added extra diagnostic info to some internal error messages, making it simpler to understand what went wrong when data is missing or invalid. #workflow #system 21.1.323 #360005
  • The Dashboard layout has been migrated from Angular to React. #dashboard #ui #system 21.1.321 #350026
  • The RTD Partners table has been migrated from Angular to React. #ui #system #well delivery 21.1.321 #351443
  • The Settings management has been migrated from Angular to jQuery. #admin #ui #system 21.1.321 #350022
  • The Support Package page been migrated from Angular to jQuery. #admin #ui #system 21.1.321 #350020
  • Added DOMPurify to sanitize Markdown rendering in areas like field-level help text and Message of the Day. This prevents scripts and raw HTML from executing within Markdown fields, improving security while preserving the existing Markdown experience. #security #ui #system 21.1.321 #357967

Bugs

  • Fixed a “DocumentHandle not found” error on workflow tasks when multiple fields on a referenced document are used and certain combinations of them are non editable. #workflow 21.1.324 #362694
  • Fixed a timezone comparison issue that prevented position rules with start dates near the current time from activating correctly on jobs. This ensures delegation and position rules now trigger as expected regardless of timezone differences. #well delivery #system 21.1.323 #358838
  • The connection to the Dynamic Docs API now restricts attribute values to a maximum length of 255 characters. #plugins 21.1.323 #357818
  • The ODA DOI selector now correctly handles identical duplicate records. #ondemand #plugins 21.1.323 #361364
  • “Primary Well” fields were missing from the Update Multiple UI. They have returned! When updating multiple records you can once again select the Primary Well fields. #afe #ui 21.1.323 #360400
  • Fixed the issue where fields with a CUSTOM/ path could not be edited on referenced documents. #workflow 21.1.323 #357763
  • Corrected the error message when a workflow task referred to an inactive field. #workflow 21.1.323 #358372
  • Fixed an issue where editing fields on referenced documents causes intermittent save failures and the SQL Warehouse sync to fail with a duplicate key error. #workflow 21.1.323 #358841
  • Fixed an issue where the workflow task UI is not editable when it only contains fields from referenced documents. #workflow 21.1.323 #358973
  • Attachments now download successfully from attachment fields belonging to other document types. #workflow #attachments 21.1.323 #357763
  • Attachment fields in workflow tasks now behave consistently with other fields, including the ability to change label colors and display shared field and lock icons. #workflow #attachments #ui 21.1.321 #358788
  • The fields shown in the document header will wrap long lines of text instead of overlapping the next field. This issue would have been most noticeable on smaller displays, like mobile devices. #ui 21.1.321 #357820
  • Fixed an issue where file attachments in attachments tables did not sort correctly by date. #attachments #ui 21.1.321 #352736
  • The sample events_approval_snapshot.config plugin no longer causes the service to enter recovery mode. #system 21.1.321 #359680
  • Increased caching and managed threading to prevent cases where large sets of updates (through Import or Update Multiple) can cause excessive CPU and memory usage. #system #performance 21.1.321 #358871
Ready to update?
  • For Quorum-hosted Aucerna Execute environments, email an upgrade request to Execute Support.
  • For on-prem instances of Execute:
    • Always ensure you have a recent backup of your Execute database before updating.
    • Download the installer from the Client Portal.