| Beware! This user's talk page is monitored by talk page watchers. Some of them even talk back. |
Hi Legoktm,
Thanks for you offer to test and run the bot for User:B. Wolterding/Article alerts on the tool server. I'm posting here some initial steps, mainly for getting the configuration right. Please follow these, and contact me in case of problems.
- Execute java -version on the server, and tell me what the output is.
- Create a directory alertbot (or similar) in your home directory on the server. Download this ZIP file - click on "free user" when prompted. Unpack the file into the directory you created. The ZIP file contains
- several libraries in the lib/ directory,
- the main application in alertbot.jar; source code is included,
- a configuration file named enwiki.properties,
- a database create script create-tables.sql, see below,
- a start script named run.
- For later versions I will usually only exchange alertbot.jar, most of the other items are static.
- The bot needs some specific database tables in the user database. Connect to the "sql" database alias, and create a database with the name u_legoktm_alertbot. Execute the script create-tables.sql on the "sql" alias, which will create three tables needed by the bot.
- You need to modify the configuration file enwiki.properties, with respect to the following parameters:
- server.botName and server.botPassword: This will eventually contain the user name and password of the bot account on the wiki. For the time being, it is probably best if you enter your personal wiki account and password here. (Be sure to prevent others from reading the file.) The bot will, at this time, not write to the wiki; I will tell you once it starts doing so. For the development phase, edits will go only to my user space, so no bot approval should be required for the time being.
- db.username and db.password: This needs to contain your database user name and password, for the bot to connect to the database. You can obtain these from the .my.cnf file in your home directory, for all I understand.
- db.auxDatabase: Here the three question marks need to be replaced with the host name of the database server for the "sql" alias. Unfortunately I couldn't figure out what its generic name is, but this should be visible from the .my.cnf file as well.
- Now you should be ready for a test run. In the alertbot directory, type:
./run org.wikipedia.wpnn.alerts.TestBatch
- which starts a test run of the bot. It will produce a log file named TestBatch.log and output files in the result directory. I'd be interested in those files, could you post them here, or copy them to your web space on the tool server?
If you have any questions or problems, if the instructions are not detailed enough, if error messages appear etc., please post a response here, I'll keep the page on my watchlist. --B. Wolterding (talk) 12:55, 16 August 2008 (UTC)[reply]
- "java -version" returns:
legoktm@nightshade:~$ java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) 64-Bit Server VM (build 10.0-b23, mixed mode)
LegoKontribsTalkM 19:17, 16 August 2008 (UTC)[reply]
- I can't figure out how to create the database alias. m:Toolserver/Database#User_databases doesn't tell you how to LegoKontribsTalkM 20:10, 16 August 2008 (UTC)[reply]
- OK. For the Java version installed, everything is fine. For the database - true, the instructions on the help page are not very explicit. If I understand them correctly, this is what you should type:
$ sql u_legoktm
Then, at the mysql> prompt that should appear:
mysql> create database u_legoktm_alertbot;
Afterwards, you can run the create script by typing:
mysql> source create-tables.sql;
Let's try whether that works... --B. Wolterding (talk) 21:27, 16 August 2008 (UTC)[reply]
- Here is what comes up:
mysql> source create-tables.sql;
Query OK, 0 rows affected, 1 warning (0.00 sec)
Query OK, 0 rows affected (0.19 sec)
Query OK, 0 rows affected, 1 warning (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected, 1 warning (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Is that right? LegoKontribsTalkM 21:44, 16 August 2008 (UTC)[reply]
- Yes, perfectly fine. Typing
mysql> show tables from u_legoktm_alertbot;
will show you that three tables have been created. --B. Wolterding (talk) 21:50, 16 August 2008 (UTC)[reply]
- Log is at tools:~legoktm/TestBatch.log LegoKontribsTalkM 21:57, 16 August 2008 (UTC)[reply]
- OK, thanks. We can't connect to the database yet. Probably the db.username and db.password parameters are not correct yet. I suspect a bit they're case-sensitive, and the username should read "legoktm" rather than "Legoktm". Also could you check that the password is correctly transferred from .my.cnf ? After changing the username and (if necessary) the password, please run the batch job again, i.e. ./run org.wikipedia.wpnn.alerts.TestBatch . --B. Wolterding (talk) 22:10, 16 August 2008 (UTC)[reply]
- Log number 2 is at tools:~legoktm/TestBatch 1.log. It still doesn't look like its working, will try different configurations. LegoKontribsTalkM 23:27, 16 August 2008 (UTC)[reply]
- No, it's not working yet, but we have taken one step forward. The connection to one of the databases is open now. The problem we're currently seeing is not a configuration problem, it's in fact a bug in the program. I've fixed that one; the new alertbot.jar is here. --B. Wolterding (talk) 10:00, 17 August 2008 (UTC)[reply]
- Log number 3 is at tools:~legoktm/TestBatch_2.log. Still geting another error message. LegoKontribsTalkM 21:27, 17 August 2008 (UTC)[reply]
- Hm, well. Step by step. The problem now is the connection to the second database (the user specific database u_legoktm_alertbot you created above). It's all about the db.auxDatabase parameter I think - it specifies a valid database host, but apparently the wrong one. Could you post what the current value of that parameter is? The correct value should be somewhere in your .my.cnf, but I don't know where exactly. Perhaps you could also post the .my.cnf file after removing the passwords it contains? --B. Wolterding (talk) 21:40, 17 August 2008 (UTC)[reply]
- .my.cnf shows
[client]
user = legoktm
password = "password"
host="sql"
db.auxDatabase currently is set to sql/u_legoktm_alertbot LegoKontribsTalkM 21:54, 17 August 2008 (UTC)[reply]
Thanks; unfortunately that's not as enlightening as I thought. But let's try to find where our u_legoktm_alertbot database has gone. Could you execute the following and post the result?
$ nslookup sql
$ sql u_legoktm
mysql> show tables from u_legoktm_alertbot;
mysql> show variables like 'hostname';
--B. Wolterding (talk) 22:21, 17 August 2008 (UTC)[reply]
break
I found the problem. MySQL is down. See {{Toolserver}} and when it was last updated. But the results anyway are:
legoktm@nightshade:~$ nslookup sql
Server: 91.198.174.6
Address: 91.198.174.6#53
** server can't find sql: NXDOMAIN
legoktm@nightshade:~$ sql u_legoktm
/usr/local/bin/sql: no such database "u_legoktm"
mysql> show tables from u_legoktm_alertbot;
+------------------------------+
| Tables_in_u_legoktm_alertbot |
+------------------------------+
| jobcache |
| jobqueue |
| workflowitems |
+------------------------------+
3 rows in set (0.01 sec)
mysql> show variables like 'hostname';
+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| hostname | yarrow |
+---------------+--------+
1 row in set (0.00 sec)
LegoKontribsTalkM 22:36, 17 August 2008 (UTC)[reply]
- Not sure whether mysql is really down - the {{Toolserver}} update seems regular for me, but maybe I'm missing something. Anyway, let's try setting db.auxDatabase=yarrow.toolserver.org/u_legoktm_alertbot . --B. Wolterding (talk) 22:48, 17 August 2008 (UTC)[reply]
- Looks like it is working! tools:~legoktm/TestBatch_3.log. {{Toolserver}} should update every hour, and last update was at 15:00. LegoKontribsTalkM 22:55, 17 August 2008 (UTC)[reply]
- Ah! Yes, it's running. There should be some files in the result/ directory now. Anyway: We can now take the test one step further an actually write to the wiki. To that end, set test.mode=2 (it's now at 1) in the config file. This will cause the batch job not to write to a file, but rather to a database table. Run the batch, and then type
mysql> select page_name, summary from u_legoktm_alertbot.jobqueue;
This should show two pages scheduled for writing to the wiki. Their page names start with "User:B. Wolterding". Now to actually post them to the wiki, you use another batch:
$ ./run org.wikipedia.wpnn.wikiio.JobQueueBatch
This will now cause the bot to log in to the wiki (using server.botUser and server.botPassword), and write the pages. They should show up in your contribution history. --B. Wolterding (talk) 23:08, 17 August 2008 (UTC)[reply]
- User:B. Wolterding/Article alerts/test-WikiProject Biography and User:B. Wolterding/Article alerts/test-WikiProject Comics look great. Do you need the new log? LegoKontribsTalkM 23:15, 17 August 2008 (UTC)[reply]
- OK! No, I don't need the log in this case. There's some small problem with the character encoding (I remember it kept me puzzled for a while on my computer...), but for the moment it's fine. Could you start these two batch jobs daily for, say, the next week? The exact time is not relevant, I just need to have a look what happens if some items get closed.
- Thanks for your help so far - I'll be offline now for a while. (We're in different time zones, and in mine it's late.) --B. Wolterding (talk) 23:26, 17 August 2008 (UTC)[reply]
- I just ran the bot again, but I didn't edit,
legoktm@nightshade:~/alertbot$ ./run org.wikipedia.wpnn.wikiio.JobQueueBatch
INFO - Starting batch: org.wikipedia.wpnn.wikiio.JobQueueBatch
INFO - Starting to process the wiki job queue.
INFO - Logged in as: Legoktm
INFO - Wiki job queue processed.
INFO - Batch job completed; exit code 0
- Maybe it didn't have to make any changes? LegoKontribsTalkM 21:43, 18 August 2008 (UTC)[reply]
- Did you run the TestBatch first? At the moment, TestBatch and JobQueueBatch are really two separate tasks, and they need to be started one after the other. The bot does in fact memorize its last output, and will not write to the wiki if nothing has changed; in this case, TestBatch.log will contain a message like "INFO - Job is cached, skipping". However, I doubt that's the case here; the WPBiography list is so long that some change must have happened... --B. Wolterding (talk) 22:24, 18 August 2008 (UTC)[reply]
- I forgot run the TestBatch first. dif1 and dif2 LegoKontribsTalkM 22:56, 18 August 2008 (UTC)[reply]
- Edit 1 and Edit 2. The Bio alerts, has a little bit of errors, but otherwise is fine. Do you think we are ready for a BRFA yet? LegoKontribsTalkM 21:45, 19 August 2008 (UTC)[reply]
- Thanks; yes, most parts seem to be working OK. (Good article nom closures are not, but that's a part I need to rework anyway.) Regarding how to proceed: What we have running now is just the basic "framework" for following the Wikipedia workflows. The bot is not "feature complete", by far. My time plan would be about as follows:
- First, I need to add complete code for all the different workflows (PROD, AfD, GA x2 (nomination + reassessment), FA x2, FL x2, Peer Review), and at least roughly test it. This will still take several weeks.
- Then, we would invite a small number of WikiProjects (3 or 4) to participate in a test, and let the bot run "live" for them, probably for 3-4 weeks. Code changes may become necessary here.
- After that, the bot can be rolled out to more WikiProjects.
I think we should best file the BRFA right before the second step. However if you feel it's needed, we could try to get a test run approved now; the upload feature as such won't change.
I will send an updated JAR file tomorrow, where at least PROD and Peer Review are "feature complete" (they will display more data than currently). --B. Wolterding (talk) 22:27, 19 August 2008 (UTC)[reply]
Proposed deletion + Peer review
As promised, here's the new code that completes the implementation for PROD and reer reviews.[1] Some notes: When running the new code for the first time, you will encounter a number of warnings like "WARN - Incompatible class while reading persisted workflow item". This is normal behavior. Also, TestBatch will now not only read from the database, but occasionally also from the live wiki. All write operations however remain in JobQueueBatch.
I will probably not be around when you are online today. If the job terminates with an error, please copy the logs to the webserver, I will review them tomorrow. Cheers, --B. Wolterding (talk) 13:03, 20 August 2008 (UTC)[reply]
- It worked. I saw the warn's but no errors :) LegoKontribsTalkM 22:30, 20 August 2008 (UTC)[reply]
- OK. Looks good. Let's see what it does in today's run, when items are being closed. --B. Wolterding (talk) 15:34, 21 August 2008 (UTC)[reply]
- Dif 1 and Dif 2. LegoKontribsTalkM 15:39, 21 August 2008 (UTC)[reply]
- Wow, that was quick! Ok, I have a new JAR file for you [2]. This one now includes the Featured Article and Featured List workflows. Also, alerts are now being generated for a third test project, WikiProject Video games, because they're more likely to have featured list candidates. Could you run the bot with that one?
- Also, I included a new one-up test batch, called "org.wikipedia.wpnn.DbTestBatch" . This one is independent of the others, and just tries several variations of database driver parameters. That's for solving the encoding issue with international characters that you see in the lists (redlinks with weird extra characters). Could you run DbTestBatch once, and post DbTestBatch.log? --B. Wolterding (talk) 15:55, 21 August 2008 (UTC)[reply]
- The log is here, and Diff 1, Diff 2, and Diff 3. LegoKontribsTalkM 00:02, 22 August 2008 (UTC)[reply]
- Thanks. The "featured" processes seem OK - let's see what they do over the next days. The character set test was not so successful; I'll need to try some more parameters the next time I send a JAR. --B. Wolterding (talk) 18:52, 22 August 2008 (UTC)[reply]
←Diff 1, Diff 2, and Diff 3. Should I post the new log? LegoKontribsTalkM 03:22, 23 August 2008 (UTC)[reply]
- No, I don't need the log this time. Let's try it for another day; I'll send an updated JAR tomorrow. --B. Wolterding (talk) 20:38, 23 August 2008 (UTC)[reply]
- Diff 1, and Diff 2. It didn't update Comics this time. LegoKontribsTalkM 20:46, 23 August 2008 (UTC)[reply]
- OK. Probably there were no changes for the Comics project, in that case the batch does not produce a new listing, by design. (In the TestBatch.log, there should be a line saying "job is cached, skipping" or similar.) --B. Wolterding (talk) 21:30, 23 August 2008 (UTC)[reply]
- Yup, that comes up. LegoKontribsTalkM 01:23, 24 August 2008 (UTC)[reply]
XfD
Here's a new version of the code [3]. It now covers AfD as well, along with some other XfD processes; although I don't know whether we will see any MfD or TfD examples. Also, please run org.wikipedia.wpnn.DbTestBatch once more, and post the log of that batch; I hope I've found the right parameters this time. Good articles reassessment is still giving me some headaches, it's not implemented yet. --B. Wolterding (talk) 15:16, 24 August 2008 (UTC)[reply]
- Diff 1, Diff 2, and Diff 3. The log is at tools:~legoktm/DbTestBatch_2.log. I have removed the other older logs, so if you still need them, I can repost them. LegoKontribsTalkM 22:47, 24 August 2008 (UTC)[reply]
- Found a glitch in CFD, categories should be as [[:Category:]] not [[Category:]] LegoKontribsTalkM 22:52, 24 August 2008 (UTC)[reply]
- Should be fixed in this new JAR. Also the character encoding problem should be fixed now - please add the following line to your enwiki.properties before running the bot: db.wiki.useOldUtf8Behavior=true --B. Wolterding (talk) 11:47, 25 August 2008 (UTC)[reply]
- Diff 1, Diff 2, and Diff 3. I would Suggest linking to an IP's contributions, instead of their non-existent userpage. LegoKontribsTalkM 15:14, 25 August 2008 (UTC)[reply]
- Yes, that's a good idea regarding the IP users. The character encoding problems are fixed now, Félix Houphouët-Boigny etc. are displayed correctly. Right now I'm a bit short of time, so the next JAR will be ready only end of the week I think; let's test the current mechanism for a few days and watch the closures. --B. Wolterding (talk) 16:29, 26 August 2008 (UTC)[reply]
- Diff 1, Diff 2, and Diff 3. LegoKontribsTalkM 01:04, 29 August 2008 (UTC)[reply]
← Thanks. Now here's a new version of the JAR [4] that implements the last missing workflow, good article reassessment. That should basically make the bot feature-complete at that point. There may be some small refinements, but I will defer them at this time.
If the new version runs fine at least once, the next step would then be some larger restructuring: First, the old riddle with the sql alias seems solved now - the custom "sql" program we used is broken. That is easy to circumvent, but we should recreate the database tables since they're on wrong server now. I also need an additional table for the subscription system, and I'll do some renaming on that occasion. I'll post detailed instructions later, once the current version runs. --B. Wolterding (talk) 13:43, 29 August 2008 (UTC)[reply]
- Diff 1, Diff 2, and Diff 3. IP contributions look good, and so does GAR. LegoKontribsTalkM 04:40, 30 August 2008 (UTC)[reply]
- Diff 1, and Diff 2. WP:Comics had no changes today. LegoKontribsTalkM 22:48, 30 August 2008 (UTC)[reply]
Database restructuring etc.
Hi,
as announced, I did some restructuring of the database and code. The ZIP file contains a new JAR, a database create script, and new version of the start script ("run").
There are a few things to be done. First, delete the old database schema:
$ sql u_legoktm
mysql> drop database u_legoktm_alertbot;
Create the new database schema (now in the correct place, including one additional table):
$ mysql -h sql
mysql> create database u_legoktm_alertbot;
mysql> source create-tables.sql;
Change the parameter "db.auxDatabase" in enwiki.properties back to "sql/u_legoktm_alertbot". This should now work after all.
Further, there are some new batches, and others have been renamed. This is a list of relevant batch jobs:
- org.toolserver.alertbot.TestBatch: will continue to work for a while, as before, generating reports for three hardwired projects; but has no relevance for the productive bot later.
- org.toolserver.alertbot.ReportBatch: generates the alert reports from the subscription table (see below) and posts them to the job queue, but not to the wiki.
- name.bwolterding.wikibots.io.JobQueueBatch: as before; posts content from the job queue to the live wiki.
- org.toolserver.alertbot.AlertBatch: runs ReportBatch and JobQueueBatch in a row. This is the batch that will later be used for the productive bot, and that you should use for testing from now on. (However, if needed, you can run ReportBatch and JobQueueBatch individually at any time, and check the status of the job queue inbetween.)
I also have a new version of the start script (run) for you, with some minor changes needed later for automation. In line 3 of the script, you need to insert the full path to the bot's directory.
So, to put things short, what you should do after applying all the modifications is
$ ./run org.toolserver.alertbot.AlertBatch
and post the first AlertBatch.log. Let's see whether all that works...
One note regarding configuration. I created an addition database table, u_legoktm_alertbot.alertsubscr. This contains the project subscriptions, i.e., a list of projects for which alerts will be generated. Up to now, they were hardwired in the code. I have pre-filled the table with the three test entries we had until now (Comics, Video games, Biographies). This table will later be filled automatically, but for the moment - and for the test phase - we should stick with manually maintaining the table. The following will display the contents of the table.
$ mysql -h sql u_legoktm_alertbot
mysql> select * from alertsubscr;
For adding or modifying subscriptions, there are 3 relevant fields at the moment.
- "project" contains the name of the project or work group. This must match the name of the main wiki page of the project (no redirects allowed). E.g. "WikiProject Video games" or "WikiProject Comics/DC Comics work group".
- "is_workgroup" is set to 0 for projects and to 1 for workgroups. The main difference is how the associated articles will be found, see next parameter.
- "token": If is_workgroup=0, contains the name of the project banner template. If is_workgroup=1, contains the name of a category in which the workgroup's article talk pages can be found (directly in that category, not hierarchically; e.g.: "DC Comics work group articles"). Again, no redirects are allowed.
Are you reasonably familiar with the mysql client, so that you could add/remove/modify subscriptions in the table? With some work, it should also be possible to use a graphical client (MySQL Query Browser), then this task becomes easier. --B. Wolterding (talk) 10:26, 1 September 2008 (UTC)[reply]
NVISION was marked for deletion, because it lacked notable sources. Now notable sources are plenty. Please add it back...
Wikipedia:Articles_for_deletion/Nvision
"not notable as there is no coverage by reliable sources that are independent of the subject"
"People should re-add this article once its notability can be established"
"of course the article can be created if the Guinness World Record is achieved and/or it receives substantial press attention" —Preceding unsigned comment added by 70.112.111.122 (talk) 05:08, 28 August 2008 (UTC)[reply]
Hi, I don't know if you have been following the discussion but I am just about to implement a trial of a new AfC process. As I see you are pretty active round here recently I thought I would ask for your help in the trial as it would be helpful to have someone else around to mop up in case it all goes wrong! I have created some instructions at User:Msgj/Sandbox2 (I will move this somewhere appropriate so it might become a redirect). Regards, MSGJ 17:41, 28 August 2008 (UTC)[reply]
Hi, are you still available to be admin coached? Xclamation point 17:35, 30 August 2008 (UTC)
[reply]
- You can start Stage 2 now. Xclamation point 22:25, 30 August 2008 (UTC)[reply]
I am getting an error on tools:~dispenser/cgi-bin/reflinks.py?page=Manuloc&citeweb=on. Is it something with the websites, or the tool? Thanks LegoKontribsTalkM 04:57, 1 September 2008 (UTC)[reply]
- It was some test code I forgot to remove. Thanks for reminding me. — Dispenser 05:56, 1 September 2008 (UTC)[reply]
I noticed that you reverted an edit on this article page, however the information you reverted was accurate. Please see the The Hogan Family TALK page for further clarification. I am sure your revert edit was in good faith, but please always provide an explanation for reverting another user's edits. Thank you.79.66.41.131 (talk) 04:23, 2 September 2008 (UTC)[reply]
|