Support / Installation files

STEM 7.3d

04 November 2013

Maintenance release

STEM 7.3d is fully compatible with models created with the original 7.3 and subsequent 7.3a, 7.3b and 7.3c maintenance releases, and includes the following updates.

ID Description
#3217
Save report configuration between web exports

Issue: When support for dynamically-generated .xlsx or .pdf reports was first added to eSTEM, a note of each report had to be added to the model configuration by hand. As this was not integrated with the export process, the manual addition would have to be re-done if the web interface were repeated.

Action: A Report Configuration section has been added to the Create Web Interface dialogs in the Editor and Results programs in order to make these settings persistent between exports.

Advice: At present the reports themselves must be manually copied onto the offline area of the server. This aspect may be automated in a subsequent update.

#3244
Unit label for Service Allocated Used Capacity graph

Issue: The pre-defined graphs Service and Transformation Allocated Used Capacity would not display the relevant resource Capacity Unit on the y-axis.

Action: The required functionality to look-up the Capacity Unit from the appropriate resource has now been added and the latest default.cnf amended to take advantage of this amended capability.

#3326
Copying a sensitivity element didn't copy associated notes

Issue: This is a particular problem for web user-interface development where many notes may be defined for the input parameters or the associated Control fields.

Action: All embedded notes are now replicated when you copy an entire element. Notes for individual fields are copied in the specific context of the Web Presentation dialog for a sensitivity where notes are allowed for individual fields.

#3331
Huge y-axis maximum value crashed the results program

Issue: The Results program could crash loading a workspace containing a chart with a huge y-axis maximum value.

Action: How such a value might come to be saved in the workspace remains a mystery, but any such error is now handled gracefully.

Notes: Several comparable issues have cropped up recently as a side effect of modernising our approach to exception handling. Where our original approach had simply masked the error, the newer code enables a more thorough resolution (but with a few evident teething problems).

#3339
Fixing a view with an out-of-date snapshot chart crashed the results program

Action: This no longer goes wrong.

#3342
Control, Group and Column fields not unset when removing a sensitivity parameter

Issue: When you remove a sensitivity parameter, the Editor prompts to unset the associated Label, Type, Up and Down fields, but this did not extend to the new Control, Group and Column fields in the Web Presentation dialog.

Action: The Control, Group and Column fields are now unset together with the other associated field in this situation.

#3345
Tooltip layout went wrong with very long names for user data

Issue: The layout algorithm for tooltips and printing was originally designed to use a fixed-width column layout.

Action: The improved code now allows the label column to vary between prescribed minimum and maximum widths. Lengthy labels are continued on a second line with a small indent.

#3351
Results iteration failure with multiple debt facilities

Issue: One user experienced results for multiple debt facilities being calculated inconsistently. Closer investigation revealed that their particular model structure exposed a very obscure design flaw in the calculation engine for the results program which could lead to undesirable crosstalk between two nested iterations resulting in the later iteration terminating prematurely.

Action: The implementation of the 'iteration stack' has been fixed to work as it was originally intended.

Notes: As far as we know these symptoms have never been observed before in more than a decade since the evaluation engine was first extended to support iteration. You need to have multiple debt facilities (each of which necessitates an iterative calculation) together with a workspace drawing one particular result first in order to exhibit the behaviour described above.

#3362
Drawing a quotient or difference chart of a sensitivity caused a crash

Action: This problem has been resolved.

#3363
Operating Profit Margin graph for a collection of services crashed user-group workshop

Issue: This went wrong quite unexpectedly on a Windows 8 machine at a critical moment during the interactive workshop during the STEM User Group Meeting, but would not go wrong in subsequent testing on Windows 7.

Action: The latest exception-handling code results in the correct and stable behaviour on both platforms.

#3365
Buffer overflow pasting service/resource combinations in Excel

Issue: In a very large replicating model, a fixed-size buffer in the STEM add-in for Excel was not big enough to handle the full set of defined service/resource combinations when pasting element names into a sheet.

Action: The buffer size cannot exceed 32767 in Excel 2003, but is now increased if a more recent version of Excel is installed.

#3366
Custom stylesheet for web export

Issue: Any changes to the generated STEM and model-specific stylesheets (.css) will always be overwritten when an export is repeated.

Action: The latest generated web interfaces will respect an independent custom stylesheet if present in the assets/css sub-folder. STEM 7.3d now includes this in an export automatically if the .css file is present in the original model folder.

