Changelog

2.1.1

Fixed

  • [applications] fixed applications not being detected on case-name mismatch
  • [aggregate] nil option values are casted to empty string
  • [sentry] fixed scrubbing

2.1.0

Added

  • [metamodel] DataElementType/TaskElementType/TaskTransactionType is now generated
  • [diagram] diagram settings are now per-view
  • [model] set noTransaction on missing transaction
  • [dataChilds] Data Childs browser now includes validation info
  • [spotter] alt+enter now adds an element to the view

Changed

  • [help] replaced old “help” with link & more informative collection info
  • [diagram] changed add/hide target shortcuts
  • [diagram] Data Child notation now only shows Child Element by default
  • [diagram] Data Element boxes are now always grid-modulo sized

Fixed

  • [model] fixed some edge cases of circular field/linkfield removal
  • [diagram] fixed layout being applied to non-visible elements
  • [diagram] fixed edge removal leaving invisible visual artifacts breaking export

2.0.0

Added

  • [metamodel] completely replaced metamodel with one expanded from NSX Expanders
  • [io] XML import/export is generated from NSX Expanders and XSD schema; schema is also enforced
  • [views] introduced concept of different views on the same component/flow to enable scoped analysis
  • [browsers] added application/dependency browser, available only when adding a remote link field
  • [inspector] added Details view that mimics PR’s default projection
  • [opening] opening problematic XMLs now gives an informative error
  • [diagram] it is now possible to select with mouse a subset of elements and perform some action on them
  • [diagram] moving diagram is done via right-mouse-dragging (as left one is now for selection)
  • [diagram] added option to apply partial layouts
  • [error reporting] provided data are now more deeply scrubbed of potentially sensitive content, submitted models are automatically destroyed after 30 days
  • [spotter] added submenu with the option to add a Data Element to the view

Changed

  • [internal] migrated code to different export format (87249a1e)
  • [layouting] replaced double-click radial layout with context click option; it is also possible to configure the distance
  • [browsers] adding remote link field requires first to have a dependency configured; it no longer adds it automatically
  • [metamodel] paramClass is no longer set by default
  • [metamodel] TaskElement now has #includeRemoteAccess by default, and Rule warns if it is missing
  • [rules] unified text output of rule violations and added styling
  • [rules] improved text for some rules & minor fixes
  • [rules] packageNaming rule once again accepts numbers
  • [png export] changed export class, but it is still glitchy
  • [diagram] renamed “Show All” button to “Fit All”

Fixed

  • [flow] fixed case where it wasn’t possible to change non-primary element’s type when it had flow
  • [rules] isCustomFinder is no longer checked by rules
  • [form] fixed packageName editing via editable droplist
  • [component diagram] fixed ocassional red screen of death when working with component diagrams
  • [component diagram] adding opposite field is now named according to the base element

Removed

  • [theme] removed possiblity to switch to dark theme

1.20.0

Added

  • [xml] known nodes not yet supported by the modeler are not mangled anymore
  • [xsd] updated XSD schemas
  • [metamodel] regenerated metamodel to support latest format from PR
  • [diagram] added UI where user can select what elements to show/hide based on DataElement types, manually, or via a script
  • [diagram] changed the way layouts/diagrams are saved to be more systematic and flexible (note that old layouts are not migrated)
  • [diagram] introduced concept of diagram view that provides a customized perspective on a model (right now only internal)
  • [diagram] added series of commands to interactively decide what elements to show and hide in a diagram
  • [applications browser] browser now lists all applications across all sourceBases within the default workspace
  • [fields] removing a field automatically removes data children and finders that used it
  • [fields] renaming fields now propagates to finders
  • [saving] added save-as option to save a project as directory or file
  • [diagram] the position of the diagram and zoom is now persisted
  • [opening] added new interactive dialog to request missing Data Element required by a Flow Element

