Thanks 1000X for the posts here, and particularly for the last several that are addressing the issues we have head on. Jeff Wills Nailed it. These are from folks that have wrestled with the same issues. So I'm listening very carefully. And, yes, maintenance is the major goblin hanging over this effort.
The way things have been structured should lend itself well to low maintenance. I'm pulling a lot of tricks out of my 30+ years of programming, and the language we are using has adopted very well to the task of writing what I am thinking will be an effective set of DSLs (domain specific language/ specialty languages/one might say "bike speak"). The DSLs in turn allow short sweet indenpendent little "scripts" to be linked into the system and fired by the hundreds, perhaps someday by the thousands. Our trick is that the scripts can be generated from real practicing Bicycle Experts. My job is to set up the mechanism for this. A part of that mechanism is that I am setting up "Helpers" classes to take any heavy computations / logic / programmer stuff out of the picture. The helper classes support "reflection" so if an expert is picking from the library of helpers he can see what is available. This keeps computations and involved logic in one place to be re-used. I think there will (only) be some 20 of these helpers. One has been all about gearing, another has been for IDs/ODs, and I was looking to add one for threads when all kinds of questions about "what are the real params" came up. Of course, from my perspective setting things up, the exception must be the rule, and I am even thinking some of the helpers will have application in other domains.
We are looking to pick a core set of parts to begin with that we can expand outward from.... I'm not going to go into technical details here but essentially the result of what is being done is that the manufacturer will need to make a choice from pre-determined picklists for each part type. Marketing stuff can be tacked on but what we need to drive things can come from these lists imo. I'm really thinking several man months will suffice to kick off these lists which can grow from new submittals.
I happen to have some pretty good experience with web-scraping but I think I would run from this project screaming if I thought I'd have to return to that problem ridden approach again. What I learned from that has led to this approach.
Many thanks again!
Michael