From 790b4ecbe80e2d362b63be74316c151e3e29fb59 Mon Sep 17 00:00:00 2001 From: "http://www.tychoish.com/" Date: Mon, 30 Mar 2009 17:25:43 -0400 Subject: cgi issue --- ...rmbuilder__44___non-existent_field_address.mdwn | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 doc/bugs/CGI__44___formbuilder__44___non-existent_field_address.mdwn (limited to 'doc/bugs') diff --git a/doc/bugs/CGI__44___formbuilder__44___non-existent_field_address.mdwn b/doc/bugs/CGI__44___formbuilder__44___non-existent_field_address.mdwn new file mode 100644 index 000000000..d86de048f --- /dev/null +++ b/doc/bugs/CGI__44___formbuilder__44___non-existent_field_address.mdwn @@ -0,0 +1,43 @@ +Error received when clicking on the "edit" link: + +> `Error: [CGI::FormBuilder::AUTOLOAD] Fatal: Attempt to address +> non-existent field 'text' by name at +> /home/tealart/bin/share/perl/5.8.4/IkiWiki/CGI.pm line 112` + +Error received when following a "Create New Page" (eg. ?) link: + +> `Error: [CGI::FormBuilder::AUTOLOAD] Fatal: Attempt to address +> non-existent field 'param' by name at +> /home/tealart/bin/share/perl/5.8.4/IkiWiki/Plugin/editpage.pm line 122` + +I could probably find several other flavors of this error if I went +looking, but I trust you get the idea. + +The CGI starts to render (this isn't the "you forgot to set the +permissions/turn on the CGI" error) and then fails. + +Further details: + +- Running on shared hosting (dreamhost; but everything compiles, + dependencies installed, the site generates perfectly, other CGIs + work, the file permissions work). + +- It's running perl 5.8.4, but I did upgrade gettext to 0.17 + +- the server is running gcc v3.3.5 (at this point, this is the main + difference between the working system and my box.) + +- I've removed the locale declarations from both the config file and + the environment variable. + +- I've also modified the page template and have my templates in a non + standard location. The wiki compiles fine, with the template, but + might this be an issue? The CGI script doesn't (seem) to load under + the new template, but I'm not sure how to address this issue. + +- All of the required/suggested module dependencies are installed + (finally) to the latest version including (relevantly) + CGI::FormBuilder 3.0501. + +- I'm running ikiwiki v3.08. Did I mention that it works perfectly in + nearly every other way that I've managed to test thusfar? -- cgit v1.2.3 From 28803a493d62c0fde72a87bedc24a69329f00d1a Mon Sep 17 00:00:00 2001 From: "http://joey.kitenet.net/" Date: Mon, 30 Mar 2009 17:55:37 -0400 Subject: --- ...CGI__44___formbuilder__44___non-existent_field_address.mdwn | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'doc/bugs') diff --git a/doc/bugs/CGI__44___formbuilder__44___non-existent_field_address.mdwn b/doc/bugs/CGI__44___formbuilder__44___non-existent_field_address.mdwn index d86de048f..217a382ed 100644 --- a/doc/bugs/CGI__44___formbuilder__44___non-existent_field_address.mdwn +++ b/doc/bugs/CGI__44___formbuilder__44___non-existent_field_address.mdwn @@ -41,3 +41,13 @@ Further details: - I'm running ikiwiki v3.08. Did I mention that it works perfectly in nearly every other way that I've managed to test thusfar? + +---- + +> I suspect that your perl is too old and is incompatible with the version of CGI::FormBuilder you have installed. +> +> Is so, it seems likely that the same error message can be reproduced by running a simple command like this at the command line: +> +> perl -e 'use warnings; use strict; use CGI::FormBuilder; my $form=CGI::FormBuilder->new; $form->text("boo")' +> +> --[[Joey]] -- cgit v1.2.3 From b19c786c6162f50f854f22c1fd8a4d59220abab4 Mon Sep 17 00:00:00 2001 From: "http://www.tychoish.com/" Date: Mon, 30 Mar 2009 18:04:56 -0400 Subject: --- .../CGI__44___formbuilder__44___non-existent_field_address.mdwn | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'doc/bugs') diff --git a/doc/bugs/CGI__44___formbuilder__44___non-existent_field_address.mdwn b/doc/bugs/CGI__44___formbuilder__44___non-existent_field_address.mdwn index 217a382ed..ef74deb91 100644 --- a/doc/bugs/CGI__44___formbuilder__44___non-existent_field_address.mdwn +++ b/doc/bugs/CGI__44___formbuilder__44___non-existent_field_address.mdwn @@ -51,3 +51,9 @@ Further details: > perl -e 'use warnings; use strict; use CGI::FormBuilder; my $form=CGI::FormBuilder->new; $form->text("boo")' > > --[[Joey]] + +> > nope, that command produces no output. :/ +> > +> > I considered downgrading CGI::FormBuilder but I saw evidence of previous versions being incompatible with ikiwiki so I decided against that. +> > +> > -- [[tychoish]] -- cgit v1.2.3 From a86f50dc08fd890b5aee1cdedb13cacd3f1b8038 Mon Sep 17 00:00:00 2001 From: "http://jmtd.net/" Date: Wed, 1 Apr 2009 18:10:54 -0400 Subject: --- doc/bugs/user_links_on_recentchanges_pages_problem.mdwn | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/bugs/user_links_on_recentchanges_pages_problem.mdwn (limited to 'doc/bugs') diff --git a/doc/bugs/user_links_on_recentchanges_pages_problem.mdwn b/doc/bugs/user_links_on_recentchanges_pages_problem.mdwn new file mode 100644 index 000000000..62fa1c8e9 --- /dev/null +++ b/doc/bugs/user_links_on_recentchanges_pages_problem.mdwn @@ -0,0 +1,9 @@ +When I click on a linked username for commits on the recentchanges page (on +the live ikiwiki.info) I get a link such as + +which returns something like + + ikiwiki/ Error +

