[Wikitech-l] Performance issue with regard to JSON-based localisation format

2014-04-14 Thread Adrian Lang
Hi *,

I recently investigated a performance issue with one of Wikibase's
test cases. The test in question performed a formatting task for all
known languages. While the first assertions ran as fast as expected,
they rapidly got slower until finally taking seconds per assertion. I
figured this was an actual performance bug (although hardly triggered
in production) and started profiling.

My findings, in short:

* The shims for $wgExtensionMessagesFiles as generated by
maintenance/generateJsonI18n.php register a handler for the hook
LocalisationCacheRecache when included
* For every new language loaded, all $wgExtensionMessagesFiles are
included by LocalisationCache::recache
* Afterwards, LocalisationCache::recache runs the hook LocalisationCacheRecache

This leads to the obvious issue that there is a growing number of
registered handlers, which slows down the hook, which slows down the
test.

From my point of view, this is a bug. The old approach and the current
implementation of LocalisationCache assume that
$wgExtensionMessagesFiles can be included multiple times. However, the
$wgExtensionMessagesFiles shims as generated by
maintenance/generateJsonI18n.php don't handle this case gracefully.

I can imagine two solutions:

* Fixing the caller (LocalisationCache) by making sure it does not
include a single file twice (a simple, finite cache is already
implemented in LocalisationCacheBulkLoad).
* Fixing the callees ($wgExtensionMessagesFiles) by making sure they
register the handler only once. This would need a change to all
extensions which already switched to JSON-based localisation.

What do you think?

Adrian Lang

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

[Wikitech-l] mGerrit - Gerrit for Android

2014-04-14 Thread Sam Reed
As we all know, Gerrit doesn't have the best interface, but even more so,
it's not very mobile friendly. There is however mGerrit [1] for Android
which does a nice job.

 

Also, we're not in the list of default supported Gerrit instannces (yes, I
know WikiMedia is in CamelCase, this is already reported and fixed
upstream).

 

If you've any issues with the software emailing the developer directly is
quite good at yielding responses.

 

 

 

Sam

 

 

[1] https://play.google.com/store/apps/details?id=com.jbirdvegas.mgerrit

 

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

[Wikitech-l] MediaWiki Support for PhpStorm

2014-04-14 Thread Sam Reed
There's been discussions before about being able to share code style
settings between MediaWiki users for PhpStorm. To this end, I've started a
PhpStorm plugin [1] that adds this functionality, allowing preferences to be
set from a MediaWiki predefined style. Thanks to Siebrand and Physikerwelt
for their example configurations.

 

There is also functionality to search MediaWiki.org for selected text using
the context menu.

 

It can be installed using the inbuilt plugin manager in PhpStorm.

 

More functionality to come, somewhat emulating the Wordpress plugin [2]. I
imagine the Hook support would be quite useful for many people too.

 

Code is currently on github [3], maybe should be moved to gerrit sometime in
the future. Pull requests and issues happily accepted.

 

 

 

Sam

 

[1] http://plugins.jetbrains.com/plugin/7439

[2]
http://blog.jetbrains.com/phpstorm/2014/03/wordpress-support-in-phpstorm-8-e
ap/

[3] https://github.com/reedy/phpstorm-plugin-mediawiki

 

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Performance issue with regard to JSON-based localisation format

2014-04-14 Thread Niklas Laxström
I think technically easiest solution is to modify the i18n.php files:

