MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0029217Open CASCADE[OCCT] OCCT:Application Frameworkpublic2017-10-12 14:472020-12-05 13:02
Reporterkgv 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusverifiedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] 7.2.0 
Target Version[OCCT] 7.6.0*Fixed in Version 
Summary0029217: Application Framework - undocumented API method XmlLDrivers::SetStorageVersion()
DescriptionThe patch for #0028691 introduced new feature ability to save OCAF document within XML persistence formats which can be (theoretically?) opened by earlier OCCT versions - at least Open CASCADE 6.7.0.

However, the way it was implemented (new global method XmlLDrivers::SetStorageVersion()) is quite questionable:
- No documentation provided anywhere, including API methods and Draw Harness command.
  No description provided about possible side effects of settings version below last.
- Patch does not clarifies what has been introduced within version 9 comparing to 8.
- No any checks for supported/unsupported version numbers.
  One may set any version.
  Only test case bugs/caf/bug28691 suggests that at least 7 and 9 are valid numbers.
- No API provided returning actual (last) version of format.
- XmlLDrivers_DocumentRetrievalDriver also uses XmlLDrivers::StorageVersion()
  resulting in read failure if application wants writing XML file
  in compatible mode (e.g. set version 7) and then try reading file
  written in latest format (9), which does not make sense.
Steps To ReproduceDear MPV, KGV, everything is fixed, could you review, please:

http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR29217_5-master-vro/view/COMPARE/ [^]

For bugmaster:
- the branch CR29217_5 is for Open CASCADE,
- a new test-script "bugs caf bug29217" is added.
TagsNo tags attached.
Test case numberbugs/caf/bug29217
Attached Filescxx file icon BinLDrivers_DocumentSection.cxx (8,324 bytes) 2020-11-26 10:54

- Relationships
related to 0031946assignedasuraven Open CASCADE Modeling Data - replace version numbers with enumerations in TopTools and BinTools 

-  Notes
(0071646)
git (administrator)
2017-10-19 16:25

Branch CR29217 has been created by vro.

SHA-1: 248dd6ca65ced8d4bd648f56a5eb6e3839b65c9d


Detailed log of new commits:

Author: vro
Date: Thu Oct 19 16:24:15 2017 +0300

    0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
(0071662)
mpv (developer)
2017-10-20 15:34

Dear KGV,

Could you review this fix from your case point of view.
(0071664)
kgv (developer)
2017-10-20 15:40

vro written:

Done:
- multiple definition of the document version in BinLDrivers, XmlLDrivers, ... is removed;
- a document version variable now belongs to each instance of the document (TDocStd_Document);
- it is possible to change the document version.
- a comment for the new methods of TDocStd_Document describe a purpose of the methods and how to use them.

The branch is compiled and tested: http://jenkins-test-10.nnov.opencascade.com/view/CR29217-master-vro/view/START%20BRANCH%20CERTIFICATION/ [^] [^]

Any remarks are welcome!
(0096996)
abv (manager)
2020-11-22 22:16

The patch does not contains sufficient description of the changes made and the new options introduced.

From the code changes it is apparent that effectively it changes default XML format version from 9 to 10. Does this mean that XML documents saved by OCCT after that change will not be readable by previous versions? If yes, this must be documented.

If an option to set document version is introduced, there should be descrioption on which versions are supported. Without that, this change is usable by its authors only; such stuff shall not appear in an open source library.
(0097002)
mpv (developer)
2020-11-23 09:35

In CR29217 only ability to set XML document storage version is added. As I see, the default version was set to 10 in "0028736: An error to read a binary OCAF document of > 2Gb", which looks reasonable.

I agree with ABV recommendations to document new API and to describe what is supported now and which versions of the document storage are supported in he current version.
(0097083)
vro (developer)
2020-11-26 10:12

Dear colleagues, if you don’t mind I would like to propose some improvements for SetStortageVersion().