Advice: For consistency across clients, the file must be called userstyles.css. This will be unavoidably and generally helpfully shared between any original models saved in the same folder. If you want to use a different custom stylesheet for a given model, then it must be saved in a separate folder.

#3367
Selective copy of Excel files during web export

Issue: The original web export logic would copy any Excel file in the same folder as the original model to the destination offline folder.

Action: Now it only copies files explicitly linked to inputs in the Editor, and only those specified with a relative path.

#3368
Multiple references to sensitivity during web export

Issue: It used to be possible to reference the same sensitivity element more than once when creating a web interface if the sensitivity were also included in a selected collection.

Action: The Editor will now warn before the export if it detects this condition. It remains possible to reference the same input parameter in two separate sensitivity elements.

#3369
Multiple warnings for out-of-date results during web export

Issue: It is not possible to create a web interface properly when some of the intended charts include results which are not up to date. The results program would pop up a warning once for every affected chart.

Action: Now the warning is only reported once.

#3370
Next/previous error for messages during web export

Issue: The original logic would display all messages in the Create Web Interface dialog, and in a single (long) pop-up message.

Action: It now reports if there are errors or warnings and asks if you wish to continue if there are only warnings. Unless you proceed, the Editor will now display the error or warning as it would a run-time error or warning, and the next/previous error buttons will allow you to step through any other messages in your own time.

#3371
Formula reference within a template variant datum is rejected

Issue: Formula references to template variant data are generally rejected to avoid such references being orphaned when the variants mutate into collections during the replication process.

Action: The specific case of a reference from one time-series parameter to another within the same variant data field is now allowed as this will be relativised into the target field when this particular variant is generated.

#3374
Memory leaks caused Excel to slow down loading results with cost breakdown enabled

Issue: Repeated updates of STEM results, either in Excel or the results program, could lead to a progressive degradation in performance; but only if cost breakdown were enabled in a given model.

Action: A couple of longstanding and very localised memory leaks have been fixed.

Notes: This issue has gone undetected for many years due to the relatively low usage of the cost breakdown feature.

#3377
Obscure message during results web export

Issue: In obscure circumstances, a user might encounter the message, "Unable to link data for graph [title] to results. Not exporting it."

Action: This message was never intended for external consumption and has now been clarified. The results program also now warns if you attempt to export a chart with out-of-date results, and we believe this may have been a factor in the original message being displayed to the user.

#3381
Circular results tab structure crashed web export

Issue: A prototype technique for specifying a results tab hierarchy in a generated web interface could crash if one of the collections involved were self-referential, or more generally if it were 'a member of itself' via a chain of other collections.

Action: The code has been fixed to only traverse any such collection precisely once.

STEM 7.3c

The following issues were addressed in the earlier STEM 7.3c maintenance release, 01 August 2013.

ID Description
#3214
Can't access 'User 4' result for a market segment

Issue: More precisely, it would only work if there was at least one service connected to the market segment, whereupon the result would be (as intended) the user data entered for that market segment rather than the sum of the corresponding result over all the services (treating the market segment as a collection of services which is the correct behaviour for the majority of market-segment results which are effectively inherited from the associated services).

Action: The required 'notSum' attribute has been added to the relevant 'User n' result definitions in default.cnf, and also for the similar function results.

#3216
Create Scenarios from Variant Data dialog

Issue: The Create Scenarios command on the Variants menu was not enabled on blank rows in a Variant Data dialog, whereas it should be, in order to take you to the corresponding row in the associated Parameters dialog (from where you can manually add a new parameter, as documented in the STEM user guide, section 7.3.3 Varying several fields together, second sub-heading Adding a parameter from the Variant data table).

Action: The original functionality has been restored.

#3247
STEM add-in compatibility with 64-bit Office

Issue: A 64-bit Office process cannot directly load the current 32-bit stemres.dll, so the code behind the StemGetResult() function would fail.

Action: An optional out-of-process component has been created to plug this gap. Conditional Visual Basic code in the add-in now interfaces via this component if 64-bit Office is installed.

#3252
Recovering from a corrupt soft licence

Issue: Some STEM users have encountered an error message about an 'invalid machine code' when trying (unsuccessfully) to refresh their local soft licence.

Action: This was a known issue with the third-party soft-licensing driver which appears to regard any hardware inconsistency as apparent tampering and then refuses to play ball.

