Jens Frank wrote:
> Even worse than the crash recovery issue is the locking of MyISAM
> databases, which is not very granular. With our change rate, MyISAM is
> not an option.
>
Well... we've already established that this would have to live in a separate
table, since it would have to be MyISAM. The table doesn't need to be
written to for each edit, only when a category is added/changed/deleted from
a page, which must be a pretty small subset of edits (wild guess: 10%?), so
maybe it's not that big a problem...?
To dig up a little history, the queries I/we have tried on the existing
categorylinks table take too long, so we either 1) can't run queries against
really big categories or 2) need a separate table/data structure.
Aerik
An automated run of parserTests.php showed the following failures:
Reading tests from "/home/brion/src/wiki/phase3/maintenance/parserTests.txt"...
Running test TODO: Table security: embedded pipes (http://mail.wikipedia.org/pipermail/wikitech-l/2006-April/034637.html)... FAILED!
Running test TODO: Link containing double-single-quotes '' (bug 4598)... FAILED!
Running test TODO: Template with thumb image (with link in description)... FAILED!
Running test TODO: message transform: <noinclude> in transcluded template (bug 4926)... FAILED!
Running test TODO: message transform: <onlyinclude> in transcluded template (bug 4926)... FAILED!
Running test BUG 1887, part 2: A <math> with a thumbnail- math enabled... FAILED!
Running test TODO: HTML bullet list, unclosed tags (bug 5497)... FAILED!
Running test TODO: HTML ordered list, unclosed tags (bug 5497)... FAILED!
Running test TODO: HTML nested bullet list, open tags (bug 5497)... FAILED!
Running test TODO: HTML nested ordered list, open tags (bug 5497)... FAILED!
Running test TODO: Parsing optional HTML elements (Bug 6171)... FAILED!
Running test TODO: Inline HTML vs wiki block nesting... FAILED!
Running test TODO: Mixing markup for italics and bold... FAILED!
Running test TODO: 5 quotes, code coverage +1 line... FAILED!
Running test TODO: dt/dd/dl test... FAILED!
Running test TODO: Images with the "|" character in the comment... FAILED!
Running test TODO: Parents of subpages, two levels up, without trailing slash or name.... FAILED!
Running test TODO: Parents of subpages, two levels up, with lots of extra trailing slashes.... FAILED!
Running test TODO: Don't fall for the self-closing div... FAILED!
Running test TODO: Always escape literal '>' in output, not just after '<'... FAILED!
Reading tests from "/home/brion/src/wiki/phase3/extensions/Cite/citeParserTests.txt"...
Passed 451 of 471 tests (95.75%)... FAILED!
Bence Damokos wrote (Sunday, December 10, 2006 9:36 PM)
> I concur, having an undo link on the last revision would be more intuitive
> then clicking on edit (at least for new users). Also if they see the undo
> link at the last revision, they might learn how to use it on older
> revisions
> as well.
>
> On 12/10/06, Rob Church <robchur(a)gmail.com> wrote:
> >
> > On 10/12/06, Andrew Garrett <andrew(a)epstone.net> wrote:
> > > Precisely why it's unnecessary.
> >
> > It's not exactly unnecessary if it's something helpful we can add. Or
> > do you despise convenient user interfaces?
I've just added this in r18254.
Andrew Garrett
Hi all,
please, do you know if there's a robot for uploading multiple pages?
That is to say, a user at LMO.WP has made up a text file (not .csv) with the appropriate wiki-code for each page, and a marker for the beginning of each page: can they by uploaded with a single operation?
Many thanks.
Bests,
Claudi
---------------------------------
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.
Hi all,
please, do you know if there's a robot for uploading multiple pages?
That is to say, a user at LMO.WP has made up a text file (not .csv) with the appropriate wiki-code for each page, and a marker for the beginning of each page: can they by uploaded by a single operation?
Many thanks.
Bests,
Claudi
---------------------------------
Découvrez une nouvelle façon d'obtenir des réponses à toutes vos questions ! Profitez des connaissances, des opinions et des expériences des internautes sur Yahoo! Questions/Réponses.
Here's something that looks promising: Using MySQL's fulltext search
against categories only. What I did was create a table having pagenumbers
and category text that looks like this:
<http://athlonx2/phpmyadmin/sql.php?db=categorylinks&table=pages&token=71a69…>
ID<http://athlonx2/phpmyadmin/sql.php?db=categorylinks&table=pages&token=71a69…>
pagenum<http://athlonx2/phpmyadmin/sql.php?db=categorylinks&table=pages&token=71a69…>
pagename<http://athlonx2/phpmyadmin/sql.php?db=categorylinks&table=pages&token=71a69…>
catcount<http://athlonx2/phpmyadmin/sql.php?db=categorylinks&table=pages&token=71a69…>
catlist<http://athlonx2/phpmyadmin/sql.php?db=categorylinks&table=pages&token=71a69…>
7343 0 Kurt000 14 Chinese_Wikipedians Leo_Wikipedians User_cello Us...
7344 1 AaA 3 Redirects_from_CamelCase Redirects_from_other_cap...
7345 5 AlgeriA 2 Redirects_from_CamelCase Unprintworthy_redirects
7346 6 AmericanSamoa 2 Redirects_from_CamelCase Unprintworthy_redirects
So the categories have underscores instead of spaces, thus forcing mysql to
index the whole category phrase as one word. In a table with about 114,000
rows with categories (it takes a long time to recombine the categories into
one row - I'm sure the way I'm doing it is clunky), I get very reasonable
query result times. Take our worst case "Living_People" category for
example:
Showing rows 0 - 29 (4,105 total, Query took 0.0042 sec)
SQL query: SELECT *
FROM `pages`
WHERE MATCH (
catlist
)
AGAINST (
'Living_People'
)
LIMIT 0 , 30
This also give us an immediate solution to category math (Boolean searches):
Showing rows 0 - 29 (61 total, Query took 0.0058 sec)
SQL query: SELECT *
FROM `pages`
WHERE MATCH (
catlist
)
AGAINST (
'+Living_People +1969_births'
IN BOOLEAN
MODE
)
LIMIT 0 , 30
So, I know 114,000 records is much smaller than one million +, but this
looks quite promising.
I'm using PHP to cycle through records in the categorylinks table to
recreate this index. If one of you smart guys will tell me a better way,
I'll try this on a larger data set.
Best Regards,
Aerik
Hi,
> http://bugzilla.wikimedia.org/show_bug.cgi?id=8148
I finally found the reason for this problem, but unfortunately no solution.
The problem was introduced by this commit of Brion:
http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/includes/OutputPage.…
Maybe someone of you has a solution. The problem is really bugging me as I
have it on serveral servers and I can no longer use the wikis I have once
upgraded to trunk (unless I use my dirty hack).
--
Regards
Manuel Schneider
Wikimedia CH - Verein zur Förderung Freien Wissens
Wikimedia CH - Association for the advancement of free knowledge
www.wikimedia.ch
> -----Original Message-----
> From: wikitech-l-bounces(a)wikimedia.org [mailto:wikitech-l-
> bounces(a)wikimedia.org] On Behalf Of Brion Vibber
> Sent: Sunday, December 10, 2006 7:34 PM
> To: Wikimedia developers
> Subject: Re: [Wikitech-l] What does the "undo" link do?
>
Brion Vibber wrote:
> Steve Bennett wrote:
> > On 12/8/06, Rob Church <robchur(a)gmail.com> wrote:
> >> As I've mentioned before in this thread, that isn't the whole case;
> >> rollback *will* revert more than one edit where there's a sequence of
> >> edits by the same contributor.
> >>
> >> In that respect, it's much more powerful.
> >
> > Ok, given that "undo" is not "rollback", and that "undo" is more
> > user-friendly than "manual revert", can "undo" be enabled for all
> > users for the most recent revision? And we'll keep calling it "undo"
> > and insist that it's totally different from "rollback" and everyone
> > will be happy, right?
>
> I don't see a particular reason not to show it; it would just be the
> same as clicking 'edit' on the previous revision. :)
Precisely why it's unnecessary.
Andrew Garrett
"Werdna"
On 10/12/06, travis(a)svn.wikimedia.org <travis(a)svn.wikimedia.org> wrote:
> - $caption = "{{" . $wgTemplateName . "|{$_POST['id']}|" . urldecode($_POST['owner']) . "|{$_POST['name']}" . "}}";
Just a quick note; in general, we use the global $wgRequest instance
of the WebRequest class to access $_GET, $_POST and $_REQUEST; the
functions perform various useful preprocessing tasks (dealing with
magic quotes, for instance) and useful type conversions and so forth.
Rob Church