This article describes new features, improvements and fixes included in this release of SystemWeaver. When upgrading, we recommend that all client and server applications be upgraded as some bug fixes and/or enhancements require this. 

 

These release notes are also available in a Word document as well as a SystemWeaver XML file. Both are attached below.


Note: Special attention should be given to the items highlighted in yellow as they will require additional planning/steps for your organization pre and/or post-upgrade if the view/tool affected is being used in your installation.


Administrators

NameDescriptionTypeUser groupIssue ID
swAdmin2: Introduction of license assignment

With the R38 release, all users must be assigned to a license. There are two use cases - automatic assignment to a Default license, or manually specify license assignment. Instructions will be included in your upgrade package. 


Automatic assignment

The most common scenario is an installation with one license file identified as the Default license. This will work in the same way as it has before.



With automatic assignment, users are automatically assigned to the default license. No additional action is needed. If multiple license keys are used, one can be designated as the default. At any time, an Administrator can change the Default designation from one license to another, and/or assign specific users to any specific license.


Manual assignment

For installations with multiple licenses and/or where no default license will be designated, Administrators have the option to manually handle user license assignment, In this case, assignment can be done for a single user via the Users tab.: 

 


Or, alternatively, as a batch assign operation via the Licenses tab. 



When upgrading to R38 given this use case, initial assignment must be made for all existing users. 

This will not need to be done for future upgrades for existing licenses. 


It is important to note that if an assignment is not made for a user, and no license is designated as the Default, the user will not be able to log in until they are assigned to an available license.

NewAdministrators15547
swAdmin2: Restricting capabilities

It is now possible for Administrators to use the swAdmin2 tool and the Path Query Language to restrict any of the following standard capabilities (actions) in the swExplorer client. 

  • Printing documents
  • Downloading documents
  • Copying document content
  • Printing reports
  • Downloading reports
  • Copying report content
  • Exporting XML
  • Copying XML content
  • Exporting grids to Excel


For more information, see Restricting Capabilities.


Note: Although a first version has been available in earlier releases for evaluation purposes, we are officially introducing the feature now. 

NewAdministrators15792
swAdmin2: Introduction of API transaction statistics

The swAdmin2 tool now includes a first version of an API transactions display which will provide administrators with statistics on API usage per license. 

  • View total transactions data
  • View daily transactions data 
  • Filter by preset or custom time period
  • Refresh data for current time period
  • Export 2 years of transactions data

 

More details to follow in future releases.


NewAdministrators15275, 15763
swAdmin2: Capture creation date for user accountsThe creation date of user accounts is now captured and displayed for accounts created using release R38 or later. Accounts created prior to release R38 will display a null value.
ImprovementAdministrators15705, 15571
swAdmin2: Display of additional license key information

Release R38 includes a new license format. Upgrades will require replacing existing licenses. This is a breaking change.


The Licenses tab now clearly displays the following additional information for each uploaded license key file: 

  • License name
  • Server name

 


Note: The Servers drop-down field is only applicable when licenses valid for different servers are uploaded. 

ImprovementAdministrators15547
Projects: Removal of Transitions paneThe Transitions pane in Project Workflow has been removed. Transitions were replaced with Workflow configuration with the R25 release, but remained in the client for reference to old transitions during a transition period. Should you still want to refer to previously used Transitions, be sure to document them in some manner prior to upgrading.ImprovementAdministrators15472
swAdmin2: Account created with existing Network idWhen trying to create an account with a Network id that is already in use, you will now get a "User with Network id: user already exists." message when clicking Create, and the new account will not get created.Bug fixAdministrators15309



API/Rest API/Extensions API Users

NameDescriptionTypeUser groupIssue ID
API: Upgrade from 1.52.1 to 1.53.0The SystemWeaver API has been upgraded from version 1.52.1 to version 1.53.0. This will require that all users receive and utilize the R38 version of the client applications (swExplorer, swAdmin2, swArchitect). In addition, this requires that any API applications developed in-house be recompiled with the newer version SystemWeaverClientAPI.dll. This is a breaking change.Improvement

API, IT Administrator15816
API: Optimized search for items with attribute value

