You can copy formulations from a USoft Studio project to the Business Rules section in USoft Teamwork (part of USoft Definer).
WARNING: This utility will automatically overwrite data in the Business Rules table. If you use it, you must no longer edit this table manually. Using Definer User Groups, you can prevent yourself and your team members from editing this table. See Authorizer Help for details.
Advanced users can write a custom XSLT transformation to determine exactly how USoft Studio translates into USoft Teamwork Business Rules and other objects. For more information, go to the last section of this help topic.
Getting the data from USoft Studio
|1.||In USoft Studio, on the Home page, in the My Projects tile, make sure you have selected the project from which you want to transfer the formulations. |
|2.||If necessary, press the Start Work button and, in the Formulations page, make sure that the formulations you want to get into USoft Teamwork have the status "Current" or "Deprecated". This is the set of formulations returned when you search by Status = "In Force" in the FILTERS tab on the left.|
TIP: If you have not been using version control, all your formulations will have Status = Planned, so none will be selected for export. To fix this, you can easily set them to Status = Current. In USoft Studio, set their "Defined In Version" property (on the ATTRIBUTES tab) to the current vocabulary version (which is 1.0 by default). Do this by holding the Shift or Ctrl key down and selecting all the formulations you want to transfer to USoft Teamwork. Submit.
|2.||In the Home page, press the Administration button.|
|The Administration page appears. Check that the name displayed across the top is the project you want to transfer to USoft Definer.|
|This downloads an XML file.|
|4.||Rename the downloaded file to a standard name that you use for the transfer, such as "export.xml", then place it in a standard local directory that you use for the transfer, such as "c:\temp\".|
Importing the data into USoft Definer
|2.||Choose Teamwork, Object Shopping, Import from USoft Studio from the USoft Definer menu, or click the "Import from USoft Studio" icon button on the icon ribbon immediately below the menu.|
|The "Import from USoft Studio" dialog opens.|
|3.||In the Export File field, specify where your USoft Studio export file is located.|
|4.||In the XSL Transformation field, specify where the XSL stylesheet is located that you want to use to transform the USoft Studio output into Teamwork Business Rules input. |
|By default, this is the "ImportFromURequire.xsl" file that USoft delivers in the \xsl\Util subdirectory of the USoft installation folder.|
A formulation is transferred only if it meets the following 3 conditions:
•The formulation has Requires Implementation = Yes.
•The formulation is NOT a detail line. Detail lines are formulations made via option New, Detail Line. A detail line always has one of the following Classification values: Note, Example, Implementation, Acc. Criteria.
•The formulation is NOT a reference to a diagram or to an external resource. Such a reference has Classification = Location.
For each formulation, the ID, Classification, and Formulation is transferred. Transferred values for "Classification" are always in the following list. These are NOT necessarily the values shown in the "Classification" column in the USoft Studio screen:
•Term (unary fact type)
•Term (binary fact type)
The following attributes are also transferred. "Defined", "Approved", "Built" and "Tested" are Yes/No flags:
When you transfer specifications with this utility, a Business Rule is considered:
•new if its ID value is not found in the USoft Teamwork's Business Rules table.
•changed if the ID value is found, but the corresponding Description text (= the Formulation text from USoft Studio) has changed.
•dropped if an ID value found in USoft Teamwork is no longer in the imported set.
The result of executing the import is that:
•Each new USoft Studio formulation is added to USoft Teamwork, with Source = USoft Studio.
•Each changed USoft Studio formulation is changed in USoft Teamwork, with Source = USoft Studio.
•Each dropped USoft Studio formulation that does not have any related implementations in USoft Teamwork is dropped also from USoft Teamwork.
•Each dropped USoft Studio formulation that does have one or more related implementations in USoft Teamwork remains in USoft Teamwork, but with Source = NULL.
The transfer utility sets the Source attribute of each rule to either the value 'USoft Studio' or to the empty value (NULL):
•'USoft Studio' indicates that the formulation comes from USoft Studio and that it is known there.
•NULL indicates that the formulation no longer exists in USoft Studio.
Values for Defined, Defined By, Approved, Approved by, Built, Built By, Tested, Tested By are always overwritten by the values presented in the import set. These are called "Progress log" values in the USoft Studio screen.
Likewise, the values for Business Area, Business Object and Rule Set are always overwritten by the values presented in the import set. If a value for any of these 3 attributes is new to USoft Teamwork, it is added also in the associated parent table. Values in these 3 parent tables that are no longer used by Business Rules are NOT dropped by the import routine. For these 3 attributes, only the identifying Name and the Description is transferred. For Business Object and Rule Set, the foreign key referring to Business Area (if any) is also transferred.
WARNING: If you decide to use this tool bridge (and you do not customise the XSLT transformation, see next section), values for :
•Source, Classification, Requires Implementation, Business Area, Business Object, Rule Set, as well as for:
•Defined, Defined By, Approved, Approved by, Built, Built By, Tested, Tested By
must NOT be edited manually in USoft Teamwork, because such work would be automatically overwritten next time you use the bridge utility. USoft Teamwork has no way of keeping you from making this mistake.
The intended use is that you import from USoft Studio regularly to keep synchronized with USoft Studio. Maintain all transferred specifications in USoft Studio. Maintain all remaining specifications in USoft Teamwork.
Advanced users can write a custom XSLT transformation to determine exactly how USoft Studio translates into USoft Teamwork Business Rules and other objects. This replaces the behaviour explained in earlier sections of this help topic.
If you replace the XSLT transformation, the following will still apply:
•Before import, the Source foreign key in all existing Business Rules records is set to NULL.
•After import, any unsynchronized Notes, that is, any Notes that belong to a Business Rule, are dropped.
•After import, the Belongs To foreign key in all existing Business Rules records is set to NULL.
•After import, all Business Rule records that have Source = NULL and no corresponding Implementations, are dropped.
IMPORTANT: Because of the last item in this list, your custom XSLT transformation must set the Source attribute of each successfully imported Business Rule to a non-NULL value, for example, 'USoft Studio'.
To apply a custom XSLT transformation:
|1.||In the Rules Engine Parameters table, for the UREQUIRE_INPUT_XSL parameter, replace the setting '(null)' with the filepath and filename of your custom XSLT transformation.|
|TIP: You can test if this filepath and filename is processed as an existing file. This is the case when the following (in SQL Command of USoft Definer) returns 1 and not 0:|
SELECT usd_files.existing( filepath-and-filename )
|2.||Write your custom XSLT transformation. You probably want to do this by altering the USoft default, which is "ImportFromUSoft Studio.xsl" in the \xsl\Util\ subdirectory of the USoft installation directory. |
|TIP: The path to the USoft installation directory is returned by:|
SELECT rulesengine.getproperty( 'SystemDir' )
|3.||Place the custom XSLT transformation of Step 2 at the file location that you have specified in Step 1.|
|4.||Perform the steps described in the section "How do I get data from USoft Studio into USoft Teamwork" at the top of this help topic.|