But you’re completely missing the point of objectivity and primacy. A bundle implies there are things of equal - or similar - worth packaged together in a pack
I don’t ever view bundles as containing equally valuable or the same things at all. Sorry if it came across that way. Is that the common conception for most folks?
I really honestly think you’re confusing Packages with Vehicles, and confusing yourself even further by trying to extend the metaphor too far.
Isn’t that the point of this discussion: to learn what the heck all this means and to put it into a framework that each person can understand? I’m certainly not trying to get an emotional charge out of anyone, but I am learning through this repeated banging of the concepts into my head.
I do disagree on the value of asking "what if?" and think there’s considerable merit in posing hypothetical scenarios that don’t border on the ridiculous. How we frame everything is very important, and the example I used was directly related to what we’re discussing and came straight from Bob’s own words. I’m probably wrong, but he could have just as easily lumped us into the same bucket if we use less approachable language to describe the concepts in modx. If we go blindly down the path of accepting what’s mandated we wouldn’t have "topics" instead of "foci".
That’s NOT to say that the other terms must be changed, but there may be some merit in compromising. At the end of the day, I’m deferring to the guys doing the actual coding and architecture decide. Everyone deserves fair, honest, open-minded and deliberate consideration though. And not everyone will have the ability to get this immediately and will probably make some bad suggestions, too. Those are all OK and expected in my book!
If, and that’s a big "if", we can use more broadly approachable terms that both non-developers and that developers can understand with relative equal effort, and that accurately describe the concepts in Revo, then I think we win big. It might even give us two avenues to grow the developer user base that may ultimately become contributors to the code in general:
- Pull by attracting developers due to the technical functionality and capabilities in Revolution
- Push because less Jedi-like users are adopting modx (think of all the ad agency and design studio marketing sites being built) and developers not currently familiar with modx discovering that Revolution can do a heck of a lot more than just brochureware sites when then need a custom application to go along with a marketing site that’s already in place.
I really think you’re just confusing your own definitions of things rather than going by the ones we’ve provided. Packages are the central element. They contain vehicles. Vehicles hold an object that can have resolvers/validators. All packages can be installed via Providers, and put in your workspace.
I don’t know why the following couldn’t be just as easily said. It’s not as concise, but at least for me who wouldn’t recognize an object (yet!) if it bit me on the backside seems a bit more approachable:
The shorthand description of installing things into Revolution:
The
Transport Packaging System installs
Packages comprised of one or more wrapper
Containers, each containing an Object and optionally Resolvers/Validators to make sure things are handled properly.
The more detailed explanation of how it all works:
In order to make it easy to distribute even complex collections of inter-related content, logic/code and/or data, these pieces are packaged together into
Transport Packages.
Packages can be installed with a single click inside the Manager by using the Transport Packaging System.
Packages can be a single .zip file loaded through a dialog box, or installed remotely over the web from trusted
Providers, such as the
modx Web Transport Facility. All Packages are installed into a destination
Workspace, which is typically your website.
Individual pieces inside a
Transport Package are called
Containers, with each
Container containing the following:
- a primary object, like a piece of code, some data or a file,
- and optionally, Resolvers and Validators, which tell the Transport Packaging System where to place the object, how it relates to other Containers in the Package, and how to tell if it all went well.
Developers can include one or more
Container in a
Package using Developer-oriented build scripts. Using the Transport Packaging System it’s possible to bundle up entire sites or sections thereof—complete with all dependencies on the filesystem and data from the database being bundled up into a nice, neat, easily installable
Package—for re-use, distribution or migration to elsewhere.