-$GLOBALS['wgHooks']['LocalisationCacheRecache'][] = function (
$cache, $code, $cachedData ) {
+$GLOBALS['wgHooks']['LocalisationCacheRecache'][__FILE__] = function
( $cache, $code, $cachedData ) {

This makes it so that if the file is included again, it will just
override the previous callback set in that file, instead of adding a
new one.

The downside of this approach is that someone needs to change this in
all the hundreds of extensions.

Modifying LC itself does not help users like you who are running older
versions of MediaWiki [1].

[1] The shims are only used in = 1.22.

  -Niklas

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Performance issue with regard to JSON-based localisation format

2014-04-14 Thread Adrian Lang
Hi,

On Mon, Apr 14, 2014 at 2:33 PM, Niklas Laxström
niklas.laxst...@gmail.com wrote:
 Modifying LC itself does not help users like you who are running older
 versions of MediaWiki [1].

you are right, although I'm not using an older version of MediaWiki,
I'm on 77bc489c2731827b1c61a6509177eed23193d694 from 2014-04-11.

Regards,
Adrian

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Performance issue with regard to JSON-based localisation format

2014-04-14 Thread Siebrand Mazeland
PleaseStand has already submitted a patch to mitigate this issue in
https://gerrit.wikimedia.org/r/#/c/125706/

Please review.


On Mon, Apr 14, 2014 at 2:33 PM, Niklas Laxström
niklas.laxst...@gmail.comwrote:

 I think technically easiest solution is to modify the i18n.php files:

 -$GLOBALS['wgHooks']['LocalisationCacheRecache'][] = function (
 $cache, $code, $cachedData ) {
 +$GLOBALS['wgHooks']['LocalisationCacheRecache'][__FILE__] = function
 ( $cache, $code, $cachedData ) {

 This makes it so that if the file is included again, it will just
 override the previous callback set in that file, instead of adding a
 new one.

 The downside of this approach is that someone needs to change this in
 all the hundreds of extensions.

 Modifying LC itself does not help users like you who are running older
 versions of MediaWiki [1].

 [1] The shims are only used in = 1.22.

   -Niklas

 ___
 Wikitech-l mailing list
 Wikitech-l@lists.wikimedia.org
 https://lists.wikimedia.org/mailman/listinfo/wikitech-l




-- 
Siebrand Mazeland
Kitano ICT

M: +31 6 50 69 1239
Skype: siebrand
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Performance issue with regard to JSON-based localisation format

2014-04-14 Thread Niklas Laxström
2014-04-14 15:35 GMT+03:00 Adrian Lang adrian.l...@wikimedia.de:
 you are right, although I'm not using an older version of MediaWiki,
 I'm on 77bc489c2731827b1c61a6509177eed23193d694 from 2014-04-11.

Is something loading the i18n files manually then? Or is there a
missing $wgMessagesDirs definition matching $wgExtensionMessagesFiles?
LC was made so that is skips loading PHP shims when JSON alternative
is present.

  -Niklas

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Performance issue with regard to JSON-based localisation format

2014-04-14 Thread Adrian Lang
The files are loaded, only the merging is skipped if JSON-based
localisation data is present.

On Mon, Apr 14, 2014 at 3:01 PM, Niklas Laxström
niklas.laxst...@gmail.com wrote:
 2014-04-14 15:35 GMT+03:00 Adrian Lang adrian.l...@wikimedia.de:
 you are right, although I'm not using an older version of MediaWiki,
 I'm on 77bc489c2731827b1c61a6509177eed23193d694 from 2014-04-11.

 Is something loading the i18n files manually then? Or is there a
 missing $wgMessagesDirs definition matching $wgExtensionMessagesFiles?
 LC was made so that is skips loading PHP shims when JSON alternative
 is present.

   -Niklas

 ___
 Wikitech-l mailing list
 Wikitech-l@lists.wikimedia.org
 https://lists.wikimedia.org/mailman/listinfo/wikitech-l

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Keeping Code-Review votes across trivial changes of patch sets?

2014-04-14 Thread C. Scott Ananian
On Fri, Apr 11, 2014 at 4:08 PM, Daniel Friesen
dan...@nadir-seen-fire.com wrote:
 I never liked this, over and over I point out a fatal issue with a
 commit sometimes fundamental to the idea itself and impossible to fix,
 so I -1 it, then when a new patchset comes out, completely ignores the
 concerns I've pointed out, my -1 with the idea suddenly disappears as if
 the changeset was supposed to fix it.

That's what -2 is for.  I think this is a social issue: we need to
stop thinking of -2'ing a patch as a grave statement of disapproval.
It should have a meaning matching its function: that is, a sticky -1
that isn't cleared automatically by a new revision.
 --scott

-- 
(http://cscott.net)

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Larger thumbnails for MediaWiki / Wikimedia wikis?

2014-04-14 Thread C. Scott Ananian
Note that 
https://www.mediawiki.org/wiki/Requests_for_comment/Square_bounding_boxes
may be related, since we're talking about what size default
thumbnails appear at.  Also
https://www.mediawiki.org/wiki/Requests_for_comment/Standardized_thumbnails_sizes
has existed for a while, it would be nice to get some traction on
that.
 --scott

On Thu, Apr 10, 2014 at 9:31 AM, Brad Jorsch (Anomie)
bjor...@wikimedia.org wrote:
 On Wed, Apr 9, 2014 at 3:50 PM, Bartosz Dziewoński matma@gmail.comwrote:

 On Wed, 09 Apr 2014 21:45:05 +0200, James Forrester 
 jforres...@wikimedia.org wrote:

  Proposal:

- Make the default a nice proper size for the modern Web; I suggest
360px but could be argued up.
- Remove all the other sizes from wgThumbLimits
- Remove the user preferences for thumbnail size


 Despite the increase in screen sizes some people do still use 1024x768 and
 the like, so this seems a little radical to me, but it might be a
 reasonable option to consider if that's the only way. I hope that it isn't
 :)


 This.

 I for one keep my browser window sized at 1024x768 most of the time, which
 gives me plenty of extra screen room for other windows. I only maximize
 when dealing with sites that are designed for larger sizes only and degrade
 poorly, or occasionally for video calls if I feel like seeing people better.
 ___
 Wikitech-l mailing list
 Wikitech-l@lists.wikimedia.org
 https://lists.wikimedia.org/mailman/listinfo/wikitech-l



-- 
(http://cscott.net)

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Keeping Code-Review votes across trivial changes of patch sets?

2014-04-14 Thread Bartosz Dziewoński

On Mon, 14 Apr 2014 18:02:43 +0200, C. Scott Ananian canan...@wikimedia.org 
wrote:


I think this is a social issue: we need to
stop thinking of -2'ing a patch as a grave statement of disapproval.


Nope (or not only), most people don't even have the ability to give out a -2
(it currently comes in a package with +2 rights).

--
Matma Rex

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Keeping Code-Review votes across trivial changes of patch sets?

2014-04-14 Thread Chad
On Mon, Apr 14, 2014 at 9:07 AM, Bartosz Dziewoński matma@gmail.comwrote:

 On Mon, 14 Apr 2014 18:02:43 +0200, C. Scott Ananian 
 canan...@wikimedia.org wrote:

  I think this is a social issue: we need to
 stop thinking of -2'ing a patch as a grave statement of disapproval.


 Nope (or not only), most people don't even have the ability to give out a
 -2
 (it currently comes in a package with +2 rights).


That's easily adjustable if people so desire.

-Chad
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Abandoning -1 code reviews automatically?

2014-04-14 Thread Ryan Lane
On Sun, Apr 13, 2014 at 1:37 PM, Marcin Cieslak sa...@saper.info wrote:

 2) https://gerrit.wikimedia.org/r/#/c/11562/

 My favourite -1 here is needs rebase.


Well, obviously trivial rebases should be done automatically by the system
(which OpenStack's system does), and changes that need a rebase due to
conflicts should be fixed. Reviewer time is generally in short supply, so
it makes sense to have the committer do any conflict resolution.


 Regarding Openstack policies: I'd say we should not follow them.

 I used to be #2 git-review contributor according to launchpad
 until recently. I gave up mainly because of my inability
 to propose some larger change to this relatively simple
 script. For a nice example of this, please see

 https://review.openstack.org/#/c/5720/

 I have given up to contribute to this project some time
 after this, I have no time to play politics to submit
 a set of tiny changes and play the rebase game depending
 on the random order they might would have got reviewed.


This seems like an odd change to use as an example. There seems to be no
politics in play there. All of the reviews were encouraging, but it looked
like there was a release happening during your reviews and it caused a
number of merge conflicts. The change was automatically abandoned, but you
could have restored it and pinged someone on the infra team.


 The next time I find time to improve Johnny the causual
 developer experience with gerrit I will just rewrite
 git-review from scratch. The amount of the red tape
 openstack-infra has built around their projects is
 simply not justifiable for such a simple utility
 like git-review. Time will tell if gerrit-based
 projects generally fare better than others.


Maybe, until you start looking at their statistics:


http://stackalytics.com/?release=icehousemetric=marksproject_type=openstackmodule=company=user_id=


If you notice, this release cycle they had 1,200 reviewers. One
organization had 20k reviews over the cycle, and the top 5 each had over
10k reviews. Their process scales way better than Wikimedia's, but that's
also due to the way projects are split up and organized as well.

- Ryan
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Proposed body font stack for Latin

2014-04-14 Thread Jon Robson
Erwin,
I echo Erik's statement. Thanks for moving this along. In response to
your suggestion that we need a font stack specific to the language I
have compiled this patch [1]

I envision this change should enable various other possibilities in
styling our content better for other languages, starting initially
with font families. As stated, I think this is a really good
opportunity to talk with local communities and do an audit of the best
fonts per language.

The stack you suggested makes total sense to me and I've included it
in that patch. We can debate it some more however and if necessary I
can remove the change from the patchset - I just wanted to explain how
it might work via code!

Jon
[1] https://gerrit.wikimedia.org/r/125760

On Sun, Apr 13, 2014 at 7:12 AM, Martijn Hoekstra
martijnhoeks...@gmail.com wrote:
 On Apr 12, 2014 8:58 AM, Isarra Yos zhoris...@gmail.com wrote:

 On 11/04/14 19:30, Erwin Dokter wrote:

 First, I like to aplologize to anyone who I may have come over too
 passionate at some times. Frustration is known to get the better of me,
 even though I should control that. (I also quit smoking.)

 Not sure where a new font stack should be discussed, so I'm just
 throwing it in here. Also, note I propose this for Latin wikis only.

 Asuming we want the 'Helvetca' look for the body font:

 font-family: Nimbus Sans L, Helvetica Neue, Arial, Helvetica,
 sans-serif;

 Breakdown:

 Nimbus Sans L - for Linux. This is the defacto helv font on Linux
 systems which result in an look similair to Mac/Windows. Windows will not
 match this font, as the Windows versions of the Nimbus font packages have
 different font family names (ie. 'NimbusSanL' instead of 'Nimbus Sans L').

 Helvetica Neue - for Mac. Like Nimbus, this should not match fonts on
 Windows (or Linux for that matter), as those copies for Windows have
 differen font family names (like 'Helvetica Neue LT Com 55 Roman').

 Arial - For Windows. Positioned after Nimbus Sans and Helvetica Neue, so
 Mac and Linux do not match Arial, but positioned before Helvetica to
 prevent matching an inferiour Helvetica font that may be installed on some
 Windows machines.

 Helvetica - Generic Helvetica fallback for any system not matching any
 of the previous fonts.


 But same as the original font stack, the question remains - for
 everything but mac, what is this supposed to solve? What is the purpose of
 even having helvetica and arial there when they're already the defaults on
 their respective systems, and when on other systems they would likely be
 far worse than the defaults? And for linux, either they'll already be using
 nimbus sans (if they even have it), or it's not going to be what their
 renderers are optimised for.

 https://www.mediawiki.org/wiki/Typography_refresh/Font_choice/Test tells me
 Linux now often gets DejaVu as default sans, and I understand we would
 rather force Nimbus if it is available as it is deemed better. Also, free
 font up front.

 --Martijn

 Every distro is different, with its own defaults and optimisations, and
 they are optimised based on their defaults. We should not be overriding
 those without very good reason.

 Only one default has been explained to have legitimate problems (I
 believe it was Daniel Friesen who went into this, so thank you) - helvetica
 on mac. Given that the fix appears to be a font that will only be present
 on macs in the first place, would it not be a better approach to simply
 address this and leave the others be?

 Thus:

 /* Override Helvetica default on macs to improve font legibility */
 font-family: Helvetica Neue, sans-serif;

 This way it is clear what's going on in the source, ideologies are left
 alone, and everyone gets the best possible experience for their platform.


 I'd like to test this locally on the English Wikipedia, and I am quit
 confident this makes everyone happy because 1) every OS should end up using
 a native font, and 2) it promotes a free font at the beginning of the
 stack (not a high priority in my book though).

 Next up I may think about the headers font stack; While Georgia is a
 good serif; I detest its use of text figures.


 Problem with any serifs is that when using them with sans-serifs, the
 different fonts need to match each other with similar ratios and weights;
 sans-serif, serif, or otherwise, you can't just shove any two fonts
 together and call it a day. Linux libertine, for instance, is very pretty,
 but its thickness and dimensions simply do not match the body in helvetica
 et al; it's much more similar to a bold verdana-style font. Georgia may
 have similar problems (I don't have it so I couldn't say at present), so
 that might be something to look into there as well.

 -I


 ___
 Wikitech-l mailing list
 Wikitech-l@lists.wikimedia.org
 https://lists.wikimedia.org/mailman/listinfo/wikitech-l
 ___
 Wikitech-l mailing list
 Wikitech-l@lists.wikimedia.org

[Wikitech-l] Adding fields to Signup form

2014-04-14 Thread Gennaro, Desiree I CTR OSD CAPE (US)
Can anyone assist me in adding a dropdown list to the signup form using 
UserCreateForm hook and UsercreateTemplate::addInputItem class. I have figured 
out how to add a text field, but I'm not sure how to accomplish a dropdown menu.
UsercreateTemplate::addInputItem ($name, $value, $type, $msg, $helptext);

https://doc.wikimedia.org/mediawiki-core/master/php/html/classUsercreateTemplate.html

Thanks,
Dgennaro


___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Keeping Code-Review votes across trivial changes of patch sets?

2014-04-14 Thread Antoine Musso
Le 11/04/2014 15:57, Christian Aistleitner a écrit :
 TL;DR: Gerrit would allow to keep Code-Review votes across
 * rebases and
 * commit message modifications
 of patch sets.
 
 Thereby dropping need to re-review “trivial” changes on patch sets.
 
 Shall we turn that feature on?
snip

Thank you Christian to raise this publicly :-]

Gerrit knows about two different trivial changes:

 - trivial rebase: the new patchset is the same diff but the parent has
changed.  This is often fine but the new patch my not be working
anymore.  Though if that happens tests will catch it.

 - no code change: only the commit summary has changed. Ie the proposed
code is exactly the same and should have the same behavior.

Details:
https://gerrit.wikimedia.org/r/Documentation/config-labels.html#label_copyAllScoresOnTrivialRebase

I am fine reapplying scores for both types.


-- 
Antoine hashar Musso


___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

[Wikitech-l] MediaWiki Core Team plans for the coming quarter

2014-04-14 Thread Rob Lanphier
Hi everyone,

I wanted to give everyone a heads up on our plans for the next
quarter.  The long version is here:
https://www.mediawiki.org/wiki/Wikimedia_MediaWiki_Core_Team/Quarterly_review,_April_2014

The short version:  we're planning to primarily focus on:
*  HHVM deployment.  No promises that we'll get it done this quarter,
but we'll try
*  Search.  We should have everything moved over to CirrusSearch
before the quarter is over, and we hope to make some user interface
improvements in this area as well
*  SUL finalization - Also in the no promises category, but we plan
to do work on this in the coming quarter
*  Scap improvements - a fair chunk of this work will be HHVM related,
but there will probably still be other work that Bryan continues to do
on this.
*  SecurePoll improvements - there's more work to do to make this more
easily configurable, and for automating the voter verification step
*  Architecture/RFC review - continued work on review activities, as
well as followup from the Architecture Summit on things like the
Configuration Database conversations.

The above is in addition to the work the ongoing work the team does on
code and architecture review, consultations on security and
performance, deployment mechanics as well as the first-responder role
on deployment-related troubles.

In addition to listing the projects we're going to tackle, we
elaborated on a number that received serious consideration.  If any of
those projects that received consideration seem urgent, it's worth
commenting.  Even though it's unlikely we'll immediately change
course, we'll likely revisit the list next quarter, so now may be the
best time to start lining things up.

Feel free to comment either on the talk page for the page above, or on
this mailing list.

Rob

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Keeping Code-Review votes across trivial changes of patch sets?

2014-04-14 Thread James Forrester
On 14 April 2014 12:06, Antoine Musso hashar+...@free.fr wrote:

 Le 11/04/2014 15:57, Christian Aistleitner a écrit :
  TL;DR: Gerrit would allow to keep Code-Review votes across
  * rebases and
  * commit message modifications
  of patch sets.
 
  Thereby dropping need to re-review “trivial” changes on patch sets.
 
  Shall we turn that feature on?
 snip

 Thank you Christian to raise this publicly :-]

 Gerrit knows about two different trivial changes:

  - trivial rebase: the new patchset is the same diff but the parent has
 changed.  This is often fine but the new patch my not be working
 anymore.  Though if that happens tests will catch it.

  - no code change: only the commit summary has changed. Ie the proposed
 code is exactly the same and should have the same behavior.

 Details:

 https://gerrit.wikimedia.org/r/Documentation/config-labels.html#label_copyAllScoresOnTrivialRebase

 I am fine reapplying scores for both types.


​It looks to me like we have rough consensus​ for doing this. Make it so?

​J.
-- 
James D. Forrester
Product Manager, VisualEditor
Wikimedia Foundation, Inc.

jforres...@wikimedia.org | @jdforrester
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] REST and SOA within MediaWiki - is my understanding right?

