A php based Universal Database Interface written by MattErbst
Homepage: http://www.autocoder.org
AutoCoder is a platform which is capable of analysing an existing database, and generating the website most appropriate for allowing the users defined within the database to perform the roles which seem most appropriate to them given their permissions.
AutoCoder is a tool which dramatically speeds up the web development process, by having programmers do what humans are best at, modeling data, and saving the redundant work for computers to do. Only a human programmer is capable of understanding and modeling the relationships between various concepts into table form, as the human mind stores this information as sets and relationships.
This level of automation is made possible by abstracting every major task that web applications perform (data storage, data editing, permissions management, data searching, data displaying, and data mining) to a point where the script will work with any dataset provided.
AutoCoder works by first analysing the database's permissions tables to determine which tables a given user has access to, and what roles the user is capable of performing on these tables, and which relations between tables are relevant to this user. AutoCoder then analyzes the structure of the individual tables and makes decisions (sometimes with the help of the configurator user) about how best to display each field, and how to provide for the user to add objects specified by table relationships.
Every type of table relationship is accounted for (one to one; one to many; many to many), and the perspective of the database as viewed from each table will be available on a specific unique page. This will allow for a much friendlier user-experience than any human programmer has time to develop.
Sounds like a great tool for building a simple data administration interface, but it sounds like the same problem MicrosoftAccess has, only worse (and I ought to know since I'm an Access developer), The problem is that the way data is represented in the database should not be the determining factor in how the user interface works. Take Google, for example - you type your criteria and hit search. Not only does the interface not map to the data structures which the user has no need to know about, but there are complex layers of logic between the interface and the storage medium. A database and a database UI does not an application make.