Extension talk:Replace Text

From MediaWiki.org
Jump to: navigation, search
An archive box Archives 

Contents

Feature request [edit]

Heiya, I would be cool if one would be able to add an additional reason for the replacement action taken to be shown in the log than just "Text replace - ...". Being able to localise "Text replace" would be another small wish. Cheers --[[kgh]] 21:48, 15 February 2012 (UTC)

Pipe and Regex fails [edit]

Just a note, might be a bug: Using a pipe symbol | in the search field in conjunction with regular expressions leads to following error message: Es ist ein Datenbankfehler aufgetreten. Der Grund kann ein Programmierfehler sein. Die letzte Datenbankabfrage lautete: (SQL-Abfrage versteckt) aus der Funktion „ReplaceText::doSearchQuery“. Die Datenbank meldete den Fehler „1139: Got error 'empty (sub)expression' from regexp (localhost)“.

Since I have a lot of SMW queries using the pipe, I came accross this. Anyway, I can of course search for patterns leaving out the |

--Francishunger (talk) 23:54, 22 March 2012 (UTC)

I suppose that's because the pipe isn't part of the MySQL regex syntax, see http://dev.mysql.com/doc/refman/5.1/en/regexp.html for details. EDIT: Should have read through that page ... the pipe symbol should be recognized. --Nakohdo (talk) 07:25, 23 March 2012 (UTC)

Regex to batch move pages to new namespace fails [OPEN] [edit]

I'd like to batch move pages in category 'Person' from MAIN namespace to custom namespace 'PERSON'.

My setup

  • MW: 1.16.x
  • MySQL: 5.1.41-3ubuntu12.10
  • Replace Text: 0.9.3

My Replace Text settings:

  • Original text: (.*)
  • Replacement text: Person:$1
  • [x] Use regular expressions
  • Search in namespaces: [x] (Main)
  • Replace only in category: Person
  • [x] Replace text in page titles, when possible

As a result I get messed page titles, e.g. a page Alex will be renamed to Person:APerson:Person:lPerson:Person:ePerson:Person:xPerson:

When changing the original text to A(.*) and the replacement text to Person:A$1 everything works as expected, moving all pages starting with letter A to the new namespace. Is this a bug or did I miss something?

--Planetenxin (talk) 07:42, 7 May 2012 (UTC)

I'm not sure you can move namespaces like this as namespaces are treated differently than normal page titles. See http://www.mediawiki.org/wiki/Manual:Using_custom_namespaces for further pointers. hth --Nakohdo (talk) 14:16, 7 May 2012 (UTC)

Can't even replace one single word after 7 hours [edit]

I read that the extension can't replace all words immediately. So I decided to wait and go to bed. But when I checked 7 hours later, not a single word has been replaced.

What would be the problem? My website hasn't yet been known to anyone except me and very few people who I personally know, so the traffic is very small. Is this the source of the problem?

If this problem can't be solved, how can I stop and cancel this wiki job?

You can manually perform all jobs waiting in the jobs queue by running RunJobs.php (link for directions) --FreedomFighterSparrow (talk) 13:50, 12 June 2012 (UTC)
Running a cron job regulary for /maintenance/runJobs.php --type replacetext. --Subfader (talk) 10:28, 16 June 2012 (UTC)
I found that the type replacetext dosn't work for me. Instead replaceText works. However, it seems like that these jobs are not executed if I run the job queue without explicitly specifying this type. LambdaB (talk) 14:20, 3 January 2013 (UTC)

A way to undo? [edit]

Is there a way to undo changes? Or do a mass revert?

If not, can this be a request :D

Unfortunately, there's no way to do that. Maybe this should be filed under the need for a tool to do mass reverts of all the edits (or all the latest edits) by one user - there's no way to do that in general, and that would be useful in dealing with spam as well. Yaron Koren (talk) 01:43, 17 July 2012 (UTC)
I should note, though, that this script might be helpful until there's a true solution. Yaron Koren (talk) 12:54, 17 July 2012 (UTC)

Won't Work [edit]

I cannot get this to work. It keeps saying No pages were found containing the string "(whatever I searched for)". I know that the string I am searching for is on at least one page. --Zackmann08 (talk) 16:52, 27 July 2012 (UTC)

Hi - does it literally say that for any search string you type in? And by any chance, are you putting quotes in the search string? You shouldn't do that. Yaron Koren (talk) 16:58, 27 July 2012 (UTC)
If I search for the word hello (so no quotes), it says No pages were found containing the string "hello". --Zackmann08 (talk) 20:37, 27 July 2012 (UTC)
I assume that you have at least one page containing "hello"? Note also that the search is case-sensitive. What about just searching for a single letter? Yaron Koren (talk) 20:45, 27 July 2012 (UTC)
When I search for a single letter it works. --Zackmann08 (talk) 23:00, 28 July 2012 (UTC)