2014-04-14 Thread Gabriel Wicke
On 04/11/2014 12:06 PM, Sumana Harihareswara wrote:
 So, just to clarify, this is NOT a discussion of overhauling the
 outward-facing MediaWiki web API -- that's taking place in
 https://www.mediawiki.org/wiki/Requests_for_comment/API_roadmap .

The discussion is not about replacing the existing PHP API. We do however
plan to complement it with an outward-facing REST content API as sketched in
https://www.mediawiki.org/wiki/Requests_for_comment/Content_API.

 So the future might look like: the heart of MediaWiki core is PHP code
 that talks to the database 

No, ideally the only code that directly talks to the database would live in
a storage service, which exposes a REST API.

REST is very much about the definition of narrow interfaces, idempotence and
statelessness. Its division of vocabulary into URL-addressed resources and
orthogonal verbs also avoids the need to perform data access through
specialized RPC-style objects [1]. It enforces the use of simple value
objects, which in turn helps to keep interfaces narrow. Those values can --
but don't need to be -- embellished with wrapper objects or service classes
for the consuming code's convenience.

Gabriel

[1]:
https://www.mediawiki.org/wiki/Requests_for_comment/PHP_Virtual_REST_Service

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

[Wikitech-l] Documenting MediaWiki-Vagrant roles