The well-established remedy was to delete the licence.sls file containing the out-dated hardware signature from any one of several possible different locations (varying by Windows and even STEM version). We have now added code to attempt this remedy automatically before flagging an error.

Notes: The new code may fail under certain conditions; e.g., if administrator privileges are required and the Editor process is not already running with elevated permissions.

#3269
Force re-run doesn’t seem to invalidate scenarios

Issue: The option to force a re-run, new in STEM 7.3, was intended to provide an easy way to force a refresh of all results in the event of any possible suspicion about working-model or scenario results being out of date. However, it became clear that, e.g., forcing a re-run of just the working model would leave any existing scenario results intact.

Action: The option now works as intended by invalidating all available results sets prior to running whatever is actually currently requested.

#3292
Expectations for <F5> (‘run again’) after Save-As

Issue: The <F5> key is used in the Editor, initially to run the working model, but more generally to run again whatever selection of scenarios and/or sensitivities has been run most recently. However this proved not to be expected behaviour in a training context after doing a Save-As to move straight on from one exercise to the next.

Action: The behaviour now resets after a Save-As to just running the working model. Our judgement is that the pain of having to re-state a richer 'run scenarios' command after a Save-As is a lesser evil than confusing a new user with unexpected scenarios in a training context.

#3300
Prevent creation of references to run-time expressions

Issue: It used to be possible to make a dimension parameter refer to the expression field of an expression transformation, and this would cause STEM to crash when generating the corresponding scenarios.

Action: STEM 7.3b introduced code to detect this condition at check-time, and we have now implemented a more comprehensive solution which, as well as checking template and sensitivity parameters for the same condition, should actually prevent such a reference being established in the first place.

#3305
Usage Cost not affected by Cost Period

Issue: The Cost Period input for a resource, new in STEM 7.3, qualifies recurring cost inputs such as Maintenance Cost, Operations Cost and so on as to whether the input is a cost per annum (the original assumption), per month or whatever. However it emerged that the implied scaling was not being applied to the Usage Cost input (only).

Action: The Usage Cost input is now correctly scaled as per the other relevant cost attributes.

Advice: This would only have generated incorrect results if a Usage Cost were defined and the Cost period was anything other than Year.

#3309
Floating-point exception drawing Op. Profit Margin for a collection of services

Issue: This was a side-effect of an update to our exception-handling code which was modernised in STEM 7.3b already after fairly extensive testing.

Action: Having understood a new class of error which had somehow slipped past our initial testing, a new handler has been added to restore the exception status more effectively after the original error has been trapped.

#3314
Linking a time series from a 2x2 range in .xlsx fails if the second label cell is blank

Issue: This was caused by an obscure difference between the way our original .xls code works and the newer equivalent for .xlsx.

Action: Both formats now behave the same and an error no longer occurs.

#3317
Results Program may offer wrong scenario elements after drawing a quotient graph

Issue: After drawing a quotient graph, the Results Program would sometimes display elements for the wrong scenario when choosing elements to draw for another (non-quotient) graph.

Action: The relevant data structures are now re-initialised correctly.

#3319
Incorrect elements selected for non-2D service allocated-cost graph

Issue: When drawing a service (or transformation) allocated-cost graph (with Cost Allocation = Opaque or Transparent), you have the choice of selecting either (i) the contributing resources independent of the receiving services (2D selection), or alternatively (ii) picking specific service-resource combinations once a selection of receiving services has first been made. The selection in the final dialog is stored for future reference, but no allowance is made for the combination elements which are hidden by virtue of the associated service not being selected in the first list. This could in turn lead to some previously selected and now hidden combination elements turning up unexpectedly in a new chart.

Action: Any previous selection from the hidden part of the list is now cleared.

#3321
Results Program crash when changing period for a snapshot chart with out-of-date results

Issue: The code for changing period assumed you would only do this if there were up-to-date results present.

Action: This is now fixed.

#3328
Format menu in the Results Program not always disabled when it should be

Issue: The Format menu was not correctly disabled when the active chart was minimised or when there was no active chart.

Action: The original logic has been fixed and also improved to enable the menu in the case when a minimised graph is maximised.

#3332
Support for end-user styles with exported web interface

Issue: Originally, the generated web interface would reference a single, generated style-sheet which was overwritten by each subsequent export.

Action: The design now accommodates three separate style sheets: one which is hard-coded for all models, one generated and model-specific file, and an optional user style-sheet which may be added by the modeller to override the other two style sheets.