Error: unknown do parameter + +-- [[Jon]] -- cgit v1.2.3 From d3d1cdba2f9ffbffab4212b220c9547b1ec7bd66 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 1 Apr 2009 19:23:18 -0400 Subject: fixed --- doc/bugs/user_links_on_recentchanges_pages_problem.mdwn | 3 +++ 1 file changed, 3 insertions(+) (limited to 'doc/bugs') diff --git a/doc/bugs/user_links_on_recentchanges_pages_problem.mdwn b/doc/bugs/user_links_on_recentchanges_pages_problem.mdwn index 62fa1c8e9..d00f6815b 100644 --- a/doc/bugs/user_links_on_recentchanges_pages_problem.mdwn +++ b/doc/bugs/user_links_on_recentchanges_pages_problem.mdwn @@ -7,3 +7,6 @@ which returns something like

Error: unknown do parameter -- [[Jon]] + +> That was fixed in 3.04 but ikiwiki.info had not been upgraded to it yet. +> [[done]] --[[Joey]] -- cgit v1.2.3 From ed80a5ebf8844a724adda8e4154bc792e8b9fd2c Mon Sep 17 00:00:00 2001 From: simonraven Date: Sun, 5 Apr 2009 07:48:03 -0400 Subject: --- doc/bugs/Dupe_entry_in_Bundle::IkiWiki::Extras.pm.mdwn | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 doc/bugs/Dupe_entry_in_Bundle::IkiWiki::Extras.pm.mdwn (limited to 'doc/bugs') diff --git a/doc/bugs/Dupe_entry_in_Bundle::IkiWiki::Extras.pm.mdwn b/doc/bugs/Dupe_entry_in_Bundle::IkiWiki::Extras.pm.mdwn new file mode 100644 index 000000000..aacb6a784 --- /dev/null +++ b/doc/bugs/Dupe_entry_in_Bundle::IkiWiki::Extras.pm.mdwn @@ -0,0 +1,3 @@ +Authen::Passphrase + +is entered twice in the .pm file. -- cgit v1.2.3 From 9558a4ee840f3888625828d0f1b314880a630bd3 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 6 Apr 2009 13:34:31 -0400 Subject: remove dup --- Bundle/IkiWiki/Extras.pm | 1 - doc/bugs/Dupe_entry_in_Bundle::IkiWiki::Extras.pm.mdwn | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'doc/bugs') diff --git a/Bundle/IkiWiki/Extras.pm b/Bundle/IkiWiki/Extras.pm index 40b36e7c8..48bd127f1 100644 --- a/Bundle/IkiWiki/Extras.pm +++ b/Bundle/IkiWiki/Extras.pm @@ -34,7 +34,6 @@ Net::Amazon::S3 Text::WikiCreole Term::ReadLine::Gnu HTML::Tree -Authen::Passphrase Sort::Naturally =head1 AUTHOR diff --git a/doc/bugs/Dupe_entry_in_Bundle::IkiWiki::Extras.pm.mdwn b/doc/bugs/Dupe_entry_in_Bundle::IkiWiki::Extras.pm.mdwn index aacb6a784..236112786 100644 --- a/doc/bugs/Dupe_entry_in_Bundle::IkiWiki::Extras.pm.mdwn +++ b/doc/bugs/Dupe_entry_in_Bundle::IkiWiki::Extras.pm.mdwn @@ -1,3 +1,5 @@ Authen::Passphrase is entered twice in the .pm file. + +[[done]] -- cgit v1.2.3 From 624c6db627be968e9a8debfd49961c3cbe23a293 Mon Sep 17 00:00:00 2001 From: "http://www.cse.unsw.edu.au/~willu/" Date: Sun, 12 Apr 2009 03:57:24 -0400 Subject: Note possible bug --- doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn (limited to 'doc/bugs') diff --git a/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn b/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn new file mode 100644 index 000000000..9d3c22921 --- /dev/null +++ b/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn @@ -0,0 +1,14 @@ +It seems that the inline directive doesn't generate wikilinks to the pages it includes. For example I would expect the following to inline all bugs inside this bug report: + +\[[!inline pages="bugs/* and !*/discussion and backlink(bugs)" feeds=no postform=no archive=yes show="10"]] + +But here it is: + +[[!inline pages="bugs/* and !*/discussion and backlink(bugs)" feeds=no postform=no archive=yes show="10"]] + +and note that it only included the 'normal' wikilinks (and also note that this page is not marked done even though the done page is inlined). +One might also wonder if inline would make this page link to any internal links on those inlined pages too, but I think +that would be overkill. + +I'm not even really sure if this is a bug or defined behaviour, but I thought it might work and it didn't. Regardless, +the correct behaviour, whichever is decided, should be documented. -- [[Will]] -- cgit v1.2.3 From fee12a97b3b15f2ff7f89196e082047195179011 Mon Sep 17 00:00:00 2001 From: "http://www.cse.unsw.edu.au/~willu/" Date: Sun, 12 Apr 2009 04:33:20 -0400 Subject: Note that map has the same issue --- doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'doc/bugs') diff --git a/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn b/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn index 9d3c22921..7d2004406 100644 --- a/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn +++ b/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn @@ -1,4 +1,4 @@ -It seems that the inline directive doesn't generate wikilinks to the pages it includes. For example I would expect the following to inline all bugs inside this bug report: +It seems that the [[ikiwiki/directive/inline]] directive doesn't generate wikilinks to the pages it includes. For example I would expect the following to inline all bugs inside this bug report: \[[!inline pages="bugs/* and !*/discussion and backlink(bugs)" feeds=no postform=no archive=yes show="10"]] @@ -12,3 +12,7 @@ that would be overkill. I'm not even really sure if this is a bug or defined behaviour, but I thought it might work and it didn't. Regardless, the correct behaviour, whichever is decided, should be documented. -- [[Will]] + +It appears that [[ikiwiki/directive/map]] also doesn't wikilink to the pages it links. Perhaps in each of these +cases there should be another parameter to the directive that allows linking to switched on. Just switching +it on universally at this point might break a number of people's pagespecs. -- [[Will]] -- cgit v1.2.3 From 461053db6ae0eb94492e937110ef32f82b292e50 Mon Sep 17 00:00:00 2001 From: "http://www.cse.unsw.edu.au/~willu/" Date: Mon, 13 Apr 2009 08:38:25 -0400 Subject: Add patch --- .../Inline_doesn__39__t_wikilink_to_pages.mdwn | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'doc/bugs') diff --git a/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn b/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn index 7d2004406..89e0b9d69 100644 --- a/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn +++ b/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn @@ -16,3 +16,58 @@ the correct behaviour, whichever is decided, should be documented. -- [[Will]] It appears that [[ikiwiki/directive/map]] also doesn't wikilink to the pages it links. Perhaps in each of these cases there should be another parameter to the directive that allows linking to switched on. Just switching it on universally at this point might break a number of people's pagespecs. -- [[Will]] + +Here is a patch to make map link to its linked pages (when passed `link="yes"`). It is a bit problematic in that it uses a pagespec +to decide what to link to (which is why I wanted it). However, at the time the pagespec is used the links +for each page haven't finished being calculated (we're using the pagespec to figure out those links, +remember). This means that some pagespec match functions may not work correctly. Sigh. +It would be nice to find a topological ordering of the pages and scan them in that order +so that everything we need is found before we need it, but this patch doesn't do that (it would be +complex). + +If you just use simple pagespecs you'll be fine. Unfortunately I really wanted this for more complex +pagespecs. -- [[Will]] + + diff --git a/IkiWiki/Plugin/map.pm b/IkiWiki/Plugin/map.pm + index 3284931..57c0a7a 100644 + --- a/IkiWiki/Plugin/map.pm + +++ b/IkiWiki/Plugin/map.pm + @@ -13,7 +13,7 @@ use IkiWiki 3.00; + + sub import { + hook(type => "getsetup", id => "map", call => \&getsetup); + - hook(type => "preprocess", id => "map", call => \&preprocess); + + hook(type => "preprocess", id => "map", call => \&preprocess, scan => 1); + } + + sub getsetup () { + @@ -27,7 +27,9 @@ sub getsetup () { + sub preprocess (@) { + my %params=@_; + $params{pages}="*" unless defined $params{pages}; + - + + + + return if (!defined wantarray && !IkiWiki::yesno($params{link})); + + + my $common_prefix; + + # Get all the items to map. + @@ -42,6 +44,9 @@ sub preprocess (@) { + else { + $mapitems{$page}=''; + } + + if (!defined wantarray && IkiWiki::yesno($params{link})) { + + push @{$links{$params{page}}}, $page; + + } + # Check for a common prefix. + if (! defined $common_prefix) { + $common_prefix=$page; + @@ -62,6 +67,8 @@ sub preprocess (@) { + } + } + + + return if ! defined wantarray; + + + # Common prefix should not be a page in the map. + while (defined $common_prefix && length $common_prefix && + exists $mapitems{$common_prefix}) { -- cgit v1.2.3 From 69a814c011132bec884c405f3630f73406f74f9d Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 14 Apr 2009 15:51:25 -0400 Subject: not a bug --- doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'doc/bugs') diff --git a/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn b/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn index 89e0b9d69..168c1b2c4 100644 --- a/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn +++ b/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn @@ -17,6 +17,12 @@ It appears that [[ikiwiki/directive/map]] also doesn't wikilink to the pages it cases there should be another parameter to the directive that allows linking to switched on. Just switching it on universally at this point might break a number of people's pagespecs. -- [[Will]] +> There's a simple reason why these directives don't generate a record of a +> wikilink between them and the pages they include: Semantically, inlining +> a page is not the same as writing a link to it. Nor is generating a map that +> lists a page the same as linking to it. I don't think this is a bug. +> --[[Joey]] + Here is a patch to make map link to its linked pages (when passed `link="yes"`). It is a bit problematic in that it uses a pagespec to decide what to link to (which is why I wanted it). However, at the time the pagespec is used the links for each page haven't finished being calculated (we're using the pagespec to figure out those links, -- cgit v1.2.3 From 825366a007a1145b9487cb3cd7e0180c96709fd8 Mon Sep 17 00:00:00 2001 From: "http://www.cse.unsw.edu.au/~willu/" Date: Tue, 14 Apr 2009 22:29:57 -0400 Subject: Respond, and close bug --- doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'doc/bugs') diff --git a/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn b/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn index 168c1b2c4..32f9f1245 100644 --- a/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn +++ b/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn @@ -23,6 +23,27 @@ it on universally at this point might break a number of people's pagespecs. -- > lists a page the same as linking to it. I don't think this is a bug. > --[[Joey]] +>> Fair enough. I guess we can mark this as [[done]] then. +>> +>> Just a bit of background on where I was going here... I was looking for +>> a simpler way of attacking [[todo/tracking_bugs_with_dependencies]]. +>> In particular, rather than introducing changes to the pagespec definition, +>> I wondered if you could use wiki pages as the defined pagespec and +>> introduce a 'match_mutual' function which matches whenever two pages +>> link to the same third page, then you don't need to alter the pagespec +>> handling code. +>> +>> But that requires being able use use a pagespec to decide what pages +>> are linked to. e.g. I want to make an 'openbugs' page that links to all +>> open bugs. Then I could make a 'readybugs' page that links to +>> `backlink(openbugs) and !mutualLink(openbugs)`. That is, all bugs +>> that are open and do not themselves link to an open bug. +>> +>> The problem with all this is that it introduces an ordering dependency, +>> as I noted below. I think the original proposal is better, because it +>> handles that ordering dependency in the definition of the pagespecs. +>> --[[Will]] + Here is a patch to make map link to its linked pages (when passed `link="yes"`). It is a bit problematic in that it uses a pagespec to decide what to link to (which is why I wanted it). However, at the time the pagespec is used the links for each page haven't finished being calculated (we're using the pagespec to figure out those links, -- cgit v1.2.3