2014-04-14 Thread Steven Walling
Please help fill in https://www.mediawiki.org/wiki/MediaWiki-Vagrant/Roles:)

It's hard to know what a role does precisely without more docs than are
provided via the 'vagrant list-roles' command. Maybe we could add a
description to the list there? First step would be getting content I guess.

-- 
Steven Walling,
Product Manager
https://wikimediafoundation.org/
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Proposed body font stack for Latin

2014-04-14 Thread Erwin Dokter

On 15-04-2014 00:55, Isarra Yos wrote:


Deemed better? Better how? But that's what I'm saying - if the
configuration is optimised for dejavu sans, nimbus won't be better at
all even if it is a better-engineered font (doubtful, though, it being
an arial clone from what I understand). Letters will be too close
together, sizes and hinting will be off, and that's not even going into
the whole rabbit hole of messing with what people are used to, which
seems to be the single biggest determining factor as to what they find
easy to read once the basics are covered...


The purpose of a font stack is to let the browser use the website's font 
preference. So but Arial is already the default on Windows is not a 
valid retort; we _want_ the browser to use Arial, even is it is _not_ 
the default.


Nimbus fonts come from URW++, a respected foundry, and their font are 
quite well engineered. They released some of their fonts under a free 
licence for the GhostScript project, but I do not know if the fonts are 
still maintained (but I suspect so, as GhostScript has active development).