#3337
Optimised updating of dependent formulae

Issue: The Editor could take a long time to check formula dependencies after you enter a new value.

Action: The expression analyser has been optimised to skip redundant repeated checks on formulae already marked for recalculation.

STEM 7.3b

The following issues were addressed in the earlier STEM 7.3b maintenance release, 03 May 2013.

ID Description
#3184
Font size in chart legends not saved

Issue: If you modified the font size for the legend of a chart, this would be preserved when switching results views, but not always when restoring a results workspace from disk.

Action: The attribute was always written to file but might not be restored correctly due to a trivial inconsistency between saving and loading with regard to the default font size for this specific text element. This issue has now been resolved.

#3185
Scenario numbers corrupted

Issue: Under very specific (and uncommon) circumstances, adding a new scenario dimension with multiple variants and then subsequently deleting the dimension could lead to the unintentional resetting of the scenario numbers. In turn, this would compromise any corresponding scenario charts in the results.

Action: This was a side-effect of a separate fix in 7.3a which has been reversed out pending a more robust solution to the original problem.

Notes: Scenario numbers are used to label the individual copies of inputs and results generated in the .scn folder in order to run distinct scenarios. It remains the case that these numbers can be compromised when a single variant of a multi-dimensional set is deleted.

#3190
Wrong scaling in precedents chart

Issue: A chart drawn with the Draw Precedents command in the results program would sometimes end up with inappropriate scaling.

Action: The problem was that, if the minimum or maximum values were overridden by the user for the original chart, these manual values would be copied erroneously to the precedents chart. This logic has now been fixed.

#3191
Legend goes blank when change period on tornado chart

Issue: The series labels for a tornado or snapshot chart would disappear when using <Ctrl + Num Plus> or <Ctrl + Num Minus> to change the period for the graph.

Action: The logic has been fixed.

#3194
Tooltip for (green) requirement link shows all resources

Issue: If you hovered over a requirement link for a particular service (or transformation) /resource pair, the resultant tooltip would show requirement data for all resources required by that service (or transformation).

Action: The logic has been fixed to show only the data for the linked resource.

#3204
eSTEM report generation can jam under heavy load

Issue: PDF conversion of .xlsx report files can get stuck under heavy load. This leaves the model locked, causing all other runs by that user to fail.

Action: The model is now unlocked before initiating the conversion process. In addition, conversions by separate users are now queued to avoid any possible concurrency issues.

#3206
Internal 'SetFields() invoked' error with missing transformation expression

Issue: Running a model which included an unset transformation expression could lead to an internal bug message, ‘SetFields()invoked’, when running only scenarios (and not the working model).

Action: This behaviour was due to a flaw in the logic for reporting scenario errors when checking a model at run time and is now resolved.

#3208
Create Web Interface warns if model unsaved or results out of date

Issue: It used to be possible, unwittingly, to generate a web interface that differed from the actual model, with inputs that did not exist or with results with out-of-date titles.

Action: The Create Web Interface commands in the editor and results programs will now warn if there are unsaved changes pending or if the results are out of date respectively.

#3209
Save eSTEM download files in a temporary folder

Issue: It used to be difficult to purge temporary download files from an eSTEM server in any systematic way.

Action: Generated reports are now saved in online\models\x\download\session\ rather than the current online\models\x\download\username\, where session is the same conspicuous ~nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn format as used for running models for an unauthenticated user.

#3212
Broken help links for residual value

Issue: If you pressed <F1> to access help in the resource Costs dialog in the editor, the help topic for Costs would be displayed correctly, but it included a broken link to ‘Depreciation, Amortisation and Net Fixed Assets’ under the heading ‘Residual Value’. If you then navigated manually to the ‘Depreciation, Amortisation and Net Fixed Assets’ topic, this also contained two broken links, ‘Proceeds from Sale of Assets’ and ‘Profit on Sale of Assets’, under the heading ‘Advanced depreciation options’.

Action: These links are now fixed, together with some other previously-undetected broken links in the same area.

#3218
Keep web-interface inputs area hidden at startup

Issue: The inputs panel in the exported web interface would appear on top of the initial results charts and tables.

Action: It is now hidden initially so that the results are seen first.

Notes: In a future release we may change the design of the inputs panel so that it would expand and push the results down the page (rather than appearing on top). Suggestions welcome.

#3220
Tab hierarchy for results in web interface

