]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/index/discussion.mdwn
web commit by http://natalian.org/
[git.ikiwiki.info.git] / doc / index / discussion.mdwn
index 15a85725ab50a1ed7fd064a540a28b80f98dfcc3..99f9927728cb615fcd06c6f7819835dd46e2beed 100644 (file)
@@ -5,54 +5,150 @@ Do so here..
 Note that for more formal bug reports or todo items, you can also edit the
 [[bugs]] and [[todo]] pages.
 
+[[toc ]]
+
 # Installation/Setup questions
 
-I have just installed ikiwiki and it works - at least I have the example index.mdwn page
-compiled and visible.  However I have a few issues/problems:-
+Ikiwiki creates a .ikiwiki directory in my wikiwc working directory. Should I
+"svn add .ikiwiki" or add it to svn:ignore?
 
-* A couple of the 'optional' Perl modules aren't optional, you can't install ikiwiki without them,
-these are HTML::Template and HTML::Scrubber (at least I think it was these two, it's a bit messy 
-to go back and find out).
+> `.ikiwiki` is used by ikiwiki to store internal state. You can add it to
+> svn:ignore. --[[Joey]]
+> > Thanks a lot.
 
-> You're right, HTML::Template is required. HTML::Scrubber is only required
-> in the default configuration, and is optional if the htmlscrubber plugin
-> is disabled. --[[Joey]]
+Is there an easy way to log via e-mail to some webmaster address, instead
+of via syslog?
 
-* I don't seem to have got an ikiwiki man page created.
+> Not sure why you'd want to do that, but couldn't you use a tool like
+> logwatch to mail selected lines from the syslog? --[[Joey]]
 
-> It should be installed in /usr/share/man, or a similar directory
-> depending on how your perl is set up and how you did the install.
-> --[[Joey]]
+> > The reason is that I'm not logged in on the web server regularly to
+> > check the log files. I'll see whether I can install a logwatch instance.
 
