PTK and DemoPortal

  The primary means of obtaining the PTK is via CVS.
  Occasionally, snapshots are made available for those who
  don't have the ability to check a copy out with CVS.

Obtaining and installing ZopePTK from a snapshot

 PTK >= 0.8, new installation

  Snapshots can be downloaded from the
  "PTK page":http://www.zope.org/Products/PTK if any are
  available.

  To install a snapshot, extract it into the root of your
  Zope server.  For instance::

$ cd /usr/local/Zope2<br>
$ tar xzf ~/downloads/ZopePTK-x.x.tar-complete.gz<br>

  Start or restart your Zope server.

 PTK >= 0.8, existing, customized PTK installation

  *If you have made changes you wish to preserve to the
   DemoPortal or Wizard products (we **don't** advise this):*

  Snapshots can be downloaded from the
  "PTK page":http://www.zope.org/Products/PTK if any are
  available.

  To install a snapshot, extract it into the root of your
  Zope server.  For instance::

$ cd /usr/local/Zope2<br>
$ tar xzf ~/downloads/ZopePTK-x.x.tar-update.gz<br>

  Start or restart your Zope server.

 Migrating existing content objects

  Existing instances of the sample content types (Document,
  File, Image, Link, NewsItem) must be "reseated" to
  fix up their class name in the ZODB.  To perform this
  operation, first update your PTK (see above), and then
  view the following URL::

    http://host.your.tld/path/to/portal/manage_migrate_contents

  This method recursively walks your portal, finding and
  replacing instances of the sample PTK content with
  instances whose class is in the new, "blessed" location.

 PTK < 0.8 (Zope 2.1.* only)

  Snapshots can be downloaded from the
  "PTK page":http://www.zope.org/Products/PTK if any are
  available.

  To install a snapshot, extract it into the root of your
  Zope server.  For instance::

$ cd /usr/local/Zope2<br>
$ tar xzf ~/downloads/ZopePTK-x.x.tar.gz<br>

  Start or restart your Zope server.

  Skip down to 'Completing the install'.

Obtaining and installing ZopePTK from the CVS

 PTK >= 0.8 (Zope 2.2 only)

  See
  "Public CVS Access":http://classic.zope.org:8080/Community/CVS_public_access
  for directions, substituting 'ZopePTK' for 'Zope2'.

  After following the instructions of the Public CVS Access
  page, you will end up with a directory called 'ZopePTK',
  which will contain subdirectories.  Copy the contents
  of 'ZopePTK' to the 'Products' directory of your Zope
  server.

  Note that to refresh an existing CVS sandbox, you should
  use 'cvs up -d -P' (assuming you want to remove obsolete
  directories and retrieve any newly-added ones).

  *N.B.:  Sites which have customized DemoPortal or Wizard should
          **not** copy the new DemoPortal or Wizard folders from
          the CVS sandbox to the Products directory -- doing so
          will replace you through-the-web changes!*

  Restart Zope.

 PTK < 0.8 (Zope 2.1.* only)

  See
  "Public CVS Access":http://classic.zope.org:8080/Community/CVS_public_access
  for directions, substituting 'ZopePTK' for 'Zope2'.

  After following the instructions of the Public CVS Access
  page, you will end up with a directory called 'ZopePTK',
  which will contain subdirectories.  Copy the contents
  of 'ZopePTK' to the 'Products' directory of your Zope
  server. Copy the file
  'ZopePTK/PTKDemo/DemoPortal.zexp' to the 'import'
  directory of your Zope server.  You will need to create
  this folder in the root of your Zope installation if you
  have not already done so.

  Restart Zope.

  Continue with "Completing the Install"

 Completing the install (PTK < 0.8)

  Use a web browser to view your Zope Management Interface.
  View the contents of your 'Products' folder.  You should
  see the 'PTKBase' and 'PTKDemo' products.  Using the
  'Import/Export' view, import the file 'DemoPortal.zexp'.

  You must restart Zope again to fix the DemoPortal product.
  It contains a ZClass instance ('PortalWizard') which is
  always 'broken' until the next restart.

 Kicking the Tires

  If you now go to a suitable location, you should be able
  to instantiate a Portal object.  This is actually an
  instance of the DemoPortal.  Take a look at it's ZClasses
  and the contents of the DemoApp folder in ZopePTK/PTKDemo
  to see how it works.