Issue: Previously only a single level of results tabs could be generated in the exported web interface, reflecting the flat view structure in the results program program.

Action: We have implemented a simple and pragmatic prototype solution for now (described below). In a subsequent release, we will explore possibilities for implementing a hierarchical view structure in the results program (which would define the web hierarchy directly).

Advice: The current solution requires a hierarchy of collection elements to be defined in the editor, starting from a ‘root’ collection named ‘Results Tab Hierarchy’. Any individual collection named "RESULTS VIEW: ###" (where ### is the exact title of a view exported from the results program) will be identified with the corresponding results view and can be placed in exported results tab hierarchy by adding it, either to the root collection, or to any of its collection children. The "RESULTS VIEW: " prefix is optional: the original results view title by itself will suffice if this does not conflict with the name of any other element in the model.

#3221
Highlight current tabs in web interface

Issue: All input and results tabs were styled the same way, so it was only evident from the separate (repeated) title within the tab area which tab was current. In a tab hierarchy with more than one level, it was impossible to tell to which higher level tabs the current tab belonged.

Action: Now the respective tabs are highlighted so that the descent is clear. This has also allowed us to remove the unnecessary separate (repeated) title within the tab area itself.

#3223
Modular web output to plug into master page layouts

Issue: Our original exported web interfaces were intended as self-contained pages which meant they could not readily be incorporated into the design and navigation elements of a host web site.

Action: We now generate the HTML in a modular structure that can be readily included within a master web-page layout, together with a generic index.htm main file that binds the pieces together. This placeholder index.htm may be replaced with your own HTML structure, affording total flexibility with regard to corporate branding, legal notices and other material which you might otherwise have wanted to embed into the eSTEM model presentation itself.

Notes: The latest FTTX and VoLTE example models are a good illustration of how an eSTEM model interface can be embedded into more general web content.

#3227
Single cell tables exported without row/column headings for web interface

Issue: Single cell tables can be useful to report a key results metric, such as a snapshot table of Network Break-Even Point (ZTV) for a single scenario, but this looks cumbersome as a table.

Action: A single-cell table is now exported such that just the result value appears in the web interface (without a title or row/column headings), in the expectation that the presentation will be customised to provide suitable context for this value.

#3230
Highlight the 'zero line' in web-interface charts

Action: We have added emphasis to the value grid-line at zero in order to make it more immediately evident where a given result goes positive (or negative); e.g., on an NPV chart.

#3233
Graphing defaults in the editor

Issue: The first time STEM is installed on a computer, both the editor and results programs should start with the same graphing defaults, including the use of medium thickness lines and both horizontal and vertical grid lines.

Action: This already worked correctly for the results program and has now been fixed to work correctly for the editor too.

Notes: The relevant settings can be changed (only) via the Options menu in the results program.

#3235
Failure to access results of multiple models in Excel

Issue: The StemGetResult() function would return 'Scenario not found' unpredictably when retrieving the results of more than one STEM model in Excel.

Action: This was an internal error with the scenario name-matching logic within the underlying STEMRES.DLL which is now fixed.

#3237
Sort list of saved files returned by eSTEM web service

Issue: The List method of the eSTEM web service did not provide any control over the order of items returned.

Action: A new optional sortOrder argument accepts the values chrono, rev chrono, alpha (the default) and rev alpha.

#3240
Sensitivity runs every time model is run

Issue: It was possible for a model to get into a state in which any defined sensitivities would be run whenever the model was run; e.g., just pressing <F5> for the first time.

Action: This unintentional flaw in the logic has been fixed.

#3242
User-data labels in Excel not recognised without .dtm file

Issue: STEM 7.3 allows user-data values defined as linked defaults from Excel to be identified in the Excel file with your own user-defined labels (created with the Edit/Rename Field command). However, such labels would fail to be recognised on opening the model for the first time in the absence of the .dtm file (e.g., if a colleague distributed just the .dtl, .icp and .smw files) and a spurious error would be generated. (The labels would be recognised and the values would be retrieved successfully on a subsequent update.)

Action: A small oversight when this functionality was enabled in STEM 7.3 has now been corrected.

#3253
No fractions on graph scale for an integer result

Issue: If the values on a graph are low enough (typically 3 or less) then the value-axis scale can show tick marks at fractional values. This does not make sense for results that are integral by definition such as Connections or Sites.

Action: As a simple fix, the results program now recognises certain results as integral and constrains the value-axis labels accordingly.

Notes: If there is any significant demand for supporting the same refinement with user-defined results, then we might consider adding a more general ‘integral’ attribute for user-defined results in a future release.

#3255
Don't allow transformation expression as a scenario parameter

Issue: It was possible to create scenarios (or replicas or sensitivities) for the expression field within a transformation.

Action: This was on oversight in the original type checking and will now be detected by the model checker. In a future release we will make the reference illegal directly within the Editor.

Notes: A transformation expression is not evaluated until run-time, whereas scenarios, replicas and sensitivities are all generated before the model is run. So you may consider driving an expression by separate user data which can be varied as a scenario parameter (or whatever).

#3257
Whole-column references within xlsx files.

Issue: Our initial support for Excel 2007/2010 .xlsx files would not recognise a whole-column reference such as 'workbook.xlsx'!$I:$J. (A similar reference with an Excel 97 .xls file was fine.)

Action: Whole-column references now work correctly with .xlsx files.

#3262
Sheet-specific named ranges not working with .xlsx files

Issue: Our initial support for Excel 2007/2010 .xlsx files would appear to recognise a reference to a sheet-specific named range such as [workbook.xlsx]Sheet1'!MyName, but would then quietly convert it to the matching global name, workbook.xlsx'!MyName. (A similar reference with an Excel 97 .xls file was fine.)

Action: References to sheet-specific names now work correctly with .xlsx files.

#3274
Failure to copy formula text when autograph present

Issue: It was impossible to copy the text of a formula from the formula bar in the editor if an Autograph window were active. Instead you would end up with the text of the result of the formula shown on the corresponding cell within the data dialog.

Action: An obscure and longstanding coding error has been fixed.

#3276
Unit labels missing in web charts for replicated model

Issue: Demand or capacity units such as Connections or Mbit/s are retrieved dynamically when labelling charts, but this was not working for replicated elements.

Action: The eSTEM web service now successfully retrieves these labels from the replicated model.

#3277
Sum over scenarios not working with consolidation

Issue: An undocumented syntax which allows you to specify ‘*’ as a scenario name to the StemGetResult() function for Excel to request results summed over all scenarios would not work if consolidation of quarterly or monthly results were required.

Action: The ‘*’ syntax now works correctly with consolidation.

#3278
Replicate layout fails after run model

Issue: With a model using template replication, if you had already run the model, then a subsequent attempt to view the replicated layout (by selecting Replicate from the File menu in the editor) would fail without an error message.

Action: This was a side effect of earlier changes to improve error reporting for replicating models and has now been fixed.

#3281
Save-as clears the export path for web presentations

Issue: If you had been working with a model saved as MyModels\X and created an associated web interface in MyModels\X.web\, and then saved the model as MyModels\Y, the export path would unexpectedly continue to default to MyModels\X.web for the remainder of the session.

Action: The export path is now reset to MyModels\Y.web in this scenario.

#3285
Tornado chart created for wrong period

Issue: It was possible to create a tornado chart for a period beyond the end of the current model run if the run period had been temporarily extended and then reset during the lifetime of the current results workspace.

Action: This logic has now been fixed.

STEM 7.3a

The following issues were addressed in the earlier STEM 7.3a maintenance release, 26 October 2012.

ID Description
#1615
Clear out residual undo states when steps set to zero

Issue: The number of available steps with the undo facility in the Editor can be configured as a user option, and can be turned off altogether by setting Steps = 0. Previous states are not immediately discarded, just in case of an immediate change of mind.

However, it recently emerged that the undo command was still available. Worse still, if effected later with a <Ctrl+Z>, it would irreversibly restore the oldest state stored, losing all changes since the option was turned off.

Action: The previous states are now discarded as soon as any change is made, and the command is now actually disabled if Steps = 0.

#2875
Icon caret goes square

Issue: The small flashing black triangle which indicates the current icon in the STEM Editor would occasionally and seemingly arbitrarily change to a slightly larger black square. This was long assumed to be a so-called 'resource leak' in the code, but had defied diagnosis for almost three years.

Action: The cause was finally isolated to a 'set focus' event and the leak has been fixed so that the triangle image is no longer degraded in these circumstances.

#3186
Basis not shown in tooltip for requirement

Issue: The tooltip over a service requirement (green) link would never show the basis field, even when it were set, even though this is the most useful piece of information.

Action: The basis field is now shown if it has been set.

#3187
Web settings too sticky in results

Issue: When you use the Create Web Interface commands in the Editor and Results Programs, the output folder which stores all the settings is maintained from one export to the next. This is supposed to be stored independently for each separate model, but unfortunately the Results Program would retain the folder setting for one model even after running a second model and loading its own results workspace. (It worked correctly if the new workspace was opened from the menu.)

Action: The Results Program now correctly forgets the settings for the first model however a new workspace is loaded.

#3188
Export results to Excel missing formulae

Issue: The Export Results to Excel command in the Results Program would fail to create the required StemGetPeriods() and StemGetResult() formulae on a computer with regional settings set for Germany (or any other locale where the default list separator is not a comma).

Action: The export code now checks the regional settings before creating the formulae (which use the list separator to separate the model, scenario, element and result function arguments).

#3192
Fail to read a single number from .xlsx

Issue: STEM would appear to fail to read a number when linking to Inputs!C3 in exercise 18 of the WiMAX-DSL training course. The actual problem was the sheet name not being specified in the reference, but the wrong message was being reported due to a trivial difference between the separate code paths for .xls and .xlsx links.

Action: The correct message will be reported now, and STEM will of course read the number if there is only one sheet, or if the ambiguity is removed by specifying the sheet name or using a named range.

#3193
Web interface failed to retrieve mapping for resource with hyphenated name

Issue: Due to nothing more sinister than an incorrect setting in an internal function call, an attempt to reference the mapping value for a requirement for an element whose name included a hyphen was failing (as it would if the name contained any character which is used as an operator, such as +) due to the name not being quoted correctly in the WebServiceModelConfig.txt file.

Action: The code has been corrected and this now works properly.

#3195
Instabilities while updating links from .xlsx files

Issue: The original 7.3 implementation used an external agent to unpack the .xlsx 'package' file (which is actually a zip file by another name). This interaction was asynchronous and made the Editor vulnerable to 'unexpected' events before the update was complete.

Action: We are now using a synchronous internal process to unpack .xlsx files which removes the vulnerability and thus avoids the reported instabilities.

#3196
Expression transformation never classified as aggregate

Issue: STEM 7.3 appeared to be able to classify an expression transformation as aggregate if every input referenced by the expression were aggregate. However, while this worked at check time in the Editor, it actually failed at run-time in the model engine.

Action: A subtle missing line of code has been added and it now works as intended.

#3197
Ill-conceived check to prohibit capital cost with zero lifetime

Issue: A model won't run if a consumable resource specifies a Capital Cost (used as Stock Purchase value) but has zero lifetime. This check was part of the specification for consumable resources in STEM 7.3 and was documented in the What's new in STEM 7.3 guide.

However we realised belatedly that a zero lifetime could be a perfectly reasonable limit condition for a resource with a short shelf life where, e.g., a life of only a few days or weeks would be effectively zero in a model running in months as the finest granularity.

Action: The error check has been removed, so it is up to the user to consider whether it makes sense to show a Stock Purchase when the zero Shelf Life means that the model will never retain any Stock.

#3198
Immediate error check after loading an older model

Issue: The Editor would immediately and abnormally run an error check after loading a model from an earlier version of STEM.

Action: This was an unintentional side-effect of other changes in STEM 7.3 to do with how errors and warnings are processed (errors first, and with the ability to step forwards and backwards through errors) and has now been corrected so that an error check is only performed at run-time, or when requested explicitly by click the 'Check for errors' button.

#3200
Unit label corrupted after new label added elsewhere

Issue: A unit label, such as the Output Unit for a transformation, might appear to be corrupted after entering a previously undefined label in a similar field for a different element if both data dialogs showing these units were open at the time. (In fact the actual value was always safe; closing and re-opening the data dialog would restore the correct value on the screen.)

Action: An inadvertent code path has been corrected.

#3201
OK and Cancel buttons positioned incorrectly in option dialogs

Issue: A generic handler is used for several prompts within the STEM Editor, including which input to select when dragging a potential input driver onto a transformation icon. The dialog is sized to fit the option strings, but this caused the OK and Cancel buttons to be misplaced in some cases.

Action: The OK and Cancel buttons now appear in the right place.

Download
STEM 7.3d installer

Registered licensees with a current maintenance contract can download the appropriate C-STEM or D-STEM 7.3d installer.

Download now: C-STEM 7.3D-STEM 7.3

© Implied Logic Limited