#86: redirects under mod_perl
-------------------+--------------------------------------------------------
Reporter: dom | Owner: dom
Type: defect | Status: new
Priority: normal | Component: openguides
Version: svn | Severity: normal
Keywords: |
-------------------+--------------------------------------------------------
From crschmidt:
Currently, when running OpenGuides under mod_perl, redirects do not
work, because the Apache $r object associated with the CGI object do not
exist. (You get an error message: Can't call method "send_cgi_header" on
an undefined value at (eval 64) line 62.)
This happens both after an edit, and when following redirects, and
possibly in other cases as well.
After some investigation last night, I tracked the source of this down:
currently, OpenGuides redirects use a class method of CGI:
{{{
CGI->redirect($redirectparams);
}}}
However, this does not work. It seems that class methods in this case
never initialize the Apache request variable that is needed in order to
send_cgi_header.
The solution for this, is to replace CGI->redirect calls with:
{{{
my $q = new CGI;
$q->redirect($redirectparams);
}}}
I have too little knowledge to be able to speak to whether this is a
fault within CGI or a fault within OpenGuides usage of it. However, this
change has allowed me to successfully use mod_perl on the Open Guide to
Boston in testing, and this fix or a similar fix should probably be
integrated into OpenGuides in either case, since upgrading the system
CGI.pm is a difficult task. The current debian packages for
stable include mod_perl 1.999.021, which is not compatible with CGI.pm
3.16, and upgrading mod_perl requires a full removal due to an API
rename (as described at http://perl.apache.org/docs/2.0/rename.html).
The code that needs to be changed is in OpenGuides.pm, in two functions:
{{{
sub redirect_to_node
sub find_within_distance
}}}
A patch which makes these changes is attached.
--
Ticket URL: <http://dev.openguides.org/ticket/86>
OpenGuides <http://openguides.org/>
The OpenGuides city guides project
#74: Move "Foo's To-Do" pages to WikiNames
-------------------+--------------------------------------------------------
Reporter: earle | Owner: earle
Type: task | Status: new
Priority: lowest | Component: trac
Version: | Severity: trivial
Keywords: wiki |
-------------------+--------------------------------------------------------
To help keep things nice and tidy here on the wiki I think it would be
good to rename the "Foo's To-Do" pages to the person in question's wiki
name - for ease of referring to them, etc. I'll volunteer to do this if
nobody objects.
--
Ticket URL: <http://dev.openguides.org/ticket/74>
OpenGuides <http://openguides.org/>
The OpenGuides city guides project
#36: Separate out installation of the OpenGuides software from installing a
guide
------------------------+---------------------------------------------------
Reporter: ivorw | Owner:
Type: enhancement | Status: new
Priority: normal | Version: 0.51
Severity: normal | Keywords:
------------------------+---------------------------------------------------
Currently, the install of [http://search.cpan.org/~dom/OpenGuides/
OpenGuides] is tricky, and doesn't allow a great deal of flexibility:
* Running more than one guide on the same host
* Upgrading the software
It is proposed that the install process be split into two distinct steps:
./Build install # install the software, run as root
./Build guide # Ask all the config questions about setting up a guide
# Set up the wiki.conf, CGI and database tables, run as www-data
Thus a CPAN(PLUS) or Debian apt-get install will only install the
software, and not any guides.
This exact mechanism can be used for software upgrades with the minimum of
human effort.
As a side effect, the test suite will need revising, as the answers to the
config questions about databases will not be known at this point.
Currently, the test suite is run against all the supported database
drivers found (MySQL, pg, SQLite). These are destructive tests that are
run against the databases concerned, and could have a devastating effect
if run against the real production database.
I propose that instead, there are two options for running the test suite,
either minimally via an SQLite throwaway database (the default), or
running the tests against the full range of databases on the target
machine - a full test. To do this will involve another new build target:
./Build testconfig # probe system for database drivers, and get
authentification info
Once testconfig has been run, the test suite will run against all test
databases, and the schemae and test data will be torn down on completion,
and also at the beginning if the databases appear non-empty.
A full test with testconfig against all database platforms is recommended
before shipping releases.
Note, this change will also insist on making DBD::SQLite a prerequisite
module.
--
Ticket URL: <http://dev.openguides.org/ticket/36>
OpenGuides <http://openguides.org/>
The OpenGuides city guides project
#73: Diff function considers trailing spaces to be significant
-------------------+--------------------------------------------------------
Reporter: earle | Owner: dom
Type: defect | Status: new
Priority: normal | Component: openguides
Version: svn | Severity: normal
Keywords: diff |
-------------------+--------------------------------------------------------
See for example
http://london.openguides.org/index.cgi?id=Knights_Templar%2C_WC2A_1DT&versi…
--
Ticket URL: <http://dev.openguides.org/ticket/73>
OpenGuides <http://openguides.org/>
The OpenGuides city guides project
#71: Inline Google maps when geodata is present
--------------------------------------------------+-------------------------
Reporter: earle | Owner: dom
Type: enhancement | Status: new
Priority: normal | Component: openguides
Version: svn | Severity: normal
Keywords: maps, javascript, templates, metadata |
--------------------------------------------------+-------------------------
If a postcode or lat/long pair have been entered for a node, a Google map
should be shown on the page. crschmidt's code will probably be of
relevance here.
--
Ticket URL: <http://dev.openguides.org/ticket/71>
OpenGuides <http://openguides.org/>
The OpenGuides city guides project
#6: mod_perl support
--------------------------+-------------------------------------------------
Reporter: dom | Owner:
Type: enhancement | Status: new
Priority: normal | Component: openguides
Version: | Severity: normal
Resolution: | Keywords:
--------------------------+-------------------------------------------------
Comment (by chris(a)prather.org):
I got OpenGuides running under Apache::Registry (mod_perl 1.x) for
http://saintpaul.openguides.org with only a few hiccups.
I changed all of the globals in wiki.cgi/index.cgi to use 'our' instead of
'my'. This is fairly trivial and shouldn't affect anything.
I had to patch CGI.pm to make sure $r was properly initalized during
redirect headers. I'm not sure why this was neccessary but it was going
undef during a page-edit-redirect request after the page had been saved by
OpenGuides and a redirect request was being made. This was less trivial
and needs a better investigation as to why it's happening. I haven't had a
chance to really dig into the OpenGuides code yet to figure it out.
Other bugs may still be lurking but I haven't seen them or had any
reported yet. I'll let people know when I've gotten further than this.
--
Ticket URL: <http://dev.openguides.org/ticket/6>
OpenGuides <http://openguides.org/>
The OpenGuides city guides project
#67: Preload website field with http://
------------------------+---------------------------------------------------
Reporter: ivorw | Owner: dom
Type: enhancement | Status: new
Priority: normal | Component: openguides
Version: | Severity: normal
Keywords: |
------------------------+---------------------------------------------------
Many newcomers to OpenGuides are not aware that the website needs the full
address including the protocol, and is tempted to put in www.mysite.com
It is proposed to have the input preloaded with http:// to make it obvious
what we want.
If the value 'http://' is received from the form, this is ignored by the
commit processing.
--
Ticket URL: <http://dev.openguides.org/ticket/67>
OpenGuides <http://openguides.org/>
The OpenGuides city guides project
#18: Break down address into separate fields
-----------------------------+----------------------------------------------
Reporter: IVORW(a)cpan.org | Owner: ivorw
Type: enhancement | Status: assigned
Priority: normal | Component: openguides
Version: | Severity: normal
Resolution: | Keywords:
-----------------------------+----------------------------------------------
Comment (by ivorw):
I am hosting a demo of this with London data at [http://www.nurflax.net
/cgi-bin/openguides/wiki.cgi]
Guide is configured with address_format =
"street,town,city,county,country,postcode"
Presets are city and country
Please feel free to play :)
--
Ticket URL: <http://dev.openguides.org/ticket/18>
OpenGuides <http://openguides.org/>
The OpenGuides city guides project
#26: Map link missing from RDF
-----------------------------+----------------------------------------------
Reporter: IVORW(a)cpan.org | Owner: earle
Type: defect | Status: reopened
Priority: normal | Component: openguides
Version: 0.50 | Severity: normal
Resolution: | Keywords:
-----------------------------+----------------------------------------------
Changes (by ivorw):
* resolution: wontfix =>
* status: closed => reopened
Comment:
Looks like I was outvoted on this one (see giscussion on ticket #49).
Re-opening.
--
Ticket URL: <http://dev.openguides.org/ticket/26>
OpenGuides <http://openguides.org/>
The OpenGuides city guides project