>Dragan,
>
>I can understand the concepts of what you are saying...but I haven't been exposed to a real life example. Could you give me an example of a suit of apps which plug into each other? I think the closest I've come to this so far is my current app, but only because we've moved all of our client information into the accounting system, and because we need to invoice...but we're only just scratching the surface of what you describe.
>----------------
Well, in our scheme we first ship the financial stuff, which has the ZIP codes and the customers tables, and the invoicing/warehouse, which uses these tables (or can be redirected to use its own). They can ship separately, or as a suite. It worked OK with the free tables in DOS, and all the time I'm thinking of what will the database scheme look like once they get ported to VFP. We'll probably end up shipping one common database and its tables, no matter whether the app that uses it ships or not.
There's another plugin between these two - the automatic booking of invoices from invoicing into the financial, because the financial does the customer/payment tracking. There can also be an independent invoicing (for services, damages etc), which has nothing to do with the warehouse, but has the same connections with the financial.
Well, practically all other apps are connected into the financial somehow, and they all use at least the ZIP codes table, and many of them use the customers/suppliers table.
This scheme saves us a lot of time when an old customer purchases an additional app, because at the same time any app may work standalone or as a plugin, depending on just a couple of path redefinitions (every app installs in its own subdirectory under \app).