Professional Documents
Culture Documents
Schema Agent 3DEXPERIENCE R2020x Rev1 ReleaseNote
Schema Agent 3DEXPERIENCE R2020x Rev1 ReleaseNote
ENOVIA Schema Agent (Spinner) eases the burden of migrating schema from a source to target environment,
eliminates the need for scripts and enables offline review and modification of schema. This tool is widely used by
customers for ENOVIA V6 implementations and upgrades as it helps manage or modify schema and is convenient to
use.
Spinner is a platform independent dynamic scripter that streamlines the process of adding, updating and pushing
schema changes into the ENOVIA V6 database while reducing manual and scripting errors during an implementation,
upgrade or migration.
Spinner is design to utilize tab-delimited text files through the command line feature of the PLM Modeling Studio (MQL).
It is not an import/export procedure, rather a script consisting of MQL add and modify commands to push schema
changes
Spinner saves customers up to 60% of the time normally required to upgrade and manage their ENOVIA environments
o No need for programming experience to use
o Significantly reduces upgrade errors
IMPORTANT BEHAVIOR CHANGES STARTING WITH SPINNER R2017x GA. Schema Agent (Spinner) is a tool to only manage schema definition
changes in the ENOVIA DB. Any data load (e.g. creating/modifying business objects and check-in files) operations are not supported and also
not recommend using the spinner tool. Support for business objects and relationship is restricted for the following business object types and
relationships which are part of ENOVIA schema definition:
Supported Relationships
eService Number Generator
IMPORTANT BEHAVIOR CHANGES STARTING WITH SPINNER R2019x Rev2. Schema Agent (Spinner) tool do not allow customizing schema elements
(Type, Interface and relationship) governed by unified typing rules. Configuration provided to enable import of Type governed by Unified Typing rule
has removed from the spinner configuration files
If Relationship or Interface being customized and those are governed by the rules of Unified Typing, spinner will block the modification of schema
element, however this default spinner behavior can be changed by adding respective schema element name in exception list. As an exception the
trigger modifications on type and relationships are allowed using spinner, irrespective of the Unified Typing configuration in the spinner settings
Always follow best practices provided by OOTB for Data Model Customization, Spinner export/import unified typing packages feature compliments
OOTB unified typing application for migrating the customized 3DEXPERIENCE Data Model which allow export & import custom unified typing
packages through simplified spinner approach.
Open Issues
N/A
Documentation Addenda
Operating System
Windows 10 - 64bit
Windows 2008/2012
Linux Red Hat (6.1)
AS Design Behavior
Spinner does not modify column name of a table.
Cannot add a table with a single column with empty name.
Cannot add an empty name column for an existing table.
Program Names: If a program name contains any OS sensitive characters, the extractor program will not
generate the program details
Excel data handling: Be careful with data sensitive to Excel manipulation. It can wreak havoc with your
data! In these cases, use an editor like Ultraedit. Some examples are:
o Boolean values will be FALSE or TRUE, normally not a problem unless needed as True or true. In this case,
pre-pend with a ‘(‘ False will appear as False )
o Insignificant zeroes are dropped from what Excel interprets as numbers (000000001 will be changed to 1 )
o Large ‘numbers’ will be pushed to scientific notation (123456789012 will be changed to 1.234567E+11)
o Data can be interpreted as dates (sep12 will be changed to 9/12/2005)
o Extra sets of double quotes added to data with quotes and commas. These are generally accounted for and
corrected by Spinner, but occasionally a new use case will rear its “”ugly,head””.
Page object registration: MQL (at least up to 10.6.1) does not support registrations for page objects,
therefore, Spinner will not error but provide a warning in the log file.
While working with Webforms, if the webform contains duplicate field names, please delete the webform
before modifying the webforms data via spinner. The Webforms can be deleted manually or can be
deleted using the double tags << >>
o Example: To modify the webform "Webform_XXX" via spinner delete the webform first as
<<Webform_XXX>> and then recreate it through spinner.
o Note: The webform "Field Names" should be unique however; the "Field Labels" can be the same.
The interface attributes on relationship objects cannot modified via Spinner.
For a table, MQL does not retrieve the label of a column having an empty name.
Installation Sequence:
Refer Schema Agent-User’s Guide for the details.
Version History
1. SpinnerPolicyStateData -
New column header “Split Change Type Interface Access (boolean)” added for
splitchangetypeinterfaceaccess in the SpinnerPolicyStateData_ALL.xls data file.
2. SpinnerRuleData -
New column “Split Change Type Interface Access (boolean)” added in the SpinnerRuleData_ALL.xls data
file.
Split Change Type Interface Access clause determines which of these methods used for adding and
removing interfaces.
If set to true, the addinterface and removeinterface accesses control access for
interfaces.
If set to false, the changetype access controls access for interfaces.
3. Policy Access -
Added two new accesses i.e. AddInterface and RemoveInterface columns on policy scheme in policy
access (policy/PolicyName.xls file) data.
4. Rule Access -
Added two new extra accesses i.e. AddInterface and RemoveInterface columns on rule scheme in rule
access (rule/RuleName.xls file) data.
Spinner Property data import column "To Schema Type" and "To Schema Name" is not importing correctly.
Extraction of remote vault data fails. OOTB has removed support for remote vault creation hence block support to
export remote vault through spinner.
SpinnerInterfaceData
Two new column headers ResetonClone (boolean) and ResetonRevision (boolean) introduced in
SpinnerInterfaceData_ALL.xls file to support ResetonClone and ResetonRevision functionality.
SpinnerCommandData
Column “Code” has been removed from SpinnerCommandData_ALL.xls file headers.
Package Export
Spinner package export utility enhanced to export package data in .zip file format.
Package Import
Spinner package import utility enhanced to support <PackageName>.zip file.
Package Export
Spinner package export utility enhanced to support exporting package using the package name and its
prefix (<Prefix>_<PackageName>).
11. In SpinnerAttributeData_All.xls, if attribute name contains dot and owner column is blank, incorrect attribute name
added
spinner.config
o Includes all runtime configuration, these configurations vary depends on 3DExperience environment installation.
o Variables configured in spinner.config page file has higher precedence than variable configured in emxSpinnerSettings.tcl
program file.
emxSpinnerSettings.tcl
o Include system configuration, which enables the default behavior of spinner programs.
o You should avoid modification in this program and in case of any configuration, add/update changes in “spinner.config”
file
New program combines different export/import commands in SpinnerExport/SpinnerImport commands. Features which are
includes as part of generic export/import commands are:
Schema Export/Import
People & Organization (P&O) Objects Export/Import
Custom Unified Typing Packages Export/Import
Registered Widgets Export/Register
1. emxSpinnerSettings.tcl
2. emxSpinnerAgent.tcl
3. emxExtractSchema.tcl
Commands renamed
1. License rehost command “emxSpinnerLicenseRehost.tcl” is renamed as “SpinnerLicenseRehost”.
2. Program to export business objects and relationship “emxExtractObjectsRels.tcl” is now converted as
“SpinnerExtractObjectRels”.
3. Program for PnO migration to create missing Admin Role for Org “emxSpinnerPnOScanOrgAdminRoles” is now
converted as SpinnerPnOScanOrgAdminRoles
4. Program for PnO Migration Product license assignment to the users in 3DEXPERIENCE platform
“emxSpinnerPnOLegacyLicenseMapping.tcl” is now converted as “SpinnerPnOLegacyLicenseMapping”.
Commands removed
12. PnO Export and Import commands emxSpinnerPnOExport.tcl, emxSpinnerPnOImport.tcl removed. The same
functionality is now available through Spinner Generic Import/Export commands.
13. Unified typing customized package Export and Import emxSpinnerPackageExport.tcl, emxSpinnerPackageImport.tcl
removed. The same functionality is now available through Spinner Generic Import/Export commands
14. emxSpinnerPnOConfiguration.tcl is now removed, configuration required for PnO and Unified Typing Packages is now
available through spinner.config page.
By default, this function is disabled during spinner installation which can be enabled easily by changing the setting
“bJavaImport” in spinner configuration program “emxSpinnerSetting.tcl”. If the value for this configuration is TRUE,
then schema will be imported using the new approach or else (if FALSE) schema will be imported using same old TCL
programs.
Important Note: From spinner R2018x release onwards we have removed support for TCL based schema import, java based
import is the only option.
Other Enhancements
1. Enhanced Spinner Command data to block and unblock user functionality for command schema type.
2. Enhanced spinner type data file to support maybecomposed feature on business type.
3. Added support for remove minor sequence and major sequence on policies.
4. Enhanced spinner files to support indexhost and indexport on location and store.
5. Enhanced Spinner PnO import functionality to support the transaction-mode and transaction-size
parameters.
6. Enhanced Spinner PnO functionality to support assignment of Casual License to user
7. Enhanced spinner to support different transaction modes. Below are the different transactions modes
which can be configured in emxSpinnerSettings.tcl
a. sTransactionMode = RollbackEverything - Import all schema objects and do not commit
anything to database
b. sTransactionMode = RollbackSchemaType – selective rollback for schema type
c. sTransactionMode = RollbackCurrent – rollback only failed query and commit everything
else.
8. Enhanced existing spinner scan functionality. Below is the command to execute scan
a. execute program emxSpinnerAgent.tcl scan;
By default, this function is disabled during spinner installation which can be enabled easily by changing the setting
“bJavaImport” in spinner configuration program “emxSpinnerSetting.tcl”. If the value for this configuration is TRUE,
then schema will be imported using the new approach or else (if FALSE) schema will be imported using same old TCL
programs.
3. Attribute import fails with below error if Hidden (boolean) column is blank.
Error Message: attribute type Reading Attribute data...Processing 6 Attribute rows. Can’t read "aDat(9)": no such element
in array Error: #1900068: exec program failed
4. Execution of emxSpinnerDocument.tcl throws below errors while exporting program html documentation.
Error Message: Start Processing program ... list element in braces followed by "{"Name"="inIDs","Mul" instead of space
Error: #1900068: exec program failed
5. Execution of emxSpinnerDocument.tcl throws below errors while exporting location html documentation
Error Message: Start Processing location ... Error: #1900068: print location failed Error: #1900003: Expected keyword - got
'url' Error: #1900068: exec program failed
6. Extracting roles from database is not returning the registration name for roles as an org
7. Spinner import failed with below error when Role registry name contains “_” char
Error Message: Building name to symbolic name mapping arrays... association attribute channel command dimension
expression webform format group index inquiry interface menu couldn't compile regular expression pattern: parentheses ()
not balanced Error: #1900068: exec program failed
8. Not able to import portal after deleting channel from portal (when Portal has empty channel value)
9. Spinner installation displaced successful message when spinner installation has error.
10. Spinner add ranges incorrectly when ranges contains #
11. Spinner export does not support schema extraction between specific dates
12. After table addition column order is not as expected
a. Spinner provides configuration to developers and system administrators which enables them to
avoid changes to schema elements governed by unified typing rules (Type, Relationship
and Interface) and allow export & import custom unified typing packages through simplified
spinner approach (refer Schema_Agent-
3DEXPERIENCE_R2016x_Export_Import_Custom_Unified_Typing_Packages.pdf for more
information)
3. Spinner rollback
a. Spinner rollback feature provides a mechanism for the ENOVIA V6/3DEXP schema
developers/administrators to rollback/undo any modification applied to schema elements during
Spinner Import operation in Overlay mode. During spinner import process, the existing schema
element definition is extracted into rollback folder as standard spinner files which includes all the
as-is definition of modified (added/modified/deleted) schema elements. Spinner rollback files are
used by the spinner to revert back the schema changes (refer Schema_Agent-
3DEXPERIENCE_R2016x_Spinner_Rollback.pdf for more information)
4. Spinner PnO Export and Import functionality is enhanced to support customized attributes on the PnO types
(Person, Company, Business Unit and Department). The custom attributes on the PnO objects can be
exported and imported using Spinner PnO functionality. The number of columns and column order in PnO
files will change if there are any custom attributes added on type PnO types.
Issues Fixed in 3DEXPERIENCE R2016x Rev1:
1. Spinner is not adding policy states in the correct order i.e. as per the order mentioned in
SpinnerPolicyStateData.xls.
2. Spinner doesn’t update expression on table column for some tables randomly.
3. Not able to delete Table column in non-overlay mode without using angular brackets <<>> for column
name.
4. Not able to delete webform field in non-overlay mode without using angular brackets <<>> for
column name.
5. Not able to delete policy state in non-overlay mode without using angular brackets <<>> for column
name.
6. Not able to delete dimension unit in non-overlay mode without using angular brackets <<>> for
column name.
7. After adding a Table, columns order doesn’t match with the order mentioned in Spinner file, if there
are duplicate coulmns.
8. After adding a webform, fields order doesn’t match with the order mentioned in Spinner file, if there
are duplicate form fields.
9. PnO Import fails after modification if Last Login Date is present in the PnO Person file.
2. PnO Management feature is updated to support extraction and assignment of product licenses along with
Person’s Security Context. To enable extraction of product license assignment below configuration must
be set to TRUE in emxSpinnerPnOConfiguration.tcl.
4. PnO management updated to support extraction of particular P&O objects. Please refer Schema_Agent-
3DEXPERIENCE_R2015x_PnO_Management.pdf for information on how to export particular PnO objects.
Issues Fixed in 3DEXPERIENCE R2016x Beta2:
1. Unable to change default unit on dimension
2. The Original Name property on the schema element is populated by using Registry Name instead of Actual
Name.
3. Schema extraction fails if states are not registered.
4. Unable to order table columns if Column data contains only one column for table and table is processed
last.
5. Unable to extract PnO data if person address is in multiline format.
Spinner PnO License mapping fails to perform mapping for legacy licenses.
Schema export functionality is enhanced to reduce the extraction time. In emxSpinnerSettings.tcl new
configuration bJavaExtraction is added, if the value for this configuration is TRUE then schema will be
extracted using the new approach or else will be extracted using same old tcl programs. The default value
of this configuration is TRUE.
Schema export functionality is enhanced to reduce the extraction time. In emxSpinnerSettings.tcl new
configuration bJavaExtraction is added, if the value for this configuration is TRUE then schema will be
extracted using the new approach or else will be extracted using same old tcl programs. The default value
of this configuration is TRUE.
4. While adding a new policy if policy has only one state and state entry is processed as last entry then
spinner policy import fails.
5. Not able to import Table columns in non-overlay mode
6. Not able to import webform in non-overlay mode
7. Schema element is not getting deleted in non-overlay mode
1. Location of Log files generated during License validation can be configured so that end user can define the
location if default options cannot be used. New configuration LogDir is added emxSpinnerSetting.tcl, by
default the configuration value is blank.
2. If the License is renewed and not re-hosted, program displays warning message to user for license rehosting
before program execution.
3. Added new column Enforce Reserve Access in policy state data and rule data to support new functionality
added by OOTB in R2015x for reserve/unreserve access.
4. Added new column LocalFilter in policy access file and rule access file to support local filter on policy and
rule.
5. Simplified Overlay mode for Spinner files, refer to Schema_Agent-V3DEXPERIENCE_R
2015x_Spinner_Files_Definition.pptx for more details.
Issues Fixed
1. Fixed issues, All columns in exported WebForm Field data file showing repeated values if Field name
is Blank
2. Fixed issues, settings are not extracted correctly for columns if any of the column is having name as
blank
3. Fixed Issue, not able to remove value for Value Type for attribute
4. Fixed issue, not able to set Max Length value to default with <NULL>
5. Fixed issue, If Value column has a value which contains ' $ ' in between, then spinner throws error
"Can't read <value>”
6. Fixed issue, person admin access is not getting updated if person data file is not present
7. Fixed issue, person object access is not getting updated if person data file is not present
8. Fixed issue, Unable to remove email id from person
9. Fixed issue, Unable to Change 'type' value for person
10. Fixed issues, person admin access and object access get modified even nothing is modified in
respective spinner files
11. Fixed issue, Unable to remove Route User in Policy State data using <NULL> or Blank
12. Fixed issue, NULL not supported in Abstract column to set default value in relationship data file
13. Fixed Issue, Unable to remove Parent type in Type data file
14. Fixed Issue, Site is not getting removed with <NULL> for Group
15. Fixed Issue, Site is not getting removed with <NULL> for Role
16. Fixed Issue, not able to remove code with <NULL> for command
17. Not able to remove height for channel with <NULL>
18. Fixed Issue, not able to import code from .json file while adding command
19. Fixed issue, while adding or removing channel from portal, portal gets deleted first and then added
back with channel modifications.
20. Fixed issue, modifying page name creates a new page object in database
21. Fixed issue, page registry name is not getting removed with <NULL>
22. Fixed issue, Channel cannot be removed from portal if they are defined on the same row
23. Fixed Issue, not able to remove code with <NULL> for inquiry
24. Fixed Issue, Spinner deletes the schema if only name is mentioned in the schema file.
25. Fixed issue, Error message displayed while importing packaged mxJPOs with program data file
26. Fixed issue, program is not getting deleted with <<>> if source file exist for program in mx format
27. Fixed Issue, not able to remove type from webform with <<>>
Policy Access file is enhanced to support Owner, reserve, maturity and category.
b. Support Revoke
Spinner rule access files have been enhanced to support the revoke on access rules. A new column
“Revoke(boolean)” is added after key column.
Issues Fixed
N/A
2. Fixed policy signature issue, Spinner used to remove signatures during state data processing and add back
again during signature data processing, which used to result in to data loss on business objects.
3. Fixed issue related to person access import, Persons object access and admin access was not getting
modified correctly.
4. Fixed importing attribute issue related to adding ranges. Whenever user used to add one or many ranges
to an attribute, Spinner used to remove all existing ranges first and then add all ranges along with the new
ones. Now removing ranges and then adding all ranges will not take place, only adding a range will occur
for new range addition using Spinner.
5. **Important** Modified Spinner License behavior. This modification doesn’t have direct impact. Only
precaution needs to be taken is to use the correct SpinnerBuild.jar installed along with Spinner 2013x
Rev4. This jar gets copied into required Enovia directories during Spinner Installation, so no extra care is
required on the machine where spinner is installed, but if user has only studio and server installed locally
and pointing to database on some other machine in that case jar needs to be copied manually in to
server\win_b64\docs\javaserver.
1. Fixed 23 schema extraction TCLs that caused an “unlock” error during extraction on Unix based systems
only.
Supports the new Major/Minor functionality introduced in ENOVIA V6R2012 HF5. This functionality is only enabled
when the MQL ‘upgrade revisions’ command is successfully executed on database Code Base: ENOVIA version
V6R2012 HF5
3. Enhance Attribute data with new columns Max Length (integer),Reset on Clone (boolean) and Reset on
Revision (boolean).
4. Enhance Store/Location data with Removed Multiple Directories Definition (deprecated).
5. Enhance Relationship data Reinstituted ‘From Meaning’ and ‘To Meaning’ description fields.
5. Added feature to provide full migration functionality for database connections. These include connections
for bus obj to rel, rel to bus obj and rel to rel in addition to bus obj to bus obj.
- Sample Spinner files are available in emxLibSchemaAgent_V6R2009x\templates\Spinner\Relationships
folder.
- Program emxExtractObjectsRels.tcl will only output the different types of rel data files if they exist with
the prefixes (rel-b2r_, rel-r2b_ and rel-b2b_).
Spinner will only try to input rels based on the prefix. If using older files, the ‘rel_’ prefix still works.
- To delete a connection using any of the connection data files, use <DELETE> tag in the first attribute
column. To change an attribute, you need to add
TRUE in the field after the last attribute field. Before using delete or change, make sure to set
bBusRelOverwrite to TRUE in emxSpinnerSettings.tcl.
Version 10.6.1
1. ENOVIA Version 10.6 compliant.
2. Added business object grant capability.
1. Fixed and enhanced code for bus objects and connections – allows activation of add, mod and/or delete
triggers.
2. New bus object file spinner for checking in files based on TNR and path.
3. Settings have been removed from program and placed in separate file in database or file system.
4. Spinner parameters to specify User Settings File and Spinner working directory.
1. Modified emxSchema_Dumper.tcl to fix problem with an extra “ ]” character being added to emxSpinner*.tcl
files.