-> Found it, in /usr/local/share/man, since no other man pages are in either /usr/share/man or in /usr/local/share/man the ikiwiki
-> man page is a bit lonely, and more to the point not on my MANPATH.  Still I have found it now, I'll just move it to somewhere
-> more sensible. [[Chris]]
-
-* Running "ikiwiki --setup ikiwiki.setup" doesn't do anything.  I have edited ikiwiki.setup to
-my local settings.  There are no errors but neither does anything get compiled.  An ikiwiki
-command to explicitly do the compile works fine.  Am I misunderstanding something here?
-
-> Further tests indicate that ikiwiki isn't seeing changed files so doesn't always rebuild.
-> How does ikiwiki decide when to rebuild?  I tried a full command line like "ikiwiki --verbose ikiwiki ~/public_html/ikiwiki --url=http://www.isbd.ltd.uk/~chris/ikiwiki/" and that doesn't do anything
-either though it was the command line I originally used to compile.  After a long interval I 'touch'ed 
-the files and then it *did* compile but 'touch'ing the files after a few minutes only doesn't seem to force a recompile.  I'm even more confused!
-
-> ikiwiki only compiles files whose modification times have changed. It
-> should see any change made as close as a second after the last compile.
-> When run with --setup, ikiwiki always rebuilds every file in the wiki. If
-> --setup is not working, you must have it pointed at the wrong path or
-> something; you can pass -v to see what it's doing. I don't know why it
-> would not see recently changed files; you could try stracing it.
-> --[[Joey]]
+----
+
+# Upgrade steps
+
+I upgrades from 1.40  to 2.6.1. I ran "ikiwiki --setup" using my existing ikiwiki.setup configuration.
+I had many errors like:
+
+    /home/bsdwiki/www/wiki/wikilink/index.html independently created, not overwriting with version from wikilink
+    BEGIN failed--compilation aborted at (eval 5) line 129.
+
+and:
+
+    failed renaming /home/bsdwiki/www/wiki/smileys.ikiwiki-new to /home/bsdwiki/www/wiki/smileys: Is a directory
+    BEGIN failed--compilation aborted at (eval 5) line 129.
+
+Probably about six errors like this. I worked around this by removing the files and directories it complained about.
+Finally it finished.
+
+> As of version 2.0, ikiwiki enables usedirs by default. See
+> [[tips/switching_to_usedirs]] for details. --[[Joey]]
+
+>> I read the config wrong. I was thinking that it showed the defaults even though commented out
+>> (like ssh configs do). I fixed that part. --JeremyReed
+
+My next problem was that ikiwiki start letting me edit without any password authentication. It used to prompt
+me for a password but now just goes right into the "editing" mode.
+The release notes for 2.0 say password auth is still on by default.
+
+> It sounds like you have the anonok plugin enabled?
+
+>> Where is the default documented? My config doesn't have it uncommented.
+
+The third problem is that when editing my textbox is empty -- no content.
+
+This is using my custom rcs.pm which has been used thousands of times.
+
+> Have you rebuilt the cgi wrapper since you upgraded ikiwiki? AFAIK I
+> fixed a bug that could result in the edit box always being empty back in
+> version 2.3. The only other way it could happen is if ikiwiki does not
+> have saved state about the page that it's editing (in .ikiwiki/index).
+
+>> Rebuilt it several times. Now that I think of it, I think my early problem of having
+>> no content in the textbox was before I rebuilt the cgi. And after I rebuilt the whole webpage was empty.
+
+Now I regenerated my ikiwiki.cgi again (no change to my configuration,
+and I just get an empty HTML page when attempting editing or "create".
+
+> If the page is completly empty then ikiwiki is crashing before it can
+> output anything, though this seems unlikely. Check the webserver logs.
+
+Now I see it created directories for my data. I fixed that by setting 
+usedirs (I see that is in the release notes for 2.0) and rerunning ikiwiki --setup
+but I still have empty pages for editing (no textbox no html at all).
+
+> Is IkiWiki crashing? If so, it would probably leave error text in the apache logs. --[[TaylorKillian]]
+
+>> Not using apache. Nothing useful in logs other thn the HTTP return codes are "0" and bytes is "-"
+>> on the empty ikiwiki.cgi output (should say " 200 " followed by bytes).
+
+>>> You need to either figure out what your web server does with stderr
+>>> from cgi programs, or run ikiwiki.cgi at the command line with an
+>>> appropriate environment so it thinks it's being called from a web
+>>> server, so you can see how it's failing. --[[Joey]]
+
+(I am posting this now, but will do some research and post some more.)
+
+Is there any webpage with upgrade steps?
+
+> Users are expected to read [[news]], which points out any incompatible
+> changes or cases where manual action is needed.
+
+>> I read it but read the usedirs option wrong :(.
+>> Also it appears to be missing the news from between 1.40 to 2.0 unless they dont' exist.
+>> If they do exist maybe they have release notes I need?
+
+>>> All the old ones are in the NEWS file. --[[Joey]]
+
+--JeremyReed
+
+My followup: I used a new ikiwiki.setup based on the latest version. But no changes for me.
+
+Also I forgot to mention that do=recentchanges works good for me. It uses my 
+rcs_recentchanges in my rcs perl module.
+
+The do=prefs does nothing though -- just a blank webpage.
+
+> You need to figure out why ikiwiki is crashing. The webserver logs should
+> tell you.
+
+I also set verbose => 1 and running ikiwiki --setup was verbose, but no changes in running CGI.
+I was hoping for some output.
+
+I am guessing that my rcs perl module stopped working on the upgrade. I didn't notice any release notes
+on changes to revision control modules. Has something changed? I will also look.
+
+> No, the rcs interface has not needed to change in a long time. Also,
+> nothing is done with the rcs for do=prefs.
+
+>> Thanks. I also checked differences between 1.40 Rcs plugins and didn't notice anything significant.
 
-> OK, thanks, I don't quite know what was happening before but it seems to be working right now.
-> --[[Chris]]
+--JeremyReed
 
->> Weird. I wish I knew what happened, but as it's working now, I'm
->> guessing some kind of user error was involved. --[[Joey]]
+Another Followup: I created a new ikiwiki configuration and did the --setup to 
+create an entirely different website. I have same problem there. No prompt for password
+and empty webpage when using the cgi.
+I never upgraded any perl modules so maybe a new perl module is required but I don't see any errors so I don't know.
 
-* I wish there was a mailing list, much easier for this sort of stuff than this, apart from
-anything else I get to use a decent editor.
+The only errors I see when building and installing ikiwiki are:
+
+    Can't exec "otl2html": No such file or directory at IkiWiki/Plugin/otl.pm line 66.
+
+    gettext 0.14 too old, not updating the pot file
+
+I don't use GNU gettext on here.
+
+I may need to revert back to my old ikiwiki install which has been used to thousands of times (with around
+1000 rcs commits via ikiwiki).
+
+--JeremyReed
+
+I downgraded to version 1.40 (that was what I had before I wrote wrong above).
+Now ikiwiki is working for me again (but using 1.40). I shouldn't have tested on production system :)
+
+--JeremyReed
 
 ----
 # Excellent - how do I translate a TWiki site?
@@ -78,199 +174,162 @@ easily, perl is possible (but I'm not strong in perl).
 >
 > We will post the scripts as soon as we have them complete enough to convert our wikis.
 >
-> -- Josh Triplett
+> -- [[JoshTriplett]]
 
 >> Thanks for an excellent Xmas present, I will appreciate the additional 
 >> users this will help switch to ikiwiki! --[[Joey]]
 
 ----
 
-# OpenID
-
-I just figured I'd edit something on the page with my OpenID, since you've implemented it! --*[Kyle](http://kitenet.net/~kyle/)*=
-
-> Kyle, If you like openid, I can switch your personal wiki over to use your openid. --[[Joey]]
-
----- 
-
-# ACL
-
-How about adding ACL? So that you can control which users are allowed
-to read, write certain pages. The moinmoin wiki has that, and it is
-something, that I think is very valuable. 
-
-> ikiwiki currently has only the most rudimentary access controls: pages
-> can be locked, or unlocked and only the admin can edit locked pages. That
-> could certianly be expanded on, although it's not an area that I have an
-> overwhelming desire to work on myself right now. Patches appreciated and
-> I'll be happy to point you in the right directions.. --[[Joey]]
-
->> I'm really curious how you'd suggest implementing ACLs on reading a page.
->> It seems to me the only way you could do it is .htaccess DenyAll or something,
->> and then route all page views through ikiwiki.cgi. Am I missing something?
->> --[[Ethan]]
-
->>> Or you could just use apache or whatever and set up the access controls
->>> there. Of course, that wouldn't integrate very well with the wiki,
->>> unless perhaps you decided to use http basic authentication and the
->>> httpauth plugin for ikiwiki that integrates with that.. --[[Joey]]
+# LaTeX support?
 
->>>> Which would rule out openid, or other fun forms of auth. And routing all access 
->>>> through the CGI sort of defeats the purpose of ikiwiki. --[[Ethan]]
+Moved to [[todo/latex]] --[[Joey]]
 
 ----
 
-Some questions about the RecentChanges function. -- Ethan
+# Using with CVS?
 
-> (Moved to [[todo/recentchanges]] --[[Joey]])
+Moved to a [[todo_item|todo/CVS_backend]]. --[[JoshTriplett]]
 
 ----
 
-Also, I'd like to request another template parameter which is just
-$config{url}. That way you won't have to hard-code the URL of the wiki into
-the template. -- Ethan
+# Show differences before saving page?
 
-> That's already available in the BASEURL parameter. --[[Joey]]
+Moved to the existing [[todo_item|todo/preview_changes]]. --[[JoshTriplett]]
 
 ----
 
-# Canonical feed location?
-
-Any way to use `inline` but point the feed links to a different feed on the
-same site?  I have news in news/*, a news archive in news.mdwn, and the
-first few news items on index.mdwn, but I don't really want two separate
-feeds, one with all news and one with the latest few articles; I'd rather
-point the RSS feed links of both to the same feed.  (Which one, the one
-with all news or the one with the latest news only, I don't know yet.)
+# Max submit size?
 
-> Not currently. It could be implemented, or you could just turn off the
-> rss feed for the index page, and manually put in a wikilink to the news
-> page and rss feed. --[[Joey]]
+Any setting for limiting how many kilobytes can be submitted via the "edit" form?
+-- [[JeremyReed]]
 
->> That wouldn't use the same style for the RSS and Atom links, and it
->> wouldn't embed the feed link into `<head>` so that browsers can automatically
->> find it.
+>>> See [[todo/fileupload]] for an idea on limiting page size. --[[Joey]]
 
 ----
 
-# asciidoc or txt2tags ?
+# Access Keys
 
-Any plugins or support for using asciidoc or txt2tags as the wiki language and/or exporting to asciidoc or txt2tags?
+Would anyone else find this a valuable addition.  In oddmuse and instiki (the only other
+wiki engines I am currently using, the edit, home, and submit link tags have an
+accesskey attribute.  I find it nice not to have to resort to the mouse for those
+actions.  However, it may not be something everyone appreciates.  Any thoughts?
+--[Mazirian](http://mazirian.com)
 
-> No, but it should be quite easy to write such a plugin. The otl plugin
-> is a good example of writing a formatting plugin that uses an external
-> conversion program, like asciidoc or txt2tags. --[[Joey]]
+> Maybe, although it would need to take the critisism at
+> <http://www.cs.tut.fi/~jkorpela/forms/accesskey.html> into account.
+
+>> Thank you for that link. Given that the edit link is the first thing you tab to
+>> in the current layout, I guess it isn't all that necessary. I have had a 
+>> a user complaint recently that Alt-e in oddmuse was overriding his access
+>> to the browser menu.
 
 ----
 
-# LaTeX support?
+# Editing the style sheet.
 
-Any plugins or support for exporting to LaTeX?
-(If not could use asciidoc or txt2tags mentioned above to generated LaTeX.)
+It would be nice to be able to edit the stylesheet by means of the cgi.  Or is this possible?  I wasn't able to achieve it.
+Ok, that's my last 2 cents for a while. --[Mazirian](http://mazirian.com)
 
-> It's already [[been_requested|todo/latex]], although perhaps not
-> working the way you're thinking of. Noone is currently working on it.
-> --[[Joey]]
+> I don't support editing it, but if/when ikiwiki gets [[todo/fileupload]] support,
+> it'll be possible to upload a style sheet. (If .css is in the allowed
+> extensions list.. no idea how safe that would be, a style sheet is
+> probably a great place to put XSS attacks and evil javascript that would
+> be filtered out of any regular page in ikiwiki). --[[Joey]]
 
->> I did some tests with using Markdown and a customized HTML::Latex and html2latex
->> and it appears it will work for me now. (I hope to use ikiwiki for many
->> to collaborate on a printed book that will be generated at least once per day in PDF format.)
->>
->> --JeremyReed
+>> I hadn't thought of that at all.  It's a common feature and one I've
+>> relied on safely, because the wikis I am maintaining at the moment
+>> are all private and restricted to trusted users. Given that the whole
+>> point of ikiwiki is to be able to access and edit via the shell as
+>> well as the web, I suppose the features doesn't add a lot.  By the
+>> way, the w3m mode is brilliant.  I haven't tried it yet, but the idea
+>> is great.
 
 ----
 
-# Using with RCS?
+# Should not create an existing page
 
-Any examples of using co(1), ci(1) and other RCS related tools with ikiwiki?
+This might be a bug, but will discuss it here first.
+Clicking on an old "?" or going to a create link but new Markdown content exists, should not go into "create" mode, but should do a regular "edit".
 
-> I don't belive that RCS offers enough SCM features to be useable as a
-> fullfledged backend to ikiwiki. For one thing, there's no way to have
-> hook scripts run when changes are ci'd, is there? So you'd have to ci and
-> then manually run ikiwiki. It should be possible to do an RCS backend
-> that supports web commits with ci, and history (parsing the rcs files by
-> hand?). If you're a masochist. :-) --[[Joey]]
+> I belive that currently it does a redirect to the new static web page.
+> At least that's the intent of the code. --[[Joey]]
 
->> It does have history using rlog(1) which is similar format to "cvs log".
->> I don't think it has any possible hooks. What would happen if I call
->> ikiwiki directly from rcs_commit? (I didn't try yet.) On that note,
->> I don't see any way for ikiwiki to generate a single file, but I guess
->> that doesn't matter as --refresh should be fast enough.
->> I made a Rcs/rcs.pm plugin from Stub. I have been testing it some.
->>
->> --JeremyReed
+>> Try at your site: `?page=discussion&from=index&do=create`
+>> It brings up an empty textarea to start a new webpage -- even though it already exists here. --reed
 
->> I made a working rcs plugin. And I made a RCS-to-web CGI. Details
->> at [[patchqueue/rcs_(third-party_plugin)]]
->> --[[JeremyReed]]
->>
->> (Moved to patchqueue --[[Joey]])
+>>> Ah, right. Notice that the resulting form allows saving the page as
+>>> discussion, or users/discussion, but not index/discussion, since this
+>>> page already exists. If all the pages existed, it would do the redirect
+>>> thing. --[[Joey]]
 
 ----
 
-# Using with CVS?
+# User database tools?
 
-Any examples of using ikiwiki with cvs?
+Any tool to view user database?
 
-> No, although the existing svn backend could fairly esily be modified into
-> a CVS backend, by someone who doesn't mind working with CVS. --[[Joey]]
+Any tool to edit the user database?
 
-----
+> No, but it's fairly easy to write such tools in perl. For example, to
+> list all users in the user database:
 
-# Show differences before saving page?
+       joey@kodama:~/src/joeywiki/.ikiwiki>perl -le 'use Storable; my $userinfo=Storable::retrieve("userdb"); print $_ foreach keys %$userinfo'         
+       http://joey.kitenet.net/
+       foo
+
+> To list each user's email address:
 
-It would be nice to be able to have a button to show "Differences" (or "Show Diff") when
-editing a page. Is that an option that can be enabled?
+       joey@kodama:~/src/joeywiki/.ikiwiki>perl -le 'use Storable; my $userinfo=Storable::retrieve("userdb"); print $userinfo->{$_}->{email} foreach keys %$userinfo'
+       
+       joey@kitenet.net
 
-> It's doable, it could even be done by a [[todo/plugin]], I think.
+> Editing is simply a matter of changing values and calling Storable::store().
+> I've not written actual utilities to do this yet because I've only needed
+> to do it rarely, and the data I've wanted has been different each time.
 > --[[Joey]]
 
 ----
 
-# Max submit size?
+# Spaces in WikiLinks?
 
-Any setting for limiting how many kilobytes can be submitted via the "edit" form?
--- [[JeremyReed]]
+Hello Joey,
 
-> Not currently. Worried about abuse? --[[Joey]]
+I've just switched from ikiwiki 2.0 to ikiwiki 2.2 and I'm really surprised
+that I can't use the spaces in WikiLinks. Could you please tell me why the spaces
+aren't allowed in WikiLinks now?
 
->> I didn't want it abused accidently or with malice. I was thinking that Perl's CGI.pm would handle this, but I don't see that.
->> I read that textarea max bytes may be 500 lines or 28000 characters or 30000 characters or 64kB. It seems like it
->> varies and I didn't test myself, because I guess it may depend on different clients and different HTTP servers. 
->> This could be checked using javascript on the client side (before submitting) and by checking size on server side (before saving). --[[JeremyReed]]
+My best regards,
 
->>> The absolute limit varies by browser. If there are web servers that
->>> also limit it, I don't know of them. --[[Joey]]
-
-----
+--[[Paweł|ptecza]]
 
-# Disable sub-discussion pages?
-
-> Moved to [[bugs]] -- [[Joey]]
+> See [[bugs/Spaces_in_link_text_for_ikiwiki_links]]
 
 ----
 
-# wiki\_file\_regexp and RCS ,v files
+# Build in OpenSolaris?
 
-I have RCS ,v files in my source directory. But get many "skipping bad filename" warnings.
+Moved to [[bugs/build_in_opensolaris]] --[[Joey]]
 
-Also I don't see wiki\_file\_regexp documented. Because it is used with $config{wiki\_file\_regexp} I assume it can be set in the ikiwiki.setup.
-I added a comma to it in my IkiWiki.pm in the defaultconfig(). But that was wrong (so I reverted back), because then the ,v files were copied to my www tree.
+----
 
-What is the correct way to include ,v RCS revision files in my source tree without receiving the "bad" messages and without copying over to www tree?
+# Various ways to use Subversion with ikiwiki
 
--- [[JeremyReed]]
+I'm playing around with various ways that I can use subversion with ikiwiki.
 
-> Add the ,v to the $config{wiki_file_prune_regexps} array. This is how we
-> skip equivilant files from other revision control systems too.
-> --[[Joey]]]
+* Is it possible to have ikiwiki point to a subversion repository which is on a different server?  The basic checkin/checkout functionality seems to work but there doesn't seem to be any way to make the post-commit hook work for a non-local server?
 
-----
+> This is difficult to do since ikiwiki's post-commit wrapper expects to
+> run on a machine that contains both the svn repository and the .ikiwiki
+> state directory. However, with recent versions of ikiwiki, you can get
+> away without running the post-commit wrapper on commit, and all you lose
+> is the ability to send commit notification emails.
 
-# Textile Plugin
+* Is it possible / sensible to have ikiwiki share a subversion repository with other data (either completely unrelated files or another ikiwiki instance)?  This works in part but again the post-commit hook seems problematic.
 
-It was trivial, but I put together a plugin that uses the Textile markup
-language, which I find to be the most superior of the various options for
-that sort of thing.  Where or how do I submit it for inclusion?
+--[[AdamShand]]
 
-> You can post it to [[plugins/contrib]]. --[[Joey]]
+> Sure, see ikiwiki's subversion repository for example of non-wiki files
+> in the same repo. If you have two wikis in one repository, you will need
+> to write a post-commit script that calls the post-commit wrappers for each
+> wiki.