Changed

  • [rules] importable elements checker now warns only about nameNotWanted + linked
  • [spotter] opening spotter is once again under ctrl+f shortcut
  • [finders] findByNameEq now sets field to “name” or “” based on whether the parent element has name field
  • [diagram] links between elements are now gray to decrease the visual chaos for big diagrams

Fixed

  • [model] assets component is now considered an optional base component
  • [properties] fixed issue where editing option would duplicate it
  • [spotter] fixed opening spotter on the correct diagram
  • [properties] keyboard arrows when editing properties no longer clash with unrelated shortcuts

1.19.0

Added

  • [rules] data elements naming rule now checks second letter as lowercase
  • [rules] separated finder FOP rules into separate prError (missing FOPs) and error (extra/incorrect FOPs)
  • [rules] added rule checking whether data child’s child field is a link field to the parent
  • [local links] unified base (Ln01+) and opposite (Ln05+) links; adding/removing opposite link is now a checkbox property
  • [local links] opposite links without base are shown in red and have a “create base link” action
  • [remote links] component dependencies are now automatically added/removed when a remote link is created/removed
  • [data children] new data children browser that lists all possible data children based on link fields
  • [data children] data child can be also added from the child via a “is data child” checkbox
  • [finders] adding a data child automatically adds a proper finder
  • [diagrams] dragging now snaps to grid; disabled by holding shift

Changed

  • [ui] default theme is now light to avoid color collisions
  • [rules] duplication validation is now case-insensitive
  • [rules] updated reservedNamesEq list to include all Java reserved keywords

Fixed

  • [rules] don’t report findByNameEq without FOPs as findAll error

Operational

  • [perf] changing diagram settings was extremely slow for larger models
  • [perf] opening large models should be 2-4x faster
  • [perf] improved diagram rendering performance

Removed

  • removed old variations of applications and rules browsers

1.18.0

Added

  • [rules] field naming rule and naming autocorrection was extended to aslo lowercase sEcond letter (if any)
  • [rules] validations in inspector are shown recursively (e.g. for Data Element, also Field/Child validations are shown)
  • [component diagram,rules,experimental] added icon on Data Elements indicating that there’s a validation issue (when showValidationWarnings is enabled (disabled by default))
  • [rules browser] Added two new variants of Validations Browser to address problem with too many components/flows

Changed

  • [rules] rule checking inconsistent package naming no longer warns when there’s only a single Data Element.
  • [component diagram] flow indicator has been replaced with an icon & mouseover tooltip
  • [component diagram] the current component is no longer available when creating a link field to not overlap with Relationship functionality
  • [rules browser] “All” tab is selected by default
  • [rules browser] “isSolvableByPR” has been removed as this functionality was superseded by prError severity

Removed

  • [rules] Removed ReservedNameLkRule as it was no longer needed

Fixed

  • [xsd] component version is a string
  • [xsd] fieldOperatorPair is 0..N
  • [serialization] find and remove empty FOPs (created by incorrect xsd)

1.17.0

Added

  • [applications browser] added separate tab view for applications with directory-based and file-based components
  • [serialization] created XSD schemas for application and component files
  • [serialization] the XML format (indentation, closing tags), as well as element/attribute ordering/presence/nillability (based on schemas) is now consistent with PR
  • [validations] assets component data elements are now valid targets
  • [component diagram] link fields to other components (both base components and components inside the application) can now be created
  • [validations] NSPValidDataRefTargetRule now checks whether application has components that link fields point to
  • [validations] NSPValidDataRefTargetRule now checks data element being linked to exists in the target component

Changed

  • [applications browser] missing applications are now hidden by default
  • [perf, applications browser] only read XML files when the content have changed
  • [component diagram] link field targetClass/targetPackage was replaced with targetElement/targetComponent

Fixed

  • [ui] opening settings was failing due to bad dependency load order
  • [applications browser] apps with version other than 1.0 are now properly shown

1.14.3

