What's New in 4.3.5
This topic describes the enhancements in Connect 4.3.5.
- The "Advanced Tab" for type mappings will be removed in the next release. Any entries in the "Tab" should be moved to the "Property Mapping" page.
- Existing problem in the ALM Octane SDK causes Connect to fail when synchronizing attachments with non-ascii names.
A workaround for this problem is to perform the following steps:
- Go to C:\Program Files\Micro Focus\Connect\WebServer\bin.
- Copy tomcat8w.exe as ConnectWebServerw.exe.
- Launch ConnectWebServerw.exe (alternatively, start tomcat8w//ES/ConnectWebServer).
- Go to the Java tab.
- In the Java Options append to the end argument list the following. Every statement should be on a new line: -Dfile.encoding=UTF8
- Validate user entered dataSource prop values using REST call.
Prior logic looked only at the choices. Now incomplete choices are allowed. A user-entered value must still be validated.
-
Fixed 401 error when syncing large quantities of items in ALM Octane.
- Updated ALM readMe.txt to notify users how ALM Octane connections are opened and maintained.
- Users can now use client id/secret in place of username/password.
- Updated ALM readMe.txt to notify users they can substitute client id/secret for username/password when connecting to ALM Octane.
- During ALM Octane data source creation, Connect attempts to retrieve all of the requirementFolders, testFolders, and releases.
For some customers, this process takes an excessive amount of time. The updated code limits the allowed retrieval time durations.
If Connect reaches the time limit before retrieving all needed items, the first entry in the pull-down menu informs users of this status. Users must then enter the desired ID manually instead of selecting from the pull-down option.
-
When synching, now there are reduced active connections in ALM. After this change, users should notice a reduced number of connections in the ALM Site Admin tab.
- Fixed a defect where an attachment on a requirement in ALM would cause consequent comments for that requirement to erase all previous comments.
- Fixed bug where Connect ALM Connector was modifying fields (mapped and unmapped ) having & character and replacing them with @amp;.
-
Connect ALM Octane connector was returning the incorrect number of items read during each iteration in the graph.
Due to caching, the connector only reads the number of items which have changed since the last iteration (or all of the items if this is the first iteration).
- Remove extra <BR> tags after replacing line-feeds. This problem was introduced during development when fixing a missing line-feed issue. No customer impact.
-
Fixed XML encoding to ALM Octane.
Users should now be able to include restricted XML characters and not worry about this when syncing to ALM Octane plain text fields.
-
ALM Octane Connector reported deleted items without actually verifying that the deletion occurred in ALM Octane.
As a result, the connector was changed to never report that items had been deleted. When syncing from ALM Octane, Connect does not attempt to delete items from the other side.
-
ALM Octane Connector Authentication timeout errors can impact the calculation of direction of data movement in a bi-directional sync.
Fixed the issue by aborting the item synchronization if an error occurs.
- Fixed issue with ALM Octane Connector that was not advancing past the watermark.
-
Added requirement that ALM Octane comments contain visible characters.
Updated doc to be more explicit on the required format for comments.
Prior to this, some connectors (at least JIRA) would throw exceptions when adding empty comment text. Also, it was not clear to users (testers) that the text for the comment is expected to follow the user name / date stamp generated by the ALM client.
-
Remove Comment as a mappable type.
- Fixed carriage returns that are embedded in comments.
-
Added verbose trace logging around the carriage return logic.
-
Fixed DateTimeParseException in ALM Octane.
Added two new datetime supported formats.
-
Fixed performance problem related to highWaterMarks not moving forward.
Moved highwatermark forward even for items that are NOT syncable.
Added same highwatermark forward fix for Jira/TFS/Octane/ALM.
-
Support additional comment date formats in the ALM Octane Comment field.
The default is set to modify date of field or containing item if it cannot be formatted. No longer throws an exception if a date cannot be formatted.
- Updates so that international HPALM works correctly. The severity level requires mapping or calculated value.
-
Fixed failing thesaurus tests. Treat "Design Step" and "Release Cycle" as legacy labels.
If the type labels match a legacy label, return supportedType with name equal to label. Otherwise, return the name/label returned from the HPALM server. The type label in the HPALM UI could not be changed. The work around was to instead, mock this.
- When syncing relationships in JIRA from some other product, item relationships were being removed for non-synced item types. The current code does not remove links for items that are not being synchronized.
- Fixed issue with error log including incorrect errors related to converting text into a date.
- Improved ConnectItemField logging to make multi-valued fields more obvious.
- Made the constant value ALL_TYPES available to connectors.
- Corrected defect that caused a mention in a JIRA item description to be converted to plain text after synchronizing back from ALM Octane. Now, the mention converts to a link.
- Updated JIRA readMe file.
- Updated JIRA connector so it doesn't expose epicLink field for epic/subTask types.
-
Confirmed that JIRA correctly handles two images with identical md5 but different names.
The existing code already handles identical md5's when the <img> elements were identical, but failed when, for example, the <img> elements have different alt attributes.
-
Eliminated duplicate attachments in JIRA.
In JiraAttachmentHelper, changed the processing order by embedding images before attachments. Additionally, confirmed the incoming embedded images and attachments can never contain the same md5.
-
Customer receives "Invalid Sample Project Selected" when the project name contains a ':' character.
Fixed the case when there are multiple ':' colon characters in the project name.
Solution: changed the code to allow colon characters in the project name.
- The JIRA data pool's getProjectDetails method is coded to expect only one ':' colon character.
-
All JIRA types, except Epics and subTasks, now allow the epic link relationship field.
If you are working with an existing data source, the user must first update the data source default relationships.
-
Updated anchor element parsing so that only image files are considered.
Prior to this change, JIRA fetched other non-image files within an anchor.
- JIRA Project List limits are 500. Removed the restriction of the size of the project list.
- If the specified project is MetaProjectHolder, use the sampleProject.
- Replaced query for users with a query for assignable users.
-
Fixed problem with non-ascii attachment names.
Set the attachment name in a JSON field instead of in the content-distribution. The JSON field handles non-ascii characters. The content-distribution fileName does not handle them.
-
Fixed problem related to Parent in another DP.
When retrieving the parent item, (1) look in the current DP, (2) look in any DP whose sibling that contains the correct project, (3) look in any other remaining DP. This change ensures the appropriate parent item was retrieved.
- Fixed ALM Octane getting any item with the same ID. After this change users should not notice any unpredictable behavior when syncing from ALM Octane. Synchronizations failures should also be reduced.
- JSON Exception synchronizing comments between ALM Octane and JIRA. JSON exception when the comment text is a null object. Use the isNull method to test for the null object. Set the comment text to an empty string if the object is null.
-
ALM Octane Authenticator permits any random username/password to login to Connect. When creating an ALM Octane Authenticator and adding something similar to "/ui/?p=73002" to the url, any user name/password can authenticate without an error. Trim the URL when logging in.
Only the protocol, host, and port are considered from the URL that was entered from the Authenticator properties.
- ALM Octane Authenticator permits any random username/password to login to Connect. When creating an ALM Octane Authenticator, the authenticating data source properties ask for the client id/secret pair. Instead, it should be asking for a use name/password pair. To accommodate this, the property labels were changed.
-
ALM Octane was not detecting AppModuleTree changes because the fieldModifyTime was incorrect. Logs showed that the fieldModifyTime was always "1970," and the ItemSyncResult showed SKIPPED_SYNCHING_DUE_TO_BOTH_SIDES_UNCHANGED. With this fix, the fieldModifyTime is accurate, or the updated unit test fails.
- Add timestamp to SyncItemCache to minimize query when updating cache. Add test.
- Fixed issue with MissingSource records being added to CrossReference table.
- When creating an ALM Octane item and it fails due to an incorrect phase value, where possible, report that phase value back to the user (in Audit table).
- In ALM Octane Connector, updated handling of 401 errors so that they cause the connection to be restarted.
-
In the ALM Octane Connector, expose a new field called AppModuleTree that is a different representation of the Application Modules field.
Application Modules in Octane are trees. The new AppModuleTree field supports all tree values (prior representation couldn't handle leaf nodes with the same name). Both fields are kept for backward compatibility.
- In ALM Octane Connector, upgrade to use version 15.0.60 of the Octane SDK.
- In Rally Connector, updated type feature so that milestones can be retrieved (readOnly for now).
-
SilkCentralConnector - Security - Removed axis dependency and use JAX-WS.
- Instantiate requirement service with local WSDL to avoid verification of the servers' WSDL. The getLastChangedTimestamp does not exist in older versions and validation would cause an error.
- SilkCentralConnector - Security - Removed axis dependency and use JAXWS.
-
Fixed issue in Silk Central Connector that prevented using criteria to separate requirements into different groups, but still maintain relationships. Silk Central Connector should now handle forced exits gracefully.
Added Issue Manager issues to connector (merged with assigned test issues, same issue only once and merge of issue data).
Fixed and improved requirements connector such as risk and priority as enu and support for the date property.
Changed login (no axis needed) and use SID for all calls instead of user/password.
Updated date source properties.
Renamed "Sample Project" to "Project." The Project must be the same in connection and only one if custom properties are used.
Report IDs are now optional (they exit internally with SC 20.6) and only are required if a custom ID will overwrite it.
- Fixed copyright info in ReadMe.html.
- ALM/QC Connector Azure Dev Ops connectors report false positives for deleted items. Neither connector can detect deletes.
-
Added URL parameter that sanitizes TFS attachments. After this change, restricted characters are replaced with a underscore "_".
For example: test#1.jpg becomes test_1.jpg. This change is introduced because of the way Azure internally handles file names.
- Fixed issue with unicode characters. After this change users should be able to include any UTF-8 character in RichTextFields and have them displayed correctly on TFS.
- Fixed attachment name encoding. The defect was caused by not encoding strings containing unsafe URL characters. Encoding was added to string file names.
-
In the TFS connector, use ALL_TYPES if an item can be related to all types. This reduces the size of the DB and improves performance.
Traps another message when removing a TFS Release.
Added 1 more member to the shared object.
Cache type data between projects. Added logging.
- Fixed issues with incorrect library bundles referenced for the SBM connector.
- Updated core CRUD methods to use UTF-8.
- Use multiple MyBatis calls to execute a SQL script to clear watermarks. Add some logging for xrefImport.
- Call IMetaTypeIndependentProvider for getEnums, call getSyncableFieldForName (type ..) method, replaced mocking with override in test due to mocking problem with interface.
- Allow auto mapping of user defined fields in ALM Octane.
-
Fixed issue with command line REST client when using -installCert. Now there is no required port and the default port 443 is used.
- Updated command line REST client to include reporting of which fields are unique in a data source by type.
-
Imported failures in the UI should also include the following: refer to log for additional details.
Added to failure message: See server logs for detailed error information.
Always return a JSON object that contains detailed error information.
If an error occurs on the server, display the error information to the user.
-
Changed UI SERVER NOT RUNNING message to SERVER NOT RESPONDING.
Changed the message to: "Their server is not responding."
-
If the XREF is for a comment, it will have a source or target parent ptr. If so, then the XREF will not include it.
Modify test to include comment XREFs and verify they are not part of the output.
-
Removed the use of mappedProperties in the relationship manager to order syncSets due to their impact on the incorrect calculation of relationshipFields. It should include, however, those referenced in CalculatedValues.
The incorrect value for getRelationshipFields resulting in ALM Octane not returning relationship fields. There was an ignored test for use of mappings in ordering.
- Changing from common projects to specific ones - sync set cannot be deleted error on upon Save. User saves an existing connection (edit) with type rule or project mapping changes. This causes a database error, and the Save is rejected. The User is presented with a message that is unclear regarding action steps to take. Improved the message displayed to the user.
- Updated the CLI/DBAnalyze so that it can detect the duplicate syncSets bug using DB content. DBAnalyze will now generate reports on the detected duplicate sync sets. It will also report which items were "original" and which were createdByConnect. This info will be valuable if a customer runs a connection with duplicate syncSets and wants to cleanup. Comments within the code provide some extra information.
- Added some tests for CalculatedValueEvaluator.getPropertyValue.
-
JIRA data source types added after creation does not persist.
Add a new type to a data source. Upon restarting the Connect server, the new type is missing from the data source. The type properties were not added, causing the in-memory type to not match what is in the database. The type properties are now added.
-
Corrected the situation of duplicates being created during Azure DevOps to ALM Octane synchronization. When editing a connection, the old sync sets from the database that are no longer used are not deleted.
Connect collects a list of the typeMap:projectMap pairs that are needed based on the changes to the connection.
After creating the new syncsets, it collects the syncsets that exist for the connection and then deletes the syncsets that are no longer needed.
- When evaluating relationships for ordering syncsets, do not look at typesMaps that are deactivated. Only consider relationships for properties that are mapped. Added tests for both.
- The help for the maintenance jar has been updated from "client" to "maintenance."
-
Remove from the targetItemsIterator if cannot createFromTarget. Bug introduced when replacing throw on cannot add with warning message.
- Ignore a dependency to a type which isn't being mapped. That is, if the user is mapping Iterations and Tasks, but not Stories, then the fact that Tasks usually depend on Stories should have no effect on ordering. Updated tests that were not setup properly.
- No longer throw exception from addAnalyzer if configured to not allow adds. Generated a useful message instead.
-
Error exporting Cross Reference XML. It incorrectly processes UTF-8 characters. Instead of ByteArrayInputStream, use StringReader. Additional transformer settings were added.
- Updated command line maintenance jar to provide connection details, as well as the internal sync set configuration details (used by support and internal teams when investigating issues).
- Added functionality to restrict item version length.
- Fixed ordering of syncsets when relationships to same type exists. This occurs when comments are mapped.
- Calculated values without "when" criteria that fail when referencing items on both sides. Added additional mechanism to lookup associations if not found.
- Detected and cleaned server cross-references that are missing source/target status when item id is null for a source/target.
- Fixed bug where two threads were using the same DP. First thread was adding a DP to the cache with inUse==false. Second thread retrieved the same DP from the cache. The two threads using the same DP stomped on each other.
- Checked for similar items before adding or creating a PossibleAssociation. Removed code to add to ItemsOfInterest when creating a PossibleAssociation. Added test and fixed typos.
- Added test to check for the property in the condition being a multi. Fixed bug where the item was used as the propertyValue if the propertyValue is null. You should only use the item as the propertyValue when the property (the string) is empty. Added tests for this condition and added text to asserts.
- Calculated Value logic failed to find item using isDescendantOf when a field contains a list of items (vs. single item).
- Throw DisableConnectionException when CalculatedValues encounters unmapped type. Updated unit test to test for this exception.
- When HWMs have been cleared and both sides say field hasn't changed, sync direction is from older created item to new created item. This fixes the problem where after clearing HWMs, newly mapped fields do not sync.
-
Support new IMappableClassifer method and no calling getTypeName for IMetaTypeIndependentProvider.
Mock SyncSetItems to fix test failures due to having relationship manager call syncSet.get{Source,Target}GetAllItemsResponse.
- Have RelationshipMgr ask SyncSetItems for getAllItemsResponse.
- Creating a connection without common projects appears to create too many watermarks. Fixed duplications when building watermark tree that are sent to the UI for display.
- Added more unit tests for MultiValue syncable fields.
- Removed code that changes ref to missingTarget when xref is from another syncSet and the target and mirror cannot be found.
- Added some logging. Fixed NPE in logging. Added unit tests.
- Migrated existing JIRA/TFS referredTos to use __ALL_TYPES__.
- Passed a string instead of syncSet as the argument to clearWaterMarks.
- Users can now remove and save locked project mapping with the new change project functionality. It does not allow the master or target project names to be empty.
- In connection rules, added a button to allow a user to change project pair mappings (in common and type based options).
- A web socket error occurs when the user is focused on a chart for a running connection. Click Add Connection. This must fire the on-select event even if using the connection gear menu.
See also: