gPM
SCM

Notes:

Release Name: 1.8

Notes:

gPM 1.8

Changes:

Changes in v1.8
---------------

- MAJOR feature :

* The part of the data base schema used to store sheets, products and links has been modified. 
For each type, gPM generates specific tables to store elements of this type.


- New features :

* Product Breakdown structure (DM 192): This evolution enable:
		 1. An administrator to manage products (creation, update, deletion).
		 2. An administrator to export/import products (XML format).
		 3. A user to change the type of filters displayed by the filter's tabs.
    -> Update UI Themes

* ProductsUtils class has been removed : 
	ProductService must be used instead of this class

* New service DataTransformationService :
	Used to convert CacheableValueContainer from/to old datra structures

* Add method atomicTestAndSet to the AttributesService

* Add method getSheetTypes to the SheetService

* Update links displaying

* Take account of the user selected language when the admin update a user.

* Add the cacheableSheet (valuesContainer) on 'postDelete' extension point context.

* Some extension points has been renamed. The old names can be used but they are
deprecated and will removed on v2.0.
    - postGetSheetModel -> postGetModel
    - cloneFromSheet -> postGetDuplicationModel
    - copyFromSheet -> postGetInitializationModel
    - preCreateSheetLink -> preCreate
    - postCreateSheetLink -> postCreate
    - preUpdateSheetLink -> preUpdate
    - postUpdateSheetLink -> postUpdate
    - preDeleteSheetLink -> preDelete
    - postDeleteSheetLink -> postDelete

* Some extension points parameters has been renamed. The old names can be used 
but they are deprecated and will removed on v2.0.
    - sheetId -> valuesContainerId
    - sheetValues -> valuesContainer
    - sheetType -> fieldsContainer
    - linkId -> valuesContainerId
    - linkValues -> valuesContainer

* Extension points has been added for products.
    - postGetModel
    - preCreate
    - postCreate
    - preUpdate
    - postUpdate
    - preDelete
    - postDelete

* Add pointer fields to virtual fields:
	$SHEET_STATE, $SHEET_REFERENCE, $PRODUCT_NAME, $SHEET_TYPE

* Add class "cursorHand" in CSS theme.
.cursorHand {
    cursor : pointer;
}

* Add container id, product name on extension point context of 
ChoiceStringDisplayHint

* The new attribute 'maxSize' of the tag 'simpleField' can be used to limit the
size of String fields used by sheet types, link types and product types.
By default, the maxSize is 256 characters.
It is important to define this attribute to optimize the database access.

* The new option -G, of the Instantiate tool, must be used to generated the
specific schema part for the different types defined by an instance.

* The new option -E, of the Instantiate tool, can be used to export the data
base schema.

* By default, on visualization or edition of sheet, the links are sorted using 
the functional reference of the linked sheets.

* Add parameter reportModelName on report generation

* Add the case sensibility to the filter's criteria.
Possibility to redefine the SQL function of the case sensibility. The method 'lower'
is used by default to compare SQL terms.

* Support for access control on filter, called 'FilterAccess':
    ¤ defines control for a role, a type and/or a field
    ¤ defines control for a role and a visibility
    ¤ adding additionnal constraints (criteria) to the filter
    ¤ Reporting the filter's execution
    
* Many methods have been deprecated (see RELEASE NOTE file)

Major bug fixes :

* (Bug 955): Problem on gPM's options instantiation : at each instantiation
the options authentication and autoloking were updated with default values

* User's "Forename" field traductions (English and French)

* New attribute on DisplayGroup tag (on instantiation file) : isOpened. 
This attribute is used on sheet creation page.

* Filters criteria : It is possible to define empty criteria on simple string fields. 

* Include seconds in date-time format

* Problem with concurrence are fixed : the lock management becomes atomic and are 
out of transaction. So it's not possible to store it on cache, and method using
cache are removde of CacheableValuesContainer objects. The method
SheetService#getLock can be used instead.

* Improvement of Filter construction (retrieving usable fields)

* Filter instantiation: add operator validation at criteria and results fields creation

* Fix extended actions refreshing on the HMI.
Powered By FusionForge