Project File Formats
From REALbasicWiki
Contents |
[edit] About
This article discusses the various formats a project can be stored in, and their pitfalls.
More information can be found in the now-gone RBDocs.com wiki, stored in the Internet Archive: [[1]]. The information from there should eventually be moved to this page.
[edit] The File Formats
There are currently (as of RB 2008r1) three file formats that the RB IDE supports:
- REALbasic Project - This is a Binary format (file extensions: .rbp, .rb) where the entire project is stored in a single file
- XML Project A text format (file extensions: .xml) where the entire project is stored in an XML file
- Version Control Project A text format (file extensions: .rbvcp, .rbbas, .rbmnu, .rbfrm, .rbres) where each project element is stored in its own text file
There is another format, not supported by the RB IDE, used by the 3rd party code "RB Project Tools":
- RBVault Text (see http://www.tempel.org/RBProjectTools)
Additionally, there's also the External file format, which allows to store single project items (a single class, for instance) to save as separate files. You can make any object external in any of the above formats.
[edit] Pitfalls
As REALbasic has to support three different file formats to store a project, care must be taken to ensure that all formats are compatible and none lose information in their export/import processing. This, however, was not the case with several previous releases. It's apparent that REAL Software does not employ reliable enough QA procedures to prevent this from happening (as of Feb 2008) and relies on their users to notice any discrepancies.
Here are some details:
[edit] Pitfalls with External files
As of RB 2008r1, Modules with embedded classes (introduced in RB 2007r5) can't be stored as external items. If you try, the included classes will get lost!
[edit] Pitfalls of the Version Control format
The Version Control format is a simplified representation of the internal binary format and is prone to errors with lesser used (or newly introduced) project items.
These are some notable problems or limitations as of REALbasic 2008 Release 1:
- When created on Mac OS, the line endings use Mac format (CR) but need to use Unix format (LF) in order to work with SubVersion and other tools (bug report ppxkfpqm). See also the article on Version Control usage.
- rbres file date/time is always changed when project is saved (bug report kxgpexhh)
- The IDE does not notice when items are changed outside the IDE (bug report ojqigzdh)
- There is no way to share items across multiple projects (bug report whzscwcz)
[edit] Pitfalls of the XML format
The XML format is pretty solid in general as it is a direct textual translation of the binary format.
As of 2008r1, there are no problems known.