So, a little history. Several years ago, a customer asked for an improvement of Ocaf XML storage file reader and writer to become faster and occupy less space on disk. I removed a default GUID for several attributes like TDataStd_TreeNode and some others, made some little other changes. As a consequence, writing became 25% faster, reading – about 10% faster, disk space – about 30% smaller. But… the document became incompatible with old versions. I mean, old applications couldn’t read documents saved by new application. Having reverted the changes I noticed that the document remained incompatible… but now it happened because of porting to a newer version of Open CASCADE – an attribute TPrsStd_AISPresentation was replaced by TDataXtd_Presentation, and some other changes were made in the newer version. So, we needed a solution to make a document readable by old applications.

The solution. After some modifications and further improvements the solution looks like this. I will describe in brief:
1. A document has a method Set/GetStorageFormatVersion(), which defines the version number to be saved on disk. So far, it works only for XML file format.
2. This version number is used in all storage drivers of Ocaf attributes and for example, in TDataStd_TreeNode, it stores or not the default GUID of the attribute. In particular, for the version number 7 (corresponding to Open CASCADE 6.7.0) it stores the GUID, but for later versions – doesn’t (optimization). Also, it stores a TPsStd_AISPresentation attribute instead of TDataXtd_Presentation if the version number is 7 or earlier.
3. On reading of the attribute, a driver of the old application expects a GUID, while in the newer applications the driver is improved so that it works fine if a GUID is absent.

So, these little changes gave us an opportunity to allow old applications based on Open CASCADE 6.7.0 to open documents saved by applications based on newest versions of Open CASCADE. But, as you noticed, this solution has many drawbacks… Here they are:
1. It works only for XML, not for binary file format.
2. It works only for Open CASCADE 6.7.0, storage version 7.
3. It works only for documents with old attributes. For example, if the user of a new application sets two TDataStd_Real attributes with different GUIDs, this solution fails.
In other words, it is a private solution for a particular case. In addition, it is not documented anyhow. And it is me who gave you this “piece of cake”.

A proposal:
1. I would like to propose usage of StorageFormatVerison of the document for the binary file format too. It was not used before, but may be later someone would like to do it and they will have already a working mechanism.
2. Documentation. I think a short article in the documentation dedicated to back-compatibility in OCAF would explain the users how to use the storage version, what it does and how to improve in case of need. Just a page would be enough.
3. There are the version 8 and 9 of XML file format. Should we develop a back-compatibility for them? I didn’t hear about such requests from any customer. Let me know please your opinion.
Any remarks and proposals are welcome!
(0097085)
mpv (developer)
2020-11-26 10:57

Dear VRO,

Could you also use the attached file BinLDrivers_DocumentSection.cxx? It was created by ESA basing on OCCT version 7.4.0 to support writing of binary file formats versions earlier than 10.
(0097093)
vro (developer)
2020-11-26 12:24

Ok, I will include this file. Thanks to ESA.
Any other remarks are welcome, please.
(0097101)
git (administrator)
2020-11-26 17:29

Branch CR29217_1 has been created by vro.

SHA-1: d023d2f18bdc766777cb6b21b6a637eeeec80938


Detailed log of new commits:

Author: Vlad Romashko
Date: Thu Nov 26 17:29:13 2020 +0300

    0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
    
    1. Unification of usage of a storage version of a document by XML and binary file formats.
    2. Removal of unnecessary methods for storage version like XmlLDrivers::StorageVersion(), BinLDrivers::StorageVersion().
    3. Support of old documents (storage version <= 9) in binary file format (came from ESA).
    
    Modified files:
    - CDM_Document.cxx: a latest document storage version is defined.
    - BinLDrivers_DocumentSection.hxx and cxx: support of old document storage version in binary file format.
    - BinDrivers_DocumentStorageDriver.hxx and cxx,
    - BinLDrivers_DocumentStorageDriver.hxx and cxx,
    - BinLDrivers_DocumentRetrievalDriver.cxx: usage of document storage version from CDM_Document in storage and retrieval drivers of binary file format.
    
    New test:
    bugs caf bug29217: a test case for old document storage version in binary file format. It checks several attributes saved by the version 7 (old) and 10 (the latest version).