A common use case when writing api programs and extensions is searching for items with a given attribute value, for example, get all requirements with a given requirement id. This is traditionally done by creating a filter and calling IswQ. Due to performance reasonS, we have added a specific call on IswQ to do this:


        IswItems GetItemsWithAttributeValue(IswItemType itemType, bool includeSubTypes,

          IswAttributeType attributeType, string attributeValue);


This call should be significantly faster (e.g., up to 80%) and put lower load on the server than using filters.


It can be used for attributes which can be expressed as a string, e.g., string and integer.

ImprovementAPI, Extensions API15775
API: Broker.FindUser WithForeignId

The following methods have been added to the API. 


Broker.FindUserWithForeignId

Returns user with given foreign id, or null if user with that name does not exist. If for some reason, there exists several users with the same foreign id, this methods returns null.


Broker.HasUserWithForeignId

Returns if a user with foreign id exists. If for some reason, there are several users with the same foreign id this method returns true.


Refer to the R38 version of SystemWeaverClientAPI.XML for more information. 

ImprovementAPI15444
Extensions API: Improved Hydra exception message

We have improved how exceptions thrown in an extension are displayed. For example, a stack trace will be shown, if possible.


To support this, we added a method to the IswExtensionInfo interface. For the improved exception message to apply to existing extensions, the extensions must be manually updated with ExtensionInfo inheriting from ExtensionInfoBase:


    public class ExtensionInfo : ExtensionInfoBase, IswExtensionInfo

Improvement
Extensions API
9610
Extensions API: Updated VS templatesThe SystemWeaver Visual Studio templates have been updated. When creating new extensions, use the new versions which can be downloaded from Getting Started With swExplorer Extensions.ImprovementExtensions API15799


Architects

NameDescriptionTypeUser groupIssue ID
Sequence diagram: Introduction of visualization and editing

Visualization

There is now a first version of a sequence diagram visualization using the built-in configurable graph view. The sequence diagram supports the following:

  • Lifeline of different types (Actor, Object,Boundary, Control, and Entity)
  • Messages
  • Gate
  • EndPoint
  • Fragment of different types (Alternative, Optional, Parallel, Loop, Critical region, Negative,  Sequence diagram,..etc)
  • Frame

 

Edit Mode

In addition to using the built-in configurable graph to view a sequence diagram, it is now possible to edit the sequence diagram directly in the view. With this first version of editability, you can perform the following: 

  •  Add/New/Remove all sequence diagram objects:
    1. Any type of LifeLine
    2. Any type of Fragments
    3. Frame
    4. EndPoint
    5. Gate
  • Connect different sequence diagram objects using messages:
    1. Gate -> LifeLine
    2. LifeLine-> LifeLine
    3. LifeLine-> EndPoint
    4. Self message

 

NewArchitects, Users15602
Configurable graph: Support for graph node custom size

It is now possible to control the size of all node shapes, as well as the size of a node caption.   

This new custom size option is available for the following node shapes:

  • <Actor/>
  • <AndGate/>
  • <Chevron/>
  • <Ellipse/>
  • <OrGate/>
  • <Parallelogram/>
  • <Rectangle/>
  • <RectangularPentagon/>
  • <Triangle/>
  • <Circle> 
  • <Boundary/>
  • <Control/>
  • <Note/>
  • <Diamond/>
  • <Package/>

 

Example

<AndGate width="" height="" minWidth="" maxWidth=""  
minHeight="" maxHeight=""/>

<Circle diameter="" minDiameter="" maxDiameter=""/>
Improvement

Architects10825, 15526
Icons: New type iconsThe following new Type icons have been added. They can be used as image icons for item, part, and issue   types, as well as for multi-instance configurable views, and plugins:
ImprovementArchitects
Configurable graph: RemovePart support for list

For editing in the configurable graph view, the <RemovePart part=".." caption=”…”/> tag now supports list of part in the attribute part=”..”.


Example


<RemovePart part="Context:/back-to-part::Req" caption="..."/>


ImprovementArchitects15036
Configurable graph: Support for configuring sub-menu using  "...(->)...(->)..."

There is now support for configuring the sub-menu using  "...(->)...(->)..." in the caption attribute for <AddPart/> and <RemovePart/>.


Example

<RemovePart part="Context:/back-to-part::ReqSection" caption="Menu X (->) Menu X.1 (->) Menu X.1.1 (->)Remove Req from Section #{Owner.Name}"/>     


