User:Kingboyk/AWB

From Wikipedia, the free encyclopedia

AutoWikiBrowser - 4.3.2.0

v  d  e
Home

General information about AutoWikiBrowser and directions for installation.

Request approval

Request approval to be added to the CheckPage to use AutoWikiBrowser.

Discussion

Discuss the application and ask questions.

Bugs

Report bugs in the application.

Feature Requests

Request new features to be implemented into AWB

User manual

The full user manual.

Developer Talk Page · Typos · IW Order · User talk templates · Plugins · IRCMonitor · Projects which have used AWB · Changelog · AWB Sandbox · Settings · Custom Modules · WikiFunctions.dll · Custom style.css · Userbox · SVN Snapshots · Usage Stats

Since early 2007 I have been an AWB developer. This is in addition to developing the Kingbotk AWB plugin, which now ships with AWB. I don't consider myself a lead dev (not a C# expert, and have too many other tasks) but I'm helping out where I can.

Contents

[edit] What I specialise in

I mostly do work connected with the plugin interface and improving plugin interoperability, behind the scenes work e.g. on the object model and regular expressions, and tweaking the user interface when I find something which annoys me :)

[edit] Work I have done

  • Major revamp of the AWB object model relating to article processing
  • Major revamp of the plugin interfaces
  • Ported the IMyTraceListener interface and the TalkPageHeaders class from WikiFunctions2.dll to C#
  • Worked on the new logging tab and related objects based on the idea from my plugin, and I improved it
  • Various tweaks to code, regexes, and user interface

[edit] To-do

I planned to do the following on 7 April 2007 but lost the day due to computer problems:

  • Finish up the right-click context menu in the new logging control:
    • Add filter to show only "x" (where "x" gets displayed on the menu) or to remove "x" from the list. Store removed items in a collection. Clear list should clear the collection of not-displayed items too? Or, have 2 types of clear - clear all and clear displayed.
    • Try and identify the item[3] missing bug
    • Option to turn off sort because from what I can tell leaving the sorting on is causing it to hog the CPU somewhat
    • Check everything is nicely encapsulated and adheres to good OOP design.
  • Add a feature to the bot tab to have AWB check a folder for XML settings files (containing article lists). Start a job, rename the file to something like .xml.active, rename it to .xml.done or similar when finished, then look for another job. If none found sleep for 10 minutes or so and look again. This will allow AWB to behave a bit more like a real bot, and the file renaming will ensure multiple instances can run without any issues. Should be very simple to implement, too.
  • Make a semi-automated listbuilder feature, either in AWB or in my plugin. (Probably the former, as I think this could be widely useful; but if the latter, could inherit from the current listbuilder and then trick AWB into displaying ours).
    • Build list as normal
    • Display option to filter out non-main mainspaces
    • Display subcategories in a checklist, and prompt user
    • Trawl selected subcats, move others to a collection (so we can check we don't prompt about the same categories twice)
    • For plugin, convert to talk
    • Sort A-Z
Basically what I'm having to do manually, with a lot less keypresses and hassle.
  • Have a look at the work Sam's done towards Profiles, and design/implement the object model and look at security

[edit] Also todo

  • Plumb in the talk page template layout code, for enwiki/talk pages/cleanup box ticked only This should probably wait until (if) AWB supports wiki project banner container templates
  • Expose checkboxes for cleanup etc and have plugin set all of them not just skip empty
  • Increment nudge timer on each firing. Might want to create an inherited control to do it. - Done but not tested, I think the logic needs to be checked and refined.
  • See if can/should add some error-throwing overrides to inherited members of AWBLogItem which shouldn't be called directly