(0097103)
kgv (developer)
2020-11-26 20:48

+  if (theDocFormatVersion <= 9)

It would be handful relying on the patch 0031946 replacing version numbers with documented enumeration.
(0097104)
vro (developer)
2020-11-27 07:06

Hello KGV, may I take the enumeration from 0031946 and apply it here? Or should I wait for integration of 0031946 and then merge the sources?
(0097163)
git (administrator)
2020-11-30 13:55

Branch CR29217_2 has been created by vro.

SHA-1: 740b30d0b854cc58596d0b9aa640ebbcf7df89b1


Detailed log of new commits:

Author: Vlad Romashko
Date: Mon Nov 30 13:56:11 2020 +0300

    0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
    
    1. Unification of usage of a storage version of an OCAF document by XML and binary file formats.
    2. A new format version enumeration in TDocStd package: TDocStd_FormatVersion.
    3. Removal of unnecessary methods for storage version like XmlLDrivers::StorageVersion() and BinLDrivers::StorageVersion().
    4. Support of old documents (storage version <= 9) in binary file format (came from ESA).
    
    New files:
    - TDocStd_FormatVersion.hxx: a new storage format version enumeration for an OCAF document.
    
    Modified files:
    - CDM_Document.hxx and cxx: removal of storage format version property (moved to TDocStd_Document).
    - TDocStd_Document.hxx and cxx: a storage format version property (moved from CDM_Document).
    - BinLDrivers_DocumentSection.hxx and cxx: support of old document storage version in binary file format.
    - BinDrivers_DocumentStorageDriver.hxx and cxx,
    - BinLDrivers_DocumentStorageDriver.hxx and cxx,
    - BinLDrivers_DocumentRetrievalDriver.cxx,
    - XmlLDrivers_DocumentRetrievalDriver.cxx,
    - XmlLDrivers_DocumentStorageDriver.cxx: usage of document storage version from TDocStd_Document in storage and retrieval drivers.
    - DDocStd_ApplicationCommands.cxx: draw-command name StorageVersion is replaced by StorageFormatVersion (to be the same everywhere). A corresponding script is corrected too.
    
    New test:
    - bugs caf bug29217: a test case for old document storage version in binary file format. It checks several attributes saved by the version TDocStd_FormatVersion_VERSION_7 (old) and the latest version.
    
    Modified test:
    caf presentation M1: the test used a file in the current folder, not in {imagedir} like all other tests.
(0097166)
git (administrator)
2020-11-30 14:13

Branch CR29217_2 has been updated by vro.

SHA-1: 3b6fc56b1221b86b32eff1a192867de873b78744


Detailed log of new commits:

Author: Vlad Romashko
Date: Mon Nov 30 14:13:33 2020 +0300

    0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
    
    // Non-ascii symbols are removed from TDocStd_FormatVersion.hxx

(0097167)
git (administrator)
2020-11-30 14:19

Branch CR29217_2 has been updated by vro.

SHA-1: 7ece7c7aca4d76bde094490827ddd8e43a92b7e0


Detailed log of new commits:

Author: Vlad Romashko
Date: Mon Nov 30 14:19:43 2020 +0300

    0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
    
    // Remove non-ascii symbols.

(0097168)
git (administrator)
2020-11-30 14:31

Branch CR29217_2 has been updated by vro.

SHA-1: 0234daf31fa06cd23f1c3def4e0bd4f044cc4538


Detailed log of new commits:

Author: Vlad Romashko
Date: Mon Nov 30 14:31:46 2020 +0300

    0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
    
    // Removed non-ascii symbols.

(0097170)
git (administrator)
2020-11-30 15:00

Branch CR29217_2 has been updated by vro.

SHA-1: 238e3ade6526d2f6dab49c7d43c65f125f2f9d99


Detailed log of new commits:

Author: Vlad Romashko
Date: Mon Nov 30 15:00:34 2020 +0300

    0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
    
    // Remove non-ascii symbols.