ImprovementArchitects15616
Component graph: Support for multiple signal types

The Component graph extension now supports different signal item types and part types. There is a new attribute for the <Signal> tag called itemSids. For multiple signal types, you would use this attribute instead of itemSid to list the SIDs separated by a semi-colon. 


Also, there is a new attribute for the <InPort> and <OutPort> tags called partSids. For multiple signal part types, you would use this attribute instead of partSid to list the SIDs separated by a semi-colon. 


Note: For backward compatibility, the itemSid and partSid  attributes can still be used when only one signal type exists. However, itemSid and itemSids cannot be used together, and partSid and partSids cannot be used together.  


Examples

<ComponentGraphConfig>

   ....

   <Function itemSid="BIDA">

       <InPort partSid="IREC"/>

       <OutPort partSid="ISEN"/>

   </Function>

   ....

   <Signal itemSid="ARSI"/>

   ....

   <Components>

     <Component itemSid="ARAP" partSid="ITFC">

       <InPort partSid="ARRP"/>

       <OutPort partSid="ARPP"/>

     </Component>

   </Components>

   ....

</ComponentGraphConfig>

 

 

<ComponentGraphConfig>

   ...

   <Function itemSid="BIDA">

      <InPort partSids="IREC;IREC1"/>

      <OutPort partSids="ISEN;ISEN1"/>

   </Function>

   ....

   <Signal itemSids="ARSI;ARSI1;.."/>

   ....

   <Components>

     <Component itemSid="ARAP" partSid="ITFC">

       <InPort partSids="ARRP;ARRP1"/>

       <OutPort partSids="ARPP;ARPP1"/>

   </Component>

   </Components>

   ....

</ComponentGraphConfig>


For multiple signal types, the swExplorer will present the user with a menu that includes all the possible signals according to the configuration, as shown below.


ImprovementArchitects14910
Configurable graph: Enable caption in <AddPart>

There is now support for configuring the caption of the <AddPart/> tag. The caption can be a String or PathQuery.


Example: 

<AddPart owner="..." partType=".." caption="#{PathQuery}"/>


ImprovementArchitects15622
Configurable graph: Support for multiple distinct mapping per pair in MappingItemAn optional multipleDistinctMappingPerPair attribute determines if multiple mapping between the same pair of items is allowed. A "true" value enables multiple mapping items for the same pair of items. A "false" value enforces only one mapping item per pair of items. The default is "false". Note that the multipleDistinctMappingPerPair can only be used when distinctMappingPerPair="true".

<Graph>

 <Mappings>

   <MappingItem id="" leftCaption="..." 

rightCaption=".."  distinctMappingPerPair="true" 

multipleDistinctMappingPerPair="true">

   ......

   </MappingItem>

 <Mappings>

 ...

</Graph>
ImprovementArchitects
Configurable graph: Support for new node shapesAdditional node shapes have been added.
ImprovementArchitects15710
Configurable graph: Improved menu activation for partsThe activation of the context menu options for Add, New and Paste as is fixed to handle cases where different part types have different owners.
Bug fixArchitects15512


IT Administrators

NameDescriptionTypeUser groupIssue ID
Database: Upgrade of database version

The database version identifies the version of the internal database schema used by SystemWeaver. With  R38, the version has been upgraded from 1.42 to 1.43. This is a breaking change. 

 

System Administrators use the swDatabaseManager to update the database version. See Updating the Database Version.

  • Review the Prerequisites for the update operation outlined in above article
  • The database update operation takes about 1 min.
  • Maintain a copy of the original database
  • If you need to restart the Update operation, close the application in between update attempts.
  • If running a mirror server:
    1. Journaling must be cleared and re-initialized. Previous .swjournal file cannot be used.
    2. New mirror .cache files must be created. Previous .cache files cannot be used.

ImprovementIT Administrator
API: Upgrade from 1.52.1 to 1.53.0
The SystemWeaver API has been upgraded from version 1.52.1 to version 1.53.0. This will require that all users receive and utilize the R38 version of the client applications (swExplorer, swAdmin2, swArchitect). In addition, this requires that any API applications developed in-house be recompiled with the newer version SystemWeaverClientAPI.dll. This is a breaking change.
ImprovementAPI Users, IT Administrators15816


Users