It all boils down to preference. Of cource people are used to how things 
look, but change is not always necessarily a bad thing.


Regards,
--
Erwin Dokter


___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

[Wikitech-l] RfC on Product Management Tools and Development Toolchain

2014-04-14 Thread Andre Klapper
Hi,

as previously announced [1], we've been facilitating a collective review
of Wikimedia's current product management tools and development
toolchain.

The most popular idea at the moment is to consolidate Wikimedia's
product management and infrastructure tools (such as Bugzilla, Gerrit,
RT, Mingle, Trello) into all-in-one Phabricator. We have therefore put
together a Request for comment to bring this up for wider discussion.

This discussion affects anyone who deals with bug reports, feature
requests and code changes in Wikimedia, so it's critical that you test
Phabricator for your own use and make your voice heard in the RFC:

  https://www.mediawiki.org/wiki/Requests_for_comment/Phabricator

We're compiling a list of Frequently asked questions at
https://www.mediawiki.org/wiki/Requests_for_comment/Phabricator/FAQ ;
You're welcome to add more and help answer them :)

We'll host a few IRC discussions while the RFC is running to help answer
questions, etc. Our tentative times and dates are at
https://www.mediawiki.org/wiki/Talk:Requests_for_comment/Phabricator#IRC_discussions

Thank you for your input!

