summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: b0fb518)
raw | patch | inline | side by side (parent: b0fb518)
author | richard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2> | |
Fri, 17 Oct 2003 01:53:11 +0000 (01:53 +0000) | ||
committer | richard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2> | |
Fri, 17 Oct 2003 01:53:11 +0000 (01:53 +0000) |
git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/trunk@1917 57a73879-2fb5-44c3-a270-3262357dd7e2
CHANGES.txt | patch | blob | history | |
doc/customizing.txt | patch | blob | history | |
doc/gadfly.txt | [deleted file] | patch | blob | history |
doc/installation.txt | patch | blob | history | |
doc/upgrading.txt | patch | blob | history | |
tools/migrate-queries.py | [new file with mode: 0644] | patch | blob |
diff --git a/CHANGES.txt b/CHANGES.txt
index 1c187f3644ae06e22055f15063308a492d536701..a742947adce7834407d513dac0f4c4e139eaec0d 100644 (file)
--- a/CHANGES.txt
+++ b/CHANGES.txt
Fixed:
- Fixed detectors fix incorrectly fixed in bugfix release 0.6.2
- Added note to upgrading doc for detectors fix in 0.6.2
+- added script to help migrating queries from pre-0.6 trackers
2003-09-29 0.6.2
diff --git a/doc/customizing.txt b/doc/customizing.txt
index 25b6628d30c715c67e0ce09e30da78d263483a24..67de904e00585a6267a5f1d8798c51514a72197f 100644 (file)
--- a/doc/customizing.txt
+++ b/doc/customizing.txt
Customising Roundup
===================
-:Version: $Revision: 1.103 $
+:Version: $Revision: 1.104 $
.. This document borrows from the ZopeBook section on ZPT. The original is at:
http://www.zope.org/Documentation/Books/ZopeBook/current/ZPT.stx
Before you get too far, it's probably worth having a quick read of the Roundup
`design documentation`_.
-Customisation of Roundup can take one of five forms:
+Customisation of Roundup can take one of six forms:
1. `tracker configuration`_ file changes
2. database, or `tracker schema`_ changes
diff --git a/doc/gadfly.txt b/doc/gadfly.txt
--- a/doc/gadfly.txt
+++ /dev/null
@@ -1,51 +0,0 @@
-==============
-Gadfly Backend
-==============
-
-This document outlines the design and implementation of the Gadfly (relational
-database) backend.
-
-
-About Gadfly
-============
-
-Gadfly is a collection of python modules that provides relational
-database functionality entirely implemented in Python. It supports a
-subset of the intergalactic standard RDBMS Structured Query Language
-SQL.
-
-
-Basic Structure
-===============
-
-Roundup supports a dynamic schema, something which doesn't map very well to a
-relational database table schema (or at least, it's frowned upon :)
-
-Approaches:
-
-1. Map roundup classes to relational tables. Automatically detect schema
- changes and modify the gadfly table schemas appropriately. Multilinks
- (which represent a many-to-many relationship) are handled through
- intermediate tables.
- Journals are stored adjunct to the per-class tables.
-2. Map roundup classes to relational tables. Automatically detect schema
- changes and modify the gadfly table schemas appropriately. Multilinks
- are handled with string representations of the id lists.
- Journals are stored adjunct to the per-class tables.
-3. Four tables:
-
- - classes: class id, name
- - properties: class id, property id, name, type, options
- - nodes: class id, node id, property id, value (one row per multilink value)
- - journals: class id, node id, event, description
-
- The classes and properties tables will need to be kept in sync with the
- roundup schema.
-4. Two less efficient tables:
-
- - nodes: class, property, node id, value (one row per multilink value)
- - journals: class, node id, event, description
-
- The classes and properties tables will need to be kept in sync with the
- roundup schema.
-
diff --git a/doc/installation.txt b/doc/installation.txt
index e704d7cab5401e68447b225088aa05fa8de3a575..37dee4b4199ec0e26da230d7b79d496dfcfb0bc3 100644 (file)
--- a/doc/installation.txt
+++ b/doc/installation.txt
Installing Roundup
==================
-:Version: $Revision: 1.60 $
+:Version: $Revision: 1.61 $
.. contents::
Prerequisites
=============
-Python 2.1.1 or newer with a functioning anydbm or bsddb module. Download the
+Python 2.1.3 or newer with a functioning anydbm or bsddb module. Download the
latest version from http://www.python.org/. It is highly recommended that
-users install the latest patch version of python - 2.1.3 or 2.2.3 - as these
-contain many fixes to serious bugs. Python 2.3 (currently in beta) has some
-"issues", at least with the SQLite backend, and possibly with other backends
-as well. It shouldn't be used with Roundup for now.
+users install the latest patch version of python - 2.1.3, 2.2.3 or 2.3.2 -
+as these contain many fixes to serious bugs.
If you want to use Berkeley DB bsddb3 with Roundup, use version 3.3.0 or
later. Download the latest version from http://pybsddb.sourceforge.net/.
-------------------
Once you've unpacked roundup's source, run ``python ./run_tests`` in the
-source directory and make sure there are no errors.
-If there are errors, please let us know!
+source directory and make sure there are no errors. If there are errors,
+please let us know!
If the above fails, you may be using the wrong version of python. Try
``python2 ./run_tests``. If that works, you will need to substitute
Installation
============
-Note: some systems, such as Debian and NetBSD, already have Roundup
- installed. Try running the command "roundup-admin" with no arguments,
- and if it runs you may skip the `Basic Installation Steps`_
- below.
+:Note: Some systems, such as Debian and NetBSD, already have Roundup
+ installed. Try running the command "roundup-admin" with no arguments,
+ and if it runs you may skip the `Basic Installation Steps`_
+ below and go straight to `configuring your first tracker`_.
Set aside 15-30 minutes. Please make sure you're using a supported version of
Python -- see `testing your python`_. There's several steps to follow in your
**mysql**
Backend for popular RDBMS MySQL. According to benchmarks, this backend works
much faster than any of \*dbm ones, but slightly slower than metakit and
- sqlite. Scalability is unknown at present. Roundup requires InnoDB or BDB
- support in MySQL. For more info on requirements and installation see
- `additional mysql documentation`_ (doc/mysql.txt)
+ sqlite. A good scalability is not a property of this backend for now,
+ though. For more info on backend installation see doc/mysql.txt.
**metakit**
This backend is implemented over the metakit_ storage system, using Mk4Py as
the interface. It scales much better than the dbm backends.
To make the server run in the background, use the "-d" option, specifying the
name of a file to write the server process id (pid) to.
-To run the server proxied through apache (to take advantage of SSL or other
-apache features), use the following configuration lines::
-
- LoadModule proxy_module libexec/apache2/mod_proxy.so
- LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so
- LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
-
- <Location /prometheus/>
- ProxyPass http://192.168.1.2:9090/roundup/
- AuthType Basic
- AuthName Roundup
- AuthUserFile /some/place/htpasswd
- Require valid-user
- </Location>
-
-Changing the ProxyPass line to point to the server you're running.
-
Zope Product - ZRoundup
~~~~~~~~~~~~~~~~~~~~~~~
.. _`maintenance documentation`: maintenance.html
.. _sqlite: http://www.hwaci.com/sw/sqlite/
.. _metakit: http://www.equi4.com/metakit/
-.. _`additional mysql documentation`: doc/mysql.html
diff --git a/doc/upgrading.txt b/doc/upgrading.txt
index 1547d5071ee82121e43322c1da3da46838b625df..eaf125f7efb84ed91021d7b9e2f9286b2674c3c1 100644 (file)
--- a/doc/upgrading.txt
+++ b/doc/upgrading.txt
__ customizing.html#searching-on-categories
Also, the url field in the query class no longer starts with a '?'. You'll need
-to remove this question mark from the url field to support queries.
+to remove this question mark from the url field to support queries. There's
+a script in the "tools" directory called ``migrate-queries.py`` that should
+automatically change any existing queries for you. As always, make a backup
+of your database before running such a script.
0.6.0 Notes for metakit backend users
diff --git a/tools/migrate-queries.py b/tools/migrate-queries.py
--- /dev/null
+++ b/tools/migrate-queries.py
@@ -0,0 +1,42 @@
+#! /usr/bin/env python\r
+'''\r
+migrate-queries <instance-home> [<instance-home> *]\r
+\r
+Migrate old queries in the specified instances to Roundup 0.6.0+ by\r
+removing the leading ? from their URLs. 0.6.0+ queries do not carry a\r
+leading ?; it is added by the 0.6.0 templating, so old queries lead\r
+to query URLs with a double leading ?? and a consequent 404 Not Found.\r
+'''\r
+__author__ = 'James Kew <jkew@mediabright.co.uk>'\r
+\r
+import sys\r
+import roundup.instance\r
+\r
+if len(sys.argv) == 1:\r
+ print __doc__\r
+ sys.exit(1)\r
+\r
+# Iterate over all instance homes specified in argv.\r
+for home in sys.argv[1:]:\r
+ # Do some basic exception handling to catch bad arguments.\r
+ try:\r
+ instance = roundup.instance.open(home)\r
+ except:\r
+ print 'Cannot open instance home directory %s!' % home\r
+ continue\r
+\r
+ db = instance.open('admin')\r
+\r
+ print 'Migrating active queries in %s (%s):'%(\r
+ instance.config.TRACKER_NAME, home)\r
+ for query in db.query.list():\r
+ url = db.query.get(query, 'url')\r
+ if url[0] == '?':\r
+ url = url[1:]\r
+ print ' Migrating query%s (%s)'%(query,\r
+ db.query.get(query, 'name'))\r
+ db.query.set(query, url=url)\r
+\r
+ db.commit()\r
+ db.close()\r
+\r