AcmeBase
This project has been abandoned. The code base is no longer being maintained. The other mini-projects and free utilities that use to be listed here can now be found at mackpexton.com.
This is the home page for the AcmeBase Project, a software system describing databases so that forms, queries, and lists can be easily and securely generated.
The latest version of AcmeBase can be downloaded here.
Mack Pexton is the principle author and caretaker of AcmeBase. He can be reached at mack@acmebase.org.
An example database has been set up for you to view. As a simple protection agains robots, the site requires you to sign in as user demo with a password demo. Feel free to enter data if you want, but please keep it fictitious and interesting.
Goals
The AcmeBase Project was started as an effort to set up a comprehensive information system in a license free environment. To be just free was not the goal. The goal was to set up an information system that can be moved, altered, repackaged, and reimplemented in a variety of ways on a variety of computers without any artificial restrictions. Licensing impedes that freedom.
A second goal of the project was to set up a system that would responsibly manage customer information. The information needs to be accurate, access needs to be secure, it's changes audited, and employee interactions with the customer logged.
A third goal was to have a system where changes to a list of customers are as easy to do as changing just one customer.
Lastly, AcmeBase was intended to facilitate the rapid design and setup of database information systems where field definitions, their computations, and their validation routines can be copied from other databases and reused.
Design
The basic philosophy of the AcmeBase system is to use HTML forms to interact with a user, combine their input with SQL statements programmed by the programmer, submit the resulting SQL statements to a database engine, read the results from the database, and then assemble a list or view of the requested information for the user.
The heart of the system is an object-oriented meta-database written in Perl -- the AcmeBase. It contains an annotated description of the database tables and fields, and their relationships. It is built from text files of key/value pairs and looks like this example. It is intended to be locked into RAM on an Internet server using mod_perl.
The AcmeBase information is used to produce database definition statements, data entry forms, query forms, lists and calendars. It also holds security information so an administrator can specify which tables, columns, or even rows of a database table a user can access or change. User privileges are easily setup in an access configuration file.
The system currently has the following modules built around AcmeBase:
- Form Builder
- Form Filler
- Form Saver
- Searcher
- Lister
- Calendar
A list of system features can be found at http://www.acmebase.org/features.php.
A list of AcmeBase properties and their definitions can be found at http://www.acmebase.org/acmebase_properties.htm. This is the most current and comprehensive documentation.
Help
You can send email to mack@acmebase.org. Please include an example of the problem and as much information as you can.