From: Justin F. <je...@ey...> - 2001-06-27 13:58:04
|
Alex: We are still futzing along with development of modules that will ultimately be used in our production sites, with the r2 constraints. Our enthusiasm for the BC model and the implications for the future, remains unabated. Now, one of the things that we feel a "need" for is a way to pass data downstream from one module to another. It may be that we are using BC in a way that is unanticipated, but our way, right now, is what we think best. Here is an example to illustrate. Let us say that we are trying to give the location of the nearest ACME CORP store to the site user, based upon the entry of the site user's ZIP code. Our module load order may be, after the round trip passing in the ZIP: 1. Module with some decoration output 2. Module to merely compute great circle distance, no output 3. Module to get the nearest store out of the database, no output 4. Module with some decoration and output of result For this example data has to be dropped into global scope, Hansel and Gretel style, by module 2 for module 3. Then data has to be put into global scope by module 3 for module 4. THIS IS NO PROBLEM with the facility of BC. But, in a production environment, when our business is going to create numerous modules that maybe do tasks that only differ slightly, and depend upon data "passed in" from a previous manipulation of an upstream module, we have to agree among ourself as to the place where this data will be picked up, and results dropped. So, we may do something like, everything will be stuck in the EYE_LUNCHBOX array/data structure, and comments will be put in the module source as to where it expects things, and where it will drop things in the EYE_LUNCHBOX datastructure/array. This is still no problem. However, one of the advantages of BC will be the contribution or interchange with other developers of BC modules. Probably every shop will have its "own conventions", and foreign modules may have to be tweaked slightly. As I said, this is no problem, but I think it would be a good idea to consider that BC supplies upon initialization a standard place for data passing. Sure, we could do it, and put "EYE_LUNCHBOX[]" into our copy of Init. But, I would rather you supply the facility, and that this would be available for all BC users. You are not going to dictate that data to be passed has to go there. But, by you setting up this facility, at least everybody could start using it. I don't think this is a trivial request, because if BC grows up to be big, and people "use" data dropping and picking up from a built-in standard place, the ultimate interchange of code between developers would become easier. Regards, -- Justin Farnsworth Eye Integrated Communications 321 South Evans - Suite 203 Greenville, NC 27858 | Tel: (252) 353-0722 |