Bill,
Heed Geert's words. The way our extensions work is that at the end of the process, you still have a "standard" EA repository. We have just automated a manual process. Admittedly, we have "hijacked" some existing fields, but that's something we could do manually.
Before "rolling your own" you need to understand what EA is doing and how it does it. Then you can determine if that's suitable. You're correct in saying that you haven't got the "grey hairs" from working with EA for years - that's why you should hire someone who has, to provide knowledge transfer.
As far as Access is concerned, we do use some tables of our own, but they are either temporary tables (in a separate MDB) or metadata tables for managing the process (in the main MDB). We also have a library of VBA functions that we use for interesting stuff. Some of the more "out there" things we do under Access automation (via Access macros) are:
- Creating term objects for holding copies of the names of other objects and associating these terms back to the origin objects - create t_object and t_connector entries
- Determining if a term is an aggregate of other terms and creating aggregation links between them - in t_connector
- Automatically creating partial naming links between an object and the set of terms where the term is part of the aggregated name of the object - more t_connector
- Moving t_object items from wherever that are currently stored (Package) to a standardised location (depending upon which branch of the repository they are located)
- Moving t_object items from their standard locations to a separate location for special processing and then returning them after
- Determining what items may have changed since the last processing run, so as to limit the set of items required for special processing
This is to indicate what kinds of things are possible, not to say you should do it.
We are dealing with an enterprise wide repository, supporting potentially tens of teams and hundreds of users (mainly readers), keeping "the ducks in a row" and stopping them becoming cats that need to be "herded" requires this level of automated support.
As mentioned (and reinforced by Geert) our intention is to end up with a repository that can be properly supported by the standard EA UI (even if a bit "kludgy" at times). We go to a lot of trouble to make sure we don't break anything in the standard product. Sometimes, our solutions are less than optimal, but still consistent (enough) with standard EA.
HTH,
Paolo