Changed

  • [fields, rules] DateLong field type is now supported
  • [rules] updated rules info (severity, pr solvability) after a review
  • [rules] pr-solvable issues have been moved to a separate prError category (to not mix them up with actual errors)
  • [rules] “to” and “from” are now reserved names (eq)
  • [rules] package naming rule was made stricter (‘^([a-z]+)(.[a-z]+)*$’)

1.14.2

Added

  • [applications browser] new iteration of applications browser was added, the old one remains for now as a fallback option
  • [applications browser] it is now possible to hide missing applications
  • [applications browser] trying to open broken application will show more info
  • [model tree] flow elements are now visible
  • [model tree] added context-menu option to delete flow
  • [component diagram] it is no longer possible to delete data element that has flow attached to it (flow must be removed first)
  • [flows] empty flows are automatically created for all flow elements, unless they are operating on non-existent data element
  • [dev-mode, rules] added browse rule button to validations inspector
  • [logging] when “Send Context Data” is enabled, then error will automatically send the models and a serialized error dump
  • [logging] “Send Context Data” is enabled for ns-course branch

Changed

  • [applications browser] hidden Inspect & Open Component buttons in non-developer mode

Fixed

  • [component diagram] removing data elements sometimes didn’t clear the canvas properly
  • [applications browser] opening application will reload it at the last minute in case the file was removed or changed
  • [opening] missing dataFlowTasks element in app xml is now presumed to be empty instead of error
  • [opening] canceling request to create missing data element now properly cancels application opening
  • [component diagram] canceling confirmation to delete element now properly cancels the action
  • [component diagram] clicking on “F” in data element wasn’t opening/creating flow (regression)
  • [flow diagram] state/task that had their target task/state removed wasn’t allowed to have another target
  • [opening] several more edge-cases were fixed for a variously broken model

1.16.0

Added

  • [child browser] validity and violations are now visible directly in the browser
  • [child browser] added checkbox for automatic addition of a finder
  • [inspector] added basics stats for some model entities (component, data element)
  • [inspector] embedded browsers to inspector
  • [inspector] hidden developer panes in non-development mode
  • [inspector] added validation view scoped on the particular entity
  • [spotter] dive-in for data elements now shows fields
  • [docs] created external user documentation

Fixed

  • [child browser] data child is added only after saving
  • [options browser] option is added only after saving
  • [rules] Data Child references rule is working again
  • [interchange] invalid data childs from PR can be saved again

Performance

  • [spotter] only first 5 entries for each category are now displayed

1.15.0

Added

  • [finder browser] default finders are read-only (but can be enabled in settings)
  • [finder browser] styling is contextual (shows duplicate, invalid finders)
  • [properties form] show text input field for options that I know use value (list will be expanded in the future)
  • [properties form] show all options that are used by the entity, even if not visible by default

Fixed

  • [finder browser] finder is added to data element only after saving
  • finder validity testing for findAll*s finders

1.14.1

Added

  • Added rule checking whether a task’s begin/end state is missing

Removed

  • Removed import flows from csv button as this feature is not supported at the moment

Fixed

  • Saving flow where a task is missing begin/end state no longer fails
  • Perform automatic storage recovery in case references were broken (this is a workaround, the root cause is unclear)
  • Readded missing installation id tracking for issue grouping

1.14.0

Added

  • Grouping by severity in the validation browser
  • Validation browser shows whether the rule is (auto)solvable by PR
  • hasSearchBar rule now checks for the field type, and the proper finder
  • Added rule checking whether package name of data/flow/task element is in lowercase
  • Metamodel representation of custom Value Field Types + export/import
  • Provide option to create missing data element for task element during application opening

Changed

  • Validation of reserved names was split into two (nameEq and nameLk) with different severities

