
This is README file for DEVZERO -- ultimate open source online storefront.
This file briefely describes history of project, and future plans.

First of all, you probably woneder what the hell does DEVZERO can stand
for in this context. Well here is the answer:
Developed by Experienced Volunteers Zealously Easy Retail Organizer.

	I. History.

Now, some background history, that explains how theproject came to existance,
and, which is quite important, why v1 is what it is.

Originally it was written as school project by one of our students, in
those times, when Total Knowledge was still running programming school.

It was written by very stubborn person, who had lots of patience, lots of
wit, but little experience, and at the same time completely unmanageble.
Guy's name was Sergei Jukov. Every time I was looking at that original code,
I was in serious danger of hart attack, but I have to admit, that without
Serge, this thing wouldn't be possible. Also, since then he found some place
to apply his skills, and hav gotten much better at structured programming
(or at least I am so told).

Then, next group have graduated, and was in need of something to grind on.
We assigned them tasks of commenting this code, and  getting rid of duplicated
places. This made code little bit better organized, and, what is more
important, made it possible to change visual design more or less easily.
One notable person in that group, who invested lot of time into the project
was July Chichmarenko.

Then last group of graduates came alone. Most of them found some way to
avoid working on our project (mostly by dropping out waay before graduation,
as studying with us is task that requires *lot* of effort, and they weren't
particularly bright). However, there was one person - Irina Palaszeski, who
decided to stay with us. In addition to being bright, easy going, and generally
nice person, she posessed an important quality - ability to do visual design.
She continued work of cleaning up our code, and created few quite nice designs,
that are in use in production systems today. Check out
http://www.russianbooksmusic.com http://www.graffeoleather.com
http://www.moskowgifts.com

So, that's where we are right now with V1 of store. It's written in PL/SQL,
using my mod_plsql (http://www.total-knowledge.com/progs), whichis 
more-or-less API-compatible with v3.0 of oracle Web Application Server.
There are also parts that are written in PERL and C.
Theoretically DEVZERRO v1 code should 'just work' with OAS. In practice
I never tried. Oracle and mod_plsql were used because that was what we taught
our students.

	II. Future plans
When we started using this software in real-world, initally everything
was fine. It was easy enough to change design of app, it was easy to
change payment processing part (In fact one instance uses PayPal for processing)
etc. However, when we wanted to run a business arround slightly different
scenarios, or extend functionality itproved to be rather difficult. In addition,
using Oracle has two big ditadvantages. First one is phylosophical: it is
closed software. Total Knowledge is strongly positioned against use of closed
source software. Another reason is practical: in todays economy, it is rather
hard to make enough money to pay licensing fees.

Thus we have three reasons for complete rewrite.
1. Flexibility and usability.
2. Freedom.
3. Price.

After some investigation, we decided to use PHP for implementing logic,
and PostgreSQL for database back-end. After little more thinking, we decided
to abstract database backend, especially considering ease of this task provided
by Pear. After even more thinking, we decided to use Horde framework for
DEVZERO v2. You can find information on Horde at http://www.horde.org.

DEVZERO will be implemented with following requirements in mind:
1. It should be possible to replace every piece of functionality,
   with different implementation, without disturbing rest or app.
   Modularity rules.
2. It should be passible to run DEVZERO like mall - in other words
   multiple catalogs under one umbrella. Things like cress-catalog
   searches, common user database, etc. will be possible.
3. Catalogs should be flexible enough to store describtions of all
   kinds of merchindise efficiently.

More information on design and implementation status of DEVZERO v2
can be found on our website (www.total-knowledge.com/progs/devzero