NameDescriptionTypeUser groupIssue ID
New version and replace: Basic support for recursive operation

There is now basic support for performing New version and replace recursively in the structure tree. 

The option will now display as New version and replace in structure

 

 

As before, the option creates a new version of the selected part's item and replaces the item with the new version. 

Now, it will also do the same for any part items located above the selected item as long as:

  • You have access right to the item, and 
  • There are no later versions of the item

 

A dialog will indicate the Action for each part's item.  If one or both of the above two criteria are not true, the New version and replace in structure operation will not be performed.

 

In the below example, the user has write access to all items in the structure above the selected item, and there are no existing newer versions. The replace operation will be performed on each of them as shown below.  

 

 

If, at any point, an item or sub-structure does not meet the above criteria, the dialog will display this and perform no actions. In the below example, the user does not have access to "ECU2" and, therefore, cannot take out a new version on it or its sub-structure.

 

 

The user can then investigate the case to determine how to proceed.
ImprovementUsers15619, 11292
Performance: Optimized new version and replace

The New version and replace operation has been optimized. Depending on the selected structure, operation time is now up to 100% faster. Below are two examples.


In seconds

No. of items in selected structure

R37

R38

15,266

30

< 1

2,041

11

< 1

Improvement
Users
15456, 15711
Performance: Optimized loading of structural parts

With R37, we optimized the loading  of structures with simple parts. In R38, we have taken the first step to optimize the loading of structures containing structural parts, e.g., such as Test structures and views with lots of nodes. Further improvements to this are planned for later releases. The improvement times will differ depending on the number of structural parts, etc.. Below are a two small examples.


In seconds

 

R37

R38

Load Scope result view for Test suite structure, 815 items

47.31

10.35

Load Test suite structure, 1,011 items

4.73

3.35


Improvement
Users
15416
Signature: Clarify when digital signature attribute is available
Signature attributes will now be grayed-out when an item is not in "CS_Released" status to more clearly identify that the attribute cannot be used with other item statuses.

Improvement
Users
15467
Clone item: New clone to clipboard option
Whereas previously the Clone item view offered an option to Clone that opened the clone in a new tab, with R38 it now also provides an option to Clone to clipboard. The first version of this new option enables you to clone, e.g., a sub-structure, to your clipboard and remain in the item tree where you can then paste (Ctrl-V) the clone.

 

 


Improvement
Users
15733
Configurable graph: Support for icon in the configurable menu
The sub-menu in the configurable graph now shows the part type icon.

Improvement
Users

DataTypeEditor: Support for BITFIELD_TEXTABLE

The Data type editor now supports the compu method category BITFIELD_TEXTABLE:

 


The interval type is considered to be CLOSED at all times.

To specify the values for each bit(s), click the button to the right of Values to access an editor.




It is possible to set a value for each bit and also to move values depending on which bit value (1 or 0) they represent.

 

 

Note: It is not possible to save the bit field values if there are too many rows added.

For 1 bit (i.e., 0 - 0) there are two possible values: 1 and 0. 

For 2 bits (i.e., 0 - 1) there are four possible values: 00, 01, 10, and 11. And so on.

 

There are built-in consistency checks, e.g.,:

  • No duplicates of names
  • Max < Min
  • Min > Max
  • Negative Min/Max

 

If an error occurs, this will be indicated in red in the indicator column to the far left. An explanation of the error is available via the hover tip:



If errors exist, it is not possible to save the specification.
Improvement
Users
15819
Issues Attachment Log: Fix for downloading
This fixes an issue with downloading an attachment to an Issue to local drive.
Bug fix
Users
15565
Parts: Error info column disappears
The Error Info column now remains in view when you switch between items in a structure.
Bug fix
Users
15769
CMS Charts: Support for issue type icons
There is now support for generating a CMS pie chart for issue types that have icons assigned.
Bug fix
Users
15781
Configurable graph: Selection in tree when selecting port
This fixes an issue where the corresponding item in the tree structure for a selected port in the configured graph was not correctly being selected.
Bug fixUsers15511
Coverage (Mapping Item): Add possibility for fix version buttons to take out new version
This fixes an issue where if the mapping item was in a CS_Released status it was not possible to update the version of the right or left hand side of the mapping item in the view.  
Bug fixUsers
15804