Enzyme Publisher's description
Enzyme is an engine for storing structured data for structured searching.
Enzyme is an engine for storing structured data for structured searching.Under the umbrella of this simple idea, the Enzyme project consists of several subprojects. - The first is the original student profile management system which was developed at Catalyst Recruiting. This is a fully operational, release-stage MySQL-backed PHP application. Students can register and enter all of their profile information using the Profile Builder. Potential employers can search the profiles by specific criteria using the Profile Search form.
- The second is the Enzyme Modules which consist of the different components that make up the student profile system, broken down into separate packages. The reason for this is that in a given application you may not need or want to build a full-fledged structured storage, search and display system--you may only need certain components of the system. Also, these modules are intended to generalize to any type of structured data system, not just student profiles. The modules are:
- EnzymeTemplates -- the template system for displaying structured data.
- SQL Abstraction Layer (SAL) -- a class for handling and generating complex SQL queries.
- OOHFORMS-extra -- enhancements to the PHPLIB oohforms library for generating validated, database-backed form elements.
- SearchForms -- the form system for the search side, for doing structured searches.
- Third is the XML-based Enzyme, also known as enXyme. The goal of this project is essentially to be able to map an arbitrary DTD (or XML schema) into a fully-featured Enzyme system. To call it vaporware is a little harsh, but it is under heavy development right now, so some of the features described here are goals. If you are interested in joining the development effort, we sure could use you. This project consists of a few modules:
- XMLschemaParser -- this is really the heart of enXyme: if it does its job correctly, we can then apply any or all of the Enzyme Modules to the relational database schema that the XMLschemaParser generates. What this does is take an XML schema (which describes a hierarchical data structure, a class of XML documents) and generate four things: 1) set of enzyme-compatible database tables 2) form objects for gather and search 3) the appropriate PHP object hierarchy necessary to the EnzymeTemplates module 4) the generic, XML only, template files for regenerating the XML instance documents from the database.
- InstanceParser -- this takes the PHP object hierarchy and uses it as a guide for parsing XML instance documents into the database.
The system has a wide range of potential applications:
- Recipes: on the gather-side, you enter a bunch of data for the recipe, say, type of dish (main/side/appetizer), cooking time, ingredients, the procedure, etc. Then on the search side, one can say "show me all recipes that are main dishes, cooking time less than 30 minutes, that contain pork."
- Dating: on the gather side, people enter their personal data: gender seeking gender, age, hair color, hobbies, etc. The on the search side, one can say "show me all men seeking women, older than 32, who enjoy skiing."
- Apartments: you enter the number of bedrooms, size, location, rent, etc. For the search, you can say "show me all one-bedroom apartments in the Boston area costing between $500 and $1000 per month."
Program Release Status: Major Update
Program Install Support: Install Only