Quote from: splittingred at Oct 03, 2008, 03:51 PM
Okay, with that in mind, where does bundle fail as a definition? Well, first off, a Vehicle is not by any means a collection of objects - it’s a carrier for only one object, and in that carrier, there are things that can be performed (resolvers/validators). Resolvers and validators perform actions based on the object - they are not on par level with the object in terms of primacy.
So a
vehicle only contains one thing, but might also be accompanied by a
bundle of associated things that tell the thing that moves them around what to do with the vehicle contents? Is that one thing or multiple things? Does the single vehicle item have any value of itself or must it always be accompanied by resolvers/validators?
Secondly, Bundle seems to imply more of the package definition - however, now you’re saying a Bundle is a package that is put in a package. That gets confusing. Separating the term bundle from package is necessary, since there can be multiple vehicles in a package.
Hence my container suggestion.
Containers, btw, keep the vehicle analogy going only they’re more about transportation in all honesty: transporting important goods and content by rail, truck, air and road. They have manifests attached to them and so on...
Definitely
container conflicts with the Resource Tree, so maybe extending the specifics to two whole words as opposed to one makes sense: Transport Container and Resource Container or Container Document, etc. In fact,
container in general may have to be revisited in Revo due to the fact that in Revo, you’re no longer limited to just web pages and weblinks in the document tree. The legacy modx "container" may have to become
parent resources or something like that in Revo. Probably a good topic for a new thread completely.
Vehicle’s definition fits it perfectly - a vehicle in Revolution is simply a structure by which objects are carried and "conveyed" (where conveyance here means acted upon with resolvers/validators).
I’m sorry but I keep getting stuck on transportation metaphors with
vehicle. Does the Vehicle itself do the moving, or is some other system involved? I think the case is that the Package Transport system does the actual moving of the vehicles. If that’s the case, and me being stuck on all-things-vehicle in the sense of cars for moving things around, then
container may be even more accurate and a much quicker analogy to grok. I could see a dev new to the Revo platform saying without any effort involved, "So their take on a container/bundle is just like product X, only much more capable." It’s something they’re likely and comfortable with, a term they’re used to using in the context of software.
A car is a car is a car, despite ones from Ferrari being more sexy, agile and fast than a Ford Pinto of yore. And people get the distinction that different brands of cars are capable of different things despite them all be classified as cars.
Quick Experiment: for anyone that’s not been intimately involved in the development of Revo, what’s the first thing that comes to mind when you hear the word "vehicle"? I bet few folks immediately think of something that is involved in holding singular items and maybe(?) the instructions that go along with that. Vehicle is so ingrained in all-things-automotive that I would bet 99%+ immediately think "car". And I don’t think the car analogy holds up as well when you put it up the the constraints of what it does. (It being the current Revo definition of vehicle.)
"Vehicle" might be interpreted as our trying to be too techy/edgy/l337 just for the sake of being different than others. As BobRay mentioned elsewhere a reason why he groaned and dismissed alternatives software CMSes was in fact all the techno-mumbo-jumbo for implementations of the same broadly-related (or often closely) things. What if we never had the privilege of having Bob working in our community because we’re presenting things that could be expressed more simply?
I’m not worried about the hard-core devs getting it, but I am about more casual users, or those that want to learn and become more technically adept devs. MODx today is a neat platform to learn basic PHP coding, partially I would surmise because it’s very approachable and simple to get a grasp of quickly. If we could do the same thing for OO development with Revo, that’d be a pretty cool thing too! (Not saying we can but it is fun to think about.) We don’t have to make it harder to change ingrained thought patterns by our word choices.
Bah I meander way too much. Forgive me for the length of this post for I have not the time to write a short one. And I have to go fill up my vehicle that’s low on gas.