I also have a home-grown framework: https://github.com/Krinkle/toollabs-base
Originally created for my Toolserver tools. Recently rewritten for Tool Labs.
A few example tools:
* https://tools.wmflabs.org/orphantalk/ * https://tools.wmflabs.org/usage/?action=usage&group=Krinkle * https://tools.wmflabs.org/intuition/ * https://tools.wmflabs.org/wikiinfo/ * https://tools.wmflabs.org/snapshots/
Some Tool Labs oriented features:
* Interface for LabsDB. * Interface for Wikimedia wikis. * Integration with Intuition for localisation. * Integration with tool-labs Redis for caching.
Some back-end features: * Caching layers (Redis, FileSystem, Memory). * LocalSettings-driven (ala MediaWiki). * Incorporates MediaWiki's Html.php, Sanitizer.php, GitInfo.php. * HttpRequest interface.
Front-end features: * Bootstrap * jQuery
Having said that, it's a pile of shitty hacks. I'd be happy to collaborate on something else.
— Krinkle
On 8 Dec 2014, at 15:30, Petr Bena benapetr@gmail.com wrote:
Hi,
It's been some time since we launched tool labs and there is incredible number of tools now. They all however have 2 major problems. Every tool has own, different layout / css style (which may be confusing the users of these tools) and every developer of these tools probably have to reinvent a wheel at some point as they all have to do some common tool setup - eg. they have to create some basic php skeleton that would access wikimedia resources, from databases, memcache, reddis to API's and so on.
What about creating some common uniform framework in php that, just as pywikipediabot that is used to create bots, would be used to create web-based tools. So that maintainer of a tool would just fork or clone this framework and wouldn't have to spend their time creating functions that would generate html pages with wikimedia uniform style (similar to how vector looks, for example, or just any uniform style, so that tools would look similar), access wikimedia databases, OAuth, ldap, API...
I believe it would not just make creation of new tools incredibly simple, but it would also make all tools have consistent look and feel, and thus improve the end user experience. What you think? Is there someone who would like to work on that?
Labs-l mailing list Labs-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/labs-l