Introduce bots for MoinMoin
MediaWiki has long had the bots that are helping to work with editing huge data. For a decription se Bot. Quote:
- "A bot is a robot designed for performing certain repetitive tasks on a Wiki."
I think this is real nice feature. I suggest that we start to think about it generally in a brainstorm way befor eeven considering to implement it. I would add to the description above: This could also be tasks that require an enormous amount of time without having to be repeated often.
Funnily the Wikipedia bot is written in Python:
Meta-Wiki: Using the python wikipediabot
Can we reuse this?
Discussion
- Possibilty to run them via Cron
- the moin command also already has some bot features.
- have a extension directory where to put them in
- look at the functionality of bots and experiences from Wikipedia.
- Only superusers can use it or let there be userspace bots like "remove all my contributions", "relicense all my contributions"
- Where would a bot concept start and where would it end (we already have other kinds of extensions)?
Last time I have heard of those wikipedia bots, the used HTTP GET, modify, HTTP POST (edit cycle, similar like a human with browser would do also). This is just a insane workaround for a missing (xmlrpc or whatever) API and requires lots of effort not necessary otherwise. -- ThomasWaldmann 2006-12-15 13:41:44
I don't understand why we would need to program a bot, unless there's a specific problem to resolve. For example, wikipedia uses a bot to maintain translation links (which could be considered a design flaw in the first place)... -- TheAnarcat 2007-01-10 23:44:10
- Well, I wish I would have this very often!
- For example you have constantly used a term on 1000+ pages. You really want to search and replace by hand?
- You are moving pages and links are changing - correcting links by hand is painful. I have again experienced this on live.gnome.org where I tried to move and reorganise some contents.
- Also often some people always add the same stupid crap. Today you will have to find and delete this by hand.
The only mechanism we have right now is the DeSpam action. The truth is that from some size on you just CANT handle a wiki any more without bots. This is especially true if you have very pages and only few people that work on them. Maybe a wiki with a bunch of highly active users does not need that because all small errors are corrected quickly. Maybe the most important thing I would want is a RegexReplacer - an action to search for a term and replace it by another on defined pages (not only one page). Just hypothetically: How should such a thing be implemented? Do we have an action that is working similar? This could also be used for renaming a category. Right now, as you know, if you rename a category you will have to go after ALL pages and rename them by hand. I COULD do this by running sed on command line, but this would break the versioning. But maybe somebody has another idea to solve the problems mentioned above, (BTW: I think that this action should be limited to a group of people, because not everybody should anonymous should not be able to use it, like DeletePage action). regards -- ThiloPfennig 2007-01-12 10:00:41
The stuff noted above can be solved by (yet to get implemented) moin actions, there is no need to use bots for that (in fact, this would make stuff just more complicated as you have to do everything remote and it would also cause more load and more traffic). So please move that stuff to a more appropriate place. -- ThomasWaldmann 2007-01-12 10:21:14
Well I did not mean that this should not be implemented as an action. I think if you read the Wikipedia:Bot_policy you see that this is really the same more or less. With bots I ment actions that do stuff to all pages. I just named them bots after the Wikipedia example. So could we just talk about how to solve the problems? If you have a better name rename this page or suggest it. I dont know and i think maybe its good to have this link to Wikipedia and define bots differently as some special actions. So despam really is a bot. We can also call http URLs (and so actions via cron ) - so some things could be solved automatically. -- ThiloPfennig 2007-01-14 18:31:59
Just to get clear about the terms: a bot is something interacting remotely, usually over http. It simulates a human interacting with the web site, except that it isn't human, thus it is called a bot. So don't call something a bot if you are not meaning a bot.
Well I ment the bots that Wikipedia uses for exactly the same tasks. Sure, "bot" comes from "robot". I think this is really what I mean "bots perform tasks that are both simple and structurally repetitive, at a much higher rate than would be possible for a human editor alone. (internet bot)" - if you start this via an action menu or via http and cron or at is secondary in my view - the thing I ment was the automated high volume editing. If I start an action of my sort via a cron script it would fit all definitions - this is your choice but should not change the behaviour of the script. If you have another name for what I mean spell it out, please. If you think this is just an action I would say yeas we have those but besides of DeSpam does what I had in mind. -- ThiloPfennig 2007-01-15 13:54:38
The big advantage to bots is that an admin can give other users permission to write their own bots. For example, I am involved in an online game played primarily by email; we use a MediaWiki to track the state of our game. We used to use MoinMoin, but there are a number of features that were coded up by other players and run from different machines, which we couldn't do here. For example, one person has a script that monitors the mailing list for a special action syntax, detects certain actions, and remotely edits the wiki to record the actions. This is convenient because the server hosting our wiki is run by a nonplayer; we don't want to bug him to install new scripts every few weeks. -- 128.253.240.54 2007-02-26 17:43:05
Is any idea of this feature over? I made a similar script to do it directly on the flat files (see this diff) but I would so much appreciate something more professional! -- LaurentPerrinet 2010-04-05 12:47:18
Well, you shouldn't access the storage files directly. And you don't need a "bot" that works via web user interface. Either use the PageEditor class or xmlrpc api. -- ThomasWaldmann 2010-04-05 17:39:32