Guillaume and Andre

[1] http://lists.wikimedia.org/pipermail/wikitech-l/2014-March/074896.html

-- 
Andre Klapper | Wikimedia Bugwrangler
http://blogs.gnome.org/aklapper/


___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Documenting MediaWiki-Vagrant roles

2014-04-14 Thread Bryan Davis
On Mon, Apr 14, 2014 at 4:35 PM, Steven Walling swall...@wikimedia.org wrote:
 Please help fill in https://www.mediawiki.org/wiki/MediaWiki-Vagrant/Roles:)

 It's hard to know what a role does precisely without more docs than are
 provided via the 'vagrant list-roles' command. Maybe we could add a
 description to the list there? First step would be getting content I guess.

I took a shot at creating jenkins configuration [0] that would build
and publish documentation based on puppet manifests themselves. This
seems like a better long term solution to the problem. I'm all for
documenting things on wiki but in my experience the closer the
documentation is to the implementation the more likely it will be
updated when the implementation changes.

[0]: https://gerrit.wikimedia.org/r/#/c/125919/
-- 
Bryan Davis  Wikimedia Foundationbd...@wikimedia.org
[[m:User:BDavis_(WMF)]]  Sr Software EngineerBoise, ID USA
irc: bd808v:415.839.6885 x6855

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