Author: Vlad Romashko
Date: Mon Nov 30 14:54:47 2020 +0300

    Merge branch 'CR29217_2' of git.dev.opencascade.org:occt into CR29217_2

Author: Vlad Romashko
Date: Mon Nov 30 14:54:20 2020 +0300

    0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
    
    // Removed non-ascii symbols.

Author: Vlad Romashko
Date: Mon Nov 30 14:31:46 2020 +0300

    0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
    
    // Removed non-ascii symbols.

(0097171)
git (administrator)
2020-11-30 15:32

Branch CR29217_3 has been created by vro.

SHA-1: c775e1ae8993ffeaa66b3cb000afd7d3b6d5fc95


Detailed log of new commits:

Author: Vlad Romashko
Date: Mon Nov 30 15:32:41 2020 +0300

    0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
    
    1. Unification of usage of a storage version of an OCAF document by XML and binary file formats.
    2. A new format version enumeration in TDocStd package: TDocStd_FormatVersion.
    3. Removal of unnecessary methods for storage version like XmlLDrivers::StorageVersion() and BinLDrivers::StorageVersion().
    4. Support of old documents (storage version <= 9) in binary file format (came from ESA).
    
    New files:
    - TDocStd_FormatVersion.hxx: a new storage format version enumeration for an OCAF document.
    
    Modified files:
    - CDM_Document.hxx and cxx: removal of storage format version property (moved to TDocStd_Document).
    - TDocStd_Document.hxx and cxx: a storage format version property (moved from CDM_Document).
    - BinLDrivers_DocumentSection.hxx and cxx: support of old document storage version in binary file format.
    - BinDrivers_DocumentStorageDriver.hxx and cxx,
    - BinLDrivers_DocumentStorageDriver.hxx and cxx,
    - BinLDrivers_DocumentRetrievalDriver.cxx,
    - XmlLDrivers_DocumentRetrievalDriver.cxx,
    - XmlLDrivers_DocumentStorageDriver.cxx: usage of document storage version from TDocStd_Document in storage and retrieval drivers.
    - DDocStd_ApplicationCommands.cxx: draw-command name StorageVersion is replaced by StorageFormatVersion (to be the same everywhere). A corresponding script is corrected too.
    
    New test:
    - bugs caf bug29217: a test case for old document storage version in binary file format. It checks several attributes saved by the version TDocStd_FormatVersion_VERSION_7 (old) and the latest version.
    
    Modified test:
    caf presentation M1: the test used a file in the current folder, not in {imagedir} like all other tests.
(0097191)
mpv (developer)
2020-12-01 11:32

Please, append into dox/upgrade/upgrade.md file information how to change the version of the document and port to this OCCT, since you have removed old methods, possibly used externally.

In TDocStd_FormatVersion.hxx misprint: TDpcStd_Document
Also, it is worth in this file comment change "Open CASCADE" to "Open CASCADE Technology".

In XmlLDrivers_DocumentStorageDriver.cxx modifications complains coding rules: write "{" at a new line. If method contains arguments, there must be a space before "(".
(0097196)
git (administrator)
2020-12-01 12:39

Branch CR29217_4 has been created by vro.

SHA-1: e9f27212ac106262813f4c2d7e643a38bdbf008f


Detailed log of new commits:

