This update includes possible breaking changes and may require manual steps before/after upgrade. Please carefully review all items tagged with #manual step prior to updating!
Schema Changes
-
We’ve added new fields (
EB_PERMITTED
andEB_NONOP_EMAIL
) to thePARTNERS
for future use by Quorum Electronic Balloting. In the interim, you are welcome to activate these fields and use them to track partner electronic balloting consent and contact addresses. 21.1.295 #334262 -
We’ve added new tables
AFE_APPROVAL_PATH
andAFE_REVIEW_PATH
(and accompanying*_DOC
,*_DOC_V
,*_H
tables) to support the new AFE path workflow functionality. 21.1.295 #334867 -
We’ve added new fields to the
AFE_PARTNER
table to track future Electronic Balloting status. These new fields are:EMAIL
,EB_ID
,EB_RESPONSE
,EB_RESPONSE_DATE
,EB_SENT_DATE
,EB_COMMENT
, andEB_VIEWED_DATE
. All fields are inactive by default. 21.1.295 #334262 -
We’ve made changes to the structure and data of our behind-the-scenes AFE partner status table
STATUS_AFE_PARTNER
. These changes will pave the way for us to introduce additional partner statuses in the future. For example: “Consent (limit participation to my WI)” and “Consent (and will carry proportionate share)”. 21.1.295 #334262 -
New
APPROVAL_PATH
andREVIEW_PATH
fields were added to theAFE
to support the new Approval/Review functionality. These fields are inactive by default. 21.1.295 #334867 - Added PARTNER.LOGO_BASE64 and USER.SIGNATURE_BASE64 fields to store images for forms use. 21.1.291
-
Added new
CHUNK
column toEXECUTE_DOCUMENTS
in Warehouse schema. A document may now be split across multiple chunks (having multiple rows). 21.1.277 -
Removed the data column from
EXECUTE_DOCUMENTS_LATEST
in SQL Warehouse schema. 21.1.277
Features️
-
Introduced new Approval/System Review paths, which provide another great option for creating and managing your business rules. Approval/Review paths are intended to be very simple to build and understand. As a bonus, they also better support integration with 3rd-party systems that don’t share Execute’s concept of Approving Position.
#afe
21.1.295
#334867
AFE Approval/Review Paths
This release introduces a new out-of-the-box way to define approval rules in Execute called AFE Approval Paths, and the same for system review called AFE Review Paths.
What are they?
Paths are a new option for modeling approval/review rules in Execute.
This feature introduces two new document types (“AFE Approval Path” and “AFE Review Path”) that can be used to define different paths of individuals an AFE can flow through for approval and review.
For the remainder of this document, we’ll talk about Approval Paths but, for the most part, Review Paths are the same (except they don’t have $ limits).
Here is a sample Approval Path that defines a three-approver approval path for completion AFEs.
Next, an Approval Path is selected for an AFE (using the AFE’s new
APPROVAL_PATH
field). This selection can be entirely manual (which may be a great low-setup-effort option), “smart-manual” (using list filters to limit selection to valid approval paths that the user can then choose from - i.e. here are the three options for drilling AFEs), or “full-auto” (using a list filter setup to always identify a single Approval Path for each AFE with no user interaction needed).When releasing the AFE for approval, Execute will look at the Approval Path linked to the AFE and add those approvers to the AFE.
A couple of key notes, however…
- Approval Paths specify individuals and not positions. This makes building the rules far easier for those of you who think in these terms. Execute does require positions, however, so we automagically create them as required.
- These are meant to be a simpler option, not a replacement for Blockly. While they have a bunch of great functionality (maximum approval authority, tiers, and exclude-if-over-max), they can’t do everything that the more powerful Blockly rules can.
Why are they?
Our current approval rules are great, but there are a few aspects of them that are problematic for some customers.
- They are complex. Some companies struggle with describing their approval rules as “individual positions with a blockly-based should-I-approve-this-AFE rule”.
- Many companies think of approvals as “Bob is authorized to approve up to $2M”, which is difficult to model in Execute’s Blockly-based rules where, instead, you need to add a rule to the person after Bob that says “Bob’s boss sees everything above $2M”.
- Some companies really struggle to think in terms of approving positions. They think in terms of individual people.
- Some companies have their approval rules defined in another system and want to leverage that. It is very difficult to automate the creation / management of the current Execute approval rules.
So…
Approval Paths give another option which will be easier to work with and maintain for some companies.
As a bonus. Because Approval Paths are simple “Documents” in Execute…
- You can report on them
- You can update them with Browse Edit mode
- You can import them / update them from Excel
- You can load them with Data Loaders
- You can load/update them automatically with Document Sync
- You can easily create/manage them with our APIs
How do I turn them on?
- You should enable the
APPROVAL_PATH
field on the AFE and, somehow, provide a mechanism for it to be set.- (Easiest) Add the field to an AFE custom tab and have someone fill it in. If that’s too open, you can always use list filters to limit which Approval Paths can be picked based on attributes of the AFE (the default is filtering by AFE Type).
- (Harder) Automate the selection. Make the
APPROVAL_PATH
editabilityNever Except Batch
and ensure the Blockly List Filters are set up to always identify a single Approval Path for each AFE (Execute will then automagically attach it).
- You need to give your admin user the “Manage AFE Approval Paths” privilege.
- You need to add some Approval Path documents. (NOTE: the default setup filters approval paths by AFE Type, so make sure to create Approval Paths for each AFE Type)
FAQ
What AFE amount does this approve on? Gross? Net?
This feature honors our standard setting “Approval Amount Type” which allows you to select between approving on Gross, Net, or Net on Non-op.
Can I ensure that AFEs have at least one approver with sufficient authority?
You sure can using the new “Require Sufficient Approval Path” setting.
When set, the system will prevent the release of the AFE for approval if the Approval Path doesn’t have an approver with sufficient approval authority.
How can I limit which Approval Paths are selected?
The easy answer here is List Filters. By default we ship with a basic list filter that only shows Approval Paths where the Approval Path’s AFE Type matches that of the AFE (actually, we’re a bit fancier and allow for “wildcard” approval paths which show up for every AFE Type!).
Here is the default list filter rule on the AFE’s Approval Path field.
If you wanted to further segment your rules, perhaps based on AFE Area, you can add an Area list field to the Approval Path document (don’t forget to add an Area dropdown field to the Approval Path General custom tab), and then update your list filter like so:
How many approvers can I have in a path?
We’ve created 15 approver fields (meaning the max is 15), but we’ve only made the first seven fields active initially. If you need more than 7, you can just enable additional fields on the Approval Path document.
Does this support approving tiers? (Parallel Approvals)?
It sure does! The “Share Tier” fields mean that the approver shares the same approving tier as the user above. So this example here:
Would yield these approvers on an $1,500 AFE.
Does this mean that Blockly Approval Rules are going away?
Absolutely not. Blockly rules were created for a reason and are better at modeling certain types of approval rules. This new option is better for other types.
If there are no positions… how does out of office work?
There are positions, actually.
While approving positions are not part of the Approval Path rules we build, they are a requirement of Execute’s approval engine. To make this work, we automatically create positions for each approver. By default, these positions are named after the approver (i.e. user “Jimbo Jones” will automatically get a position created called “Jimbo Jones”).
If you’d like to see a more traditional position name on the AFE’s approval tab, you can add a new custom field
CUSTOM/APPROVING_TITLE
to the user and fill that in. From that point onward, the newly created position rules will be named like “{Approving Title} - Jimbo Jones”.So, for out of office, our normal functionality applies. If “Blair Contracts” is out on vacation and delegates to “System Admin”, you’d see a record like this. You can clearly see who was supposed to approve it, and who actually did approve it.
How do I handle wildcard rules (“any area”)?
It depends, but if you are using list filters and/or release validation rules to restrict which Approval Paths are selected for an AFE, you can build that logic into the rule.
For example, a simple list filter like this would require that the AFE’s AFE Type match the Approval Path’s AFE Type (no wild cards).
But by adjusting it slightly, we can allow for an empty AFE Type on the Approval Path document to apply to AFEs of every type.
Can I use this and Blockly Position Rules?
You sure can! When releasing an AFE for approval, any approvers from the new-style Approval Paths are added first, followed by any approvers added by Blockly.
This allows you to add high-level approval rules (“President sees everything over $5M”) in Blockly and avoid adding them to every Approval Path… if you want… (of course, doing so makes reviewing the rules more difficult).
You may also choose to use Approval Paths in general, but use Blockly Position Rules for specific AFE Types that are too complex for Approval Paths.
-
We’ve added a new setting, “Allow User Delegation”, which allows users to delegate their AFE/Job review and approval duties. We’ve left this functionality off by default because we know that it doesn’t make sense for some organizations that want strict control over who a user selects to approve/review on their behalf. For environments that need this, however, it’s a quick flip of a setting and users will find the new option under their user menu in the top-right of their screen.
#afe
21.1.295
#334871
Out of Office Delegation
A frequently requested feature is now available: users can delegate their own review or approval when they’re away—without needing to go through a system administrator.
To enable this functionality, simply toggle the new setting:
Once enabled, users will see a new “Out of Office” option under their user menu (top right):
From there, users will be guided through a simple delegation wizard, similar to the one currently used by administrators.
Note: This feature is best suited for environments where users are trusted to choose appropriate delegates. At this time, there is no rule system in place to validate that the selected delegate has the necessary approval or review authority.
-
Execute has great little “+” icons next to list fields which are a quick shortcut allowing an authorized user to create a new value for that list and automatically select it. Just the thing when you go to create a new AFE, but realize nobody got around to adding that newly acquired asset to the list in Execute. This release improves upon this functionality by defaulting to the new record type’s first tab (rather than our currently non-user-friendly approach of generating a tab using the alphabetical list of all fields on the record). In addition, administrators can create a special “Quick Add” tab to streamline the experience.
#system
21.1.295
#335025
Improved Quick Add Experience
In Execute, list fields typically include a
+
icon that lets users quickly create and select a new record of that type.Historically, the Quick Add pop-up form wasn’t exactly elegant—it displayed all fields on the new record in alphabetical order, which wasn’t always helpful.
In this release, Quick Add now defaults to using the first (default) tab defined for that document type. It will only fall back to the alphabetical view if no custom tabs are available.
So now, adding a Pad from your Well looks a whole lot cleaner:
And if I’d like further control, you can create a special “Quick Add” custom tab and really dial it in!
-
Improved capability for referencing fields on other documents.
#system
21.1.281
#306214
In many places throughout Execute, information from linked documents can now be included without requiring you to build calculated fields, etc. The examples below are primarily around Wells, Jobs and Pads but the functionality is available across any for any record type in Execute.
Browse Reports (User Facing)
Using our new column picker, everyone can now build reports that include/reference data from related documents.
Here is a quick example showing how to include Well and Pad-level fields on a Job report.
We always strive to minimize non-admin/end-user-facing changes to avoid the need to retrain users. In this case, while there is a visible change for the end-user, we hope the change is small and obvious enough that it won’t cause any confusion.
Custom Tabs
Administrators can also include fields from related documents when building custom tabs. For example, a Job custom tab can include fields from the linked Well or Pad for reference.
Note that currently, these referenced fields are NOT editable (i.e. you can’t edit a Well field from the Job), but we’re working on that!
Workflow Tasks
Administrators can include fields from related documents on workflow tasks. For example, a Job-level workflow task can include fields from the Job, the Job’s Well, and the Job’s Well’s Pad! Unlikely Custom Tabs, these fields are all editable (assuming the user has the appropriate permissions).
Custom Business Rules (Blockly)
And, finally, you can do this when building custom business rules using Blockly too!
Execute used to offer similar functionality for specific references using our “Reference Fields” dropdowns. These fields have been replaced by the new (more capable) functionality, and any existing rules using the old Reference Fields should have been automatically updated to the new structure*.
Note: The old Reference Fields did allow building some references which we consider problematic because their behaviour was unpredictable. We have removed support for these problematic relationship types. Existing rules will continue to work as they did before, but it will no longer be possible to create new rules of these types.
The following relationships are no longer supported.
- Project > Well
- Project > Site
- Site > Well
- Well > Job
- Site > Job
For clarity, the way to read an entry like “Well > Job” in the above list is that it is not valid for a Well-level report, workflow task, report, etc., to refer to a Job-level field. The reason is that a Well often contains more than one Job, and as soon as more than one Job is referenced, it is impossible to show a single value for a linked Job-level field. Previously, we allowed rules to be built like this, but they would silently stop working as soon as more than one Job was linked.
-
Added a new streamlined Document Fetch API as part of Execute’s Advanced Data Export offering. This API makes it easier to slurp bulk data out of Execute to populate an internal data warehouse, or similar.
#integration
21.1.273
#288479
Execute’s new Document Fetch APIs provide a streamlined way to bulk extract documents from Execute.
- A single streamlined API call vs. the Login > Run Report > Logout call for the current APIs.
- Returns ALL data for request documents in a nice friendly machine readable JSON form.
- Supports including calculated field values in the returned data (popular request from User Voice).
- Easily filtering to return only documents modified since a provided date (makes it much easier to keep a remove warehouse up-to-date).
Note: These APIs require the Execute Advanced Data Export (OData) module license.
More information can be found in our New Postman-based API documentation.
Enhancements
- Support for importing recurring/rental costs from WellView. Currently this behavior is off by default but it can be opted in if you rely on these costs. We will be enabling this by default in a future release. #peloton #integration 21.1.295 #335145
- We’ve turned off the old (and we’re talking really old) linked files to attachments migration. This feature was slowing down startup in some environments and at this point we think everybody who would switch over already has. If it’s needed, it’s a mere setting tweak away. #attachments 21.1.295 #335525
- It took us a couple of years to roll out the rename of WellEz to On Demand Well Operations within Execute, but we finally did it. Hilariously, however, we did so two weeks before we decided to stick with WellEz after all. This update brings back the much loved WellEz name. #integration #wellez 21.1.295 #335780
- We’ve made some backend changes to pave the way for the coming Quorum Electronic Balloting service, which will modernize the balloting process and use a heck of a lot less paper. #afe 21.1.295 #334262
- The AFE Estimate loaders now support loading phase-based AFE estimates, which is pretty nifty, if you need them! #afe #admin 21.1.295 #336870
- Added a new “Capital Actuals” column to Schedule Activity report types. #opsched 21.1.293 #333238
- We’ve added an optional flag to prevent pushing historical forecast start dates to Val Nav. #budget 21.1.293 #333842
- System restart requests are now added to the audit log. #system 21.1.293 #333843
- We’ve trimmed the columns down in the list of available columns when using Import/Update Multiple from the Browse Screen to just the updatable columns. This keeps the list much shorter (making it easier to find the column you are looking for), and speeds everything up. In addition, we no longer prefix column names with the Additional Storage Table name since that was never something end-users should be exposed to. #system 21.1.292 #333626
- Execute has a great integration with Quorum’s On Demand Well Operations (ODW) software, ensuring alignment between field staff and head office. Unfortunately, we were a tad retro and still referred to it as WellEz, which hasn’t been its name for a couple of years. We’ve updated the occurrences of WellEz within AFE Navig… err… Execute to reflect our new product naming. #integration 21.1.291 #258545
- We have continued upgrading the various column selection screens throughout the application (workflow definition tasks, field cost entry and AFE wells) to make them more consistent and eliminate a legacy component. #system 21.1.291 #317218
- Execute will now ensure that we don’t exceed database-level maximum row-size constraints when adding columns to custom tables. #system 21.1.291 #330990
- While the ASCII arrow (=>) in our new column selection screens would appeal to the computing hipsters in the crowd, we figured we should replace it with a proper icon instead. #reporting 21.1.291 #332237
- We’ve added two new fields to Execute to make building/maintaining your printed forms a bit easier (for us, if we’re being honest). Partners now have a “logo” field, and users now have a “signature” field, which can be used instead of baking your various logos and signatures directly into the forms themselves. This makes things a bit easier to maintain over the long haul. #reporting 21.1.291 #332291
- Additional configuration flags are now included in the startup logs to assist with troubleshooting and support. #system 21.1.291 #332294
- We’ve improved the scrollbars when viewing the diagram on really wide workflow definitions. #workflow 21.1.291 #333081
- Added a new “Updated Capital” column to the “Schedule - Activity” report type. This new column will return updated capital from the Budgeting and Forecasting module for the activity (splitting it between multiple activities if required). This is useful for exporting updated capital to an Excel-based Enersight well list. #enersight #reporting 21.1.287 #328760
- ODA integration credentials are now automatically encrypted if entered in plaintext (this is entirely a Quorum thing, but it is captured here to ensure we don’t forget!) #integration 21.1.287 #329060
- Add a new schema endpoint to our Fetch API to allow retrieving the structure of Execute data. #integration 21.1.287 #330385
- Upgraded Snowflake library to mitigate potential security vulnerability. #security 21.1.286 #329078
- Added a new optional “Net Project” field to Projects which ensures that all forecasting/actuals on that project are Net $ (useful for bucket-type projects). #budget 21.1.286 #328293
- We have improved how we store configuration parameters for integration with On Demand Accounting to streamline troubleshooting for Quorum Support. #system 21.1.282 #306741
- Execute, our installer, and the helper utilities are now digital signed by Quorum. #security 21.1.280 #293676
- Added a 6 month option for API key lifetime. #api 21.1.280 #316723
- Updated .NET framework to .NET Core 8. Updated many of our 3rd party libraries to the latest versions. #system #security 21.1.278 #293070
- Updated the Reporting/Browse API to make the filter parameter optional. #integration 21.1.278 #310598
- Added a “DOCUMENT_TYPE” hint for Document Reference fields to Execute’s JSON serializer. This improves Snowflake/Azure SQL Warehouse Exports and the new Document Fetch APIs. #integration 21.1.278 #311108
-
Major improvements to SQL Warehouse to improve performance, error recovery and reliability. These enhancements require a manual update step
#integration
#manual step
21.1.277
#285281
Execute’s Data Warehousing feature has received many updates:
SQL Warehouse
- We have removed the
NORMAL
andMATERIALIZED
options for the creation of helper views since they were not-performant with larger datasets. We added a new optionTABLES_AUTO
(the new default, and our recommendation for most cases) which will similarly ensure that the helper tables are kept current automatically. - We have added support for breaking very large documents (typically only seen with Schedules) into smaller chunks. To enable this, the
EXECUTE_DOCUMENTS
table has a newchunk
column. If you are queryingEXECUTE_DOCUMENTS
directly, you may need to adjust your queries to handle this correctly (When querying normal fields, filter to chunk=0. When querying child tables, include data from all chunks). If you are querying our automatically created helper tables, this work has been done for you. - To avoid issues where restarting Execute could take a very long time, Execute will no longer wait for a sync to finish on shutdown but, instead, keep a highwater mark of successfully sync’d records. After restart, and on the next automated sync, Execute will publish any records modified since that stored highwater mark.
- Fixed behavior when Deleting and Undeleting records.
- To avoid excessive replication of data, the
EXECUTE_DOCUMENTS_LATEST
table no longer includes the data from the latest records. Queries relying on this table will need to join onEXECUTE_DOCUMENTS
.
Snowflake
- We have added support for breaking very large documents (typically only seen with Schedules) into smaller chunks. To enable this, the
EXECUTE_DOCUMENTS
table has a newchunk
column. If you are queryingEXECUTE_DOCUMENTS
directly, you may need to adjust your queries to handle this correctly. If you are querying our automatically created helper tables, this work has been done for you. - To avoid issues where restarting Execute could take a very long time, Execute will no longer wait for a sync to finish on shutdown but, instead, keep a highwater mark of successfully sync’d records. After restart, and on the next automated sync, Execute will publish any records modified since that stored highwater mark.
- Fixed behavior when Deleting and Undeleting records.
Mandatory Manual Upgrade Step
Because of the changes made in this update, administrators must manually perform the following steps after upgrading Execute.
- Replace your SQL Warehouse or Snowflake plugin with the latest version from
plugins_available
- Verify that the
Create Views
setting is set appropriately (for SQL Server, we strongly recommendTABLES_AUTO
) - Remove all Execute created objects in Execute’s Data Warehouse schema (
EXECUTE_DOCUMENTS
,AFE
,PROCESS_EXECUTE_DOCUMENTS
,...
). - Run the
Schema Publisher
synchronization task. - Run the
Document Publisher
synchronization task.
- We have removed the
-
Execute will now prevent password-based logins (login screen, APIs and OData) for environments which use Windows single-signon or Okta/OIDC.
#integration
#security
#manual step
21.1.277
#306539
Execute will now correctly prevent passwords from being used in environments configured to use Single Sign-on. This change has the potential to prevent users from accessing these SSO environments if they were relying on a username and password instead of the SSO mechanism.
This affects environments…
- using OKTA or OIDC for SSO
- using our legacy Windows login mechanism where the
Authentication Type
setting is set toWINDOWS
This means that:
- Users will not be able to login with a user-specified password in these environments.
- Login screen
- APIs
- OData
- Users will not be able to set a password. The password changing feature will be hidden from the user’s profile.
- Administrators will not be able to set a user’s password from the user management screen.
Any integrations using Execute’s API or OData should transition to using Execute’s safer API Key mechanism.
If you require the use of user-specified passwords in your SSO environment (NOT RECOMMENDED), you can override this new behavior by setting the new
Allow User Passwords When Federated
setting. - Those of you wishing to bulk accept the autogenerated forecasts from the Update Project Forecasts screen now can. #budget 21.1.276 #161329
- Instead of typing things like “6d 12h” for a duration in the scheduling module, you can now type “6.5”. Additionally, the Export to Excel button always exports using the more Excel-friendly decimal days. #opsched 21.1.276 #302484
- Execute’s integration logging now includes support for logging calls NDJSON APIs (such as our own Fetch APIs). #system #integration 21.1.275 #296342
- Updated default DynamicDocs configuration file. #integration 21.1.275 #300773
- Added a new ‘Flags’ configuration item which can be used to suppress sending specified document types to a remote Data Warehouse. #integration 21.1.275 #302797
- Updated default configuration file for ODA integration. #integration 21.1.275
- Performance improvements when importing field costs from WellView and SiteView. #integration 21.1.275 #303107
- Improvements to calculated field performance for formulas that involved a divide by zero. #performance 21.1.274 #291058
- Browse reports (and many other report tabs) now support frozen titles, and columns using the new pushpin icon. #reporting 21.1.274 #296096
- Upgraded 3rd party library (underscore.js) to eliminate a potential security vulnerability. #security 21.1.274 #298303
- The new Show Field Usage function takes a while to work on very large record types. We’ve added a loading bar so that you won’t be left wondering, “Is it working?” #admin 21.1.273 #288972
- Updated HTTP caching headers to improve page load performance across the system. #system #performance 21.1.273 #288982
- Added additional guidance on the Plugin management screens to help administrators avoid common mistakes. #admin 21.1.272 #288483
- Improved error messages with Quorum OnDemand Accounting (ODA) integration. #integration 21.1.272 #290415
- Added support for new concurrent operational scheduling licenses. #opsched 21.1.271 #270672
- We’ve made improvements to the Integration Agent’s auto-update mechanism to make it more reliable for organizations with restrictive firewalls. #integration 21.1.271 #279370
- We’ve made some improvements to the error messages returned by our Integration Agent so that troubleshooting is a whole lot easier when things don’t go according to plan. #integration #valnav 21.1.270 #265027
- We’ve significantly improved the import speed for new activities on a busy schedule. In our test of importing 7,300 rows, we reduced the import time from 4.5 minutes to a brisk 7 seconds (a time savings of one metric coffee break!). #performance #opsched 21.1.270 #268392
- A bit of spring cleaning on the Integration Agent to ensure things keep running smoothly. #integration agent 21.1.270 #268543
- To keep Execute’s Job Scheduling feeling snappy, we’ve limited the number of rows shown in the Job Hopper to 1000. Users will see a warning if they are seeing a partial result set, and searching will still search all rows and just return the (maximum 1000) matching rows. #performance #ui #opsched 21.1.270 #269387
- We’ve reduced the volume of schedule data we read from the Execute server on each schedule change. This will substantially improve the performance of operational scheduling for large schedules and users with high-latency Internet connections. #performance #ui #opsched 21.1.270 #269388
- We’ve seriously reduced the amount of data loaded, and the number of API calls made when loading a tab in Execute. This has the effect of substantially improving tab loading/switching performance, especially for very large (many custom fields) documents and users with high-latency Internet links. #performance #ui 21.1.270 #274567
- Execute’ Support Package Generator is great for sending a copy of your environment’s configuration to Quorum for help. Unfortunately, generating the support package was quite slow for certain configurations. We’ve made some improvements to the speed and memory usage for these configurations. #performance #system #admin 21.1.270 #275762
- Execute’s Data Warehouse feature ensures Execute data is efficiently replicated in an external AzureSQL or Snowflake. Sometimes, however, if you made a pile of changes in Execute, syncing those changes into the warehouse could take a bit of time. If you tried restarting Execute while that was happening, it would apparently hang without any obvious indication of why. We’ve added some logging to make it easier to see what’s going on. #performance #integration 21.1.270 #275780
- Document Synchronization and Bulk Loads could perform poorly when dealing with very large numbers of records with a unique validation rule (such as PARTNERS, ACCOUNTS, …). In one environment with ~150k partners, the system would take many seconds to process each partner. With this enhancement, that same environment is loading records at a blazing 300 pps (partners per second). #performance #integration 21.1.270 #279727
- We’ve made some improvements to responsiveness when pasting large amounts of data from Excel (using our import/update multiple record functionality). #performance 21.1.270 #280994 #280995
- We’ve continued to clean-up and finesse our Data Selector sample configuration files to make them easier to understand and implement. #plugins 21.1.270 #281351
Bugs
- Resolved an issue where foreign keys on Postgres-based Execute databases were missing “on delete cascade”. #system 21.1.295 #299474
- Resolved an issue where fields in a Blockly loop variable would fail to show the nice field name. #system 21.1.295 #326878
- Restored the helpful “User Has Permission” and “User In Group” features that allowed you to build custom business rules based on the user’s permissions. #system 21.1.295 #332811
- Resolved an issue where users were unable to add new attachments using our legacy Linked Files behavior. #afe 21.1.295 #334654
- Resolved an issue where referencing DOCUMENT_ID in custom business rules could cause the rule to break. #system 21.1.295 #334940
- Resolved an issue where frozen column headers were inadvertently showing up on the Execute dashboard (and looking rather broken while doing it). #dashboard 21.1.295 #335045
- Resolved an issue where creating a specially named attachment and then deleting it would break attachments for that parent record (all attachments mysteriously disappear). We won’t mention the specific naming here because the temptation to try it is probably too great :) #attachments 21.1.295 #335282
- Resolved an issue where Blockly rules on a workflow task would sometimes “jump tabs” when making edits and switching back and forth between completion rules, assigned to rules, etc. #workflow 21.1.295 #335624
- Resolved an additional issue with loop variable numbering in Blockly. #system 21.1.295 #336479
- Resolved an issue where invalid Blockly rules could be saved if the loop iterator variables had a name conflict. #system 21.1.295 #336583
- Resolved an issue where drop-down fields in Blockly rule editors would occasionally fail to load. #system 21.1.295 #336601
- Resolved an issue with the item# counter failing to increment when building loops in Blockly. #system 21.1.295 #336773
- If the terms “MAWL” and “GOA” are meaningful to you, this update fixes the issue with historical approvers breaking the approval rules. #afe 21.1.295
- We now prevent the bulk field importer from loading empty formula fields as these are invalid and cause other issues in the system. #system 21.1.293 #333745
- We’ve added the “Document Id (match on)” back to Update multiple from Excel from the Browse screen. #reporting 21.1.293 #334756
- Resolved a terrible issue where removing a task from a workflow definition could cause all other task dependencies in that workflow definition to be cleared out (requiring you to manually add them back to each task). #workflow 21.1.291 #250285
- Resolved an issue where deleting a task and rolling out the updated workflow definition would raise mysterious “The given key…” warnings for any instances where that task had already been completed. #workflow 21.1.291 #264449
- Cleaned up a minor issue with our new column selectors where it was showing the underlying document type “RTX” instead of a nice use-facing “Job” in the breadcrumbs. #reporting 21.1.291 #328492
- We’ve fixed a frustrating issue with the workflow task editor that caused changes to the graphical rules (completion rule, activation rule, etc.) to be lost when switching tabs. #workflow 21.1.291 #332743
- To our users who prefer to see their dates in the format “dd/mm/yyyy”, we are deeply sorry. For YEARS, it seems, we’ve had an issue in our date entry controls where a user whose preferred date format was set to “dd/mm/yyyy” would see the month and day flip-flop each time they clicked into a date control (for dates where the day was also a valid month). #system 21.1.291 #332951
- Adding insult to injury for those who prefer the “dd/mm/yyyy” date format, we discovered that format would break the “Workflow” tab. This has been resolved. #system 21.1.291 #333059
- Resolved an issue where changes made to a Blockly rule after using the “Code Editor” mode were not saved properly. #system 21.1.291 #333156
- Fixed an issue where Audit events (such as an admin force approving an AFE) were not showing on the Change Tracking tab as intended. Note that the changes made were always captured in the change history, and the audit event itself was still captured and visible in the global audit log. #system 21.1.291 #333327
- Resolved an issue where a database could become invalid if adding a new field to the database took longer than our default timeout of 30 seconds. This timeout would cause the field to be added to the main table, but not be added to the history table, causing future save operations to fail. This only occurred for truly monstrous custom tables. #system 21.1.287 #329663
- Resolved an issue where adding a custom table to an additional storage table would break the change history tab for all current documents of that type. #system 21.1.287 #331117
- Resolved an issue where environments with large numbers of fields were taking an uncomfortably long time to verify that fields on startup (in the specific case what was taking about ten minutes now takes a fraction of a second). #system 21.1.287 #330810
- Resolved an issue where adding a custom link to the help menu would cause the release notes links to disappear. While we were at it, we also added support for “mailto:” links in the help menu making it easy for users to launch a new email to your internal Execute support team from the Execute help menu. #system 21.1.286 #328756
- Password fields are now correctly hidden from browse report column selection screens (don’t worry, passwords were never exposed in this way). This prevents an issue where OData reports would crash if they mistakenly included a password column. #system 21.1.282 #328646
- Fixed a super annoying issue where the screen would sometimes automatically scroll when interacting with dropdown fields 😡. Primarily, this was noticable when selecting a report on a Browse screen with large numbers of visible columns. #system 21.1.281 #327877
- Fixed an issue where adding an additional storage table that included the name of its parent table would cause an issue. #system 21.1.280 #303945
- Fixed issue where you could bulk import a reporting calculated column whose ID exceeded the maximum allowed length. #system 21.1.280 #308428
- When exporting the AFE to ODW, the description is now trimmed to 50 characters. #integration #wellez 21.1.280 #325648
- Fixed default placement of the monthly columns on the Field Cost Entry screen to directly left of the total column. #afe 21.1.280 #325711
- Fixed an issue where changing a UWI from DLS to API would leave the old Lat/Long in place. #integration 21.1.280 #319947
- Fixed an issue where UWI formatting was inconsistently applied when loading UWIs using a sychronization or data selection. #system 21.1.280 #323966
- Fixed a typo (missing “>”) in the sample “Expense Forecast” widget. #plugins 21.1.278 #263772
- Fixed wording of the AFE’s “Change Company” feature on the Partners tab. The title now lists the company’s name, instead of just repeating the word company twice. #afe 21.1.278 #267358
- We fixed an issue where the new browse screen update feature (a.k.a. pencil mode) would fail when trying to set a dropdown list field to null (no value). #system 21.1.278 #292810
- Resolved an issue where users could not set values for Additional Storage Table fields on records created after a new Storage Table was added but before restarting Execute. Upon upgrade, the system will fix records that are currently experiencing this suboptimal behavior. #system #admin 21.1.278 #304858
- Resolved issue where the Due for Forecast filter was including projects it shouldn’t. Also added a “please wait” indicator when bulk accepting forecasts. #budget 21.1.278 #307384
- Resolved an issue where Execute wasn’t closing temporary files correctly. This caused some unexpected (but harmless) errors to show up when restarting the service. #system 21.1.278 #307541
- Resolved an issue when copying a database from Oracle to SQL Server where the Oracle database contained dates before 1753 (Yes… 1753…). These unusual dates occassionally snuck into the database through database scripts and imports, and would cause the upgrade to crash. #system 21.1.278 #307776
- Fixed issues with the Due for Forecast filter’s identification of projects with new or updated actuals. #budget 21.1.278 #307941
- We resolved an issue where deleting a user who had been delegated field cost entry would cause the service to fail to start. #afe 21.1.278 #307963
- Resolved an issue where Execute’s startup data validation routines could occasionally run slowly enough to timeout. #system 21.1.278 #308330
- Deleting a user now deletes all sessions associated with that user. #system #security 21.1.278 #310101
- Added time zone configuration to our sample table_data_selector plugin. #plugins 21.1.278 #310187
- Resolved an issue where an undeleted document wouldn’t be visible in the Browse screen until a service restart. #system 21.1.278 #310725
- Fixed an issue with custom fields not showing when creating workflows on User and Partner documents. #workflow 21.1.278 #314180
- We now ensure that the global system user can see all documents, regardless of visibility rules, to avoid issues with synchronizations. #system 21.1.276 #300925
- Execute would run out of memory when trying to show really huge views (20k+ activities) in Operational Scheduling. We’ve adjusted that so that Execute will load a smaller set of activities and alert the user that they are viewing truncated results. #opsched #performance 21.1.275 #279726
- Resolved an issue where the Net Supplement columns would be incorrect on AFEs using Estimate Phases. #afe 21.1.275 #297871
- Increased AzureSQL timeout when clearing the TEMP table to allow Execute to recover from a very large failed sync. #integration 21.1.275 #300922
- Resolved issue with Project reforecasting when spend curves are being used. #budget 21.1.275 #301600
- Fixed an issue where a misconfigured plugin would cause the menubar to fail to load. #system 21.1.274 #245798
- Fixed an error where users were unable to update activity duration on activities in Execute’s operational scheduling module. #opsched 21.1.274 #289480
- Improved the clarity of error messages raised when a Document Link Summary view is misconfigured to make finding and fixing the mistake easier. #system 21.1.273 #253151
- Fixed an annoying issue where switching schedule views would sometimes jump to a different view a few seconds later. #opsched 21.1.273 #288470
- Fixes to the export of AFEs to Peloton-hosted SiteView (2.1 APIs). #integration #peloton 21.1.273 #291362
- We resolved an issue where we were inadvertently creating automated document links to Project Snapshots. #system #budget 21.1.273 #291678
- Resolved issue where Blockly rules referencing the now deprecated Advanced blocks would fail to compile. #workflow 21.1.272 #283239
- Fixed issue where NET estimate was not correctly exported to Quorum OnDemand Accounting (ODA). #integration 21.1.272 #290332
- Fixed an annoying issue where the route for review comment box would clear itself when you clicked outside of the comment box. #afe 21.1.271 #228443
- Fixed an issue where document synchronizations would create multiple rows if the document’s visibility rule excluded the AFE Navigator Service User. #integration #system 21.1.271 #237917
- We’ve ensured that errors when connecting to databases (such as using the Connection String Editor’s test button) don’t expose the connection string which may contain security credentials. #security #integration 21.1.271 #268092
- We’ve added some additional safety checks to ensure you don’t accidentally bulk import the same data twice (causing duplication). #system 21.1.271 #268614
- Resolved issue where the sample connection string for EXECUTE_INTERNAL wasn’t able to be copied into a plugin because of case-senstivity issues. #system 21.1.271 #269490
- The system will now wait for all scheduled tasks to complete before shutting down. #system 21.1.271 #280989
- Resolved an issue where the Integration Agent’s table replicator couldn’t handle null boolean values on SQL Server. #integration agent 21.1.270 #268904
- We’ve eliminated a potential memory leak in Operational Scheduling where the detail grids (below the gantt) weren’t always cleaned up properly when we didn’t need them any more. #performance #opsched 21.1.270 #279943
- Added a rate limiter to the new Duplicate API call checker to avoid overloading logs. #system 21.1.270 #284913