03-Mar-2008

Next phase in program
I started the next phase in the program to more or less replace the front page and, potentially, the PHP code: processing the request. It requires evaluation of the URL – or better: the part after the servername, and after that, the proper action should be taken depending on this evaluation. The assumption is that the home page – which can be a blog, by the way, is just the service, like “www.grootersnet.nl” – with, or without a trailing slash. “commands” are passed in a form as ?(action), as deplaying an index: “www.grootersnet.nl?index“, or “www.grootersnet.nl?i=-1” – or: give me the previous index page. I haven’t decided yet for the exact syntax. It could be just the first letter; i for index, p for page and r for recent, and on what other parameters.
Time will tell.
The basic framework is now done – it’s now a matter of parsing the command and do what’s needed. I think the easies part now is creating routines to retrieve the requested data from data storage, depending on the data type: Create an index page, or get the most recent post, or a given page -by number, to statrt with (I could think of retrieving a page by its date or title. A small portion has already been foreseen, so it wouldn’t be much trouble. Once these routines are created (and tested), processing of the data is fairly straightforward.

02-Mar-2008

MoinMoin installation issues
Just looked into the installation of moinmoin again, to figure things out how to solve the problems.
As stated before, I used the description in the wiki, and had to change a few things in mapping, because the way it’s described on the wiki dcoumentation is unusable in my case. So I changed it to fit my needs:

# moinmoin
pass /wikidoc/* /moin_root/share/moin/htdocs/* ods=5
## /* fails - base should be /wiki*
script+ /wiki/* /moin_wiki_root/vms/moincgiplus/* \
map=once ods=5 script=syntax=unix script=query=none
# \
# script=as=moinmoin_usr throttle=1,,,30

This mapping is correct, but it’s not enough.

The procedure MoinCGIPlus, and with that, the wiki-server, does start. It’s failure is signalled from within the Python code:
What goes wrong
If requestCGI is supposed to be a server variable, the problem is clear. Such a variable is not found…

Second, the documentation is mapped on /wikidoc – but that as well fails, because it cannot locate moin.cgi. This I tracked this down to moin_root:[share.moin.htdocs]index.html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta http-equiv="refresh" content="0;URL=moin.cgi/">
</head>

<body bgcolor="#FFFFFF" text="#000000">
Click <a href="moin.cgi">here</a> to get to the FrontPage.
</body>
</html>

and this file moin.cgi cannot be found for some reason. It does exist, though:


$ dir moin_root:[000000...]moin.cgi

Directory MOIN_ROOT:[000000.share.moin.server]

moin.cgi;1

Total of 1 file.
The page does indeed show up it the META tag is disabled.

This means, the mapping is correct. But more is needed to get things going – but what?

The documentation isn’t very clear, sometimes it’s outdated, if not wrong.
Following the installation description on JFP’s wiki on installation on VMS, I should start a wikiserver submitting a command procedure, for a standalone server. This doesn’t work, because a called procedure: moinmon_server.com, is not found:

$! subm/noprint/user=MOINMOIN_USR/que=WIKI_QUEUE -
$! dsa200:[moin.vms]run_wiki/para=dsa200:[MoinWiki]
$!
$ proc = f$environment("PROCEDURE")
$ proc_dir = f$parse(proc,,,"DEVICE") + f$parse(proc,,,"DIRECTORY")
$ @'proc_dir'logicals
$ @'p1'moinmoin_server.com

The parameter would be, if I read the doc correctly, the same location as refereneced by logical MOIN_WIKI_ROOT. So MoinMoin_Server should exist there. However, it does not exist on either MOIN_ROOT of MOIN_WIKI_ROOT:

$ dir moin_root:[000000...]moinmoin_server.com
%DIRECT-W-NOFILES, no files found
$ dir moin_wiki_root:[000000...]moinmoin_server.com
%DIRECT-W-NOFILES, no files found
$

Another issue I ran into is that, when using SSL (https) is enabled, using “script=as=(username)” cannot be used. Watch tells “facility is disabled”). I haven’t tried yet on http, probably it’s not usable either: WASD hasn’t started with /PERSONA option. But this is something I don’t expect it to be an issue at the moment – but in future, it might. This s NOT a MoinMoin issue, but a WASD one.
That’s why the line in HTTPD$MAP, containing script=as=moinmoin_usr is disabled. Now the wiki will run under the login name.

OOPS
I got an email from a reader that registration succeeded but login failed, and that the email link on the main page wasn’t complete so he hoped the message got though. (Aaron: it did).
So I created a “Ïn case of trouble, look here” page, because there are some issues I ran into with PHP and MySQL that will effect the reader (and contributor as well).
Hopefully, my apology is accepted – there really is little I can do, except waiting and keeping the maintainers awake 🙁

The second issue is found in the report description I use for the page, where the Javascript that builds up the mailto: address string, isn’t displayed properly. There is a “@” in that string, and for some reason, it’s translated to ” ” and the remaining string is cut off. I changed this to be the numeric representation “@” and replaced the module.
The home page didn’t show up no more: the return wasn’t CGI-compliant.
Building the program in debug and running it against the library, it was revealed that the module contained an error: the body of the message was said to be 13 lines, but in reality, it exceeding this expected size by 1 line. After correcting the error, and replacing the module in the text library, all was found to be correct, and the homepage shows up again.
I also removed the hyperlink to the (now disabled) forums in another module.

01-Mar-2008

Mail statsitics
I created a small procedure to process the PMAS logfiles, and this is the output for February:

PMAS statistics for 02
Total messages    : 2828 = 100.0 o/o
DNS Blacklisted   : 1886 =  66.6 o/o (Files: 29)
Relay attempts    :   39 =   1.3 o/o (Files: 22)
Processed by PMAS :  903 =  31.9 o/o (Files: 29)
        Discarded :  258 =  28.5 o/o (processed),   9.1 o/o (all)
     Quarantained :  360 =  39.8 o/o (processed),  12.7 o/o (all)
        Delivered :  285 =  31.5 o/o (processed),  10.0 o/o (all)

(I know the percentages do not add up exactly, but this is caused by the way DCL handles division – INTEGER only. But that doesn’t matter since the exact numbers are not the point, just the big view: about 70% doesn’t even make it to be checked. That is what matters)

There have been a number of “False positives”, that are now added to my Allow list, but I don’t keep a record of them I do for “false negative” – passed PMAS but were legally rejected by the SMTP configuration,because they use an unresolvable, or incomplete domain. Last month, there were 17 of them, out of 285 delivered. The next release of PMAS might filter the out as well.

Forum disabled
I removed 200 fake users off the forum – result of two weeks of neglect. Their spam didn’t make it to the memberlist, but they keep feeding the database which is not as stable as I want in the first place. So I decided to disable the forum by removing the logical that refers to the location. Now all they get will be a 404 page: Cannot find the document.

Updates
A number of updates is to be done.
There are a few VMS updates waiting but these are not that critical – I’ll leave things as they are now.
I downloaded – and updated – the forum software, although it will be disabled, who knows a time will come I have it enabled again. A complete new version is available: (PHPBB 3.0) but I’m not sure it will run on VMS.
Wordpress 2.3 is running fine. This blog will be updated as well – I think I’ll have to take another theme, though. This one is missing facilities 😉
The new python diskcontainers – including MoinMoin – and the new Python RTE will be installed shortly, and I will do the full post-installation this time.
Another update is coming: MySQL. I downloaded the latest version, and I’ll do an update when a few questions have been answered. It requires a dump of the current database and restore it in a 5.0 one. Well, restoration has been practiced before so that will not be the big problem. Jean-Francois sees no problem using a PHP5 database with a MySQL4 PHP extension.
Python and MoinMoin update
Installing python and moinmoin is a matter of just a few actions: de-installing a few images of images, dismount the volumes and disconnect the LD devices. Next the two new diskcontainers are created and mounted. Only the mount procedure needs to be updated to have them mounted after a reboot. Installation of the latest Python RTE is as simple as always, with the online manual at hand. testing it with the given procedures worked – once the mapping line was conform the spec. This python part now works.
Next is enabling moinmoin – the wiki software.
In itself, it’s not a problem, but a few changes were needed in order to get things up and going. One is the mapping, but that has been solved now: /* should be /wiki*, and for the documenation I changed /wiki/* to /wikidoc/*. however, both fail because expected files wer missing: moincgiplus.com in the directory where I put the wiki, and moin.cgi in the wikidoc location. I copies moincgiplus.com to the spot and now it’s started – but fails for another reasomn: I forgot to run a procedure to start the wikiserver. Not that this helps: another file seems to be missing – completely. Or the procedure is wrong, or the documentation.