[Wikitech-l] TAssembly -- template intermediate language

2014-04-14 Thread Matthew Walker
tldr; Gabriel Wicke and I completed the first iteration last week of our
intermediate templating language. The runtime is available in both
JavaScript [1] *and* PHP [2]. We're still working on optimizing the PHP
version, but the JS version is already the fastest of anything we've bench
marked [3][4].

If you don't know what I'm talking about... :)
For a while the foundation has been debating which templating language we
should standardize on [5]. The basic requirements are that it needs to be
able to render content in both JS and PHP, it needs to be fast, it needs to
be small, and it needs to be secure.

After considering all the existing solutions we determined that no solution
fulfills all the desired requirements. Popular libraries like handlebars or
hogan as used by Flow and Mobile are missing principled escaping, which
leaves escaping of user-provided data to the template writer. XSS
vulnerabilities need to be avoided with discipline and manual security
review. We decided to see if we could make something with automatic
escaping, that is more easily coupled into the MediaWiki enviornment, and
address future uses in VisualEditor and reactive pages.

Our solution comes in two parts; 1) a compiler into an intermediate
language, and 2) an runtime to turn the intermediate language into HTML.
This email is about the second part, TAssembly (template assembly
language), which is a generic intermediate runtime which processes a JSON
structure that can be quickly reassembled into HTML using only string
replacement. Contextual information is placed into the structure at compile
time to ensure proper escaping regardless of the source of the data. Other
static details compiled into TAssembly, such as information about i18n
strings and partial templates, can be extracted in order to help delivery
systems like ResourceLoader more efficiently push content.

The TAssembly runtimes are available at [1] and [2].

The javascript implementation of a KnockoutJS to TAssembly compiler is
available at [6].

Although other compilers could be written, see the discussion about the
benefits of KnockoutJS (syntax and optional runtime) and our rationale for
using DOM based templating compiled to a string based intermediate at [7].

Our next steps will be:
- to continue to iterate on improving performance
- integrate with ResourceLoader for template blob delivery
- write the Knockoff client library for mediawiki integration (i18n
availability mostly)
- port the compiler to PHP for better integration or provide some sort of
service based compilation
- support blessing of objects in the data model

[1] https://github.com/gwicke/tassembly
[2] https://github.com/mattofak/knockoff
[3]
https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library#Performance
[4] test framework: https://github.com/gwicke/TemplatePerf
[5]
https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library
[6] https://github.com/gwicke/tassembly
[7]
https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library/Knockoff_-_Tassembly

~Matt Walker
Wikimedia Foundation
Fundraising Technology Team
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Proposed body font stack for Latin

2014-04-14 Thread Isarra Yos

On 14/04/14 23:49, Erwin Dokter wrote:

On 15-04-2014 00:55, Isarra Yos wrote:


Deemed better? Better how? But that's what I'm saying - if the
configuration is optimised for dejavu sans, nimbus won't be better at
all even if it is a better-engineered font (doubtful, though, it being
an arial clone from what I understand). Letters will be too close
together, sizes and hinting will be off, and that's not even going into
the whole rabbit hole of messing with what people are used to, which
seems to be the single biggest determining factor as to what they find
easy to read once the basics are covered...


The purpose of a font stack is to let the browser use the website's 
font preference. So but Arial is already the default on Windows is 
not a valid retort; we _want_ the browser to use Arial, even is it is 
_not_ the default.


A website can prefer what it wants; that doesn't make it a good 
practice. I keep asking WHY 'we' prefer this particular font because 
there generally should be a good reason when going out of our way to 
avoid responsive design; doing what works best for the platform is good 
practice. Hence why we have an entirely separate layout for mobile, for 
instance, and specific apps from some of them. Different desktop 
platforms, too, are different.


Similarly, when people override their platform's defaults, generally 
they have a good reason to do so. Considering this, we should have an 
even better reason if we're going to go overriding those overrides - 
especially if this is simply back to the defaults.