I can't get this to work either .. when I search for a word using the normal search I get like 30 pages containing the word (file name inside the pages), when I try to use the replace text to find this exact word and replace it I get the No pages were found containing the string ZJeFo 01:44, 11 Dec 2012 (KSA)

Are you looking in the right namespace(s), and is the capitalization exactly correct? Yaron Koren (talk) 05:09, 11 December 2012 (UTC)
Yes I am, as I mentioned above, if I use normal search I get more than 30 results of what I am looking for .. If I use the same word I was searching for in the replace text extension I get No pages were found containing the string ZJeFo 20:57, 17 Dec 2012 (KSA)
As before, I don't know how much I can really help, with this set of information. Does the Replace Text search ever work? And if so, can you figure out what's different between when it works and when it fails? Yaron Koren (talk) 00:21, 18 December 2012 (UTC)

Append Text [edit]

Since this expansion already allows to select pages in very nice ways, I would love to mis-use it to append some text to the page instead of replace it.

You could just rule if "Original text" is empty, the "Replacement text" will be appended to all pages.--VolkoV (talk) 10:17, 6 August 2012 (UTC)

You could also use a hook to display text below eahc articles. --Subfader (talk) 11:20, 6 August 2012 (UTC)
I know, but if I want to change a lot of existing articles, this won't help.--VolkoV (talk) 11:27, 6 August 2012 (UTC)

Regular Expressions [edit]

I'm not seeing any "Use regular expressions" on the ReplaceText page. Is there some file that needs to be configured for this option to appear? Or is it just an outdated version of the extension... Hylian King ZW (talk) 13:48, 17 August 2012 (UTC)

I assume it's the latter. Looking at the version history, it looks like that feature was added in version 0.9. Yaron Koren (talk) 14:05, 17 August 2012 (UTC)
Alright, thanks for humoring a new sysop who is still fairly clueless about the inner workings of MediaWiki. Hylian King ZW (talk) 14:40, 17 August 2012 (UTC)

Edits only by a Special Bot [edit]

How can i make it, that the Edits of this extensions was make vom from a Bot and not from the User who gives the Task to Start? 178.2.136.195 06:48, 8 November 2012 (UTC)

Unfortunately, it's not possible to have a bot do it, because Replace Text doesn't offer an API action. But I think you can make it appear that a bot did it, by logging in as that bot and doing the replacement. Yaron Koren (talk) 13:40, 8 November 2012 (UTC)
I hardcoded that into the extsnion cos I also think it's more useful this way. Maybe think of implenting a variable setting for it like $wgReplaceTextUser. --Subfader (talk) 14:46, 16 November 2012 (UTC)
I agree. When I do a large replace operation on 10,000+ pages, it dominates the recent changes for days or weeks. Right now, I'm just logging in as a bot user to do the replace operation as Yaron suggested, but it would be handy if ReplaceText could be assigned a specific user in some cases. I don't want to do that in every case, so instead of a variable setting, it would be better if a check box could be selected to indicate the replace should be done as another bot user. Badon (talk) 23:21, 22 January 2013 (UTC)
The bot account concept works fine for larger jobs, and keeps the edits to one user and with the bot flag, RC is not effected. Mlpearc (powwow) 18:50, 8 April 2013 (UTC)

Error on runJobs when $wgCacheDirectory is set [edit]

I run maintenance/runJobs.php --type replacetext regulary but when I set $wgCacheDirectory I get the error

Unable to open DB file for write "/tmp/cacheMsg/l10n_cache-en.cdb"
Backtrace:
#0 includes/Cdb.php(62): CdbWriter_DBA->__construct('/tmp/cacheMsg/l...')
#1 includes/LocalisationCache.php(883): CdbWriter::open('/tmp/cacheMsg/l...')
#2 includes/LocalisationCache.php(613): LCStore_CDB->startWrite('en')
#3 includes/LocalisationCache.php(352): LocalisationCache->recache('en')
#4 includes/LocalisationCache.php(262): LocalisationCache->initLanguage('en')
#5 includes/LocalisationCache.php(205): LocalisationCache->loadItem('en', 'magicWords')
#6 languages/Language.php(1946): LocalisationCache->getItem('en', 'magicWords')
#7 languages/Language.php(1960): Language->getMagicWords()
#8 [internal function]: Language->getMagic(Object(MagicWord))
#9 includes/StubObject.php(58): call_user_func_array(Array, Array)
#10 includes/StubObject.php(121): StubObject->_call('getMagic', Array)
#11 [internal function]: StubContLang->__call('getMagic', Array)
#12 includes/MagicWord.php(259): StubContLang->getMagic(Object(MagicWord))
#13 includes/MagicWord.php(197): MagicWord->load('rmatch')
#14 includes/parser/Parser.php(4289): MagicWord::get('rmatch')
#15 extensions/RegexFunctions/RegexFunctions.php(49): Parser->setFunctionHook('rmatch', Array)
#16 [internal function]: wfRegexFunctions()
#17 includes/Setup.php(370): call_user_func('wfRegexFunction...')
#18 maintenance/doMaintenance.php(86): require_once('/var/www/vhosts...')
#19 maintenance/runJobs.php(103): require_once('/var/www/vhosts...')
#20 {main}

