Revision: 56999
http://sourceforge.net/p/brlcad/code/56999
Author: brlcad
Date: 2013-08-20 17:27:44 +0000 (Tue, 20 Aug 2013)
Log Message:
-----------
expand the results of our (nick and my) brainstorming session for how to fix
our attribute system issues. we need versioning and a means to upgrade a file
to newer conventions. shouldn't be much more work to use that same system for
downgrading too. include several tasks related to this envisioned plan.
comments and discussion welcome.
Modified Paths:
--------------
brlcad/trunk/TODO
Modified: brlcad/trunk/TODO
===================================================================
--- brlcad/trunk/TODO 2013-08-20 17:27:14 UTC (rev 56998)
+++ brlcad/trunk/TODO 2013-08-20 17:27:44 UTC (rev 56999)
@@ -977,6 +977,37 @@
ATTRIBUTES
----------
+* implement an attribute versioning system. can hang attribute
+ version off of _GLOBAL (ideally) or per-object so application codes
+ (including our own tools) know whether they're compatible or whether
+ the attributes must be upgraded.
+
+* implement an "attr upgrade" subcommand that allows for forwards AND
+ backwards conversion of attributes. the command will need two
+ function pointers per version that describes how to upgrade and
+ downgrade for that version transition. this will allow new files to
+ be downgraded for use on older versions and obviously lets new files
+ be upgraded to the latest conventions.
+
+* implement namespacing for attributes as a means to group attributes
+ together. examples: cad:color, cad:region_id, muves:component.
+ similar to svn properties, the namespace is predominantly (perhaps
+ entirely) a naming convention, but allows us to document and assert
+ requirements/conventions over a given prefix (e.g., 'cad:'), and
+ provides 3rd party applications with a sandbox to work with.
+
+* expose the list of internally recognized attributes via the man page
+ documentation and some internal method (e.g., an 'attr standards'
+ subcommand).
+
+* clean up default attributes to be consistent and upgrade old
+ attributes to their new names. includes likes of region, region_id,
+ material_id, air, los, rgb, oshader, and inherit. see
+ doc/docbook/system/man5/en/attributes.xml for more detailed listing.
+
+* implement an option to "attr upgrade" for reading upgrade/downgrade
+ plugins/instructions from an external file for 3rd party use.
+
* prevent nirt from outputting a trailing space after values when
there are no attributes to be displayed. the problem is in the nirt
format strings where they use " %s" for displaying any attributes.
@@ -986,17 +1017,6 @@
* add support for user-specified sorting for the attr command (case,
case-insensitive, creation, value, etc.)
-* clean up default attributes to be consistent and upgrade old
- attributes to their new names. includes likes of region, region_id,
- material_id, air, los, rgb, oshader, and inherit. see
- doc/docbook/system/man5/en/attributes.xml for more detailed listing.
-
-* implement namespacing for attributes as a means to group attributes
- together. this can predominantly be a naming convention, but
- requires awareness in the attribute-searching routines to search
- without the namespace unless one is specified, and to reserve :: in
- attribute names unless they're quoted.
-
* binary attributes, see binary-incompatible section for details.
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and
AppDynamics. Performance Central is your source for news, insights,
analysis and resources for efficient Application Performance Management.
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits