DiscussionsIssue archiveOCCT:Application Framework

Archived issue #0030169

Application Framework - Document format version management improvement

Open CASCADEOCCT:Application Frameworkclosed27 public notes

Search issues

Description

At the moment attributes drivers can have access to the document format version via set of static methods in each package of drivers and PropagateDocumentVersion() method in Document driver. New methods SetHeaderData /GetHeaderData of Relocation table allow sufficiently simplify it. So, it is proposed to redesign it.

Steps to reproduce

N/A.

Public activity

27 archived notes

Participants are labeled by their role within this record.

01Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Tue Oct 9 17:30:10 2018 +0300

    0030169: Document format version management improvement.
02Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Tue Oct 9 18:08:23 2018 +0300

    0030169: Document format version management improvement.
    
    // Adding missed files.
03Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Wed Oct 10 15:41:58 2018 +0300

    0030169: Application Framework - Document format version management improvement.
    
    //Fixing warnings.
04Commenter 4
05Commenter 5
Please, reconsider Storage_HeaderData myStorageVersion as an integer value, not string, since it is used as integer everywhere without checking.

Please, add information how to port to this version for the custom drivers-creators in update.md file.
06Commenter 6
See below my remarks.
1)Modification of Storage_HeaderData myStorageVersion to integer value is feasible, but it has some negative consequences such as necessity to modify:
- set of StdStorage classes which supposes Ascii format (i.e. back conversion)
- Storage_BaseDriver and nesting FSD drivers plus Storage_Schema and Storage_Data
- support compatibility with old FSD files (low level persistence, i.e. it will lead to adding support of versioning to BaseDriver.
So, if you see a real benefit from this improvement I suggest to move this feature to a new separate bug.

2)Concerning guide for porting (I suppose you mentioned ..\dox\dev_guides\upgrade\upgrade.md) I agree to prepare a short guide for porting.
07Commenter 7
Ok to make a separated issue for the change of storage version task.

StdStorage and all related classes may stay unchanged, since it has no connection to other kinds of schema and obsolete for now.
08Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Thu Oct 11 16:24:20 2018 +0300

    0030169: Application Framework - Document format version management improvement.
    
    // adding porting guides.
09Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Tue Oct 9 17:30:10 2018 +0300

    0030169: Application Framework - Document format version management improvement.
10Commenter 10
Upgrade notes are integrated.
Review, please.
11Commenter 11
Reviewed.
12Commenter 1
Combination -
OCCT branch : [archived branch] SHA - [revision removed]
Products branch : [archived branch] SHA - [revision removed]
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
Debian80-64:
bugs caf bug28425 - FAILED
bugs fclasses bug24931 - FAILED
http://occt-tests/CR30169_4-master-APN-OCCT/Debian80-64/summary.html

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17439.659999999833 / 17385.999999999854 [+0.31%]
Products
Total CPU difference: 7437.070000000066 / 7445.680000000064 [-0.12%]
Windows-64-VC14:
OCCT
Total CPU difference: 17469.05438039853 / 17457.853508598404 [+0.06%]
Products
Total CPU difference: 8375.568889199996 / 8343.292282299992 [+0.39%]

Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
13Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Tue Oct 16 12:43:05 2018 +0300

    0030169: Application Framework - Document format version management improvement.
    
    //Fixing test cases bug28425 & bug24931 on Linux.

Author: Author
Date: Tue Oct 9 17:30:10 2018 +0300

    0030169: Application Framework - Document format version management improvement.
14Commenter 14
The last issue with with bug28425 & bug24931 is fixed (several lines were accidentally were removed).
Modified only the single file XmlLDrivers_DocumentStorageDriver.cxx.

New branch CR30169_5 was successfully retested:
- at http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30169-master-szy-Products-Debian80-64-opt-test-compare/1/
- at http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30169-master-szy-OCCT-Debian80-64-opt-test-compare/1/
- at http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30169-master-szy-Products-Windows-64-VC14-opt-test-compare/1/
- at http://vm-jenkins-test-12.nnov.opencascade.com:8080//view/CR30169-master-szy/view/COMPARE/job/CR30169-master-szy-OCCT-Windows-64-VC14-opt-test-compare/

The last log (on Windows-64-VC14) contains
"Known instability:
bugs vis bug79"
It is pure visualization problem - not linked with the current issue.
Revise it, please.
15Commenter 15
Reviewed.
16Commenter 1
Combination -
OCCT branch : [archived branch] SHA - [revision removed]
Products branch : [archived branch] SHA - [revision removed]
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17581.429999999786 / 17553.839999999873 [+0.16%]
Products
Total CPU difference: 7442.650000000075 / 7416.290000000055 [+0.36%]
Windows-64-VC14:
OCCT
Total CPU difference: 17581.687102398468 / 17582.732309098545 [-0.01%]
Products
Total CPU difference: 8318.488123299987 / 8362.40240479998 [-0.53%]

Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
17Commenter 1
There is following compilation error in DEBUG mode:

Windows-64-VC10-deb:
>c:\builds\CR30169_5_master\Windows-64-VC10-deb\OCCT\src\BinMDataStd\BinMDataStd_IntegerArrayDriver.cxx(80) : error C2039: 'DocumentVersion' : is not a member of 'BinMDataStd'
> C:/builds/CR30169_5_master/Windows-64-VC10-deb/OCCT/src/BinMDataStd/BinMDataStd.hxx(31) : see declaration of 'BinMDataStd'
>c:\builds\CR30169_5_master\Windows-64-VC10-deb\OCCT\src\BinMDataStd\BinMDataStd_IntegerArrayDriver.cxx(80) : error C3861: 'DocumentVersion': identifier not found

Debian80-64-deb:
/CR30169_5_master/Debian80-64-deb/OCCT/src/BinMDataStd/BinMDataStd_IntegerArrayDriver.cxx:80:11: error: 'DocumentVersion' is not a member of 'BinMDataStd'

18Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Thu Oct 18 15:52:01 2018 +0300

    0030169: Application Framework - Document format version management improvement.
19Commenter 19
Fixed.
20Commenter 20
Reviewed.
Not necessary to retest, just compile.
21Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
22Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
23Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
24Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
25Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
26Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
27Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]