Can this be fixed? MW 1.16a and ReplaceText 0.9.1 here but that shouldn't matter. Cheers. --Subfader (talk) 13:34, 24 November 2012 (UTC)

I have no idea. Does this happen only for Replace Text jobs, do you know? Yaron Koren (talk) 16:03, 25 November 2012 (UTC)
You're right, not only for RT. Wrong place here. https://bugzilla.wikimedia.org/show_bug.cgi?id=42437 --Subfader (talk) 20:59, 25 November 2012 (UTC)


XML Error [edit]

I get the following error when accessing the special page

Fatal error: Call to undefined method Xml::hidden() in C:\xampp\htdocs\wiki\extensions\ReplaceText\SpecialReplaceText.php on line 228

MediaWiki 1.18.1
PHP 5.3.8 (apache2handler)
MySQL 5.5.16

Luke 28 November 2012

I think you're just using an old version of Replace Text. Yaron Koren (talk) 14:26, 28 November 2012 (UTC)
You appear to be correct, i downloaded what i thought was the latest from "download snapshot" - I downloaded the latest SpecialReplaceText.php from the git and the problem is resolved. Many Thanks - Luke 28 November 2012

Page Schemas issue (+2 features requests) [edit]

Hi!

It doesn't seem to work inside Page Schemas' XML in category pages. Category pages containing search string don't come up at all in search results if the string is inside Page Schemas' XML. Other pages with the same string show up normally. Also if the search string is not inside XML, category page shows up normally in search results.

Feature request 1: I know that categories are irremovable by nature because of the inability of MediaWiki to replace all references to them inside pages content. But since Replace Text is the tool that does exactly that, wouldn't it be nice to be able to rename categories too somehow? i.e. by deleting them and copy their content to new ones? Even with extra warnings like "All the history of this caterory will be lost"?

Feature request 2 (Easy one, I might try to do it myself when I fully understand the development process): I would like to see replacement string as well in search results. Something like this (search string: less, replacement string: more):

...imagination is lessmore important than knowledge...

or even better

...imagination is lessmore important than knowledge...

--Ioannis Protonotarios MW 1.19.3│PHP 5.3.19│MySQL 5.1.66│SMW 1.7.1│SRF 1.7.1│SF 2.5.2 alpha│SFI 0.6│PS 0.3.1│RT 0.9.5 18:11, 31 December 2012 (UTC) Happy New Year!

Additional filters [edit]

Is there a hope for being able in the future to filter the pages to target not only by categories, but also by Concepts for people who use semantic mediawiki ?

I doubt it... that would only be helpful in a small set of circumstances, I think. One thing you can do, if you want to simulate that behavior, is to temporarily add the pages that would be in that concept to a new category, using #ifeq to match on the relevant properties or template fields. Yaron Koren (talk) 14:11, 21 January 2013 (UTC)

Doesn't work for russian characters [edit]

Very nice and useful extension! Used it lots of times but for some reason it doesn't work for Russian characters (for example here ru.wikioffuture.org) If I search any word containing Russian characters (like награда) nothing will be found. Any advice would be greatly appreciated! --79.116.9.48 15:13, 16 May 2013 (UTC)

Thanks! That's too bad - my guess is that it's the SQL query that's failing. Could the issue be with the MySQL encoding? Yaron Koren (talk) 17:38, 16 May 2013 (UTC)
Thanks so much for your prompt reply Yaron! The DB character set is "utf8 -- UTF-8 Unicode" and collation is "utf8_general_ci". Should I change it :)
Hm - I don't know; utf8 sounds right. Sorry, I really don't know much about this encoding/non-ASCII thing. Yaron Koren (talk) 02:12, 17 May 2013 (UTC)