<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://camnet.oetterer.eu/index.php?action=history&amp;feed=atom&amp;title=Projekt%3ASoftware_features</id>
	<title>Projekt:Software features - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://camnet.oetterer.eu/index.php?action=history&amp;feed=atom&amp;title=Projekt%3ASoftware_features"/>
	<link rel="alternate" type="text/html" href="https://camnet.oetterer.eu/index.php?title=Projekt:Software_features&amp;action=history"/>
	<updated>2026-05-02T04:23:35Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in CamNet</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://camnet.oetterer.eu/index.php?title=Projekt:Software_features&amp;diff=7324&amp;oldid=prev</id>
		<title>imported&gt;Oetterer: /* Helper scripts */</title>
		<link rel="alternate" type="text/html" href="https://camnet.oetterer.eu/index.php?title=Projekt:Software_features&amp;diff=7324&amp;oldid=prev"/>
		<updated>2022-02-07T08:28:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Helper scripts&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Structure ==&lt;br /&gt;
Structure is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;io&amp;quot;&amp;gt;&lt;br /&gt;
-rw-r-----  1 www-data www-data   58 Oct 11 09:48 _admin_login.php   // located in this file are the credentials for the local admin login&lt;br /&gt;
drwxr-x---  2 www-data www-data 4096 Dec  6 15:43 bin                // contains helper scripts&lt;br /&gt;
drwxr-x---  3 www-data www-data 4096 Oct 11 09:48 bot                // &amp;lt;deprecated&amp;gt; first bot iteration for mediawiki script operations&lt;br /&gt;
drwxr-x---  2 www-data www-data 4096 Oct 21 09:25 common             // some php files / classes used across multiple auxiliary files (e.g. imtbot)&lt;br /&gt;
drwxr-x---  5 www-data www-data 4096 Oct 11 09:48 crons              // here you can place cron jobs in subdirectories. put a script for each job in one of the &lt;br /&gt;
                                                                     // subdirs minutely, hourly, daily, or weekly. They will called automatically from the system.&lt;br /&gt;
drwxr-x---  3 www-data www-data 4096 Oct 11 09:48 imtbot             // place your bot scripts here. contains a construction kit to easily generate custom bot scripts&lt;br /&gt;
drwxr-x---  7 www-data www-data 4096 Oct 11 09:48 init               // contains files and dumps for initial content (both base and project specific)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IMTBot ==&lt;br /&gt;
&lt;br /&gt;
== Init dumps ==&lt;br /&gt;
&lt;br /&gt;
== Helper scripts ==&lt;br /&gt;
The scripts located in the &amp;lt;code&amp;gt;_opt/bin&amp;lt;/code&amp;gt; directory can help you in your wiki related tasks. Most of them have a help page. Just call the script with parameter &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Files in the directory are&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;io&amp;quot;&amp;gt;&lt;br /&gt;
-rw-r--r-- 1 www-data www-data     8 Jan 20 17:09 .branch                        // config file, holds current wiki core branch&lt;br /&gt;
-rw-r--r-- 1 www-data www-data   110 Jan 20 18:07 .extensions.manual             // list of extensions, updated manually&lt;br /&gt;
-rw-r--r-- 1 www-data www-data   509 Jan 20 08:35 .extensions.on.REL             // list of extensions on release branch (they &amp;quot;track&amp;quot; mw core branches)&lt;br /&gt;
-rw-r--r-- 1 www-data www-data    39 Jan 20 21:31 .extensions.on.master          // list of extensions on master branch (no release branch tracking&lt;br /&gt;
-rw-r--r-- 1 www-data www-data    45 Jan 20 08:40 .gitignore                     // the .gitignore for this directory&lt;br /&gt;
-rw-r----- 1 www-data www-data 19414 Nov 14 08:58 _scriptInit                    // a helper file that contains many useful functions and settings for your scripts&lt;br /&gt;
-rwxr-x--- 1 www-data www-data  4500 Oct 21 08:27 cargo_recreateData             // recreates your cargo tables&lt;br /&gt;
-rwxr-x--- 1 www-data www-data  5975 Oct 21 08:27 create_dumps                   // takes all *.list files in the current dir (except protection.list) and creates an xlm file each&lt;br /&gt;
-rwxr-xr-x 1 www-data www-data  5753 Jan 20 08:40 cronctrl                       // allows you to display cron jobs and temporarily disable/enable them&lt;br /&gt;
-rwxr-x--- 1 www-data www-data  6990 Feb  3 17:50 extension_updater              // allows you to batch-pull all your extenions on master or release branch&lt;br /&gt;
-rwxr-x--- 1 www-data www-data   840 Oct 21 08:27 fetch_sources                  // call this with subversion number as parameter to get new sources.&lt;br /&gt;
                                                                                 // NOTE: This has no --help option.&lt;br /&gt;