Fixed

  • non-ascii letters are no longer accepted
  • validation types (DateTime & co.) are now properly represented and exported
  • updating DataElement::name/packageName updates correspondingly FlowElement::targetClass
  • removing DataElement no longer leaves extra properties on the canvas
  • showing field options no longer displays empty string for empty value

1.13.0

Added

  • Added Field description editing field
  • Applications are now reloaded in the applications browser to make sure new packages appear
  • It is now possible to add calculated fields
  • Fields in the diagram are now prefixed with slash (/) for calculated fields, and for link fields the target data element name is shown

Changed

  • Dimmed default colors

Fixed

  • Calculated fields are no longer converted to value fields
  • Fixed removing dataChildren [v1.13.2]

1.12.0

Added

  • Missing model entities are automatically created when opening flow

Changed

  • Most of the flow metamodel was reworked internally for practical and technical reasons, as it was hard to keep the model consistent and it was not possible to represent certain situations created by PR

Fixed

  • Fixed displaying data child that points to a missing element

1.11.0

Added

  • Added new rules for hasSearchBar, hasCountPerHourGraph, hasCountByStatusGraph, uniqueKey dataOptions
  • All rules now have precise description of where exactly the error occured or how it should be fixed
  • Added options to show options (field, data element, finders), finders, and data children directly in the diagram (via settings & diagram context menu); updating is a bit glitchy
  • Validation Browser was changed a bit; for most rules now contains contextual actions like “select in diagram”, or “edit finders”
  • Finders in Finders Editor can now be defined by directly by name
  • Finder Editor will no longer allow saving invalid finders

Removed

  • Disabled opposite finder rule checking for Ln03 field

Fixed

  • Fixed opening remote link fields
  • Initial prompting for package name was failing due to missing code in subproject
  • Fixed TaskStatus checking rule for non-link field fields
  • Fixed finder name generation in Finder Browser

1.10.0

Added

  • Added isListField editing
  • Finder browser now shows when there is a duplicate finder
  • Runtime errors when running Validation are now silenced and reported, so the rest of functioning rules are still usable
  • Added Revalidate button to Rules Validator (so one can keep the window opened and just click to check again)
  • [UI] Diagrams now have a new view separate from the Model Tree (also should be updated properly)
  • [UI] All “widgets” now have a heading

Changed

  • Error reporting now uses custom Sentry.io SDK
  • includeRemoteAccess is now visible by default
  • [UI] Palette and Properties form are now merged into single column
  • Default package name dialog no longer accepts empty text

Removed

  • [UI] Renaming by right-clicking was temporarily removed (problematic due to hard-coded nature).

Fixed

  • Couple of rules were erroring when FieldOperatorPair::field was nil (typical for Eq:name)

1.9.0

Added

  • Added new validations (flow task element, default task options, duplicate field operators, User-link field types, Date field types)
  • Element positions (layout) is now preserved upon saving. For now it is stored in %APPDATA%\NSP\diagrams
  • When exporting a PNG, a legend can be included (prefilled with the model info and the date), and the location

Changed

  • includeDelegation and includePerform options are now enabled by default
  • default package name no longer contains reserved word “package”
  • Temporarily disabled DataChildReferenceRule, because due to construction changes it can never be violated

Fixed

  • Field operator pairs names now have correct order (e.g. Gt:status)
  • Fixed (technical) validation issue in FinderParentForDataChildRule

1.8.0

Added

  • Added support for data child inspection/modification
  • Data Element Type colors are now configurable
  • Expanded metamodel to hold properly data children/projections
  • (temporary only) reporting of perf of diagram opening

Fixed

  • Fixed performance of opening larger models
  • Fixed changing the root folder of NSF in settings

1.7.0

Added

  • Added support for option types for all elements (task, data, component, field, finder, flow)
  • Most used option types are directly available as checkboxes in the properties form
  • Most used option types can be configured in settings
  • One can cancel links creation (relationships, transitions) by pressing Escape

Changed

  • It is no longer possible to create link by clicking on a field; use only elements
  • Windows in fullscreen no longer have margins around them

