PART 1 : Create a new type and embed it in the 'Type Chooser' for standard search
Tasks in this chapter
- Create new attributes with BUSINESS
- Create new type with BUSINESS
- Create and assign a new policy
- Create a new Dictionary entry in MATRIX
- Modify the type chooser for web based search
Disclaimer :
This document only reflects my personal experience and is not an official documentation.
All product and company names are trademarks of their respective owners.
Introduction
First of all you use the BUSINESS to create new attributes and a new type, as well as a new policy.
How to do this is not a secret and everybody who work with ENOVIA V6 did it several times for sure.
To follow this scenario you need
three attributes :
Description_E (type String / Multiline)
Description_F (type String / Multiline)
Description_G (type String / Multiline)
one type :
Dictionary (not derived from any other / inherited the three previous created attributes)
one policy :
Dictionary (governed the type Dictionary / one State 'Exists' / allstates and full access )
To define a conjunction between policy and a type you have to edit the policy, go to the 'Governed Types' page and add the desired types.
Take care that you create symbolic names after creation of attributes, type and policy.
Attached you'll find the appropriate MQL commands.
After business modeling is done everything is fine in MATRIX - Application.
You can create a new Dictionary entry and search for it.
Einen neuen Eintrag im MATRIX rich client erstellen
Create a new Dictionary entry with MATRIX rich client
1. Create a new Object / Original and select 'Dictionary' from type list. Define a name and select the policy. [Create]
2. Fill out the additional attributes [Modify]
--> the Dictionary entry is saved in database
3. Search for it and see that the Dictionary type is also part of Type Chooser list in MARTIX rich client
--> you can fulfill your search and open the attributes for your previously created Dictionary entry
Type chooser in Web Interface
But what happened to the ENOVIA V6 Web Interface ?
The 'Type Chooser' does not contain the 'Dictionary' type and therefore it is not possible to search for it.
The solution for that is very simple. The 'Type Chooser' in Web interface is configured within the
emxFramework.GenericSearch.Types entry in emxsystem.properties file.
See the complete documentation for the 'Search Settings' :
{Documentation Installdirectory}/B211doc/English/DteCustomizingMap/dte-t-searchproperties-set.htm
So you have to modify the emxsystem.properties file like :
After restart Tomcat and relogin the Dictionary is part of the 'Type Chooser' and you can proceed the search for the previously created entry.
After selecting the 'Dictionary' and completing the search,
the results will display in a standard table
and also the web form will display the entry according the standard creation procedure for web forms
Conclusion
To create a custom specific structure or enhance existing types is quite simple in ENOVIA V6. To provide a customized type chooser for Web based search you only have to modify the emxsystem.properties file.
Next
The next post will cover how to create a new object within the ENOVIA V6 web interface instead using the MATRIX rich client.
MQL to create the Objects
# Add attribute Description_E.
#
add attribute Description_E
type string
description "Description English"
multiline ;
# Add attribute Description_F.
#
add attribute Description_F
type string
description "Description French"
multiline ;
# Add attribute Description_G.
#
add attribute Description_G
type string
description "Description German"
multiline ;
# Add type Dictionary.
#
add type Dictionary
description Dictionary
abstract false
attribute Description_E
attribute Description_F
attribute Description_G;
# Add policy Dictionary.
#
add policy Dictionary
notenforce
description Dictionary
type Dictionary
state Exists
version false
revision false
promote false
checkouthistory false
owner none
public none;
modify policy 'Dictionary'
state 'Exists';
# Edit policy Dictionary.
#
modify policy Dictionary
state Exists add
allstate
add owner all
add public all;
modify policy 'Dictionary'
state 'Exists';
# Add symbolic name
# with pure MQL like this
add property "attribute_Description_E" on program "eServiceSchemaVariableMapping.tcl" to "attribute" "Description_E";
add property application on "attribute" "Description_E" value "Dictionary";
add property version on "attribute" "Description_E" value "1-0";
add property 'original name' on "attribute" "Description_E" value "Description_E";
add property installer on "attribute" "Description_E" value "instDictionary";
add property 'installed date' on "attribute" "Description_E" value "15.08.2011";
# Add symbolic name
# A more convenient way to add symbolic names to ENOVIA was provided by Dr. Ulf Landscheid from Dassault Systèmes. He uses a TCL procedure and commit only variable dues.
tcl;
proc RegisterSymbolicName {WHAT ORIGINALNAME} {
set SYMBOLICNAME [string map {" " ""} $ORIGINALNAME]
set INSTALLDATE [clock format [clock seconds] -format %D]
mql add property ${WHAT}_$SYMBOLICNAME on program eServiceSchemaVariableMapping.tcl to $WHAT "$ORIGINALNAME"
mql add property application on $WHAT "$ORIGINALNAME" value "Dictionary"
mql add property version on $WHAT "$ORIGINALNAME" value "1-0"
mql add property installer on $WHAT "$ORIGINALNAME" value "instDictionary"
mql add property "installed date" on $WHAT "$ORIGINALNAME" value "$INSTALLDATE"
mql add property "original name" on $WHAT "$ORIGINALNAME" value "$ORIGINALNAME"
}
RegisterSymbolicName attribute "Description_F"
RegisterSymbolicName attribute "Description_G"
RegisterSymbolicName type "Dictionary"
RegisterSymbolicName policy "Dictionary"
exit