User:ImplSearchBot: Difference between revisions

A more technical description, and on to the future.
(Fixed the RCRPG/RCBF/RCSNUSP bug.)
(A more technical description, and on to the future.)
Line 15:
=Known bugs=
* I currently post at least three pages for every language that has a change between cycles. These are the omit template body, the primary listing template body, the actual "Tasks not implemented in X" page, and possibly a body for the omit category, if the omit category hasn't been created yet. For efficiency's sake, these should only really be posted if they've changed. (A change to the primary listing doesn't mean that the omit listing needs to be posted, for example.)
 
=A More Technical Description=
 
As its most basic functionality, the bot works by using the MediaWiki::Bot Perl module to retrieve a two core category listings, one for "what languages do we have" and one for "what tasks do we have". It then goes through and retrieves the category listings for "what tasks have been solved in language X" for each X in the "what languages do we have" listing. For each such listing, we find what items are in the "what tasks do we have" category that aren't in the "what tasks have been solved in language X" category, providing us with a list of tasks that haven't been solved in language X. (This is particularly interesting to folks who are experts in language X, because it helps them find areas of the site that they might be interested in fixing.)
 
The bot later was extended to pay attention to a set of listings, "what tasks SHOULDN'T be solved in language X", so that it could identify to viewers that such a task isn't appropriate for the language.
 
At one time, the bot correctly avoided making unnecessary calls to the MediaWiki API, but that functionality is currently broken.
 
Future features planned for the bot include any of twittering changes for each language X, providing RSS feeds for changes for each language X, mentioning changes for each language X in interested IRC channels or XMPP chatrooms, etc. It's also intended that it be generalized to support more generalized workloads "what operating systems/platforms have been used to solve language X", "what libraries have been demonstrated in language X", "what operating systems have seen solutions for task Y", etc.
 
In short, at its core, ImplSearchBot attempts to be a domain-specific approach to identifying shared and unshared components of sets and sets-of-sets, and providing passive and active notifications of changes to the resulting matrix.
 
=Future=
 
[[User:Short Circuit|Short Circuit]] is working on getting a SourceForge project approved for ImplSearchBot, in order to open up and expedite its development. (That's where the "more technical description" came from.) Talk to him if you'd like to take an active hand in its development.