Difference between revisions of "Change user in XML export"
From Organic Design wiki
m (→Changing ''timestamp'', ''username'' and ''id'': typo) |
(Change source-code blocks to standard format) |
||
Line 8: | Line 8: | ||
==Changing ''username'' and ''id''== | ==Changing ''username'' and ''id''== | ||
− | + | <source lang="perl"> | |
perl -ne 'BEGIN{$/=undef} s/(<username>)\w+?(<\/username>\s+?<id>)\d+?(<\/id>)/${1}WikiSysop${2}1${3}/g; ; print' IN.xml > OUT.xml | perl -ne 'BEGIN{$/=undef} s/(<username>)\w+?(<\/username>\s+?<id>)\d+?(<\/id>)/${1}WikiSysop${2}1${3}/g; ; print' IN.xml > OUT.xml | ||
− | </ | + | </source> |
− | |||
==Changing ''timestamp'', ''username'' and ''id''== | ==Changing ''timestamp'', ''username'' and ''id''== | ||
The <nowiki><timestamp>2008-12-03T09:01:22Z</timestamp></nowiki> field is also important. If it is at the current time then imports will be recorded in the recent changes. | The <nowiki><timestamp>2008-12-03T09:01:22Z</timestamp></nowiki> field is also important. If it is at the current time then imports will be recorded in the recent changes. | ||
− | + | <source lang="perl"> | |
perl -ne 'BEGIN{$/=undef} | perl -ne 'BEGIN{$/=undef} | ||
$time = `date "+%Y-%m-%dT%H:%M:%SZ"`; | $time = `date "+%Y-%m-%dT%H:%M:%SZ"`; | ||
Line 21: | Line 20: | ||
s/(<username>)\w+?(<\/username>\s+?<id>)\d+?(<\/id>)/${1}WikiSysop${2}1${3}/g; | s/(<username>)\w+?(<\/username>\s+?<id>)\d+?(<\/id>)/${1}WikiSysop${2}1${3}/g; | ||
print' IN.xml > OUT.xml | print' IN.xml > OUT.xml | ||
− | </ | + | </source> |
− | |||
The unix command to mimic mediaWikis timestamp is; | The unix command to mimic mediaWikis timestamp is; | ||
− | + | <source lang="BASH"> | |
+ | date "+%Y-%m-%dT%H:%M:%SZ" | ||
+ | </source> | ||
}} | }} |
Latest revision as of 18:11, 22 May 2015
Change user in XML export Organic Design procedure |
The Usernames are specified in the <username> tag, by default an xml export usually dumps the current revision not the history of an article;
Changing username and id
perl -ne 'BEGIN{$/=undef} s/(<username>)\w+?(<\/username>\s+?<id>)\d+?(<\/id>)/${1}WikiSysop${2}1${3}/g; ; print' IN.xml > OUT.xml
Changing timestamp, username and id
The <timestamp>2008-12-03T09:01:22Z</timestamp> field is also important. If it is at the current time then imports will be recorded in the recent changes.
perl -ne 'BEGIN{$/=undef}
$time = `date "+%Y-%m-%dT%H:%M:%SZ"`;
s/(<timestamp>).+?(<\/timestamp>)/${1}${time}${2}/g;
s/(<username>)\w+?(<\/username>\s+?<id>)\d+?(<\/id>)/${1}WikiSysop${2}1${3}/g;
print' IN.xml > OUT.xml
The unix command to mimic mediaWikis timestamp is;
date "+%Y-%m-%dT%H:%M:%SZ"
}}