Author: Vlad Romashko
Date: Tue Dec 1 12:40:00 2020 +0300

    0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
    
    1. Unification of usage of a storage version of an OCAF document by XML and binary file formats.
    2. A new format version enumeration in TDocStd package: TDocStd_FormatVersion.
    3. Removal of unnecessary methods for storage version like XmlLDrivers::StorageVersion() and BinLDrivers::StorageVersion().
    4. Support of old documents (storage version <= 9) in binary file format (came from ESA).
    
    New files:
    - TDocStd_FormatVersion.hxx: a new storage format version enumeration for an OCAF document.
    
    Modified files:
    - CDM_Document.hxx and cxx: removal of storage format version property (moved to TDocStd_Document).
    - TDocStd_Document.hxx and cxx: a storage format version property (moved from CDM_Document).
    - BinLDrivers_DocumentSection.hxx and cxx: support of old document storage version in binary file format.
    - BinDrivers_DocumentStorageDriver.hxx and cxx,
    - BinLDrivers_DocumentStorageDriver.hxx and cxx,
    - BinLDrivers_DocumentRetrievalDriver.cxx,
    - XmlLDrivers_DocumentRetrievalDriver.cxx,
    - XmlLDrivers_DocumentStorageDriver.cxx: usage of document storage version from TDocStd_Document in storage and retrieval drivers.
    - DDocStd_ApplicationCommands.cxx: draw-command name StorageVersion is replaced by StorageFormatVersion (to be the same everywhere). A corresponding script is corrected too.
    
    New test:
    - bugs caf bug29217: a test case for old document storage version in binary file format. It checks several attributes saved by the version TDocStd_FormatVersion_VERSION_7 (old) and the latest version.
    
    Modified test:
    - caf presentation M1: the test used a file in the current folder, not in {imagedir} like all other tests.
    
    Documentation:
    - dox/upgrade/upgrade.md
(0097211)
kgv (developer)
2020-12-01 14:50

