Difference between revisions of "CcPublisher Prerequisites"

From Creative Commons
Jump to: navigation, search
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Category:CcPublisher]]
 
[[Category:CcPublisher]]
 
[[Category:Developer]]
 
[[Category:Developer]]
{{incomplete}}
 
This page describes setting up a sandbox for running ccPublisher 2 and P6 from CVS.
 
  
== Setting Up a ccPublisher Sandbox ==
+
This page describes the prerequisites needed to develop ccPublisher.  We try to maintain pure Python within our Subversion repository (either with a vendor tag or svn:external).  However, there are a handful of dependencies which are better built on individual systems or installed from binaries.
  
A sandbox is a checkout of the ccPublisher sourcecode from Subversion.  Setting up a sandbox lets you work with the most recent features, as well as work on the source code yourself.  For background on how the sourcecode is organized see [[ccPublisher 2 Architecture]].
+
* '''Python 2.4'''
 
 
In order to run ccPublisher 2 from source, you will need to first build the P6 framework.  P6 includes portions of the Zope3 framework which require a C compiler.  If building on Win32 without Visual C++ 7.1, you will need to download and install the free [http://msdn.microsoft.com/visualc/vctoolkit2003/ Microsoft Toolkit Compiler].  Instructions for configuring Python 2.4.1 with the Toolkit Compiler are available at http://www.vrplumber.com/programming/mstoolkit/. 
 
 
 
=== Prerequisites ===
 
 
 
We try to maintain pure Python within our Subversion repository (either with a vendor tag or svn:external).  However, there are a handful of dependencies which are better built on individual systems or installed from binaries.
 
 
 
* '''Python 2.4''' Python 2.4 is required.
 
 
** Windows: http://python.org/download/
 
** Windows: http://python.org/download/
 
** Mac OS X: http://undefined.org/python/
 
** Mac OS X: http://undefined.org/python/
Line 20: Line 10:
 
* '''pywin32''' Python Extensions for the Win32 API (Windows only)
 
* '''pywin32''' Python Extensions for the Win32 API (Windows only)
 
** http://starship.python.net/crew/mhammond/win32/Downloads.html
 
** http://starship.python.net/crew/mhammond/win32/Downloads.html
* '''wxPython''' Unicode build recommended
+
* '''wxPython''' Unicode build required to properly support non-ANSI characters in ''any'' input field.  So really, just use the Unicode build.
** [http://wxpython.org/download.php#binaries binary downloads]
+
** [http://prdownloads.sourceforge.net/wxpython/wxPython2.6-win32-unicode-2.6.2.1-py24.exe Windows]
* '''libxml2 & libxslt2''' with Python bindings
+
** [http://prdownloads.sourceforge.net/wxpython/wxPython2.6-osx-unicode-2.6.2.1-macosx10.3-py2.4.dmg Mac OS X (10.3 and later)]
** Windows: http://users.skynet.be/sbi/libxml-python/
+
** Linux: use a distro-specific package or see [http://wxpython.org/download.php the wxPython download page] for other options
** Mac OS X: build instructions [http://jamesclarke.info/notes/InstallLibxml2 here] and [http://www.schooltool.org/documentation/developer-references/setting-up-a-development-environment/mac-os-x here]; note that you may have to adjust the Python paths used to point to your Python 2.4 install
+
* '''elementtree'''
** Linux: http://xmlsoft.org (usually also available in the distribution package repository)
+
** ''Note:'' This is a change as of 8 February 2006 (see [[why ElementTree]] for details on the switch from libxml2)
 
+
** http://effbot.org/downloads/#elementtree
=== Getting Started ===
 
 
 
Before you begin building you will need to check out the source code.  ccPublisher uses [http://subversion.tigris.org Subversion] for source control.  To check out the most recent copy of the code, execute the following command:
 
 
 
  $ svn co svn://svn.berlios.de/cctools/publisher/trunk ccpublisher
 
 
 
This will check out the entire required source tree, including dependencies from the Zope 3 project, into the ccpublisher directory.
 
 
 
=== Building ===
 
 
 
Before you can run from source you need to build the zope.proxy C extension.  The included <code>setup.py</code> will handle the actual compilation process.  Assuming you checked out ccPublisher as show above, just run:
 
 
 
  $ cd ccpublisher
 
  $ python setup.py build
 
 
 
This will compile the extension module, but will not install it into the standard Python path.  So before you can run from within the checkout, you need to move the compiled extension to the appropriate directory.  On Linux systems, the extension takes the form of a .so file, so your command will look something like:
 
 
 
  $ cp build/lib.linux-i686-2.4/zope/proxy/_zope_proxy_proxy.so zope/proxy
 
 
 
=== Running ===
 
 
 
After you've copied the zope.proxy extension into the appropriate location, run <code>main.py</code> to start ccPublisher:
 
 
 
  $ python main.py
 
 
 
== Editting the Source ==
 
 
 
== Submitting Your Changes ==
 
 
 
== Distributing ccPublisher ==
 
 
 
This section contains basic information on building a distribution of ccPublisher (or other P6 Application).  We '''will''' have scripts for this, we just haven't found the right tool.  Ideally something like Ant, but without the Java overhead.  Suggestions welcome.
 
  
=== Prerequisites ===
+
== Developing ccPublisher ==
{| border=1 width="100%"
 
! Windows
 
! Mac OS X
 
! Linux
 
|-
 
|width=33%|
 
* '''py2exe''' http://www.py2exe.org/
 
|width=33%|
 
* '''py2app'''
 
|width=33%|
 
|}
 
  
=== Building ===
+
Depending on your platform and toolset, your development model may vary slightly.  See the appropriate tool/platform-specific page:
  
=== Packaging ===
+
* [[Developing ccPublisher with Command Line Tools]]
 +
* [[Developing ccPublisher with Eclipse]]
 +
* [[Developing ccPublisher with Wing]]

Latest revision as of 14:15, 29 June 2006


This page describes the prerequisites needed to develop ccPublisher. We try to maintain pure Python within our Subversion repository (either with a vendor tag or svn:external). However, there are a handful of dependencies which are better built on individual systems or installed from binaries.

Developing ccPublisher

Depending on your platform and toolset, your development model may vary slightly. See the appropriate tool/platform-specific page: