Access as an Application Platform
From the point of view of the user of Access databases, there are common pieces of functionality that are needed over and over again.
- Register, Remove and Login Users
- User Groups and Authorization Levels that allow to control access to each of the forms
- Importing and Exporting of information from other systems
- Error handling
Although these are simple "blocks" of functionality, there are also recurring needs for a bit more complex features.
- Invoicing, Inventory, Product Management
- Contact Relationship Management (CRM)
- Asset Management
Typically all these needs are addressed on a case by case basis. I believe, that much of this should be abstracted and standardized.
The main goal of this project, is to create a platform, using MS Access as the development environment, in which all these common bits of functionality are abstracted in "modules" that can be added or removed of a particular solution.
The vision is that the end user of the database would only have to "configure" his solution by selecting from a gallery of pre-made functionality modules that just blend seamlessly into the "platform".
The initial release that I've posted for this project includes the "Core" module, which provides basic User Management functionality, some basic security features and Form localization.
The proper functioning of the platform as a whole, depends on a number of conventions to develop the "modules". As time allows, I will add documentation to this project that explains all these conventions in more detail.
I've tried to be as clear as possible on the code to make it as self documenting as possible.
For additional detail, you can have a look at the blog where I'm walking through the process of creating this application:
Your comments, suggestions and additions to this project are welcomed.