Mailing List Archive

Disambiguation features: Do they belong in core or in an extension?
Back in December, there was discussion about needing a better method of
identifying disambiguation pages programmatically (bug 6754). I wrote
some core code to accomplish this, but was informed that disambiguation
functions should reside in extensions rather than in core, per bug
35981. I abandoned the core code and wrote an extension instead
(https://gerrit.wikimedia.org/r/#/c/41043/). Now, however, it has been
suggested that this code needs to reside in core after all
(https://www.mediawiki.org/wiki/Suggestions_for_extensions_to_be_integrated#Extension:Disambiguator).

Personally, I don't mind implementing it either way, but would like to
have consensus on where this code should reside. The code is pretty
clean and lightweight, so it wouldn't increase the footprint of core
MediaWiki (it would actually decrease the existing footprint slightly
since it replaces more hacky existing core code). So core bloat isn't
really an issue. The issue is: Where does it most make sense for
disambiguation features to reside? Should disambiguation pages be
supported out of the box or require an extension to fully support?

The specific disambiguation features I'm talking about are:
1. Make it easy to identify disambiguation pages via a page property in
the database (set by a templated magic word)
2. Provide a special page (and corresponding API) for seeing what pages
are linking to disambiguation pages
3. Assign a unique class to disambiguation links so that gadgets can
allow them to be uniquely colored or have special UI (not yet implemented)

Ryan Kaldari

_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Re: Disambiguation features: Do they belong in core or in an extension? [ In reply to ]
To me disambiguation seems like a common problem of wikis and thus
should be a core feature.

On a wiki about people, people share the same name
On a wiki about cities, cities share the same name
etc etc you get the idea.

On Tue, Jan 15, 2013 at 5:58 PM, Ryan Kaldari <rkaldari@wikimedia.org> wrote:
> Back in December, there was discussion about needing a better method of
> identifying disambiguation pages programmatically (bug 6754). I wrote some
> core code to accomplish this, but was informed that disambiguation functions
> should reside in extensions rather than in core, per bug 35981. I abandoned
> the core code and wrote an extension instead
> (https://gerrit.wikimedia.org/r/#/c/41043/). Now, however, it has been
> suggested that this code needs to reside in core after all
> (https://www.mediawiki.org/wiki/Suggestions_for_extensions_to_be_integrated#Extension:Disambiguator).
>
> Personally, I don't mind implementing it either way, but would like to have
> consensus on where this code should reside. The code is pretty clean and
> lightweight, so it wouldn't increase the footprint of core MediaWiki (it
> would actually decrease the existing footprint slightly since it replaces
> more hacky existing core code). So core bloat isn't really an issue. The
> issue is: Where does it most make sense for disambiguation features to
> reside? Should disambiguation pages be supported out of the box or require
> an extension to fully support?
>
> The specific disambiguation features I'm talking about are:
> 1. Make it easy to identify disambiguation pages via a page property in the
> database (set by a templated magic word)
> 2. Provide a special page (and corresponding API) for seeing what pages are
> linking to disambiguation pages
> 3. Assign a unique class to disambiguation links so that gadgets can allow
> them to be uniquely colored or have special UI (not yet implemented)
>
> Ryan Kaldari
>
> _______________________________________________
> Wikitech-l mailing list
> Wikitech-l@lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l



--
Jon Robson
http://jonrobson.me.uk
@rakugojon

_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Re: Disambiguation features: Do they belong in core or in an extension? [ In reply to ]
On Tue, Jan 15, 2013 at 8:58 PM, Ryan Kaldari <rkaldari@wikimedia.org> wrote:
> Personally, I don't mind implementing it either way, but would like to have
> consensus on where this code should reside. The code is pretty clean and
> lightweight, so it wouldn't increase the footprint of core MediaWiki (it
> would actually decrease the existing footprint slightly since it replaces
> more hacky existing core code). So core bloat isn't really an issue. The
> issue is: Where does it most make sense for disambiguation features to
> reside? Should disambiguation pages be supported out of the box or require
> an extension to fully support?
>

I'd say extension. I can think of lots of wikis that don't use
disambiguation pages. If we really want, we can stash it in
the default tarball along with the other bundled extensions.

-Chad

_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Re: Disambiguation features: Do they belong in core or in an extension? [ In reply to ]
I agree with extension. For example, my school's IT department uses a wiki
to collect information about common computer problems, and on a wiki about
computer problems, none of the issues share the same name.

*--*
*Tyler Romeo*
Stevens Institute of Technology, Class of 2015
Major in Computer Science
www.whizkidztech.com | tylerromeo@gmail.com


On Tue, Jan 15, 2013 at 9:38 PM, Chad <innocentkiller@gmail.com> wrote:

> On Tue, Jan 15, 2013 at 8:58 PM, Ryan Kaldari <rkaldari@wikimedia.org>
> wrote:
> > Personally, I don't mind implementing it either way, but would like to
> have
> > consensus on where this code should reside. The code is pretty clean and
> > lightweight, so it wouldn't increase the footprint of core MediaWiki (it
> > would actually decrease the existing footprint slightly since it replaces
> > more hacky existing core code). So core bloat isn't really an issue. The
> > issue is: Where does it most make sense for disambiguation features to
> > reside? Should disambiguation pages be supported out of the box or
> require
> > an extension to fully support?
> >
>
> I'd say extension. I can think of lots of wikis that don't use
> disambiguation pages. If we really want, we can stash it in
> the default tarball along with the other bundled extensions.
>
> -Chad
>
> _______________________________________________
> 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: Disambiguation features: Do they belong in core or in an extension? [ In reply to ]
Hello,

My own preference would be to have this in the core for several reasons.

It seems that it makes some existing core code simpler. There's
already some code dealing with disambiguation in the core
(Special:Disambiguation, ...).

Several external tools, including my own WPCleaner [1], are dealing
with fixing disambiguation links on several wikis. In my opinion, it
will be easier for tools developers to have one standard method for
finding if a page is a disambiguation page or not.
Currently, I'm already managing two methods depending on the wiki :
based on Mediawiki:Disambiguationpages, or based on categories (for
enwiki and frwiki) which is faster and requires less API requests.
If it's in an extension, I think less wikis (outside wikimedia) will
use this new method than if it's in the core. Because extension
requires the wiki owner to first add it, whereas only contributors are
needed if it's in the core.

If a wiki doesn't need disambiguation pages, there's nothing to setup
specifically for not using it. It's just an unused feature, as it is
currently with Mediawiki:Disambiguationpages ;)