Nimbus fonts come from URW++, a respected foundry, and their font are 
quite well engineered. They released some of their fonts under a free 
licence for the GhostScript project, but I do not know if the fonts 
are still maintained (but I suspect so, as GhostScript has active 
development).


It all boils down to preference. Of cource people are used to how 
things look, but change is not always necessarily a bad thing.


Don't dismiss preference so blithely. The psychological processes that 
go into determining preferences are huge; when our brains are 
rearranging themselves based on what we're used to, dismissing that as 
'just' preferring what we're used to makes no sense. The details of 
particular character forms are relatively minor, of course, but like how 
a language a person grew up on will shape all of their future 
interactions with all languages, even in the short term we do come to 
expect letters to be a certain way.


So yes, different people prefer different things. This is good. It means 
we're still human.


-I

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Proposed body font stack for Latin

2014-04-14 Thread Steven Walling
On Mon, Apr 14, 2014 at 3:55 PM, Isarra Yos zhoris...@gmail.com wrote:

 Deemed better? Better how? But that's what I'm saying - if the
 configuration is optimised for dejavu sans, nimbus won't be better at all
 even if it is a better-engineered font (doubtful, though, it being an arial
 clone from what I understand). Letters will be too close together, sizes
 and hinting will be off, and that's not even going into the whole rabbit
 hole of messing with what people are used to, which seems to be the single
 biggest determining factor as to what they find easy to read once the
 basics are covered...


Design involves making choices on the behalf of users. What color should
these buttons be? Where should this text go? We can't design for every
person's individual taste. We have to design for what we think will do the
most functional good for the most people. This is why the vast majority of
sites a user will visit on a regular basis do not simply leave typography
up to the browser defaults. Even MediaWiki, by choosing sans-serif for
many years, forced users who might want everything to be serif to not get
that.

To be honest Isarra, the number of emails and on-wiki comments you have
written with this exact same question is kind of mindblowing. You ask it
every time the subject comes up, regardless of which particular font stack
is under discussion or who is talking about it. No amount of detailed
explanation ever seems enough for you.

On Wikitech-l, Design-l, and in the extensive documentation on mediawiki.org,
people have laid out highly objective rationales for why each font and the
associated type sizing, spacing, leading, and more were selected to be
harmonious with each other. If your objection is not to the particular
choices made, but to the fact that we're making specific design choices at
all, I don't really think there's much point in talking about it more.

Steven
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Proposed body font stack for Latin

2014-04-14 Thread Isarra Yos

On 15/04/14 01:54, Steven Walling wrote:

On Mon, Apr 14, 2014 at 3:55 PM, Isarra Yos zhoris...@gmail.com wrote:


Deemed better? Better how? But that's what I'm saying - if the
configuration is optimised for dejavu sans, nimbus won't be better at all
even if it is a better-engineered font (doubtful, though, it being an arial
clone from what I understand). Letters will be too close together, sizes
and hinting will be off, and that's not even going into the whole rabbit
hole of messing with what people are used to, which seems to be the single
biggest determining factor as to what they find easy to read once the
basics are covered...


Design involves making choices on the behalf of users. What color should
these buttons be? Where should this text go? We can't design for every
person's individual taste. We have to design for what we think will do the
most functional good for the most people. This is why the vast majority of
sites a user will visit on a regular basis do not simply leave typography
up to the browser defaults. Even MediaWiki, by choosing sans-serif for
many years, forced users who might want everything to be serif to not get
that.


Just because something is common doesn't mean it's a good idea. It may 
well be. But it may also just be something someone did that everyone 
else decided to copy, rather like big hair and leg warmers.


Don't get me wrong, big hair can be awesome, but the maintenance, man, 
that's just killer. Looks ain't everything, and at some point you wind 
up just wanting your hair back.



To be honest Isarra, the number of emails and on-wiki comments you have
written with this exact same question is kind of mindblowing. You ask it
every time the subject comes up, regardless of which particular font stack
is under discussion or who is talking about it. No amount of detailed
explanation ever seems enough for you.

On Wikitech-l, Design-l, and in the extensive documentation on mediawiki.org,
people have laid out highly objective rationales for why each font and the
associated type sizing, spacing, leading, and more were selected to be
harmonious with each other. If your objection is not to the particular
choices made, but to the fact that we're making specific design choices at
all, I don't really think there's much point in talking about it more.

Steven


So what is the explanation, then? What was so wrong with the defaults? 
Do you have any links?


-I

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l