+  if (theDocFormatVersion <= TDocStd_FormatVersion_VERSION_9)
+  {
+    // Old documents stored file position as 4-bytes values.
+    Standard_Integer aValInt[3] = {

It would be useful throwing an exception on 32-bit signed integer overflow on attempt to write too big file (requiring 64-bit size).
Tip: int32_t would be less ambiguous than Standard_Integer.

+  theCommands.Add("GetStorageFormatVersion",
+                 "GetStorageFormatVersion Doc",
+                 __FILE__, DDocStd_GetStorageFormatVersion, g);
+  theCommands.Add("SetStorageFormatVersion",
+                 "SetStorageFormatVersion Doc Version",

Could you please add some description to Draw Harness commands to elaborate which version could be passed in (or at least some references to documentation)?

+  //! Sets <theVersion> of the format to be used to store the document
+  Standard_EXPORT void ChangeStorageFormatVersion(const TDocStd_FormatVersion theVersion);

Please avoid using angle brackets in Doxygen comments - they generate Doxygen warnings. Use @param and @return syntax for describing parameters and return values.

+//! (smaller files on disk, reading and writing of the XML files is faster).
+
+enum TDocStd_FormatVersion

Please drop redundant empty lines between documentation and class/enum/method definition.

+puts "OCC29217"
...
+# Storage of Ocaf documents in BIN file format in old document version

Please move test description to "puts" above, so that it will appear in logs.
(0097230)
git (administrator)
2020-12-02 09:38

Branch CR29217_5 has been created by vro.

SHA-1: 412127b523edd1ef02cdcaa3014ad52840abf82a


Detailed log of new commits:

Author: Vlad Romashko
Date: Wed Dec 2 09:38:28 2020 +0300

    0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
    
    1. Unification of usage of a storage version of an OCAF document by XML and binary file formats.
    2. A new format version enumeration in TDocStd package: TDocStd_FormatVersion.
    3. Removal of unnecessary methods for storage version like XmlLDrivers::StorageVersion() and BinLDrivers::StorageVersion().
    4. Support of old documents (storage version <= 9) in binary file format (came from ESA).
    
    New files:
    - TDocStd_FormatVersion.hxx: a new storage format version enumeration for an OCAF document.
    
    Modified files:
    - CDM_Document.hxx and cxx: removal of storage format version property (moved to TDocStd_Document).
    - TDocStd_Document.hxx and cxx: a storage format version property (moved from CDM_Document).
    - BinLDrivers_DocumentSection.hxx and cxx: support of old document storage version in binary file format.
    - BinDrivers_DocumentStorageDriver.hxx and cxx,
    - BinLDrivers_DocumentStorageDriver.hxx and cxx,
    - BinLDrivers_DocumentRetrievalDriver.cxx,
    - XmlLDrivers_DocumentRetrievalDriver.cxx,
    - XmlLDrivers_DocumentStorageDriver.cxx: usage of document storage version from TDocStd_Document in storage and retrieval drivers.
    - DDocStd_ApplicationCommands.cxx: draw-command name StorageVersion is replaced by StorageFormatVersion (to be the same everywhere). A corresponding script is corrected too.
    
    New test:
    - bugs caf bug29217: a test case for old document storage version in binary file format. It checks several attributes saved by the version TDocStd_FormatVersion_VERSION_7 (old) and the latest version.
    
    Modified test:
    - caf presentation M1: the test used a file in the current folder, not in {imagedir} like all other tests.
    - bugs caf bug28691
    
    Documentation:
    - dox/upgrade/upgrade.md
    
    // All remarks are fixed.
(0097244)
mpv (developer)
2020-12-02 15:18

Reviewed
OCCT branch: CR29217_5
Products branch: NOTHING
(0097346)
bugmaster (administrator)
2020-12-05 11:57

Combination -
OCCT branch : IR-2020-12-04
master SHA - 1e08a76f1e872a1f38931a6c3e8cf71396fc1209
a206de37fbfa0bf71bd534ae47192bbec23b8522
Products branch : IR-2020-12-04 SHA - cb56638fb6b31df41b28133f69a1dc202dcb56aa
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: 18090.67999999998 / 18052.040000000085 [+0.21%]
Products
Total CPU difference: 12342.950000000128 / 12326.850000000131 [+0.13%]
Windows-64-VC14:
OCCT
Total CPU difference: 19751.5 / 19705.828125 [+0.23%]
Products
Total CPU difference: 13772.515625 / 13793.796875 [-0.15%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0097359)
git (administrator)
2020-12-05 13:01

Branch CR29217_5 has been deleted by inv.

SHA-1: 412127b523edd1ef02cdcaa3014ad52840abf82a
(0097361)
git (administrator)
2020-12-05 13:01

Branch CR29217_4 has been deleted by inv.

SHA-1: e9f27212ac106262813f4c2d7e643a38bdbf008f
(0097363)
git (administrator)
2020-12-05 13:01

Branch CR29217_3 has been deleted by inv.

SHA-1: c775e1ae8993ffeaa66b3cb000afd7d3b6d5fc95
(0097364)
git (administrator)
2020-12-05 13:01

Branch CR29217_2 has been deleted by inv.

SHA-1: 238e3ade6526d2f6dab49c7d43c65f125f2f9d99
(0097368)
git (administrator)
2020-12-05 13:01

Branch CR29217_1 has been deleted by inv.

SHA-1: d023d2f18bdc766777cb6b21b6a637eeeec80938
(0097386)
git (administrator)
2020-12-05 13:02

Branch CR29217 has been deleted by inv.

SHA-1: 248dd6ca65ced8d4bd648f56a5eb6e3839b65c9d

- Related Changesets
occt: master 716cf4d9
Timestamp: 2020-12-02 06:38:28
Author: vro
Committer: bugmaster
Details ] Diff ]
0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()

1. Unification of usage of a storage version of an OCAF document by XML and binary file formats.
2. A new format version enumeration in TDocStd package: TDocStd_FormatVersion.
3. Removal of unnecessary methods for storage version like XmlLDrivers::StorageVersion() and BinLDrivers::StorageVersion().
4. Support of old documents (storage version <= 9) in binary file format (came from ESA).

New files:
- TDocStd_FormatVersion.hxx: a new storage format version enumeration for an OCAF document.

Modified files:
- CDM_Document.hxx and cxx: removal of storage format version property (moved to TDocStd_Document).
- TDocStd_Document.hxx and cxx: a storage format version property (moved from CDM_Document).
- BinLDrivers_DocumentSection.hxx and cxx: support of old document storage version in binary file format.
- BinDrivers_DocumentStorageDriver.hxx and cxx,
- BinLDrivers_DocumentStorageDriver.hxx and cxx,
- BinLDrivers_DocumentRetrievalDriver.cxx,
- XmlLDrivers_DocumentRetrievalDriver.cxx,
- XmlLDrivers_DocumentStorageDriver.cxx: usage of document storage version from TDocStd_Document in storage and retrieval drivers.
- DDocStd_ApplicationCommands.cxx: draw-command name StorageVersion is replaced by StorageFormatVersion (to be the same everywhere). A corresponding script is corrected too.

New test:
- bugs caf bug29217: a test case for old document storage version in binary file format. It checks several attributes saved by the version TDocStd_FormatVersion_VERSION_7 (old) and the latest version.

Modified test:
- caf presentation M1: the test used a file in the current folder, not in {imagedir} like all other tests.
- bugs caf bug28691

Documentation:
- dox/upgrade/upgrade.md

// All remarks are fixed.
mod - dox/upgrade/upgrade.md Diff ] File ]
mod - src/BinDrivers/BinDrivers.cxx Diff ] File ]
mod - src/BinDrivers/BinDrivers.hxx Diff ] File ]
mod - src/BinDrivers/BinDrivers_DocumentStorageDriver.cxx Diff ] File ]
mod - src/BinDrivers/BinDrivers_DocumentStorageDriver.hxx Diff ] File ]
mod - src/BinLDrivers/BinLDrivers.cxx Diff ] File ]
mod - src/BinLDrivers/BinLDrivers.hxx Diff ] File ]
mod - src/BinLDrivers/BinLDrivers_DocumentRetrievalDriver.cxx Diff ] File ]
mod - src/BinLDrivers/BinLDrivers_DocumentSection.cxx Diff ] File ]
mod - src/BinLDrivers/BinLDrivers_DocumentSection.hxx Diff ] File ]
mod - src/BinLDrivers/BinLDrivers_DocumentStorageDriver.cxx Diff ] File ]
mod - src/BinLDrivers/BinLDrivers_DocumentStorageDriver.hxx Diff ] File ]
mod - src/CDM/CDM_Document.cxx Diff ] File ]
mod - src/CDM/CDM_Document.hxx Diff ] File ]
mod - src/DDocStd/DDocStd_ApplicationCommands.cxx Diff ] File ]
mod - src/TDocStd/FILES Diff ] File ]
mod - src/TDocStd/TDocStd_Document.cxx Diff ] File ]
mod - src/TDocStd/TDocStd_Document.hxx Diff ] File ]
add - src/TDocStd/TDocStd_FormatVersion.hxx Diff ] File ]
mod - src/XmlLDrivers/XmlLDrivers.cxx Diff ] File ]
mod - src/XmlLDrivers/XmlLDrivers.hxx Diff ] File ]
mod - src/XmlLDrivers/XmlLDrivers_DocumentRetrievalDriver.cxx Diff ] File ]
mod - src/XmlLDrivers/XmlLDrivers_DocumentStorageDriver.cxx Diff ] File ]
mod - tests/bugs/caf/bug28691 Diff ] File ]
add - tests/bugs/caf/bug29217 Diff ] File ]
mod - tests/caf/presentation/M1 Diff ] File ]