Fixed

  • Layout guide circles are removed when a layout changes

1.6.0

Added

  • Added tabs to the validator for each component, flow, all, and the application
  • Added automated error reporting (+ a help chapter)
  • States and Tasks are restricted to single target node (the tool will not even allow you to create an outgoing transition)
  • Added rule checking duplicate names
  • Added basic settings (so far just Prime Radiant root & error reporting)
  • DateTime is now supported type

Changed

  • Bunch of changes and fixes around names (the user cannot create an empty name, duplicate names are autoresolved, …)
  • Adding element (state, task, field, …) with empty name now cancels the addition

Fixed

  • Application Browser now looks both tho someComp/model and someComp/models

1.5.0

Added

  • Added generation of Task Elements
  • Added editor for Finders
  • Added shortcut for Spotter (ctrl+shift+f) and a bit more help info.

Changed

  • Improved the interactions between flows/components/tasks (modeling of flows should be fully operational now)

1.4.0

Added

  • Added rules: finder on the opposite side of Ln05 is defined; finder for parent element on data child’s child element
  • Adding first data element to a component will now also ask for the package name
  • When an application/flow/component is opening, a waiting cursor appears
  • About 30% more tests

Changed

  • Refactored some core components (controllers) so they are more straight-forward and easier to test
  • Supported Types: StringMultiline -> StringMultiLine
  • Newly added data elements are now Primary (to copy PR behavior)

Fixed

  • Properties Form sometimes didn’t fit text properly into text boxes
  • Updating content in Properties Form now updates also dependent fields where needed

1.3.0

Added

  • Added import checker verifying whether elements can be used for importing
  • Added experimental finder functionality for model entities

Changed

  • Fields now have infoField=true by default
  • Canceling addition of dataelements/fields/…. now removes the element

Fixed

  • Fixed loading components with versions other than 1.0
  • Fixed updating diagram when linkField has changed.

1.2.0

Added

  • Added rules: checking displayName; DataChild reference; States existence; State/Task naming
  • notification component is now ignored
  • Flow editor now keeps in sync (generates/removes) all States in the DataElement it is running on.

Changed

  • Removing relationship now also removes the field it originates from.
  • Package naming rule now warns when a package name was used only once, instead of forcing single name for everything
  • Package name is now a editable droplist

Fixed

  • Improved application/component file management (user-friendly warnings instead of error)
  • Fixes around removing relationships and fields
  • Fixed opening and removal of self-referencing data elements

1.1.0

  • [fixed] Projects/models can now be saved
  • Model explorer now has an option to browse the disk, and remember (and remove) such custom locations.
  • [fixed] Models in arbitrary root locations can be opened again
  • Flat-structure (ap’p xml and all the component xmls in the same directory) locations can be used too
  • Added top dock bar
  • Added nameNotWanted Rule
  • findByNameEq finder can now have nil field (and the rule won’t complain)
  • Warn if DataElement has a flow and is not primary (and prevent the user from changing it if it is primary)
  • Added Help UI / Welcome Help (for now only changelog and very basic info)

1.0.1

  • Added versioned releases. :)

0.9.0

  • Added Prime Radiant model browser

0.8.0

  • UI improvements
  • icons for model elements
  • added simple browser for rules violations

0.7.0

  • Added first batch of new rules

0.6.0

  • Experimental direct communication with Prime Radiant from the modeler [Linux only]

0.5.0

  • Added basic naming rules in Renraku framework

0.4.0

  • Flow model is now based on Application XML instead of CSV
  • Updated component metamodel as new concepts were added in Prime Radiant

0.3.0

  • Added preliminary support for flow modeling based on the CSV representation

0.2.0

  • Generated a new metamodel based on the Component XML file
  • Updated the prototype to use the new metamodel

0.1.0

  • Crude prototype supporting basic data element and field modeling