This project uses

Change dir to projects.

Clone repos:
hg clone|django-nonrel|djangoappengine

hg clone # Version that works with django-nonrel and djangoappengine

svn checkout django-tagging

hg clone

hg clone

Your folder structure should now look similar to this:

    * .../django-nonrel/django
    * .../djangoappengine
    * .../djangotoolbox
    * .../maxipack-pl
    * .../maxipack-pl/common-apps/djangoappengine -> ../../djangoappengine
    * .../maxipack-pl/common-apps/djangotoolbox -> ../../djangotoolbox
    * .../maxipack-pl/common-apps/django -> ../../django-nonrel/django

    .../maxipack-pl/common-apps/registration -> ../../django-registration/registration
    .../maxipack-pl/common-apps/tagging -> ../../django-tagging/tagging
    .../maxipack-pl/common-apps/staticfiles -> ../../django-staticfiles/staticfiles
    .../maxipack-pl/common-apps/piston -> ../../django-piston/piston

NOTE: Example of making symbolic links in Windows:
D:\cygwin\home\tomek>mklink /D maxipack-pl\common-apps\piston ..\..\django-piston\piston

NOTE: Setup hosts file (<WINDOWS>/System32/drivers/etc/hosts) to map to localhost:

SMTP mail server
Application sends some emails, so you need to have SMTP server working in order to test it.
Run server by running python script utils/
Server will store all mails in _mail directory.

NOTE: This doesnt work (due to appengine SDK bug) with Python 2.5.4. Use python 2.5.2 or 2.6 instead.



rm -rf ./_staticfiles
./ build_static --noinput
./ deploy


./ loaddata products/sample.json
./ loaddata bundles/sample.json


./ maxipack_init

Python/cygwin setup

- install cygwin, with:
  - make
  - gcc
  - python 2.5.2

- install easy_install:
  download .egg and execute like sheel script (bash ....egg)
- install PIL:
- install Sphinx: easy_install -U Sphinx

- build django documenation:
  >cd django-nonrel/docs
  >make html


Integration types:
 - maxipack site shop
   - add fake payment system integration
   - add paypal fake integration
 - widget - simple version
   - how to know in widget that calls come from valid website (hacker didnt integrate hijacked widget) - widget has to pass http_referer or sth like that - research necessary - how to communicate with JS inside iframe??
   - after user selected stuff - redirect to maxipack payment system (separate page or in-place?)
 - widget - more involved stuff
   - widget has to pass data about current price outside, so that customer's site can do checkout
     - client side - javascript somehow?
     - server side - through transaction id: widget pushes transaction id, customer's server retrieves it - how to communicate transaction id form widget to customer? callback?
     - things client should know: customer's session id, email of user (to send things)
     - things server should know: transaction id, so that he can then mark transaction with 'paid'
 - full integration - copy of maxipack site shop using API
   - should maxipack site shop itself be implemented using API - probably easier!