I was thinking the same about packages... as I see it (IMHO). You are
right about not versioning packages, but just rules.
versioning rules and label em with draft, revised, prod, etc. is
enought to author that. Packaging is a total diferent process
in the workflow of versioning rules to put on production, so when a
user edited, and finished (revised to prod state) a rule
or a group of rules (marked in categories as u implemented) then
organize those rules in a package is a step to prepare
a rulebase in a context to use in production, so when a user package
rules he is thinking in use them as a group oriented
exclusively to use in a context (I think I already wrote this... lol)
and the state of rules should be "prod" picked from the repo,
so build this "package" and take a snapshot to keep in a diferent-
context repo is enought and is the way to do it (IMHO). So
the user can check that package, get history of deployments and then
link the package to the rules stored on the repo of rules.
If he wants to make a change starting from the package "saved" he can
get the package snapshot and edit it including new
version of rules or something like that.... or add/remove rules, etc.
If he wanna do another one he must pick up rules from
repository (organized in a context-categorized way) and rapidly make
another package which can o cant be as the one stored before.
I hope you can see that I agreed with the c) point :)
On 02-02-2007, at 3:04, Michael Neale wrote:
Hi All.
Been working on package versioning etc, and it was really confusing
me and doing my head in.
Basically, it is possible to version the package as a whole
(basically "baseline") it - but this is really confusing from a
users point of view. each asset (rule) is also individually
versioned - so this extra layer is confusing (I can't quite work it
out myself - NOT a good sign).
So - what I propose is the following:
a) the ability to "status change" all the assets in a package in
one hit
b) changes to package "meta data" such as description are not
versioned per-se
c) for deployment, you "copy" (ie take a snapshot of) a package to
a deployment "area":
eg say we have a package foo.bar
we then take foo.bar, set the status to "PROD" and then copy it
to /deployments/foo.bar/DeploymentLabel eg Date...
so when we look at deployments, we see a list of packages, and
under them a list of deployment/snapshots (which mean whatever you
want them to). Simple - not unlike how SVN branches work. Of
course, this deployment copying is completely optional. Many people
will simply be happy with package level statuses, and individual
versioning.
Versioning of the "parent" package is quite confusing (eg looking
through the history of package versions - it isn't easy of obvious
to see what they are for or restore them anyway - AND it has no
parallel with SVN or other file based version that I am aware of -
perhaps in the future I will resurrect it one day??).
Please share your thoughts, this is the parth I am going down for
now. Its taken me too long to get to this point ;)
Damn this is a lot of work, but it has to be, as we don't want the
end users to be sweating this stuff, it has to Just Work !
Michael.
_______________________________________________
rules-dev mailing list
rules-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev
Felipe Piccolini M.
felipe.piccolini(a)bluesoft.cl