Nico

[1] http://en.wikipedia.org/wiki/Wikipedia:WPCleaner


On 1/16/13, Tyler Romeo <tylerromeo@gmail.com> wrote:
> I agree with extension. For example, my school's IT department uses a wiki
> to collect information about common computer problems, and on a wiki about
> computer problems, none of the issues share the same name.
>
> *--*
> *Tyler Romeo*
> Stevens Institute of Technology, Class of 2015
> Major in Computer Science
> www.whizkidztech.com | tylerromeo@gmail.com
>
>
> On Tue, Jan 15, 2013 at 9:38 PM, Chad <innocentkiller@gmail.com> wrote:
>
>> On Tue, Jan 15, 2013 at 8:58 PM, Ryan Kaldari <rkaldari@wikimedia.org>
>> wrote:
>> > Personally, I don't mind implementing it either way, but would like to
>> have
>> > consensus on where this code should reside. The code is pretty clean
>> > and
>> > lightweight, so it wouldn't increase the footprint of core MediaWiki
>> > (it
>> > would actually decrease the existing footprint slightly since it
>> > replaces
>> > more hacky existing core code). So core bloat isn't really an issue.
>> > The
>> > issue is: Where does it most make sense for disambiguation features to
>> > reside? Should disambiguation pages be supported out of the box or
>> require
>> > an extension to fully support?
>> >
>>
>> I'd say extension. I can think of lots of wikis that don't use
>> disambiguation pages. If we really want, we can stash it in
>> the default tarball along with the other bundled extensions.
>>
>> -Chad
>>
>> _______________________________________________
>> 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
>

_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Re: Disambiguation features: Do they belong in core or in an extension? [ In reply to ]
Hey,

From a technical point of view it's nicer to have it as an extension as it
prevents feature bloat in core. OTOH the lack of extension distribution
mechanism is an argument against.

Cheers

--
Jeroen De Dauw
http://www.bn2vs.com
Don't panic. Don't be evil.
--
_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Re: Disambiguation features: Do they belong in core or in an extension? [ In reply to ]
Le 16/01/13 02:58, Ryan Kaldari wrote:
> Back in December, there was discussion about needing a better method of
> identifying disambiguation pages programmatically (bug 6754). I wrote
> some core code to accomplish this, but was informed that disambiguation
> functions should reside in extensions rather than in core, per bug
> 35981.

Hello Ryan,

So at first, thanks a ton for implementing a feature that let us mark
the disambiguation pages. IIRC we used to track then by finding article
pages having a template which in turns link to another page. That is a
bit crazy :-]

Since you did the work to make it an extension, I would keep it an
extension. The less stuff we have in core, the happier I will be!


As someone else says, we can ship the extension in the MediaWiki
tarballs just like we do for other important extensions :-]


--
Antoine "hashar" Musso


_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Re: Disambiguation features: Do they belong in core or in an extension? [ In reply to ]
On Wed, Jan 16, 2013 at 2:11 AM, Jon Robson <jdlrobson@gmail.com> wrote:

> To me disambiguation seems like a common problem of wikis and thus
> should be a core feature.
>
> On a wiki about people, people share the same name
> On a wiki about cities, cities share the same name
> etc etc you get the idea.
>

Agreed. Also, it only makes sense for mediawiki to natively provide proper
support for disambiguations, the same way there is support for redirects.

Furthermore, I'd like to underline what Ryan said in his original message,
since several people seem to be ignoring it, and using "code bloat" as an
argument for using an extension:

> "The code is pretty clean and lightweight, so it wouldn't increase the
> footprint of core MediaWiki (it would actually decrease the existing
> footprint slightly since it replaces more hacky existing core code). So *
> core bloat isn't really an issue*."
_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Re: Disambiguation features: Do they belong in core or in an extension? [ In reply to ]
Nicolas Vervelle <nvervelle <at> gmail.com> writes:

> My own preference would be to have this in the core for several reasons.
[...]

Yes, the core code already handles disambiguation pages specially in some
ways (Special:Disambiguations, MediaWiki:Disambiguationspage). But it
treats them as exceptional cases - a bit of a hack.

Proposal:

A fundamentally more robust and flexible way to handle disambiguation
pages would be to move them all into their own namespace.

For example, http://en.wikipedia.org/wiki/Bow and
http://en.wikipedia.org/wiki/Bow_(disambiguation) could both redirect to
http://en.wikipedia.org/wiki/Disambiguation:Bow

This would make it much more consistent with the ordinary wikipage
functions and internationalization, as well as making it easy to
programmatically identify disambiguation pages without affecting the
database schema.

Though there would initially be some upheaval as pages were moved in bulk,
the result would be stabler.

One drawback is that dab pages from all namespaces would end up in the new
"Disambiguation" namespace. So, http://en.wikipedia.org/wiki/Portal:Football
would redirect to http://en.wikipedia.org/wiki/Disambiguation:Portal:Football
That is not a major problem, as it is easy to identify pages beginning with
"Disabiguation:Portal:" etc, though it makes it harder to list mainspace
dabpages (they would have to be identified by eliminating valid namespace
prefixes from the pagename). A similar cross-namespace shadow hierarchy
already exists at Template:Editnotices/Page/ for edit notices.

After the initial bulk creation, a bot would need to check for new dab pages
that needed moving into the dab namespace, and for new pages in the dab
namespace that lacked a redirect in the relevant non-dab namespace.
Alternatively, the need for separate redirect pages could be obviated if
MediaWiki automatically redirected browsers when a corresponding
dab-namespace exists (but this would be a departure from the existing
practice of having all redirects as editable wikipages).

Individual wikis would be free to opt out of the new approach.


_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Re: Disambiguation features: Do they belong in core or in an extension? [ In reply to ]
Hey,

Just wanted to bring in few points.
If its in core it would be easy tackle bug [1] (note the votes it has) and
more that may come up.

Somewhat related, I think MediaWiki should automatically create
disambiguation pages [2].

[1] https://bugzilla.wikimedia.org/show_bug.cgi?id=3483
[2] https://bugzilla.wikimedia.org/show_bug.cgi?id=44704
On Wed, Jan 16, 2013 at 10:40 PM, Richardguk <richardg_uk@yahoo.com> wrote:

> Nicolas Vervelle <nvervelle <at> gmail.com> writes:
>
> > My own preference would be to have this in the core for several reasons.
> [...]
>
> Yes, the core code already handles disambiguation pages specially in some
> ways (Special:Disambiguations, MediaWiki:Disambiguationspage). But it
> treats them as exceptional cases - a bit of a hack.
>
> Proposal:
>
> A fundamentally more robust and flexible way to handle disambiguation
> pages would be to move them all into their own namespace.
>
> For example, http://en.wikipedia.org/wiki/Bow and
> http://en.wikipedia.org/wiki/Bow_(disambiguation) could both redirect to
> http://en.wikipedia.org/wiki/Disambiguation:Bow
>
> This would make it much more consistent with the ordinary wikipage
> functions and internationalization, as well as making it easy to
> programmatically identify disambiguation pages without affecting the
> database schema.
>
> Though there would initially be some upheaval as pages were moved in bulk,
> the result would be stabler.
>
> One drawback is that dab pages from all namespaces would end up in the new
> "Disambiguation" namespace. So,
> http://en.wikipedia.org/wiki/Portal:Football
> would redirect to
> http://en.wikipedia.org/wiki/Disambiguation:Portal:Football
> That is not a major problem, as it is easy to identify pages beginning with
> "Disabiguation:Portal:" etc, though it makes it harder to list mainspace
> dabpages (they would have to be identified by eliminating valid namespace
> prefixes from the pagename). A similar cross-namespace shadow hierarchy
> already exists at Template:Editnotices/Page/ for edit notices.
>
> After the initial bulk creation, a bot would need to check for new dab
> pages
> that needed moving into the dab namespace, and for new pages in the dab
> namespace that lacked a redirect in the relevant non-dab namespace.
> Alternatively, the need for separate redirect pages could be obviated if
> MediaWiki automatically redirected browsers when a corresponding
> dab-namespace exists (but this would be a departure from the existing
> practice of having all redirects as editable wikipages).
>
> Individual wikis would be free to opt out of the new approach.
>
>
> _______________________________________________
> Wikitech-l mailing list
> Wikitech-l@lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
>



--
Cheers,

Nischay Nahata
nischayn22.in
_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l