
------------------------------
PgMarket 1.2.0 (March 4, 2001)
------------------------------

The new minor release features:

- an advanced search engine
- a category browser through the integration of TreeMenu 1.0 by Bjorge Dijkstra
- IVA (Italy) and brands tables, that can be disabled through suited flags
- a more detailed description of the users' addresses
- brief and extended descriptions for the products
- Euro currency notation
- importing of brands, categories, users, products, products images,
  and IVA values from text files easily obtainable through a spreadsheet
- better image handling
- some other little improvements

----------------------------------
PgMarket 1.0.0 (December 27, 2000)
----------------------------------

Now PgMarket should also work with PostgreSQL 6.5,
follow the instructions provided in the documentation.

-----------------------------------
PgMarket 1.0rc1 (November 12, 2000)
-----------------------------------

Now PgMarket also supports MySQL through a separate module;
moreover, products without images can be handled, too.

----------------------------------
PgMarket 0.99.8 (November 5, 2000)
----------------------------------

Now PgMarket provides i18n support, even if some details can still
be improved; pages returning a large number of products are split
in sub pages of fixed length linked to each other, a better search engine
is provided, orders status and discount support have been added.

---------------------------------
PgMarket 0.99.4 (October 8, 2000)
---------------------------------

Now PgMarket also provides an elementary search engine.

------------------------------------
PgMarket 0.99.2 (September 17, 2000)
------------------------------------

PgMarket is an e-commerce solution based on PHP4 and PostgreSQL.

Its most important features are:

- images and thumbnails handling

- multilingual support

- delivering price based on the the total shopping cart weight

- easy customization of the money type and of the weight unity

- handling of different types of users (italians, non italians,
  and enterprises)

- mailing of the orders, and storage of all the orders in the database

- credit card payment support (even though all the software needed
  for the handshaking with the Payment Authorization Service
  has been eliminated for the public release, as it strictly depends
  on the particular specifications assigned
  by the Payment Authorization Service)

- ability for clients to contact the store without buying anything,
  through a suited contact form

- products are organized in categories and subcategories;
  they are shown ordered by their respective "special level";
  products whose "special level" is above a customizable threshold
  are shown in the home page, too

- comfortable administration interface: the web shop is easily built up
  through a simple browser interface, the "web shop root" can insert categories,
  as well as insert, edit, and delete products also while browsing the catalog,
  even if connected from home

- secure passwords handling: passwords are automatically md5'ed
  on the client side through JavaScript, hence also the remote administration
  of categories and products does not compromise the web shop security

- maybe some other features, but just now I'm so sleepy and maybe
  I don't remember everything '-|  ;^)

PgMarket has been developed by Marco Pratesi
starting from MyMarket, authored by Ying Zhang
(ying@zippydesign.com).
For instance, the work has started from the following version:
http://www.devshed.com/Server_Side/PHP/Commerce3/mymarket3.tar.gz
Now the MyMarket project can be found also on
http://sourceforge.net

There are many differences between MyMarket and PgMarket.
MyMarket uses MySQL, while PgMarket uses PostgreSQL.
Moreover, PgMarket fixes some bugs of MyMarket
and introduces many security improvements and input parameters
checkings, modifications, and extensions as the multi-language feature,
images handling, and others.

Requirements:
-------------
- PHP >= 4.0
- PostgreSQL (version >= 7.0.2 is suggested)
I have developed it on Linux 2.2, Apache 1.3.14, PHP 4.0.3pl1,
and PostgreSQL 7.0.2.

The browser on the client side must support JavaScript and accept cookies.

Many thanks to Richard Stallman and Linus Benedict Torvalds,
to all GNU/Linux developers, to the Apache, PHP and PostgreSQL developers.

Documentation
-------------

Sorry, I still haven't had time to write a comprehensive documentation.
I hope that PgMarket code is sufficiently self-explanatory
and that I will write soon a better documentation.
Feel free to contact me if you need.
Furthermore, a large portion of the documentation wrote by Ying Zhang
for MyMarket, see
http://www.devshed.com/Server_Side/PHP/Commerce1
applies to PgMarket, too.

Anyway, some useful hints are in the following.

According to the included PostgreSQL dumps, the root password is "password",
and the pratesi's password is "marco71".
Passwords are stored md5'ed; they ARE NOT transmitted as clear text passwords:
they are md5'ed on the client side through JavaScript.
See the included md5.js and all related forms, you will note some "fake" forms.
Clients with JavaScript disabled are not able to login.
A warning is provided to clients that try to signup with JavaScript disabled.

The Fiscal Code is used in Italy, it depends on personal informations
such as the First Name, the Second Name, the Birth Day, and so on,
and it also contains some kind of "checksum".
As it is not used in other countries, I have provided a signup form
for non italian persons, it does not contain the Fiscal Code input.

The Enterprise identification number consists of 11 ciphers,
hence a "demo" number (a demo Partita IVA) can be 11111111111

You can assign a "special_level" weight to each product;
products are shown ordered by special_level;
moreover, on the Home Page, only products with special_flag = 1
are shown in the Special Products section.

Products without images can be handled, too: simply insert
a new product without choosing an image.
You can add an image later by editing the product and choosing
an image.
You can also edit a product without changing its image:
simply edit it without selecting an image, and, if an image
is already used, it will be maintained; if no image is already used,
the product will remain without any image.

Discounts: please see the demo to understand how they are handled.
If you do not want to discount a product, simply either do not fill
the corresponding values or set them to 0.
Otherwise, if you want to discount a product, choose discount
and discqty; if more than discqty items of that product are requested,
such items are discounted according to the discount percentual.

To set the dependence between weight and delivery price, please
customize the final part of cart.inc

I think that my English could be improved...
please contact me if my Italian --> English translation is bad,
any valid help is surely welcome.

I will try to document any other "obscure" feature of PgMarket...
please, remember: your feedback (yes, just you, I am talking to you :)
has a noticeable importance to obtain a good documentation...
moreover, cooperation is just in the spirit of GNU :-)

--
Marco Pratesi
http://www.telug.it
pratesi@telug.it

