The table t_document in the EA database has two fields for document content, StrContent (a Memo field in Access) and BinContent (an OleObject field in Access). From what I can tell, EA uses the BinContent field exclusively to store linked documents but ignores the StrContent field completely. There is also a 255 character text field for document notes (t_document.Notes) that doesn't seem to be used. In addition to this, several fields in t_object, particularly Header1, Header2, GenOption and GenLinks (all memo fields) would seem to be available for Requirement elements since these all relate to code generation, something that doesn't apply to Requirement objects.
I'm also looking for a simple way to store an XML file (containing customized requirement revision history records) in either a document element linked to a requirements element or in the requirements element itself without having EA turn all '<' and '>' characters into '<' and '>' (as would be the case with the element Notes field) or adding an RTF header and control codes to it (as would be the case with a linked document). Yes, there are ways to get back the original XML, but this seems like a clunky, inelegant solution. So my questions are:
1. Do Sparx have plans for the StrContent field in the foreseeable future, or would they be willing to allow this field to be used for application-specific plain text objects?
2. Would Sparx consider allowing custom row entries in t_document provided that the rules regarding EA's use of the table were followed? This would allow arbitrary BLOB content (such as images, Autocad DXF or DWG files, PDF files, etc.) to be stored as element attachments WITHIN the database rather than as linked files. This encapsulation is important for cases where a distributed team is working on a project but not everyone necessarily has access to the linked files.
Note that I've tinkered with custom row entries (along with multiple linked document entries) in t_document and EA seems to get along quite nicely with them (it does, however, seem to ignore all but the first linked document for a given element).
3. Are there any reasons why the listed fields in t_object shouldn't be used for custom plain text data in Requirement elements?
4. Would Sparx consider adding improved Automation Interface support for the listed fields in t_document (and for the more obscure fields in t_object while they're at it)? For starters, it would be good to be able to load linked document RTF directly from a string rather than only from a file.
5. As an alternative (or additionally - even better) would Sparx consider adding an option (checkbox in the UI) to treat the element Notes field as plain rather than Rich Text? This would allow the field to be used for XML, HTML, and other markup without it being mangled by the HTML-lite parser used by EA. This probably means another database hack (maybe to StyleEx or something similar?), but it seems eminently do-able.
6. As a side issue, what format does EA use to store RTF files? Is it compressed (e.g. Zipped)?
Cheers,
Fred Woolsey