Archived issue #0030169
Application Framework - Document format version management improvement
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.
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.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Tue Oct 9 17:30:10 2018 +0300
0030169: Document format version management improvement.
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.
[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.
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.
[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.
The reported issue is solved:
- at http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30169-master-szy-OCCT-Debian80-64-opt-test-compare/1/
- http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30169-master-szy-Products-Debian80-64-opt-test-compare/1/
- 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/
- http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30169-master-szy-Products-Windows-64-VC14-opt-test-compare/1/
The reported failure for CR30169-master-szy-OCCT-Windows-64-VC14-opt-test (bugs vis bug79) is not linked with the current issue and OCAF at all.
It seems visualization problem
- at http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30169-master-szy-OCCT-Debian80-64-opt-test-compare/1/
- http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30169-master-szy-Products-Debian80-64-opt-test-compare/1/
- 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/
- http://vm-jenkins-test-12.nnov.opencascade.com:8080/job/CR30169-master-szy-Products-Windows-64-VC14-opt-test-compare/1/
The reported failure for CR30169-master-szy-OCCT-Windows-64-VC14-opt-test (bugs vis bug79) is not linked with the current issue and OCAF at all.
It seems visualization problem
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.
Please, add information how to port to this version for the custom drivers-creators in update.md file.
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.
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.
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.
StdStorage and all related classes may stay unchanged, since it has no connection to other kinds of schema and obsolete for now.
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.
[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.
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.
[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.
Upgrade notes are integrated.
Review, please.
Review, please.
Reviewed.
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
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
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.
[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.
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.
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.
Reviewed.
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
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
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'
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'
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.
[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.
Fixed.
Reviewed.
Not necessary to retest, just compile.
Not necessary to retest, just compile.
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]