annotate README.txt @ 1:55578cf505dd

add some documentation for redirector
author Jeff Hammel <k0scist@gmail.com>
date Wed, 10 Mar 2010 10:45:11 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
1 redirector
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
2 ==========
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
3
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
4 *Control redirects through WSGI middleware.*
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
5
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
6 redirector is a piece of WSGI middleware that allows redirects to be
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
7 managed within the scope of a python web service. Traditionally,
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
8 redirects are done via Apache or some other web server disparate from
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
9 the python application. This leads to several undesirable
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
10 consequences:
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
11
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
12 * there is no way of controlling redirects through the web
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
13 * the web server must be restarted when redirects are changed
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
14
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
15 Because of this methodology of doing things, it discourages the
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
16 stake-holders (the people that actually care about the redirects) from
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
17 changing the redirects themselves. Because the redirects are not, in
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
18 their mind, content, this leads to unmaintainable systems. The goal
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
19 of redirector is to bring the power to create redirects to any
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
20 authorized user.
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
21
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
22
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
23 Status
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
24 ------
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
25
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
26 Redirector is largely in the conceptual stage. While what redirector
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
27 does now (regular expression redirects) is sufficient to reproduce
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
28 Apache's behavior, it is not enough to realize the vision of bringing
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
29 redirects to the people for WSGI apps.
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
30
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
31 Even this documentation is thoroughly imcomplete.
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
32
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
33
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
34 TODO
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
35 ----
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
36
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
37 redirector needs several pieces to become what it should be:
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
38
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
39 Types of Redirects
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
40 ------------------
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
41
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
42 Currently, only regular expression redirects (a la Apache) are
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
43 implemented. Another possibility, probably more applicable, are
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
44 something like glob redirects. The reason that these are useful is
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
45 that they, with a carefully constructed rule system, can be seen to
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
46 match each other. In other words, you can see if the existing set of
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
47 redirects is contradictory and if there are superfluous redirects. It
55578cf505dd add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
48 also better matches how non-experts think about redirects.