WalaWiki content from p1k3.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

109 lines
8.6 KiB

WareLogging.
I'm actually in the process of moving this stuff into DisplayCode. Please see http://github.com/brennen/display
This is a modified version of [Brent]'s Wala script, which is in the public domain. The canonical site for public versions of the Wala source code is now [http://walawiki.org walawiki.org]. Feel free to ask for help here.
* [http://walawiki.org/source/brennen/README Current README]
* DisplayCode
WalaCodeToDo
changes
-------
* 4/9/08 - Reworked RecentChanges into a table format.
* 1/27/08 - Cleaned up linking regexen.
* 1/17/08 - Fixed a cookie parsing bug which probably explains a bunch of weird stuff with logins.
* 11/??/07 - Fixed a caching bug where related pages weren't getting touched.
* 10/15/07 - Added a LogRelatedChanges toggle, tweaked logging format slightly.
* 10/07 - Built some dirt-simple method generation into a package called MethodSpit.pm.
* 9/22/07 - Turned Wala into a class.
* 9/10/07 - Did a bit of code cleanup.
* 6/24/07 - Fixed wala_feed.pl bug with changes.
* 6/22/07 - Now displays RecentChanges to pages containing punctuation.
* 6/7/07 - Code cleanup, now obeys $WalaConf{PagesDir}, etc. Logs related pages for new pages.
* 6/5/07 - Fixed "more..." bug in see also.
* 6/4/07
** Added full text of pages to wala_feed.pl output - still not optimal; it should really include the appropriate versions.
** Got rid of an unnecessary global.
* 5/25/07 - Can now include PageIndex on a page.
* 5/24/07 - Partially fixed PageIndex, PageChangeTimes. Random code cleanup.
* 5/17ish/07
** Started rejiggering page caching code - running up against the inefficiencies of grepping so many pages, so this starts looking increasingly important.
** Optimized "see also" stuff to some extent, compartmentalized a number of functions.
* 4/12/07 - Recognizes $WalaConf{UseCache} as a quick way to disable storing/fetching pages from cache.
* 4/2/07 - Moved markup code (other than links) into a separate module called WalaMarkup.
* 4/1/07 - [P1k3Colophon|colophon for p1k3] no longer shows up with underscores in it. I also changed PageIndex to apply inline styles directly to <a> tags instead of to spans around said tags. Links with # targets should work now. Feed is a touch smarter.
* 3/28/07 - Generalized feed script, improved documentation, added a number of tests, cleaned up HTML a bit further, added a del.icio.us link to searchlinks, added a configuration switch for display of searchlinks.
* 3/26/07 - Minor bugfixes; a cheap atom feed using XML::Atom::SimpleFeed.
* 3/23/2007 - Now outputs valid XHTML 1.0 Strict, at least in theory, and the test script uses a couple of CPAN modules to validate output.
* 3/19/06
** Thinking about how to avoid hand-coded HTML.
** Started writing some tests.
** Closer to a real module now.
** Configuration improved; you can configure by modifying an imported hash inside the calling script, or use an external file to do the same.
** Added better POD docs and a README generated from this.
** Added an option to disable setup routine on every call.
** Started cleaning up the HTML output a bit.
* 3/14/06 - Tweaked the script to use an external configuration file. This needs a little work, but the eventual idea is to offer a distribution of display.pl + wala that uses a unified conf file, as well as just making Wala.pm easier to use. This actually looks like it'll be pretty straightforward.
* 3/4/06 - I set up http://walawiki.org to host both existing public Wala codebases. Also http://walawiki.org/source SVN repository.
* 9/23/06 - Tweaked "see also" to limit to 16 other pages with the option to view an entire list.
* 9/5/06 - fixed a couple of gaping security issues. Embiggened textareas for editing.
* 8/23/06 - added [http://reddit.com reddit] to searchlinks.
* 8/21/06
** RecentChanges logging of "x lines changed" is fixed, more or less.
** Fixed: If you just hit "add", without entering any text, you wind up adding a "<nickname>" to the bottom of a page minus anything else. Should check for 0 length strings and not post them.
* 2/4/06 - [[Brent]] added some rudimentary spam protection; URLs can't be posted from the add box by anonymous users. Ought to take care of some WikiSpamming. Unfortunately, the mod_perl bugs with this thing make it imperfect at best. If someone's recently logged in, a spam script can piggyback because some state info is preserved inappropriately.
* Now linkifies HTTPS urls in brackets. (11/5)
* PageIndex now displays a simple graph instead of *all* the pages; this should save a little bandwidth and makes for way speedier loading.
* the searchlinks box doesn't show up HomePage, RecentChanges, or LinkDump. Should probably do this more elegantly, like by allowing pages to contain some metadata governing their display.
* PageChangeTimes is a quick hack to show a list of pages sorted by modification time, from oldest to newest. Intended as a tool for dredging up older pages and adding real content, or better plugging them into the overall scheme of the wala. Since it just uses stat() to report mtimes, it should be correct even for pages modified with a text editor or copied from elsewhere. Probably I should come up with a better general mechanism for listing and sorting pages.
* PageIndex is a new feature; [[Brent]] will probably integrate into his version.
* PageIndex now uses CSS to do a simple graph.
* I just added really inefficient code to slurp through files and look for links to a given page, thus providing a list of backreferences. One better way to do this would be to periodically (on each edit?) rebuild a hash of links and store it in a single file. Another would be to stop relying on flatfiles, but I'm not going to do that. Still, it's surprisingly fast for reading every single file in the directory.
* RecentChanges is now generated internally using wiki markup. Little difference in functionality except that summary lines will show up as properly formatted text, etc.
* Now automatically provides summary lines.
* "see also" list is now sorted alphabetically.
* 6/25/06 - Fixed a minor bug with putting image urls inside bracketed links; brackets inside image alt text were being interpreted as link brackets. Replaced these with parentheses.
* 6/25/06 - Fixed a minor bug with pages showing up in their own see also lists.
discussion
----------
<[metoo]> Hi,
I tried to setup this software on omnihttp (for testing); seems to be necessary to adapt the $ENV for right work. Do someone tried to setup this on a Mac 68k?
Thx
<[Brennen]> I haven't. I'm not sure whether it'd work or not - it's mostly pretty simple Perl, but it might have some unmet dependencies. What OS are you running?
<[metoo]> Hi, sorry for late answer; I've stopped this Mac68k-project and setup a ThinClient with puppylinux and hiawatha, with perl 5.8.8.
I tried to setup Wala,too, but got this error while saving:
"Insecure dependency in `` while running setuid at /../Wala.pm line 937".
-->937: $the_diff = `diff pages/temp pages/$pagename`;
hm, user is "root" and group is "nobody". Directories are 755... There is a file named temp with my input, but still no saving.
What's going wrong? sorry, I'm not a programmer :|
Thx
<[Brennen]> I haven't looked at it in quite a while, but it occurs to me that the code up on walawiki.org (I'm guessing that's where you got a copy?) is both old and probably not very safe to run in public. That line is definitely a security vulnerability, and I know I fixed it, at least sort of, at some point.
The version I maintain, and the one that's running here, is actually in [https://github.com/brennen/display this repository]. I _think_ it would probably run under a Perl that old, but I can't really promise anything, and it relies on a couple of modules that might not.
Sorry about the confusion. I'll try to update walawiki.org, and maybe put together some sort of easy install instructions for the newer version of the code.
<[metoo]> ok,
I download Your last files from github, but no luck. I got now a time out-error :(
I try to update modules, too. And I found the line with " my $diffdir = $self->DiffDir . "/$pagename"; mkdir $diffdir, 0777" again in the actual script...
well, I'll try to fix the old script from BoLeuf on my ThinClient. It works almost fine, have some issues with "html-viewing" after saving, Maybe its a problem from new web-browsers, I dont know...
<[Brennen]> That's different code, though I wouldn't be surprised if taint mode Perl had issues with it as well, and that 0777 is downright terrifying. And then, like I said, no promises about anything running under a 7 year old release of the language.
Anyhow, best of luck.