Add #bea/814# : Add Roundup-like flexibility
authorW. Trevor King <wking@drexel.edu>
Sun, 3 Jan 2010 16:05:57 +0000 (11:05 -0500)
committerW. Trevor King <wking@drexel.edu>
Sun, 3 Jan 2010 16:05:57 +0000 (11:05 -0500)
.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/814e39c0-68ee-4165-9166-19e2aee9c07d/comments/17d045d1-3b21-4d3d-8f81-29a5bbc5e6c1/body [new file with mode: 0644]
.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/814e39c0-68ee-4165-9166-19e2aee9c07d/comments/17d045d1-3b21-4d3d-8f81-29a5bbc5e6c1/values [new file with mode: 0644]
.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/814e39c0-68ee-4165-9166-19e2aee9c07d/comments/d463e2d9-6dcc-41a4-a6b2-647fb3bddf88/body [new file with mode: 0644]
.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/814e39c0-68ee-4165-9166-19e2aee9c07d/comments/d463e2d9-6dcc-41a4-a6b2-647fb3bddf88/values [new file with mode: 0644]
.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/814e39c0-68ee-4165-9166-19e2aee9c07d/values [new file with mode: 0644]

diff --git a/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/814e39c0-68ee-4165-9166-19e2aee9c07d/comments/17d045d1-3b21-4d3d-8f81-29a5bbc5e6c1/body b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/814e39c0-68ee-4165-9166-19e2aee9c07d/comments/17d045d1-3b21-4d3d-8f81-29a5bbc5e6c1/body
new file mode 100644 (file)
index 0000000..6e3f1e7
--- /dev/null
@@ -0,0 +1,14 @@
+> Roundup's great strength is the flexibility of its data model and
+> range of generic support.  It's very easy to extend...
+> ...
+> As far as postponed customization goes, it would be easy enough to
+> duplicate Roundup's schema.py and provide a default schema.py for
+> bugtracking.  This would improve our current system by keeping all the
+> configurable bits under version control from the start (equivalent to
+> setting _versioned_property(require_save=True) for all properties).
+
+How will we handle diffs between with revisions with different
+schema.py?  This re-raises #bea86499-824e-4e77-b085-2d581fa9ccab/ed5eac05-80ed-411d-88a4-d2261b879713/c664b7be-ded5-42dd-a16a-82b2bdb52e36# (#bea86499-824e-4e77-b085-2d581fa9ccab/1100c966-9671-4bc6-8b68-6d408a910da1/bd1207ef-f97e-4078-8c5d-046072012082#), but we
+_expect_ schema.py to evolve, while before we had expected on-disk
+versions to stabilize.
+
diff --git a/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/814e39c0-68ee-4165-9166-19e2aee9c07d/comments/17d045d1-3b21-4d3d-8f81-29a5bbc5e6c1/values b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/814e39c0-68ee-4165-9166-19e2aee9c07d/comments/17d045d1-3b21-4d3d-8f81-29a5bbc5e6c1/values
new file mode 100644 (file)
index 0000000..5bc6769
--- /dev/null
@@ -0,0 +1,11 @@
+Author: W. Trevor King <wking@drexel.edu>
+
+
+Content-type: text/plain
+
+
+Date: Sun, 03 Jan 2010 16:02:57 +0000
+
+
+In-reply-to: d463e2d9-6dcc-41a4-a6b2-647fb3bddf88
+
diff --git a/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/814e39c0-68ee-4165-9166-19e2aee9c07d/comments/d463e2d9-6dcc-41a4-a6b2-647fb3bddf88/body b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/814e39c0-68ee-4165-9166-19e2aee9c07d/comments/d463e2d9-6dcc-41a4-a6b2-647fb3bddf88/body
new file mode 100644 (file)
index 0000000..b953536
--- /dev/null
@@ -0,0 +1,67 @@
+The Roundup issue tracker
+  http://roundup.sourceforge.net/
+has been around for a while, and provides a nice, flexible design
+  http://roundup.sourceforge.net/docs/design.html
+What ideas from Roundup are worth incorperating in our setup?
+
+Roundup's great strength is the flexibility of its data model and
+range of generic support.  It's very easy to extend.  However, there
+is only so far you can go with generic support.  Roundup lacks analogs
+to the following Command subclasses (as far as I know):
+  Diff
+    Has per-issue logs, but no repository-wide summary
+  Merge
+  Commit
+    No VCS backends, see http://issues.roundup-tracker.org/issue2550547
+  Import_xml
+  Serve
+    Has HTML server, but no remote command-line access
+Of course, none of these would be particularly hard to add to Roundup,
+with the possible exception of VCS backends, which appears to be
+in-progress anyway.  However, I really like the simplicity of
+  `be init`
+and the ability to postpone repository customization until you need
+it.  So, can we trim down the BE internals to make BE more extensible
+without sacrificing our nice default setup and its tools?  The problem
+is, how to the commands do their thing if they don't know what they're
+working with?
+
+Say, for example, I want to run `be depend bugA bugB`, but my bugs
+don't have blocks or blocked_by link properties.  That could be easily
+handled by having each command would have to keep track of which
+properties it needed and raise appropriate exceptions.
+
+List, Show, Import_xml, etc. would presumably use templates to define
+their output/input formats.
+
+As far as postponed customization goes, it would be easy enough to
+duplicate Roundup's schema.py and provide a default schema.py for
+bugtracking.  This would improve our current system by keeping all the
+configurable bits under version control from the start (equivalent to
+setting _versioned_property(require_save=True) for all properties).
+
+Another part of the difference between BE and Roundup seems to be due
+to the initial backend selection.  Roundup is built on databases,
+which encourages their keyed-Class approach with (property, value)
+pairs of predefined types.  They use Classes for everything, down to
+status values, etc., while we've built those sorts of things into
+_versioned_property()s.
+Benefits of Roundup approach:
+  * easy to configure/alter/retrieve list of allowed values
+  * no need to hard-code properties or resort to extra_strings
+  * assigned values are actually links to centralized definitions
+    - easy updates
+Benefits of BE approach:
+  * single file for all properties
+    - one read and you're done
+    - many file systems don't handle 'lots of tiny files' well
+  * assigned values are actual values, not links to centralized defs.
+    - easy to merge by hand, no need to look up references.
+Since it would be fairly simple to add a merging tool that handled the
+reference lookup transparently, we can move to a Roundup-like Class
+structure by using our current mapfile implementation to store small
+Classes.
+
+Finally, would it be easier to merge these Roundup features into BE,
+or merge the BE features into Roundup...
+
diff --git a/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/814e39c0-68ee-4165-9166-19e2aee9c07d/comments/d463e2d9-6dcc-41a4-a6b2-647fb3bddf88/values b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/814e39c0-68ee-4165-9166-19e2aee9c07d/comments/d463e2d9-6dcc-41a4-a6b2-647fb3bddf88/values
new file mode 100644 (file)
index 0000000..cb7278c
--- /dev/null
@@ -0,0 +1,8 @@
+Author: W. Trevor King <wking@drexel.edu>
+
+
+Content-type: text/plain
+
+
+Date: Sun, 03 Jan 2010 14:16:55 +0000
+
diff --git a/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/814e39c0-68ee-4165-9166-19e2aee9c07d/values b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/814e39c0-68ee-4165-9166-19e2aee9c07d/values
new file mode 100644 (file)
index 0000000..9c9a294
--- /dev/null
@@ -0,0 +1,11 @@
+severity: minor
+
+
+status: open
+
+
+summary: Add Roundup-like flexibility
+
+
+time: Sun, 03 Jan 2010 13:12:38 +0000
+