-rwxr-x--- 1 www-data www-data   923 Oct 21 08:27 get_new_version_going          // a small script to initialize a new version (update, not upgrade) of the mediawiki software&lt;br /&gt;
-rwxr-x--- 1 www-data www-data  6719 Oct 21 08:27 helper.createScriptHusk        // METASCRIPT that can help you create new scripts&lt;br /&gt;
-rw-r----- 1 www-data www-data    45 Oct 20 09:18 .gitignore                     // a list of files to ignore in the repo&lt;br /&gt;
-rwxr-x--- 1 www-data www-data  5483 Nov 11 14:35 import_dumps                   // imports all .xml files in the current directory or the supplies xml file.&lt;br /&gt;
-rwxr-xr-x 1 www-data www-data  5172 Jan 20 08:40 import_images                  // imports all images, supplied with your project (base and project related)&lt;br /&gt;
-rwxr-x--- 1 www-data www-data  6140 Oct 21 08:27 import_liveData                // for use on staging systems to import data, exported from a live systems&lt;br /&gt;
-rwxr-x--- 1 www-data www-data 33716 Nov 11 14:46 init                           // helps you to get your installation going&lt;br /&gt;
-rw-r----- 1 www-data www-data   572 Oct 21 08:27 init.config                    // holds configuration for your initialization&lt;br /&gt;
-rw-r----- 1 www-data www-data    11 Oct 11 09:48 init.lock                      // after you initialized your system, this file will be present&lt;br /&gt;
                                                                                 // to warn you, if you accidently execute init a second time&lt;br /&gt;
-rwxr-x--- 1 www-data www-data  5187 Feb 10 13:58 merge_updates                  // this helps you to clean up, after you integrated a new core or did a merge.&lt;br /&gt;
-rwxr-x--- 1 www-data www-data  5799 Oct 21 08:27 protect_pages                  // looks for a list of pages to protect in a specified file and protects them&lt;br /&gt;
-rwxr-x--- 1 www-data www-data  7505 Nov 14 09:01 reset_secrets                  // helper scripts that resets your projects secrets (db and session hash).&lt;br /&gt;
                                                                                 // modifies your db credentials and your config files.&lt;br /&gt;
-rwxr-x--- 1 www-data www-data  4050 Oct 21 08:27 runMaintenance                 // runs a bunch of useful maintenance scripts. Should be called after updates/upgrades&lt;br /&gt;
-rwxr-x--- 1 www-data www-data  7135 Oct 25 09:01 runwikijobs                    // runs jobs in your project's job queue (and logs it)&lt;br /&gt;
-rwxr-x--- 1 www-data www-data  4607 Oct 21 08:27 setMode                        // can be used to switch your project between maintenance and normal mode&lt;br /&gt;
-rw-r----- 1 www-data www-data    12 Oct 17 09:11 setMode.status                 // holds current status (maintenance or normal)&lt;br /&gt;
-rwxr-x--- 1 www-data www-data  1194 Oct 11 09:48 tweak_timestamp                // a crude helper scripts that simply updates all timestamps in a&lt;br /&gt;
                                                                                 // mediawiki dump xml file. so that, after an import, the imported article will show&lt;br /&gt;
-rwxr-x--- 1 www-data www-data  5176 Oct 21 08:27 update_dumps                   // creates up-to-date versions of your project's dump files, as long as there&lt;br /&gt;
                                                                                 // are *.list files present in _opt/init/local_content. Can also be used to update base dumps&lt;br /&gt;
-rw-r--r-- 1 www-data www-data   182 Dec  8 13:11 url.config                     // present after running init for the first time.&lt;br /&gt;
                                                                                 // here you can customize your project's url&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Following are some detailed information about certain scripts:&lt;br /&gt;
=== create_dumps ===&lt;br /&gt;
Usage:&lt;br /&gt;
* Switch to a dir that contains at least one file ending with &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; &lt;br /&gt;
* or call with the name of a file as argument&lt;br /&gt;
&lt;br /&gt;
The script then produces an xml dump (for all list files or the supplied file only). As default, only the current revision will be dumped, use argumment &amp;lt;code&amp;gt;--full&amp;lt;/code&amp;gt; to geht the file's full history. The script processes the list file(s) and&lt;br /&gt;
* ignores empty lines or lines beginning with a #&lt;br /&gt;
* dumps all contents of a given category, if the line starts either with &amp;quot;Category:&amp;quot; or the equivalent of your locale. Inludes the category page itself but excludes subcategories (no recursion).&lt;br /&gt;
* dumps only the category page, if page name starts with a &amp;lt;code&amp;gt;:Category:&amp;lt;/code&amp;gt;&lt;br /&gt;
* in every other case, dumps the pagename.&lt;br /&gt;
Example:&lt;br /&gt;
{{code|lang=bash|code=&lt;br /&gt;
# this is a comment.&lt;br /&gt;
# btw: the following line will also be ignored&lt;br /&gt;
&lt;br /&gt;
# normal page, will be dumped:&lt;br /&gt;
Normal Page&lt;br /&gt;
# will also be dumped normally:&lt;br /&gt;
Namespace4:Funnypage&lt;br /&gt;
# and again: dumped directly, no special treatment:&lt;br /&gt;
:Category:Funny pages&lt;br /&gt;
# now the interesting part&lt;br /&gt;
# this category will be dumped. also: all pages, contained in this category, except subcategories&lt;br /&gt;
Category:Interesting facts&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Note: This script uses the url, supplied in your &amp;lt;code&amp;gt;LocalSettings_host.php&amp;lt;/code&amp;gt;. To be more specific, it uses the url stored in &amp;lt;code&amp;gt;url.config&amp;lt;/code&amp;gt; by [[#init|init]].&lt;br /&gt;
&lt;br /&gt;
More help is available via parameter &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== extension_updater ===&lt;br /&gt;
Maintainer can use this scipt to update (pull) all extensions in the project. Should only ever be used on dev platform. Changes can then be commited to feature branch and pushed to staging and live systems.&lt;br /&gt;
&lt;br /&gt;
=== fetch_sources ===&lt;br /&gt;
NOTE: You should have no need of this script, if you update your repo regularly.&lt;br /&gt;
&lt;br /&gt;
Supply a subversion of 1.27 (for example 42) and the script will download and extract this subversion in your base dir. After execution, you will find a new dir, e.g. named mediawiki-1.27.42 in your basedir containing the downloaded sources. Call [[#get_new_version_going|get_new_version_going]] next.&lt;br /&gt;
&lt;br /&gt;
=== get_new_version_going ===&lt;br /&gt;
NOTE: You should have no need of this script, if you update your repo regularly.&lt;br /&gt;
&lt;br /&gt;
A small script to initialize a new version (update, not upgrade) of the mediawiki software. You need to be in the new versions directory and a symlink named &amp;quot;mediawiki&amp;quot; to your current version should exist in your basedir.&lt;br /&gt;
&lt;br /&gt;
=== import_dumps ===&lt;br /&gt;
Usage:&lt;br /&gt;
* Switch to a dir that contains at least one medaiwiki dump file ending with &amp;lt;code&amp;gt;.xml&amp;lt;/code&amp;gt; &lt;br /&gt;
* or call with the name of a mediawiki dump file as argument&lt;br /&gt;
&lt;br /&gt;
This imports all .xml files in the current directory or the supplies xml file in your mediawiki. Useful to call in your &amp;lt;code&amp;gt;./_opt/init/local_content&amp;lt;/code&amp;gt; dir if you want to update your project's content/engine files or even in the &amp;lt;code&amp;gt;./_opt/init/base_content/default&amp;lt;/code&amp;gt; dir if you want to update the package's base files&lt;br /&gt;
&lt;br /&gt;
Logging will be done to [[Project:Software overview#Logging|central log file]]. More help is available via parameter &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== import_liveData ===&lt;br /&gt;
This scripts helps you import live data in your staging or dev system it expects an mysql dump file named &amp;lt;code&amp;gt;&amp;amp;lt;your_project&amp;amp;gt;.sql.gz&amp;lt;/code&amp;gt; in the directory &amp;lt;code&amp;gt;/var/www/_livedata/current&amp;lt;/code&amp;gt; and imports it. Then it imports all images found in &amp;lt;code&amp;gt;/var/www/_livedata/current/images&amp;lt;/code&amp;gt;. Logging will be done to [[Project:Software overview#Logging|central log file]]. &lt;br /&gt;
{{ambox|type=delete|text='''Warning:''' Since the import is done via mysql dumps, all your content in your system will be lost!}}&lt;br /&gt;
&lt;br /&gt;
If you want to test new templtes/modules, import your local project xml dumps afterwards vis [[Project:Software overview#import_dumps|import_dumps]].&lt;br /&gt;
&lt;br /&gt;
=== init ===&lt;br /&gt;
This is an installation wizard for a mediawiki installation. See [[Project:Installation#Finalize, the easy way|your installation guide]] for more information.&lt;br /&gt;
&lt;br /&gt;
Files belonging to this script are:&lt;br /&gt;
* init.config: holds configuration for your initialization&lt;br /&gt;
* init.lock: after you initialized your system, this file will be present to warn you, if you accidently execute init a second time&lt;br /&gt;
* init.log: if you did not specify a custom log location, the init log will be put in here.&lt;br /&gt;
&lt;br /&gt;
More help is available via parameter &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== protect_pages ===&lt;br /&gt;
Looks for a file named &amp;lt;code&amp;gt;protection.list&amp;lt;/code&amp;gt; in the current dir and protects all pages or all pages in categories listed in it.&lt;br /&gt;
&lt;br /&gt;
Note: This script uses the url, supplied in your &amp;lt;code&amp;gt;LocalSettings_host.php&amp;lt;/code&amp;gt;. To be more specific, it uses the url set up by your [[#init|init]] script. See there for more information.&lt;br /&gt;
&lt;br /&gt;
More help is available via parameter &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== reset_secrets ===&lt;br /&gt;
If you ever feel the need to reset all your project's secrets, use this script. It generates a new db password and sets it in the db and writes it to your [[Project:Software overview#LocalSettings_host.php|config]] together with a new session hash token and token version.&lt;br /&gt;
&lt;br /&gt;
=== runMaintenance ===&lt;br /&gt;
Runs a bunch of mediawiki maintenance scripts: &amp;lt;code&amp;gt;update.php&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;rebuildall.php&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;initSiteStats.php&amp;lt;/code&amp;gt;. Pauses [[#runwikijobs|runwikijobs]] during execution.&lt;br /&gt;
&lt;br /&gt;
=== runwikijobs ===&lt;br /&gt;
Checks mediawiki job queue and - if not emtpy - runs the job runner maintenance script &amp;lt;code&amp;gt;runJobs.php&amp;lt;/code&amp;gt;. Number of jobs run will be logged to your [[Project:Software overview#Logging|central log file]].&lt;br /&gt;
&lt;br /&gt;
=== setMode ===&lt;br /&gt;
With this you can switch your project from operation to maintenance mode and back.&lt;br /&gt;
&lt;br /&gt;
=== tweak_timestamp ===&lt;br /&gt;
A crude helper scripts that simply updates all timestamps in a mediawiki dump xml file. This fakes the dump file's last revision dates to be NOW so that each page contained in the dump file will automatically have a new revision showing in its page histories.&lt;br /&gt;
&lt;br /&gt;
=== update_dumps ===&lt;br /&gt;
Creates up-to-date versions of your project's dump files, as long as there are *.list files present in _opt/init/local_content. When called with parameter &amp;lt;code&amp;gt;--base&amp;lt;/code&amp;gt; it updates the base installation files instead.&lt;br /&gt;
&lt;br /&gt;
This script uses the [[#create_dumps|create_dumps]] and should be used to generated updated xmls for your project. It is probably used only on dev systems.&lt;br /&gt;
&lt;br /&gt;
More help is available via parameter &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>imported&gt;Oetterer</name></author>
	</entry>
</feed>