- Issue History
Date Modified Username Field Change
2017-10-12 14:47 kgv New Issue
2017-10-12 14:47 kgv Assigned To => mpv
2017-10-12 14:47 kgv Relationship added related to 0028691
2017-10-12 14:54 kgv Relationship added related to 0029216
2017-10-12 14:54 mpv Assigned To mpv => vro
2017-10-19 16:25 git Note Added: 0071646
2017-10-20 09:05 vro Assigned To vro => mpv
2017-10-20 09:05 vro Status new => resolved
2017-10-20 09:05 vro Steps to Reproduce Updated View Revisions
2017-10-20 15:34 mpv Assigned To mpv => kgv
2017-10-20 15:34 mpv Note Added: 0071662
2017-10-20 15:40 kgv Note Added: 0071664
2017-10-20 15:40 kgv Steps to Reproduce Updated View Revisions
2017-10-20 15:40 kgv Assigned To kgv => abv
2018-01-23 15:43 kgv Relationship added parent of 0029443
2018-02-05 15:30 gzy Note Added: 0073819
2018-02-05 15:30 gzy Assigned To abv => bugmaster
2018-02-05 15:30 gzy Status resolved => reviewed
2018-02-05 15:30 gzy Assigned To bugmaster => kgv
2018-02-05 15:34 kgv Assigned To kgv => abv
2018-02-05 15:34 kgv Status reviewed => feedback
2018-02-05 15:34 gzy Note Deleted: 0073819
2019-09-04 17:52 kgv Target Version 7.4.0 => 7.5.0
2020-09-11 15:32 utverdov Target Version 7.5.0 => 7.6.0*
2020-11-18 00:31 kgv Relationship added related to 0031946
2020-11-22 22:16 abv Note Added: 0096996
2020-11-22 22:16 abv Assigned To abv => mpv
2020-11-22 22:16 abv Status feedback => assigned
2020-11-23 09:35 mpv Note Added: 0097002
2020-11-23 09:35 mpv Assigned To mpv => vro
2020-11-26 10:12 vro Note Added: 0097083
2020-11-26 10:54 mpv File Added: BinLDrivers_DocumentSection.cxx
2020-11-26 10:57 mpv Note Added: 0097085
2020-11-26 12:24 vro Note Added: 0097093
2020-11-26 17:29 git Note Added: 0097101
2020-11-26 19:37 vro Assigned To vro => mpv
2020-11-26 19:37 vro Status assigned => resolved
2020-11-26 19:37 vro Steps to Reproduce Updated View Revisions
2020-11-26 20:45 kgv Summary Application Framework - nonsense API method XmlLDrivers::SetStorageVersion() => Application Framework - undocumented API method XmlLDrivers::SetStorageVersion()
2020-11-26 20:48 kgv Note Added: 0097103
2020-11-27 07:06 vro Note Added: 0097104
2020-11-30 11:20 vro Assigned To mpv => vro
2020-11-30 11:20 vro Status resolved => assigned
2020-11-30 13:55 git Note Added: 0097163
2020-11-30 14:13 git Note Added: 0097166
2020-11-30 14:19 git Note Added: 0097167
2020-11-30 14:31 git Note Added: 0097168
2020-11-30 15:00 git Note Added: 0097170
2020-11-30 15:32 git Note Added: 0097171
2020-11-30 21:11 vro Assigned To vro => mpv
2020-11-30 21:11 vro Status assigned => resolved
2020-11-30 21:11 vro Steps to Reproduce Updated View Revisions
2020-12-01 11:32 mpv Note Added: 0097191
2020-12-01 11:32 mpv Assigned To mpv => vro
2020-12-01 11:32 mpv Status resolved => assigned
2020-12-01 12:39 git Note Added: 0097196
2020-12-01 14:50 kgv Note Added: 0097211
2020-12-02 09:38 git Note Added: 0097230
2020-12-02 12:23 vro Assigned To vro => mpv
2020-12-02 12:23 vro Status assigned => resolved
2020-12-02 12:23 vro Steps to Reproduce Updated View Revisions
2020-12-02 15:18 mpv Note Added: 0097244
2020-12-02 15:18 mpv Assigned To mpv => bugmaster
2020-12-02 15:18 mpv Status resolved => reviewed
2020-12-05 11:57 bugmaster Note Added: 0097346
2020-12-05 11:57 bugmaster Status reviewed => tested
2020-12-05 12:08 bugmaster Test case number => bugs/caf/bug29217
2020-12-05 12:15 bugmaster Changeset attached => occt master 716cf4d9
2020-12-05 12:15 bugmaster Status tested => verified
2020-12-05 12:15 bugmaster Resolution open => fixed
2020-12-05 13:01 git Note Added: 0097359
2020-12-05 13:01 git Note Added: 0097361
2020-12-05 13:01 git Note Added: 0097363
2020-12-05 13:01 git Note Added: 0097364
2020-12-05 13:01 git Note Added: 0097368
2020-12-05 13:02 git Note Added: 0097386


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker