> Do you use bundles?
yes
> If so, how do you use them, and why?
- To collect our code together in the browsers
- To version our code together, and provide a place for an overview of
all the individual packages' version comments
- To make loading our code easier (smaller number of components +
versions)
- We mostly have bundles that only contain packages, and each package is
only in one bundle
- We have a couple of occurrences of a bundle containing (packages and a
bundle containing packages)
- We have a couple of occurrences of a package being contained in two
different bundles
- A bundle's version history may sometimes branch temporarily to allow
patches to a release, while the main trunk continues with free
development of the next release
- We split into different bundles where appropriate or when forced to by
Store (e.g. lack of support for overrides within bundles)
- We build development and deployment images from a virgin visual.im
with scripts that load Cincom parcels, reconcile them with our local
Store, load a few packages from the public Store, and load our app from
our local Store. For deployment a script then unloads Store and other
unloadable development packages then runs RTP.
- We have added our own little tools:
- a better list of "More recently published" that filters out packages
if they can be loaded by loading a bundle shown
- "Unloaded published items" and "Unloaded recently published items"
to show 'relevant' new packages or bundles
- the bundle compare versions dialog has a button "Show version
comments" that concatenates the version comments of all package changes
between the bundle versions
- "reconcile just bundle" to quickly rebase a bundle on a more recent
published version, without trying to reconcile the code contents of the
packages
- "More recently published contents of bundle" that lists only updated
versions of this bundle or its contents
> If setting explicit pre-reqs was easier, would you still use bundles?
Yes. We use pre-reqs very little. Pre-reqs create a network where each
package carries some of the responsibility, and the result is determined
at load time. The mechanisms in pre-reqs are not sophisticated enough to
specify which package and version of it should be loaded under which
circumstances (e.g. VW version compatibility, platform). Conversely, if
they were more complicated then getting them right would be harder - at
least to achieve the desired level of certainty.
Pre-reqs work well when there is a large mass of components shared by a
large mass of users from different organizations, and those users don't
have many components from outside the shared mass - e.g. Linux OS
components and standard apps. Bundles (or similar) work better within
one organization, or where some components are local and some shared
(e.g. our Store + the public Store).
Travis asked a few more questions, some of them rather leading :-). Yes,
we used Envy actively 1993-2000, with about a dozen programmers over two
sites. One of our bundles' structure was defined then, the rest since. I
feel bundle load order lists are often the simplest and most reliable
way to sort out load order issues. I've never noticed that bundles
suppress package post load actions - is that really true??
Cheers,
Steve
_______________________________________________
vwnc mailing list
vwnc@...
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc