<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://swarm.cs.pub.ro/~razvan/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/feed.php">
        <title>Razvan's wiki tutorials</title>
        <description></description>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/</link>
        <image rdf:resource="http://swarm.cs.pub.ro/~razvan/wiki/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-04-16T21:22:47+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/c-tips?rev=1595225814&amp;do=diff"/>
                <rdf:li rdf:resource="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/dokuwiki-arctic?rev=1595225814&amp;do=diff"/>
                <rdf:li rdf:resource="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/dokuwiki?rev=1595225814&amp;do=diff"/>
                <rdf:li rdf:resource="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/egrouware?rev=1595225814&amp;do=diff"/>
                <rdf:li rdf:resource="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/git-tips?rev=1595225814&amp;do=diff"/>
                <rdf:li rdf:resource="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/gitlab?rev=1595225814&amp;do=diff"/>
                <rdf:li rdf:resource="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/horde_groupware?rev=1595225814&amp;do=diff"/>
                <rdf:li rdf:resource="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/mailman?rev=1595225814&amp;do=diff"/>
                <rdf:li rdf:resource="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/redmine?rev=1595225814&amp;do=diff"/>
                <rdf:li rdf:resource="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/redmine_svn_integration?rev=1595225814&amp;do=diff"/>
                <rdf:li rdf:resource="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/start?rev=1595225814&amp;do=diff"/>
                <rdf:li rdf:resource="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/swftools?rev=1595225814&amp;do=diff"/>
                <rdf:li rdf:resource="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/trac?rev=1595225814&amp;do=diff"/>
                <rdf:li rdf:resource="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/tribler_on_debian?rev=1595225814&amp;do=diff"/>
                <rdf:li rdf:resource="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/video-editing?rev=1595225814&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/lib/tpl/dokuwiki/images/favicon.ico">
        <title>Razvan's wiki</title>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/</link>
        <url>http://swarm.cs.pub.ro/~razvan/wiki/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/c-tips?rev=1595225814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T09:16:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>C Tips</title>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/tutorials/c-tips?rev=1595225814&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1,7 +1,9 @@
- ===== C Tips =====
+ ====== C Tips ======
  
  Read the [[http://ocw.cs.pub.ro/courses/so/teme/general|OS class assignment recommendations]].
+ 
+ Go through the [[http://ocw.cs.pub.ro/courses/so/laboratoare/resurse/c_tips|OS class tips for C usage]].
  
  Run your code through a static/dynamic checker (as also stated in the link above). [[http://cppcheck.sourceforge.net/ | cppcheck]] and [[http://valgrind.org/ | valgrind]] come into mind.
  
  You may also run your code through the Linux kernel&amp;#039;s &amp;#039;&amp;#039;checkpatch.pl&amp;#039;&amp;#039;: http://wintergreenworks.wordpress.com/2012/05/30/checkpatch-linux-coding-style-check/

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/dokuwiki-arctic?rev=1595225814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T09:16:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DokuWiki Arctic Template Patch</title>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/tutorials/dokuwiki-arctic?rev=1595225814&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1,19 +1,19 @@
- = DokuWiki Arctic Template Patch =
+ ====== DokuWiki Arctic Template Patch ======
  
- == Intro ==
+ ===== Intro =====
  
  Pagina curenta descrie modalitatea de modificare a template-ului [[http://www.dokuwiki.org/template:arctic|artic]] pentru dokuwiki in scopul de a adauga linkuri pentru {{{Export to PDF}}} si {{{Export to XHMTL}}} a paginii curente.
  
  In mod normal pentru exportarea in format PDF este nevoie de un plugin specific - de exemplu [[http://www.dokuwiki.org/plugin:dw2pdf|dw2pdf]].
  
  Manual, exportarea se face adaugand o extensie la linkul paginii, extensie care e interpretata de dokuwiki:
- - {{{link_pagina?do=export_pdf}}} - exportare PDF
- - {{{link_pagina?do=export_xhtml}}} - exportare XHTML
+   *  {{{link_pagina?do=export_pdf}}} - exportare PDF
+   *  {{{link_pagina?do=export_xhtml}}} - exportare XHTML
  
  Astfel, tot ce face patchul este sa creeze un buton/link care obtine acest efect, folosind suportul pus la dispozitie de DokuWiki.
  
- == Patch-uri ==
+ ===== Patch-uri =====
  
  Intial se adauga link-urile in template pentru butoanele de export in {{{lib/tpl/arctic/main.php}}}:
  
  &amp;lt;code bash&amp;gt;

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/dokuwiki?rev=1595225814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T09:16:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DokuWiki Installation and Configuration</title>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/tutorials/dokuwiki?rev=1595225814&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1,53 +1,53 @@
- = DokuWiki Installation and Configuration =
+ ====== DokuWiki Installation and Configuration ======
  
  [[http://www.dokuwiki.org/dokuwiki|DokuWiki]] is one of the [[http://www.wikimatrix.org/statistic/Most+Views|most popular wiki implementations]]. I&amp;#039;m using it right now to write this tutorial. DokuWiki is a lightweight implementation possessing a of features which I find very useful and convenient:
- * it is file-based (no database required);
- * installation and configuration is a breeze, especially for a manual installation (grabbing the source code, unzip and configure);
- * it uses a namespace-based structure, allowing for easy organization of information;
- * its community develops a lot of useful [[http://www.dokuwiki.org/plugins|plugins]];
- * it is, in my opinion, very usable: the interface, the editing features, information organization, overall view are intuitive and allow for rapid editing with little loss of time.
+   *  it is file-based (no database required);
+   *  installation and configuration is a breeze, especially for a manual installation (grabbing the source code, unzip and configure);
+   *  it uses a namespace-based structure, allowing for easy organization of information;
+   *  its community develops a lot of useful [[http://www.dokuwiki.org/plugins|plugins]];
+   *  it is, in my opinion, very usable: the interface, the editing features, information organization, overall view are intuitive and allow for rapid editing with little loss of time.
  
  That being said, let&amp;#039;s move on to the requirements and installation steps.
- == User Requirements ==
+ ===== User Requirements =====
  
  DokuWiki is highly configurable and customizable and I&amp;#039;m going to define the features that are to be used by a wiki installation. These are the features I&amp;#039;m usually going for when doing a DokuWiki installation, such as [[http://swarm.cs.pub.ro/~razvan/dokuwiki/|this one]]:
- * The wiki is to be installed by a non-priviliged users using their own &amp;quot;user directory&amp;quot; (such as {{{public_html}}}).
- * The wiki is public: everyone can read its contents and only certain users may edit it, after logging in (through the use of ACLs).
- * Create index pages for easy access to information. This is achieved with the help of the [[http://www.dokuwiki.org/plugin:indexmenu|indexmenu plugin]]. My wiki&amp;#039;s [[http://swarm.cs.pub.ro/~razvan/dokuwiki/|start page]] or [[http://swarm.cs.pub.ro/~razvan/dokuwiki/start?do=index|index page]] are index pages deployed with the help the indexmenu plugin.
- * The wiki will use &amp;quot;pretty&amp;quot; slash-separated URL. It will use {{{http://swarm.cs.pub.ro/~razvan/dokuwiki/tutorials/dokuwiki}}} instead of {{{http://swarm.cs.pub.ro/~razvan/dokuwiki/doku.php?id=tutorials:dokuwiki}}}.
- * The wiki will enable [[http://www.wikicreole.org/|Creole markup]], through the use of the [[http://www.dokuwiki.org/plugin:creole|creole plugin]].
- * The wiki will define a {{{contrib}}} namespace that is world-writable.
- * The wiki will define an {{{internal}}} namespace that is readable/writable only by authenticated users.
- * The wiki enables HTTPS-access to login/logout and admin pages (but HTTP access for normal ones).
- * The wiki enables LDAP authentication (optional - one must have access to a LDAP service).
+   *  The wiki is to be installed by a non-priviliged users using their own &amp;quot;user directory&amp;quot; (such as {{{public_html}}}).
+   *  The wiki is public: everyone can read its contents and only certain users may edit it, after logging in (through the use of ACLs).
+   *  Create index pages for easy access to information. This is achieved with the help of the [[http://www.dokuwiki.org/plugin:indexmenu|indexmenu plugin]]. My wiki&amp;#039;s [[http://swarm.cs.pub.ro/~razvan/dokuwiki/|start page]] or [[http://swarm.cs.pub.ro/~razvan/dokuwiki/start?do=index|index page]] are index pages deployed with the help the indexmenu plugin.
+   *  The wiki will use &amp;quot;pretty&amp;quot; slash-separated URL. It will use {{{http://swarm.cs.pub.ro/~razvan/dokuwiki/tutorials/dokuwiki}}} instead of {{{http://swarm.cs.pub.ro/~razvan/dokuwiki/doku.php?id=tutorials:dokuwiki}}}.
+   *  The wiki will enable [[http://www.wikicreole.org/|Creole markup]], through the use of the [[http://www.dokuwiki.org/plugin:creole|creole plugin]].
+   *  The wiki will define a {{{contrib}}} namespace that is world-writable.
+   *  The wiki will define an {{{internal}}} namespace that is readable/writable only by authenticated users.
+   *  The wiki enables HTTPS-access to login/logout and admin pages (but HTTP access for normal ones).
+   *  The wiki enables LDAP authentication (optional - one must have access to a LDAP service).
  
- == Install and Upgrade Scripts ==
+ ===== Install and Upgrade Scripts =====
  
- * Mircea Bardac and me have created a set of scripts for installation, configuration and upgrade of DokuWiki. These scripts provide solutions to most of the above [[:tutorials:dokuwiki#user_requirements]]. The scripts are part of the [[http://koala.cs.pub.ro/gitweb/?p=admin-public.git;a=tree|admin Git repository]] storing a variety of administrative scripts.
- * Issue the following command to get a copy of the repository&amp;lt;code&amp;gt;
+   *  Mircea Bardac and me have created a set of scripts for installation, configuration and upgrade of DokuWiki. These scripts provide solutions to most of the above [[:tutorials:dokuwiki#user_requirements]]. The scripts are part of the [[http://koala.cs.pub.ro/gitweb/?p=admin-public.git;a=tree|admin Git repository]] storing a variety of administrative scripts.
+   *  Issue the following command to get a copy of the repository&amp;lt;code&amp;gt;
  git clone http://koala.cs.pub.ro/git/admin-public.git
  &amp;lt;/code&amp;gt;
- * Browse to the {{{dokuwiki/}}} subfolder. Please go through the {{{README}}} file for a description of each file.
- * Instructions below are also present in the {{{README}}} file in the {{{dokuwiki/}}} folder in the repository.
- == Basic Installation and Configuration ==
+   *  Browse to the {{{dokuwiki/}}} subfolder. Please go through the {{{README}}} file for a description of each file.
+   *  Instructions below are also present in the {{{README}}} file in the {{{dokuwiki/}}} folder in the repository.
+ ===== Basic Installation and Configuration =====
  
  
- === Using the Install Scripts ===
+ ==== Using the Install Scripts ====
  
- # Find the desired DokuWiki version for download. Use this [[http://www.splitbrain.org/projects/dokuwiki|download URL]].
- # Run the install {{{dw-install}}} script. It requires three arguments:
- ## the installation folder for {{{dokuwiki}}}; it must exist; ({{{~/public_html/dokuwiki2/}}} in the sample run)
- ## the DokuWiki tarball download URL; ({{{http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-12-25.tgz}}} - the latest stable version - in the sample run)
- ## the future DokuWiki URL. ({{{http://elf.cs.pub.ro/so/wiki2/}}} in the sample run)
- #* Sample run:&amp;lt;code&amp;gt;
+   -  Find the desired DokuWiki version for download. Use this [[http://www.splitbrain.org/projects/dokuwiki|download URL]].
+   -  Run the install {{{dw-install}}} script. It requires three arguments:
+     -  the installation folder for {{{dokuwiki}}}; it must exist; ({{{~/public_html/dokuwiki2/}}} in the sample run)
+     -  the DokuWiki tarball download URL; ({{{http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-12-25.tgz}}} - the latest stable version - in the sample run)
+     -  the future DokuWiki URL. ({{{http://elf.cs.pub.ro/so/wiki2/}}} in the sample run)
+   - * Sample run:&amp;lt;code&amp;gt;
  razvan@swarm:~/scripts/dw$ ./dw-install ~/public_html/dw-test/ http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2011-05-25a.tgz http://swarm.cs.pub.ro/~razvan/dw-test
  
- * Logging information to /tmp/tmp.JYCdHg2w5P.
- * Using download link http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2011-05-25a.tgz
+   *  Logging information to /tmp/tmp.JYCdHg2w5P.
+   *  Using download link http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2011-05-25a.tgz
    * Downloading DokuWiki ... done.
- * Preparing installation folder /home/razvan/public_html/dw-test/ ... done.
- * Installing plugins
+   *  Preparing installation folder /home/razvan/public_html/dw-test/ ... done.
+   *  Installing plugins
    * Installing plugin: Creole ... done.
    * Installing plugin: Google Analytics ... done.
    * Installing plugin: Include ... done.
    * Installing plugin: Index-Menu ... done.
@@ -60,51 +60,51 @@
  3. Remove /home/razvan/public_html/dw-test//install.php.bak file.
  4. Run:
     ./dw-post-install /home/razvan/public_html/dw-test/ /~razvan/dw-test/
  &amp;lt;/code&amp;gt;
- # Open install URL (as mentioned in step 1 of the post-install message) and configure DokuWiki instance.
- #* The web configuration interface is quite intuitive.
- #* You will probably go for a public wiki (read access for everyone, and write access for registered users).
- # Run the {{{dw-post-install}}} script, as mentioned in step 4 of the end message.
- #* The `dw-post-install&amp;#039; script is actually responsible for two things:
- #*# Updating the {{{$DW_ROOT/conf/local.php}}} file. That means wiki and plugin configuration. The configuration is what we commonly use. Go through file and update it according to your needs/preferences.
- #*# Creating the {{{$DW_ROOT/.htaccess}}} file. This file is responsible with the configuration of pretty (hierarchical) URLs and HTTPS support.
- #* Sample run:&amp;lt;code&amp;gt;
+   -  Open install URL (as mentioned in step 1 of the post-install message) and configure DokuWiki instance.
+   - * The web configuration interface is quite intuitive.
+   - * You will probably go for a public wiki (read access for everyone, and write access for registered users).
+   -  Run the {{{dw-post-install}}} script, as mentioned in step 4 of the end message.
+   - * The `dw-post-install&amp;#039; script is actually responsible for two things:
+   - *# Updating the {{{$DW_ROOT/conf/local.php}}} file. That means wiki and plugin configuration. The configuration is what we commonly use. Go through file and update it according to your needs/preferences.
+   - *# Creating the {{{$DW_ROOT/.htaccess}}} file. This file is responsible with the configuration of pretty (hierarchical) URLs and HTTPS support.
+   - * Sample run:&amp;lt;code&amp;gt;
  razvan@swarm:~/scripts/dw$ ./dw-post-install /home/razvan/public_html/dw-test/ /~razvan/dw-test/
   * Updating conf/local.php ... done.
   * Updating .htaccess ... done.
  &amp;lt;/code&amp;gt;
- # **Congratulations!** You&amp;#039;ve got a basic DokuWiki installation with pretty slash based URLs, HTTPS support login and Creole markup.
- === indexmenu Configuration ===
+   -  **Congratulations!** You&amp;#039;ve got a basic DokuWiki installation with pretty slash based URLs, HTTPS support login and Creole markup.
+ ==== indexmenu Configuration ====
  
  The indexmenu plugin is installed but the index pages are not yet created. As written in the {{{local.php}}} file, we will use {{{home:index}}} as the index page:&amp;lt;code&amp;gt;
  $conf[&amp;#039;plugin&amp;#039;][&amp;#039;indexmenu&amp;#039;][&amp;#039;page_index&amp;#039;] = &amp;#039;home:index&amp;#039;;
  &amp;lt;/code&amp;gt;
  At the same time we will create and index menu on the start/home page.
  
  You&amp;#039;ll need to go through the following steps (mentioned in the {{{README}}} file):
- # Type {{{home:index}}} in DokuWiki&amp;#039;s search bar and create the page. For index display I usually add the following syntax:&amp;lt;code&amp;gt;
+   -  Type {{{home:index}}} in DokuWiki&amp;#039;s search bar and create the page. For index display I usually add the following syntax:&amp;lt;code&amp;gt;
  {{indexmenu&amp;gt;..#2|js navbar nocookie id#random}}
  &amp;lt;/code&amp;gt;
- #* Each time you will use the {{{Index}}} button in the bottom right corner the index menu in the {{{home:index}}} page is displayed.
- # Add an index menu to the first page in the wiki (home). Just type {{{home}}} in DokuWiki&amp;#039;s search bar and create/edit the page. I usually fill it with something like:&amp;lt;code&amp;gt;
- = Wiki Name =
+   - * Each time you will use the {{{Index}}} button in the bottom right corner the index menu in the {{{home:index}}} page is displayed.
+   -  Add an index menu to the first page in the wiki (home). Just type {{{home}}} in DokuWiki&amp;#039;s search bar and create/edit the page. I usually fill it with something like:&amp;lt;code&amp;gt;
+ ====== Wiki Name ======
  
  {{indexmenu&amp;gt;..#1|js navbar nocookie id#random}}
  &amp;lt;/code&amp;gt;
- #* {{{Wiki Name}}} is the name of the wiki. It gets displayed as a heading 1 title.
- # You can add indexes to namespaces (edit the {{{$namespace/home}}} page):&amp;lt;code&amp;gt;
+   - * {{{Wiki Name}}} is the name of the wiki. It gets displayed as a heading 1 title.
+   -  You can add indexes to namespaces (edit the {{{$namespace/home}}} page):&amp;lt;code&amp;gt;
  = Namespace Name ==
  
  {{indexmenu&amp;gt;.#2|js}}
  &amp;lt;/code&amp;gt;
  
- == Advanced Configuration ==
+ ===== Advanced Configuration =====
  
- === LDAP Authentication ===
+ ==== LDAP Authentication ====
  
- * The [[http://www.dokuwiki.org/auth:ldap|official LDAP Authentication page]] contains important information regarding the configuration of LDAP authentication.
- * The [[http://koala.cs.pub.ro/gitweb/?p=admin-public.git;a=blob;f=dokuwiki/samples/dokuwiki-ldap-auth-swarm.conf;hb=HEAD|dokuwiki/samples/dokuwiki-ldap-auth-swarm.conf]] contains a configuration sample for LDAP authentication using the LDAP service installed on the {{{swarm.cs.pub.ro}}} server:&amp;lt;code&amp;gt;
+   *  The [[http://www.dokuwiki.org/auth:ldap|official LDAP Authentication page]] contains important information regarding the configuration of LDAP authentication.
+   *  The [[http://koala.cs.pub.ro/gitweb/?p=admin-public.git;a=blob;f=dokuwiki/samples/dokuwiki-ldap-auth-swarm.conf;hb=HEAD|dokuwiki/samples/dokuwiki-ldap-auth-swarm.conf]] contains a configuration sample for LDAP authentication using the LDAP service installed on the {{{swarm.cs.pub.ro}}} server:&amp;lt;code&amp;gt;
  $conf[&amp;#039;disableactions&amp;#039;] = &amp;#039;register,profile,resendpwd&amp;#039;;
  
  $conf[&amp;#039;authtype&amp;#039;]    = &amp;#039;ldap&amp;#039;;
  
@@ -114,39 +114,39 @@
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ldap&amp;#039;][&amp;#039;grouptree&amp;#039;]   = &amp;#039;ou=Group,dc=swarm,dc=cs,dc=pub,dc=ro&amp;#039;;
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ldap&amp;#039;][&amp;#039;userfilter&amp;#039;]  = &amp;#039;(&amp;amp;(uid=%{user})(objectClass=posixAccount))&amp;#039;;
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ldap&amp;#039;][&amp;#039;groupfilter&amp;#039;] = &amp;#039;(&amp;amp;(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))&amp;#039;;
   
- # This is optional but may be required for your server:
+   -  This is optional but may be required for your server:
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ldap&amp;#039;][&amp;#039;version&amp;#039;]    = 3;
  
- # Mapping can be used to specify where the internal data is coming from. 
+   -  Mapping can be used to specify where the internal data is coming from. 
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ldap&amp;#039;][&amp;#039;mapping&amp;#039;][&amp;#039;name&amp;#039;]  = &amp;#039;cn&amp;#039;; # Name of attribute Active Directory stores it&amp;#039;s pretty print user name.
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ldap&amp;#039;][&amp;#039;mapping&amp;#039;][&amp;#039;grps&amp;#039;]  = array(&amp;#039;memberof&amp;#039; =&amp;gt; &amp;#039;/CN=(.+?),/i&amp;#039;);
  
- # Optional debugging
+   -  Optional debugging
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ldap&amp;#039;][&amp;#039;debug&amp;#039;]      = 1;
  &amp;lt;/code&amp;gt;
- * The {{{$conf[&amp;#039;authtype&amp;#039;]    = &amp;#039;ldap&amp;#039;;}}} line enables LDAP authentication.
- * The {{{$conf[&amp;#039;auth&amp;#039;][&amp;#039;ldap&amp;#039;][&amp;#039;debug&amp;#039;]      = 1;}}} line should be commented out after the configuration is working.
- * **IMPORTANT**: You may not have write access to the {{{local.php}}} configuration file. The solution is:
- *# Make a copy of the {{{local.php}}} file (be it {{{local.php.bak}}}).
- *# Delete the file {{{rm local.php}}}; it asks for confirmation -- confirm it. This works as the file is in your home folder.
- *# Copy the backup file ({{{local.php.bak}}}) to {{{local.php}}}.
- *# Provide access writes to the group, assuming that to be {{{www-data}}}, in order to allow web server write access from the web configuration interface: {{{chmod g+w local.php}}}.
+   *  The {{{$conf[&amp;#039;authtype&amp;#039;]    = &amp;#039;ldap&amp;#039;;}}} line enables LDAP authentication.
+   *  The {{{$conf[&amp;#039;auth&amp;#039;][&amp;#039;ldap&amp;#039;][&amp;#039;debug&amp;#039;]      = 1;}}} line should be commented out after the configuration is working.
+   *  **IMPORTANT**: You may not have write access to the {{{local.php}}} configuration file. The solution is:
+   * # Make a copy of the {{{local.php}}} file (be it {{{local.php.bak}}}).
+   * # Delete the file {{{rm local.php}}}; it asks for confirmation -- confirm it. This works as the file is in your home folder.
+   * # Copy the backup file ({{{local.php.bak}}}) to {{{local.php}}}.
+   * # Provide access writes to the group, assuming that to be {{{www-data}}}, in order to allow web server write access from the web configuration interface: {{{chmod g+w local.php}}}.
  
- ==== Disable Unnecessary Actions ====
+ === Disable Unnecessary Actions ===
  
  In case you choose to use LDAP authentication, you should disable the Dokuwiki&amp;#039;s {{{Register}}}, {{{Send password}}} and {{{Profile}}} options. This can be accomplished by two means:
- # use the {{{$conf[&amp;#039;disableactions&amp;#039;] = &amp;#039;register,resendpw,profile&amp;#039;;}}} line in {{{local.php}}};
- # use the DokuWiki&amp;#039;s administrative {{{Configuration Manager}}} link (search for {{{disableactions}}}).
- === Split Authentication ===
+   -  use the {{{$conf[&amp;#039;disableactions&amp;#039;] = &amp;#039;register,resendpw,profile&amp;#039;;}}} line in {{{local.php}}};
+   -  use the DokuWiki&amp;#039;s administrative {{{Configuration Manager}}} link (search for {{{disableactions}}}).
+ ==== Split Authentication ====
  
  The LDAP service often offers little support for group authorization inside DokuWiki. A better approach would be authenticating through LDAP and using another engine for authentication. This can be accomplished through the use of [[http://www.dokuwiki.org/auth:ggauth#split|split authentication]]. I&amp;#039;m using it to authenticate through LDAP and use the basic {{{user.auth.php}}} file in DokuWiki&amp;#039;s {{{conf/}}} folder.
  
  The [[http://lastweekend.com.au/ggauth.5.zip|experimental authentication backends]], providing &amp;quot;split authentication&amp;quot; is deployed in the [[:tutorials:dokuwiki#install_and_upgrade_scripts | install script]].
  
  In order to configure split authentication, do the following:
- # Update the {{{local.php}}} file with configuration lines such as these:&amp;lt;code&amp;gt;
+   -  Update the {{{local.php}}} file with configuration lines such as these:&amp;lt;code&amp;gt;
  $conf[&amp;#039;authtype&amp;#039;] = &amp;#039;split&amp;#039;;
  
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;split&amp;#039;][&amp;#039;login_auth&amp;#039;] = &amp;#039;ldap&amp;#039;;  # the auth backend for authentication
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;split&amp;#039;][&amp;#039;groups_auth&amp;#039;] = &amp;#039;plain&amp;#039;; # the auth backend that supplies groups
@@ -154,12 +154,12 @@
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;split&amp;#039;][&amp;#039;use_login_auth_for_users&amp;#039;] = true; # Should login auth be used for supplying the list of users for usermanager
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;split&amp;#039;][&amp;#039;use_login_auth_for_name&amp;#039;] = true; # Should login auth supply user name, or only used if groups auth provides an empty name
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;split&amp;#039;][&amp;#039;use_login_auth_for_mail&amp;#039;] = true; # Should login auth supply email address, or only used if groups auth provides empty email.
  &amp;lt;/code&amp;gt;
- #* I assumed the configuration lines for LDAP are already there.
- #* In the above configuration, we are using LDAP for authentication and the {{{plain}}} engine for groups and authorization.
- # Authorization configuration is done by editing the {{{conf/users.auth.php}}} file. Some sample lines are shown below:&amp;lt;code&amp;gt;
- # user:MD5password:Real Name:email:groups,comma,separated
+   - * I assumed the configuration lines for LDAP are already there.
+   - * In the above configuration, we are using LDAP for authentication and the {{{plain}}} engine for groups and authorization.
+   -  Authorization configuration is done by editing the {{{conf/users.auth.php}}} file. Some sample lines are shown below:&amp;lt;code&amp;gt;
+   -  user:MD5password:Real Name:email:groups,comma,separated
  
  razvan:x:x:x:admin,so
  oana:x:x:x:so
  ddvlad:x:x:x:so
@@ -168,11 +168,11 @@
  bdrutu:x:x:x:so
  catalinme:x:x:x:so
  [...]
  &amp;lt;/code&amp;gt;
- #* The {{{MD5password}}}, {{{Real Name}}} and {{{email}}} fields are provided by the LDAP authentication engine and aren&amp;#039;t filled.
- # You can now use the {{{Access Control List Management}}} link in the &amp;quot;Administration&amp;quot; menu for authorization: configuring access rights for users and groups.
- == Upgrading ==
+   - * The {{{MD5password}}}, {{{Real Name}}} and {{{email}}} fields are provided by the LDAP authentication engine and aren&amp;#039;t filled.
+   -  You can now use the {{{Access Control List Management}}} link in the &amp;quot;Administration&amp;quot; menu for authorization: configuring access rights for users and groups.
+ ===== Upgrading =====
  
  DokuWiki has a smart notification system that lets you know whether a new version of DokuWiki is available. A DokuWiki upgrade is fairly easy to accomplish. The upgrade steps are described on the [[http://www.dokuwiki.org/install:upgrade|official page]].
  
  The are two scripts you may use. One is to be run by root (the {{{dw-upgrade}}} script), while the other (the {{{dw-upgrade-no-root}}} script) may be run by a non-priviliged user. Each script creates a backup copy of the current wiki installation before upgrading.
@@ -183,13 +183,13 @@
  
  A sample run is shown below:&amp;lt;code&amp;gt;
  razvan@swarm:~/scripts/dw$ ./dw-upgrade-no-root ~razvan/public_html/dw-test/ http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2011-05-25a.tgz ~razvan/public_html/backup/
  
- * Logging information to /tmp/tmp.xQuZwTyfgu.
+   *  Logging information to /tmp/tmp.xQuZwTyfgu.
    * Downloading DokuWiki ... done.
   * Backing up Dokuwiki instance to /home/razvan/public_html/backup//dokuwiki-bak-2011-09-12 ... done
   * Upgrading Dokuwiki installation in /home/razvan/public_html/dw-test/ ... done
- * Installing plugins
+   *  Installing plugins
    * Installing plugin: Creole ... done.
    * Installing plugin: Google Analytics ... done.
    * Installing plugin: Include ... done.
    * Installing plugin: Index-Menu ... done.
@@ -197,4 +197,26 @@
    * Installing ggauth backend ...done.
  &amp;lt;/code&amp;gt;
  
  Enjoy!
+ 
+ ===== Useful Plugins =====
+ 
+   *  https://www.dokuwiki.org/plugin:include
+   *  https://www.dokuwiki.org/plugin:spoiler
+   *  https://www.dokuwiki.org/plugin:note
+   *  https://www.dokuwiki.org/plugin:comment
+   *  https://www.dokuwiki.org/plugin:togglewrap
+   *  https://www.dokuwiki.org/plugin:wrap
+   *  https://www.dokuwiki.org/plugin:fontsize2
+   *  https://www.dokuwiki.org/plugin:indexmenu
+   *  https://www.dokuwiki.org/plugin:icons
+   *  https://www.dokuwiki.org/plugin:authchained
+   *  https://www.dokuwiki.org/plugin:authsplit
+   *  https://www.dokuwiki.org/plugin:creole
+   *  https://www.dokuwiki.org/plugin:dw2pdf
+   *  https://www.dokuwiki.org/plugin:color
+   *  https://www.dokuwiki.org/plugin:mathjax
+   *  https://www.dokuwiki.org/plugin:move
+   *  https://www.dokuwiki.org/plugin:googleanalytics
+   *  https://www.dokuwiki.org/plugin:include
+ 

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/egrouware?rev=1595225814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T09:16:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorials:egrouware</title>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/tutorials/egrouware?rev=1595225814&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1 +1,5 @@
- 
+   *  apt-get install egroupware
+   *  apt-get install mysql-server
+   *  apt-get install php5-mysql
+   *  apt-get install php5-odbc
+   *  pear install Auth_SASL

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/git-tips?rev=1595225814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T09:16:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Git Tips</title>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/tutorials/git-tips?rev=1595225814&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1,5 +1,5 @@
- = Git =
+ ====== Git Tips ======
  
  GitHub&amp;#039;s [[http://learn.github.com/p/intro.html|introduction to Git]] is a good tutorial for starters. [[http://gitimmersion.com/|Git Immersion]] is another good git tutorial. Read them to get a grasp of the paradigms behind Git.
  
  Read [[http://techblog.rosedu.org/git-good-practices.html|this article]] for a basic set of Git best practices.

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/gitlab?rev=1595225814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T09:16:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>GitLab Installation</title>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/tutorials/gitlab?rev=1595225814&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1,8 +1,8 @@
- = GitLab Installation =
+ ====== GitLab Installation ======
  
- * In order to install GitLab follow instructions here: https://github.com/gitlabhq/gitlabhq/blob/4-2-stable/doc/install/installation.md
- ** At end of step 6, sidekiq won&amp;#039;t be checked:&amp;lt;code&amp;gt;
+   *  In order to install GitLab follow instructions here: https://github.com/gitlabhq/gitlabhq/blob/4-2-stable/doc/install/installation.md
+     *  At end of step 6, sidekiq won&amp;#039;t be checked:&amp;lt;code&amp;gt;
  Checking Sidekiq ...
  
  Running? ... no
    Try fixing it:
@@ -13,22 +13,22 @@
    Please fix the error above and rerun the checks.
  
  Checking Sidekiq ... Finished
  &amp;lt;/code&amp;gt;
- *** You have to create the {{{tmp/pids}}} folder, while in {{{/home/gitlab/gitlab/}}}:&amp;lt;code&amp;gt;
+       *  You have to create the {{{tmp/pids}}} folder, while in {{{/home/gitlab/gitlab/}}}:&amp;lt;code&amp;gt;
  sudo -u gitlab -H mkdir tmp/pids/
  sudo chmod -R u+rwX  tmp/pids/
  &amp;lt;/code&amp;gt;
- *** And then restart sidekiq:&amp;lt;code&amp;gt;
+       *  And then restart sidekiq:&amp;lt;code&amp;gt;
  sudo -u gitlab -H bundle exec rake sidekiq:start RAILS_ENV=production
  &amp;lt;/code&amp;gt;
- * I use Apache in conjunction with unicorn.
- ** Configure unicorn to listen to TCP connections:&amp;lt;code&amp;gt;
- #listen 8080 # listen to port 8080 on all TCP interfaces
+   *  I use Apache in conjunction with unicorn.
+     *  Configure unicorn to listen to TCP connections:&amp;lt;code&amp;gt;
+   - listen 8080 # listen to port 8080 on all TCP interfaces
  listen &amp;quot;127.0.0.1:8080&amp;quot;  # listen to port 8080 on the loopback interface
  listen &amp;quot;#{app_dir}/tmp/sockets/gitlab.socket&amp;quot;
  &amp;lt;/code&amp;gt;
- ** Configure Apache in conjunction with unicorn:&amp;lt;code&amp;gt;
+     *  Configure Apache in conjunction with unicorn:&amp;lt;code&amp;gt;
  &amp;lt;VirtualHost *:443&amp;gt;
  	ServerName houdini.cs.pub.ro
  	ServerAdmin webmaster@houdini.cs.pub.ro
  
@@ -68,5 +68,8 @@
  	ErrorLog ${APACHE_LOG_DIR}/gitlab/error.log
  	LogLevel warn
  	CustomLog ${APACHE_LOG_DIR}/gitlab/access.log combined
  &amp;lt;/VirtualHost&amp;gt;
+ &amp;lt;/code&amp;gt;
+   *  Populate satellites folder, in {{{/home/gitlab/gitlab/}}}:&amp;lt;code&amp;gt;
+ sudo -u gitlab -H bundle exec rake gitlab:satellites:create RAILS_ENV=production
  &amp;lt;/code&amp;gt;

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/horde_groupware?rev=1595225814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T09:16:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Installing and configuring Horde Groupware</title>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/tutorials/horde_groupware?rev=1595225814&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1,43 +1,43 @@
- = Installing and configuring Horde Groupware =
+ ====== Installing and configuring Horde Groupware ======
  
  [[http://www.horde.org/groupware/|Horde Groupware]] or [[http://www.horde.org/webmail/|Horde Webmail Groupware]] is an open-source web-based [[http://en.wikipedia.org/wiki/Category:Groupware|group management]] application. It features common tools for group/team management: calendar ([[http://www.horde.org/kronolith/|kronolith]]), address book ([[http://www.horde.org/turba/|turba]]), webmail ([[http://www.horde.org/imp/|imp]], [[http://www.horde.org/mimp/|mimp]], [[http://www.horde.org/dimp/|dimp]]), task lists ([[http://www.horde.org/nag/|nag]]), notes ([[http://www.horde.org/mnemo/|mnemo]]), wiki ([[http://www.horde.org/wicked/|wicked]]), group management, permissions, categories. It&amp;#039;s also highly customizable, allowing you to choose themes, define your entry/portal web-page, set locales, set display preferences, etc.
  
  We&amp;#039;ve started using Horde Groupware for [[https://www.rosedu.org/horde|ROSEdu]] group management and for the [[https://elf.cs.pub.ro/asistent/horde|USO and RL courses]]. It is light and intuitive and, at this point, suitable for our needs.
  
- == Install and basic configuration ==
+ ===== Install and basic configuration =====
  
  The installation and configuration process is complex but quite straightforward. Horde&amp;#039;s {{{README}}} and {{{INSTALL}}} files and wiki and searchable mailing lists should provide all necessary answers. I&amp;#039;ve completed four installation processes, all on a Debian GNU/Linux 5.0 Lenny; the last one was accomplished while writing this tutorial to make sure I don&amp;#039;t miss out on something. Having more than one installation experience helped me discover new features and configuration options in Horde.
  
  I will detail my installation/configuration process in the rest of this tutorial. Hopefully it will help reduce the time someone would normally invest when installing Horde Groupware.
  
  I didn&amp;#039;t use [[http://wiki.debian.org/Horde|Debian&amp;#039;s internal package]], as I wanted more freedom when installing and configuring Horde. For my third and fourth installation instances, I used a non-privileged account, so it was mandatory that I installed Horde from its source package.
  
- === System settings and requirements ===
+ ==== System settings and requirements ====
  
  The following list shows the system configuration and setting and desired features. I want an Apache2 and MySQL based instance, with IMAPS login (based on an e-mail account) and the built-in wiki.
  
- * Debian GNU/Linux 5.0 Lenny
- * Horde Webmail Groupware
- * non-privileged account
- * Apache2 web-server
- * MySQL
- * IMAPS e-mail access
- * IMAPS login
- * Horde builtin wiki (wicked)
+   *  Debian GNU/Linux 5.0 Lenny
+   *  Horde Webmail Groupware
+   *  non-privileged account
+   *  Apache2 web-server
+   *  MySQL
+   *  IMAPS e-mail access
+   *  IMAPS login
+   *  Horde builtin wiki (wicked)
  
- === Required packages ===
+ ==== Required packages ====
  
  The required Debian packages are listed below. A MySQL server also has to be configured (it need not be on the same system). cvs needs only be installed for CVS-based modules (such as [[http://www.horde.org/wicked/|wicked]]).
  
- * apache2
- * libapache2-mod-php5
- * mysql-client-5.0
- * php5
- * php5-cli
- * php-pear
- * php5-imap
- * cvs for CVS-based modules
+   *  apache2
+   *  libapache2-mod-php5
+   *  mysql-client-5.0
+   *  php5
+   *  php5-cli
+   *  php-pear
+   *  php5-imap
+   *  cvs for CVS-based modules
  
  === Download ==
  
  You should [[http://www.horde.org/download/app/?app=webmail|download]] Horde in a web-accessible location. I recommend using a symbolic link ({{{horde}}}) for easy naming. As mentioned above, I have used Horde Webmail Groupware 1.2.3.
@@ -51,9 +51,9 @@
  razvan@swarm:~/public_html$ ls
  razvan@swarm:~/public_html$ ln -sf horde-webmail-1.2.3 horde
  }}}
  
- === Initial configuration ===
+ ==== Initial configuration ====
  
  Most installation steps are described in the {{{$HORDE_INSTALL_DIR/docs/INSTALL}}} file.
  
  First of all a database has to be created. Afterwards, the setup script ({{{$HORDE_INSTALL_DIR/scripts/setup.php}}}) needs to be run ({{{php5-cli}}} package must be installed). It will ask for the webroot path and then will enable further configuration, using a screen similar to the one below:
@@ -88,9 +88,9 @@
  }}}
  
  Do not worry about the above errors. The script is ment to be run by the MySQL root user, enabling the creation of the database and user. As I had already created the database and required user, those steps were not needed.
  
- ==== Webroot update ====
+ === Webroot update ===
  
  Because there may be problems detecting the webroot URL (happened to me every time), update the {{{$HORDE_INSTALL_DIR/config/registry.php}}} file (look for the {{{&amp;#039;webroot&amp;#039;}}} variable). In my case, this must be {{{&amp;#039;/~razvan/horde&amp;#039;}}}:
  
  {{{
@@ -123,9 +123,9 @@
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;params&amp;#039;][&amp;#039;app&amp;#039;] = &amp;#039;imp&amp;#039;;
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;driver&amp;#039;] = &amp;#039;application&amp;#039;;
  }}}
  
- === Enable HTTPS ===
+ ==== Enable HTTPS ====
  
  You can configure HTTPS only access to Horde through the use of {{{mod_ssl}}} and {{{mod_rewrite}}} Apache modules. Replace {{{/~razvan/horde}}} with your webroot.
  
  {{{
@@ -139,15 +139,15 @@
    &amp;lt;/IfModule&amp;gt;
  &amp;lt;/IfModule&amp;gt;
  }}}
  
- === That&amp;#039;s it! ===
+ ==== That&amp;#039;s it! ====
  
  Congratulations! You now have a working instance of Horde Webmail Groupware. Accessing your base URL ({{{http://SERVER_NAME/WEBROOT/}}}) should get you to the secured login page.
  
- == Extra configuration and customization ==
+ ===== Extra configuration and customization =====
  
- === Installing wicked ===
+ ==== Installing wicked ====
  
  As mentioned above, wicked (Horde&amp;#039;s integrated wiki) should be installed. In order to do that we have to download the CVS version, as mentioned [[http://www.horde.org/source/using.php|on the site]] (don&amp;#039;t forget to install {{{cvs}}})
  
  {{{
@@ -198,17 +198,17 @@
  razvan@swarm:~/public_html/horde/pear$ cp -r Text_Wiki-1.2.0/* .
  razvan@swarm:~/public_html/horde/pear$ cp -r Text_Wiki_Creole-1.0.1/* .
  }}}
  
- ==== Enable Creole markup ====
+ === Enable Creole markup ===
  
  To enable [[http://www.wikicreole.org/wiki/Home|Creole markup]], use the configuration menu in the {{{Administrative -&amp;gt; Setup -&amp;gt; Wicked}}} user interface. See [[tutorials:horde_groupware#ui_configuration|below]].
  
- === Customization ===
+ ==== Customization ====
  
  Certain features of Horde can be tuned either at global level, through the use of configuration files or web user interface, or at user level, through the web user interface.
  
- ==== Setup automatic configuration of default identity ====
+ === Setup automatic configuration of default identity ===
  
  When using IMP, I like automatic configuration of the {{{Default Identity}}} (sender address). For that I use a postauthentication script, as mentioned [[http://wiki.horde.org/CustomizingPreferences|here]] (search {{{David Komanek}}}).
  
  Update {{{$HORDE_INSTALL_DIR/config/hooks.php}}} with the script. Also update the postauthenticate configuration in {{{$HORDE_INSTALL_DIR/config/conf.php}}}:
@@ -216,9 +216,9 @@
  {{{
  $conf[&amp;#039;hooks&amp;#039;][&amp;#039;postauthenticate&amp;#039;] = true;
  }}}
  
- ==== Change default theme ====
+ === Change default theme ===
  
  File to update: {{{$HORDE_INSTALL_DIR/config/prefs.php}}};
  Preference to alter: {{{&amp;#039;theme&amp;#039;}}} (I like {{{&amp;#039;silver&amp;#039;}}});
  
@@ -239,9 +239,9 @@
  $_prefs[&amp;#039;sidebar_width&amp;#039;] = array(
      &amp;#039;value&amp;#039; =&amp;gt; 200,
  }}}
  
- ==== IMP - configure default sending charset ====
+ === IMP - configure default sending charset ===
  
  File to update: {{{$HORDE_INSTALL_DIR/imp/config/prefs.php}}};
  Preference to alter: {{{&amp;#039;sending_charset&amp;#039;}}};
  
@@ -250,9 +250,9 @@
  $_prefs[&amp;#039;sending_charset&amp;#039;] = array(
      &amp;#039;value&amp;#039; =&amp;gt; &amp;#039;UTF-8&amp;#039;,
  }}}
  
- ==== IMP - disable view of deleted messages ====
+ === IMP - disable view of deleted messages ===
  
  File to update: {{{$HORDE_INSTALL_DIR/imp/config/prefs.php}}};
  Preference to alter: {{{&amp;#039;delhide&amp;#039;}}};
  
@@ -261,9 +261,9 @@
  $_prefs[&amp;#039;delhide&amp;#039;] = array(
      &amp;#039;value&amp;#039; =&amp;gt; 1,
  }}}
  
- ==== Configure date and timezone options ====
+ === Configure date and timezone options ===
  
  File to update: {{{$HORDE_INSTALL_DIR/imp/config/prefs.php}}};
  Preferences to alter: {{{&amp;#039;first_week_day&amp;#039;}}}, {{{&amp;#039;twentyFour&amp;#039;}}}, {{{&amp;#039;date_format&amp;#039;}}}, {{{&amp;#039;timezone&amp;#039;}}};
  
@@ -285,15 +285,15 @@
      &amp;#039;value&amp;#039; =&amp;gt; &amp;#039;Europe/Bucharest&amp;#039;,
  [...]
  }}}
  
- === UI configuration ===
+ ==== UI configuration ====
  
- ==== User UI configuration ====
+ === User UI configuration ===
  
  A non-admin user can alter his/hers configuration through the {{{Options -&amp;gt; Global Options}}} menu. The user can configure personal information, theme, sidebar width, time format, etc.
  
- ==== Administrative UI configuration ====
+ === Administrative UI configuration ===
  
  The administrative UI configuration is enabled through the {{{Administration -&amp;gt; Setup}}} menus. As the configuration files ({{{conf.php}}} and {{{conf.bak.php}}}) are altered through the web interface, they must be writable by the web server user ({{{www-data}}} for Apache2) (the backup file must be created if it does not exist):
  
  {{{
@@ -303,7 +303,21 @@
  razvan@swarm:~/public_html/horde/wicked/config$ touch conf.php conf.bak.php
  razvan@swarm:~/public_html/horde/wicked/config$ chmod 777 conf.php conf.bak.php
  }}}
  
- ==== Enable Creole markup ====
+ === Enable Creole markup ===
  
  The {{{Administration -&amp;gt; Setup -&amp;gt; Wicked}}} menu enables configuration of the built-in wiki. The usual configuration I&amp;#039;m doing is changing the default markup to Creole (the {{{$conf[wicked][format]}}} variable).
+ 
+ ==== Logging ====
+ 
+ By default, Horde logs information in {{{/tmp/horde}}}. Configuration can be altered through the use of the web interface ({{{Administration -&amp;gt; Setup -&amp;gt; Horde -&amp;gt; Logging}}}) or by using the {{{$HORDE_INSTALL_DIR/config/conf.php}}} file:
+ 
+ {{{
+ $conf[&amp;#039;log&amp;#039;][&amp;#039;priority&amp;#039;] = PEAR_LOG_NOTICE;
+ $conf[&amp;#039;log&amp;#039;][&amp;#039;ident&amp;#039;] = &amp;#039;HORDE&amp;#039;;
+ $conf[&amp;#039;log&amp;#039;][&amp;#039;params&amp;#039;] = array();
+ $conf[&amp;#039;log&amp;#039;][&amp;#039;name&amp;#039;] = &amp;#039;/tmp/horde.log&amp;#039;;
+ $conf[&amp;#039;log&amp;#039;][&amp;#039;params&amp;#039;][&amp;#039;append&amp;#039;] = true;
+ $conf[&amp;#039;log&amp;#039;][&amp;#039;type&amp;#039;] = &amp;#039;file&amp;#039;;
+ $conf[&amp;#039;log&amp;#039;][&amp;#039;enabled&amp;#039;] = true;
+ }}}

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/mailman?rev=1595225814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T09:16:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Mailman Tips &amp; Tricks</title>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/tutorials/mailman?rev=1595225814&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1 +1,6 @@
+ ====== Mailman Tips &amp;amp; Tricks ======
  
+   *  In order to allow diacritics support in Mailman digest messages, use the following link: http://markmail.org/message/2zu4mrawjqpraycv
+     *  On Debian, update the {{{/usr/lib/mailman/Mailman/Defaults.py}}} file to use the line below (update the line with the {{{&amp;#039;en&amp;#039;}}} language):&amp;lt;code&amp;gt;
+ add_language(&amp;#039;en&amp;#039;,    _(&amp;#039;English (USA)&amp;#039;),       &amp;#039;utf-8&amp;#039;,    &amp;#039;ltr&amp;#039;)
+ &amp;lt;/code&amp;gt;

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/redmine?rev=1595225814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T09:16:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Redmine</title>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/tutorials/redmine?rev=1595225814&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1,85 +1,85 @@
- = Redmine =
+ ====== Redmine ======
  
- * Install and configure Redmine on Debian
+   *  Install and configure Redmine on Debian
  
- == Installation ==
+ ===== Installation =====
  
- * Debian GNU/Linux Testing (squeeze) repositories contain a Redmine package. If you are using Debian GNU/Linux Lenny (stable version), make sure you add a //testing// repository in {{{/etc/apt/sources.list}}}&amp;lt;code&amp;gt;
+   *  Debian GNU/Linux Testing (squeeze) repositories contain a Redmine package. If you are using Debian GNU/Linux Lenny (stable version), make sure you add a //testing// repository in {{{/etc/apt/sources.list}}}&amp;lt;code&amp;gt;
  deb http://ftp.ro.debian.org/debian testing main contrib non-free
  deb-src http://ftp.ro.debian.org/debian testing main contrib non-free
  &amp;lt;/code&amp;gt;
- * Update packages &amp;amp; install Redmine using {{{apt-get}}}:&amp;lt;code&amp;gt;
+   *  Update packages &amp;amp; install Redmine using {{{apt-get}}}:&amp;lt;code&amp;gt;
  rosedu:~# apt-get update
  rosedu:~# apt-get install redmine
  &amp;lt;/code&amp;gt;
- * In the configuration dialog, I prefer selecting an [[http://www.sqlite.org/ | sqlite3]] database as there is no need for a database daemon or configuration overhead.
- * In case of using Debian GNU/Linux Lenny, I sugest uncommeting the above lines from {{{/etc/apt/sources.list}}}.
- == Configuration ==
+   *  In the configuration dialog, I prefer selecting an [[http://www.sqlite.org/ | sqlite3]] database as there is no need for a database daemon or configuration overhead.
+   *  In case of using Debian GNU/Linux Lenny, I sugest uncommeting the above lines from {{{/etc/apt/sources.list}}}.
+ ===== Configuration =====
  
- * Important files/folders:
- ** {{{/usr/share/redmine/}}} - Redmine installation folder
- ** {{{/etc/redmine/}}} - Redmine configuration folder
- ** {{{/etc/redmine/default/}}} - default Redmine instance configuration folder
- ** {{{/etc/redmine/default/database.yml}}} - default Redmine instance database configuration file
- ** {{{/etc/dbconfig-common/redmine/instances/default.conf}}} - default Redmine instance dbconfig configuration file
- ** {{{/usr/share/doc/redmine/}}} - Redmine Debian documentation
- === Apache2 integration ===
+   *  Important files/folders:
+     *  {{{/usr/share/redmine/}}} - Redmine installation folder
+     *  {{{/etc/redmine/}}} - Redmine configuration folder
+     *  {{{/etc/redmine/default/}}} - default Redmine instance configuration folder
+     *  {{{/etc/redmine/default/database.yml}}} - default Redmine instance database configuration file
+     *  {{{/etc/dbconfig-common/redmine/instances/default.conf}}} - default Redmine instance dbconfig configuration file
+     *  {{{/usr/share/doc/redmine/}}} - Redmine Debian documentation
+ ==== Apache2 integration ====
  
- * Use sample configuration file to Apache2 {{{conf.d/}}} folder (I&amp;#039;m using an Apache2 host) ({{{/usr/share/doc/redmine/apache2-alias}}})
- * Update configuration file to suit your needs.
- * Make sure {{{mod_rewrite}}} and {{{mod_fcgid}}} are enabled:&amp;lt;code&amp;gt;
+   *  Use sample configuration file to Apache2 {{{conf.d/}}} folder (I&amp;#039;m using an Apache2 host) ({{{/usr/share/doc/redmine/apache2-alias}}})
+   *  Update configuration file to suit your needs.
+   *  Make sure {{{mod_rewrite}}} and {{{mod_fcgid}}} are enabled:&amp;lt;code&amp;gt;
  rosedu:/usr/share/doc/redmine# a2enmod rewrite
  Module rewrite already enabled
  rosedu:/usr/share/doc/redmine# a2enmod fcgid
  Module fcgid already enabled
  &amp;lt;/code&amp;gt;
- * Restart Apache in order to deploy the configuration.&amp;lt;code&amp;gt;
- # /etc/init.d/apache2 restart
+   *  Restart Apache in order to deploy the configuration.&amp;lt;code&amp;gt;
+   -  /etc/init.d/apache2 restart
  &amp;lt;/code&amp;gt;
  
- === Basic configuration ===
+ ==== Basic configuration ====
  
- * The default administrative account is admin (default password is {{{admin}}})
- * After logging in, it is advised to update the {{{admin}}} account, change password etc.
- * Go to {{{Administration -&amp;gt; Information}}} for a quick checklist of the installation.
- * You should browse the {{{Administration -&amp;gt; Settings}}} menu and configure basic setting for the Redmine installation.
+   *  The default administrative account is admin (default password is {{{admin}}})
+   *  After logging in, it is advised to update the {{{admin}}} account, change password etc.
+   *  Go to {{{Administration -&amp;gt; Information}}} for a quick checklist of the installation.
+   *  You should browse the {{{Administration -&amp;gt; Settings}}} menu and configure basic setting for the Redmine installation.
+ ==== LDAP authentication ====
  
- === LDAP configuration ===
+   *  Please check [[http://www.redmine.org/wiki/1/RedmineLDAP | the official page]] on Redmine LDAP authentication.
+   *  Go to {{{Administration -&amp;gt; Settings -&amp;gt; Authentication}}}.
+   *  Click on the LDAP authentication link and fill required fields. For my particular LDAP installation, I filled the following:
+     *  **Name**: swarm.cs.pub.ro LDAP authentication
+     *  **Host**: swarm.cs.pub.ro
+     *  **Port**: 636, LDAPS
+     *  **Account**: N/A 
+     *  **Password**: N/A
+     *  **Base DN**: dc=swarm,dc=cs,dc=pub,dc=ro
+     *  **On-the-fly user creation**: checked
+     *  Attributes
+       *  **Login**: uid
+       *  **Firstname**: givenName
+       *  **Lastname**: sn
+       *  **Email**: mail
+   *  The **on-the-fly user creation** option allows users to register into Redmine. You don&amp;#039;t have to create a Redmine account. Authentication is going to be handled through LDAP.
  
- * Go to {{{Administration -&amp;gt; Settings -&amp;gt; Authentication}}}.
- * Click on the LDAP authentication link and fill required fields. For my particular LDAP installation, I filled the following:
- ** **Name**: swarm.cs.pub.ro LDAP authentication
- ** **Host**: swarm.cs.pub.ro
- ** **Port**: 636, LDAPS
- ** **Account**: N/A 
- ** **Password**: N/A
- ** **Base DN**: dc=swarm,dc=cs,dc=pub,dc=ro
- ** **On-the-fly user creation**: checked
- ** Attributes
- *** **Login**: uid
- *** **Firstname**: givenName
- *** **Lastname**: sn
- *** **Email**: mail
- * The **on-the-fly user creation** option allows users to register into Redmine. You don&amp;#039;t have to create a Redmine account. Authentication is going to be handled through LDAP.
+ ==== HTTPS access ====
  
- === HTTPS access ===
- 
- * Create an HTTPS-able Virtual Host and add the following line to the HTTP Virtual Host:&amp;lt;code&amp;gt;
+   *  Create an HTTPS-able Virtual Host and add the following line to the HTTP Virtual Host:&amp;lt;code&amp;gt;
  Redirect permanent / https://mydomain.com
  &amp;lt;/code&amp;gt;
  
- = Old Redmine installation tutorial =
+ ====== Old Redmine installation tutorial ======
  
- * This tutorial draft is part of the work of installing Redmine from source on a Debian GNU/Linux Testing (squeeze) system.
+   *  This tutorial draft is part of the work of installing Redmine from source on a Debian GNU/Linux Testing (squeeze) system.
  
- == System settings ==
+ ===== System settings =====
  
- * Debian GNU/Linux Testing (squeeze)&amp;lt;code&amp;gt;
+   *  Debian GNU/Linux Testing (squeeze)&amp;lt;code&amp;gt;
  ixlabs:~# cat /etc/issue
  Debian GNU/Linux squeeze/sid \n \l
  &amp;lt;/code&amp;gt;
- * kernel 2.6.30, CPU Pentium 4 2.66GHz, 1GB RAM&amp;lt;code&amp;gt;
+   *  kernel 2.6.30, CPU Pentium 4 2.66GHz, 1GB RAM&amp;lt;code&amp;gt;
  ixlabs:~# uname -a
  Linux ixlabs 2.6.30-2-686 #1 SMP Sat Sep 26 01:16:22 UTC 2009 i686 GNU/Linux
  
  ixlabs:~# lscpu
@@ -101,56 +101,56 @@
  Mem:           470        441         29          0         67        188
  -/+ buffers/cache:        186        284
  Swap:         3835         11       3823
  &amp;lt;/code&amp;gt;
- * Apache 2.2.14&amp;lt;code&amp;gt;
+   *  Apache 2.2.14&amp;lt;code&amp;gt;
  ixlabs:~# apache2 -v       
  Server version: Apache/2.2.14 (Debian)
  Server built:   Sep 29 2009 19:02:20
  &amp;lt;/code&amp;gt;
  
- == Scripts ==
+ ===== Scripts =====
  
- * The scripts used throughout the process are stored in [[http://www.example.com|this Git repository]].
+   *  The scripts used throughout the process are stored in [[http://www.example.com|this Git repository]].
  
- == Installation steps ==
+ ===== Installation steps =====
  
- === Install Packages ===
+ ==== Install Packages ====
  
  &amp;lt;code&amp;gt;
  apt-get install ruby rubygems ruby-dev libgemplugin-ruby libruby-extras rails rake subversion git-core libapache2-svn
  &amp;lt;/code&amp;gt;
  
- === Download Redmine ===
+ ==== Download Redmine ====
  
- * I&amp;#039;m using Subversion to checkout the latest stable branch as described on the [[http://www.redmine.org/wiki/redmine/Download|Redmine download page]].&amp;lt;code&amp;gt;
+   *  I&amp;#039;m using Subversion to checkout the latest stable branch as described on the [[http://www.redmine.org/wiki/redmine/Download|Redmine download page]].&amp;lt;code&amp;gt;
  mkdir -p $FULL_CHECKOUT_PATH
  svn co http://redmine.rubyforge.org/svn/branches/0.8-stable $FULL_CHECKOUT_PATH
  &amp;lt;/code&amp;gt;
- * {{{FULL_CHECKOUT_PATH}}} is the root folder for the Redmine instance; it&amp;#039;s {{{/usr/local/lib/redmine-0.8/}}} in my case.
+   *  {{{FULL_CHECKOUT_PATH}}} is the root folder for the Redmine instance; it&amp;#039;s {{{/usr/local/lib/redmine-0.8/}}} in my case.
  
- == Configuration steps ==
+ ===== Configuration steps =====
  
- === Update Rails version ===
+ ==== Update Rails version ====
  
- * The current Redmine stable version (0.8.6, on October 14, 2009) defaults to using Rails 2.1.2.
- * My Debian (squeeze) installation uses Rails 2.2.3&amp;lt;code&amp;gt;
+   *  The current Redmine stable version (0.8.6, on October 14, 2009) defaults to using Rails 2.1.2.
+   *  My Debian (squeeze) installation uses Rails 2.2.3&amp;lt;code&amp;gt;
  ixlabs:~/repo-admin/ixlabs/redmine# dpkg -l rails
  Desired=Unknown/Install/Remove/Purge/Hold
  | Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
  |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
  ||/ Name           Version        Description
  +++-==============-==============-============================================
  ii  rails          2.2.3-1        MVC ruby based framework geared for web appl
  &amp;lt;/code&amp;gt;
- * I have to comment out the {{{RUBY_GEM_VERSION}}} variable definition in {{{$FULL_CHECKOUT_PATH/config/environment.rb}}} to use the latest installed version&amp;lt;code&amp;gt;
- #RAILS_GEM_VERSION = &amp;#039;2.1.2&amp;#039; unless defined? RAILS_GEM_VERSION
+   *  I have to comment out the {{{RUBY_GEM_VERSION}}} variable definition in {{{$FULL_CHECKOUT_PATH/config/environment.rb}}} to use the latest installed version&amp;lt;code&amp;gt;
+   - RAILS_GEM_VERSION = &amp;#039;2.1.2&amp;#039; unless defined? RAILS_GEM_VERSION
  &amp;lt;/code&amp;gt;
  
- === Configure the database ===
+ ==== Configure the database ====
  
- * I&amp;#039;m using MySQL as database backend.
- * First step is creating the database:&amp;lt;code&amp;gt;
+   *  I&amp;#039;m using MySQL as database backend.
+   *  First step is creating the database:&amp;lt;code&amp;gt;
  mysql&amp;gt; create database redmine;
  Query OK, 1 row affected (0.00 sec)
  
  mysql&amp;gt; grant all privileges on redmine.* to &amp;#039;redmine&amp;#039;@&amp;#039;localhost&amp;#039; identified by &amp;#039;om0Tayui&amp;#039;;
@@ -158,7 +158,7 @@
  
  mysql&amp;gt; flush privileges;
  Query OK, 0 rows affected (0.00 sec)
  &amp;lt;/code&amp;gt;
- * I&amp;#039;m using the following script to configure the database for Redmine:&amp;lt;code&amp;gt;
+   *  I&amp;#039;m using the following script to configure the database for Redmine:&amp;lt;code&amp;gt;
  
  &amp;lt;/code&amp;gt;

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/redmine_svn_integration?rev=1595225814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T09:16:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Redmine and Subversion integration</title>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/tutorials/redmine_svn_integration?rev=1595225814&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1,15 +1,15 @@
- = Redmine and Subversion integration =
+ ====== Redmine and Subversion integration ======
  
- * This tutorial is about using native Redmine accounts for Subversion repository access.
- * Useful links
- ** [[http://www.redmine.org/|Redmine]]
- ** [[http://subversion.tigris.org/|Subversion]]
- ** [[http://www.redmine.org/wiki/redmine/Repositories_access_control_with_apache_mod_dav_svn_and_mod_perl|Repository acces control with Apache, mod_dav, svn and mod_perl]]
+   *  This tutorial is about using native Redmine accounts for Subversion repository access.
+   *  Useful links
+     *  [[http://www.redmine.org/|Redmine]]
+     *  [[http://subversion.tigris.org/|Subversion]]
+     *  [[http://www.redmine.org/wiki/redmine/Repositories_access_control_with_apache_mod_dav_svn_and_mod_perl|Repository acces control with Apache, mod_dav, svn and mod_perl]]
  
- == System settings ==
+ ===== System settings =====
  
- * Debian GNU/Linux 5.0 Lenny, Apache2, MySQL5, Redmine 0.8&amp;lt;code&amp;gt;
+   *  Debian GNU/Linux 5.0 Lenny, Apache2, MySQL5, Redmine 0.8&amp;lt;code&amp;gt;
  koala:~# cat /etc/issue
  Debian GNU/Linux 5.0 \n \l
  
  koala:~# uname -a
@@ -26,30 +26,30 @@
  Path: .
  URL: http://redmine.rubyforge.org/svn/branches/0.8-stable
  &amp;lt;/code&amp;gt;
  
- * Redmine installation folder is {{{/usr/local/lib/redmine-0.8}}}.
+   *  Redmine installation folder is {{{/usr/local/lib/redmine-0.8}}}.
  
  
- == First steps ==
+ ===== First steps =====
  
- * install required packages&amp;lt;code&amp;gt;
+   *  install required packages&amp;lt;code&amp;gt;
  apt-get install libapache2-svn libapache-dbi-perl libapache2-mod-perl2 libdbd-mysql-perl libdigest-sha1-perl
  &amp;lt;/code&amp;gt;
- * enable Apache2 modules&amp;lt;code&amp;gt;
+   *  enable Apache2 modules&amp;lt;code&amp;gt;
  a2enmod dav
  a2enmod dav_svn
  a2enmod perl
  &amp;lt;/code&amp;gt;
  
- == Apache2 configuration ==
+ ===== Apache2 configuration =====
  
- * Perl module configuration&amp;lt;code&amp;gt;
+   *  Perl module configuration&amp;lt;code&amp;gt;
  koala:~# cd /usr/lib/perl5/Apache/
  koala:/usr/lib/perl5/Apache# ln -sf /usr/local/lib/redmine-0.8/extra/svn/Redmine.pm .
  &amp;lt;/code&amp;gt;
- ** It&amp;#039;s {{{/usr/lib/perl5/Apache/}}}, **not** {{{/usr/lib/perl5/Apache2/}}}
- * Add the following lines to the Apache2 site configuration file&amp;lt;code&amp;gt;
+     *  It&amp;#039;s {{{/usr/lib/perl5/Apache/}}}, **not** {{{/usr/lib/perl5/Apache2/}}}
+   *  Add the following lines to the Apache2 site configuration file&amp;lt;code&amp;gt;
  	PerlLoadModule Apache::Redmine
  	&amp;lt;Location /svn/redmine&amp;gt;
  		DAV svn
  		SVNParentPath &amp;quot;/var/svn/redmine&amp;quot; 
@@ -70,16 +70,19 @@
  &amp;lt;/code&amp;gt;
  
  Replace {{{databasename}}}, {{{my.db.server}}}, {{{&amp;quot;redmine&amp;quot;}}} and {{{&amp;quot;password&amp;quot;}}} with valid data.
  
- == Git integration ==
+ ===== Git integration =====
  
- === Prepare ===
+ ==== Prepare ====
  
- * Enable {{{dav_fs}}} module&amp;lt;code&amp;gt;
+   *  Enable {{{dav_fs}}} module&amp;lt;code&amp;gt;
  a2enmod dav_fs
  &amp;lt;/code&amp;gt;
- * Add the following lines to the Apache2 site configuration file&amp;lt;code&amp;gt;
+   *  Register repositories in Apache2&amp;lt;code&amp;gt;
+ ./reposman.rb -s /var/git/redmine/ --owner www-data -r http://koala.cs.pub.ro/redmine -u http://koala.cs.pub.ro/git/redmine --scm git -f
+ &amp;lt;/code&amp;gt;
+   *  Add the following lines to the Apache2 site configuration file&amp;lt;code&amp;gt;
  	Alias /git/redmine	/var/git/redmine/
  	&amp;lt;Location /git/redmine&amp;gt;
  		DAV on
  

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/start?rev=1595225814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T09:16:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Tutorials</title>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/tutorials/start?rev=1595225814&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1 +1,3 @@
+ ====== Tutorials ======
  
+ {{indexmenu&amp;gt;.#1|js}}

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/swftools?rev=1595225814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T09:16:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Pentru cei grăbiţi</title>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/tutorials/swftools?rev=1595225814&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1 +1,144 @@
+ [http://www.swftools.org SWF Tools] este o colecţie de utilitare care permit manipularea şi crearea de fişiere SWF.
  
+ ====== Pentru cei grăbiţi ======
+ 
+ Pentru cei care se grăbesc, paşii care trebuie urmaţi sunt:
+ 
+   -  descărcarea şi instalarea swftools; site-ul de download este [http://www.swftools.org/download.html acesta]
+   -  adăugarea directorului de instalare la variabila de mediu &amp;lt;tt&amp;gt;PATH&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;My Computer-&amp;gt;Properties-&amp;gt;Advanced-&amp;gt;Environment Variable&amp;lt;/tt&amp;gt;)
+   -  conversia din PDF în SWF:&amp;lt;pre&amp;gt;pdf2swf filename.pdf -o tmp.swf&amp;lt;/pre&amp;gt;
+   -  adăugarea unui viewer:&amp;lt;pre&amp;gt;swfcombine -o output_filename.swf &amp;quot;D:\Software\swftools\swfs\simple_viewer.swf&amp;quot; viewport=tmp.swf&amp;lt;/pre&amp;gt;calea &amp;lt;tt&amp;gt;D:\Software\swftools\&amp;lt;/tt&amp;gt; este calea către directorul de instalare de pe sistemul meu; trebuie înlocuită cu calea proprie de instalare; &amp;lt;tt&amp;gt;tmp.swf&amp;lt;/tt&amp;gt; este fişierul SWF obţinut la pasul anterior
+   -  generarea unui fişier HTML care să permită vizualizarea paginilor din fişierul PDF în format navigabil:&amp;lt;pre&amp;gt;swfdump --html output_filename.swf &amp;gt; output_filename.html&amp;lt;/pre&amp;gt;&amp;lt;tt&amp;gt;output_filename.swf&amp;lt;/tt&amp;gt; este numele fişierului SWF obţinut la pasul anterior
+ 
+ ====== Instalare SWF Tools ======
+ 
+ Pentru instalare trebuie obţinute pachetul asociat din pagina de [http://www.swftools.org/download.html download] a SWF Tools. Directorul de instalare include utilitarele incluse în SWF Tools, şi un set de directoare specifice:
+ 
+ &amp;lt;pre&amp;gt;
+ D:\Software\swftools&amp;gt;dir /b
+ font2swf.exe
+ fonts
+ gif2swf.exe
+ jpeg2swf.exe
+ pdf2swf.exe
+ png2swf.exe
+ python
+ swfbbox.exe
+ swfc.exe
+ swfcombine.exe
+ swfdump.exe
+ swfextract.exe
+ swfs
+ swfstrings.exe
+ wav2swf.exe
+ &amp;lt;/pre&amp;gt;
+ 
+ Pentru o utilizare facilă, se recomandă adăugarea căii către aceste executabile în PATH. Pe Windows, acest lucru se realizează accesând click dreapta My Computer-&amp;gt;Properties-&amp;gt;Advanced-&amp;gt;Environment Variables şi configurarea variabilei Path:
+ 
+ &amp;lt;pre&amp;gt;
+ c:\program files\imagemagick-6.3.4-q16;C:\Program Files\MiKTeX 2.6\miktex\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;D:\Software\swftools
+ &amp;lt;/pre&amp;gt;
+ 
+ În acest fel veţi avea acces la utilitarele care vin cu SWF Tools:
+ &amp;lt;pre&amp;gt;
+ D:\&amp;gt;pdf2swf
+ Usage: pdf2swf [Options] input.pdf [-o output.swf]
+ 
+ Basic options:
+ -p  --pages=range          Convert only pages in range
+ [...]
+ &amp;lt;/pre&amp;gt;
+ 
+ ====== Creare pagina HTML/SWF dintr-un fişier PDF ======
+ 
+ SWF Tools poate fi utilizat pentru crearea unei pagini web care să permită citirea unui text aflat iniţial în format PDF. Se presupune că aveţi acces la un fişier .pdf.
+ 
+ ===== Crearea fişierului SWF =====
+ 
+ Primul pas îl constituie crearea unui fişier SWF din fişierul PDF. Acest lucru se realizează cu ajutorul comenzii pdf2swf:
+ 
+ &amp;lt;pre&amp;gt;
+ D:\&amp;gt;pdf2swf &amp;quot;Masuri preventive.pdf&amp;quot;
+ NOTICE  Output filename not given. Writing to Masuri preventive.swf
+ NOTICE  Adding D:\software\swftools\fonts to font directories
+ Title:        Microsoft Word - 10 - Masuri preventive pentru buna intretinere a unei retele.doc
+ Author:       Razvan
+ Creator:      PScript5.dll Version 5.2
+ Producer:     GPL Ghostscript 8.15
+ CreationDate: 20070810150253
+ ModDate:      20070810150253
+ Pages:        7
+ Linearized:   no
+ Encrypted:    no
+ NOTICE  processing PDF page 1 (612x792:0:0) (move:0:0)
+ NOTICE  processing PDF page 2 (612x792:0:0) (move:0:0)
+ NOTICE  processing PDF page 3 (612x792:0:0) (move:0:0)
+ NOTICE  processing PDF page 4 (612x792:0:0) (move:0:0)
+ NOTICE  processing PDF page 5 (612x792:0:0) (move:0:0)
+ NOTICE  processing PDF page 6 (612x792:0:0) (move:0:0)
+ NOTICE  processing PDF page 7 (612x792:0:0) (move:0:0)
+ NOTICE  SWF written
+ &amp;lt;pre&amp;gt;
+ 
+ Se va observă că s-a general fişierul Masuri preventive.swf
+ 
+ &amp;lt;pre&amp;gt;
+ D:\&amp;gt;dir /b
+ [..]
+ Masuri preventive.pdf
+ Masuri preventive.swf
+ [..]
+ &amp;lt;/pre&amp;gt;
+ 
+ Se poate preciza numele fişierului de ieşire prin transmiterea opţiunii -o:
+ 
+ &amp;lt;pre&amp;gt;
+ D:\&amp;gt;pdf2swf &amp;quot;Masuri preventive.pdf&amp;quot; -o tmp.swf
+ [...]
+ &amp;lt;/pre&amp;gt;
+ 
+ ===== Crearea fişierului SWF cu posibilitate de browsing =====
+ 
+ Dacă s-ar obţine un fişier HTML care să permită folosirea fişierului SWF generat anterior, nu ar exista o facilitate de navigare prin paginile documentului. Există un timp de citire, după care se realizează trecerea automată la pagina următoare.
+ 
+ Pentru a adăuga posibilitatea de navigare a documentului în browser trebuie realizată legarea cu un viewer (linking a viewer). Un exemplu de viewer este simple_viewer.swf existent în subdirectorul swfs al directorului de instalare SWF Tools:
+ 
+ &amp;lt;pre&amp;gt;
+ D:\Software\swftools&amp;gt;cd swfs
+ 
+ D:\Software\swftools\swfs&amp;gt;dir
+  Volume in drive D has no label.
+  Volume Serial Number is 581B-F34A
+ 
+  Directory of D:\Software\swftools\swfs
+ 
+ 07/24/2007  12:45 PM    &amp;lt;DIR&amp;gt;          .
+ 07/24/2007  12:45 PM    &amp;lt;DIR&amp;gt;          ..
+ 07/24/2007  12:45 PM            12,080 default_loader.swf
+ 07/24/2007  12:45 PM               510 default_viewer.swf
+ 07/24/2007  12:45 PM               371 keyboard_viewer.swf
+ 07/24/2007  12:45 PM               126 PreLoaderTemplate.swf
+ 07/24/2007  12:45 PM               510 simple_viewer.swf
+ 07/24/2007  12:45 PM            12,080 swft_loader.swf
+ 07/24/2007  12:45 PM            11,244 tessel_loader.swf
+                7 File(s)         36,921 bytes
+                2 Dir(s)     711,135,232 bytes free
+ &amp;lt;/pre&amp;gt;
+ 
+ Legarea viewer-ului la fişierul SWF pentru a obţine un fişier SWF navigabil (browseable), se realizează cu ajutorul comenzii swfcombine:
+ 
+ &amp;lt;pre&amp;gt;
+ D:\&amp;gt;swfcombine -o masuri_browse.swf &amp;quot;D:\Software\swftools\swfs\simple_viewer.swf&amp;quot; viewport=tmp.swf
+ &amp;lt;/pre&amp;gt;
+ 
+ ===== Creare fişier HTML =====
+ 
+ De obicei, fişierul SWF va fi folosit pentru a fi urmărit într-un browser. Pentru aceasta, va trebui să includem fişierul SWF într-o pagină HTML. Pentru aceasta, vom folosi comanda swfdump:
+ 
+ &amp;lt;pre&amp;gt;
+ D:\&amp;gt;swfdump --html masuri_browse.swf &amp;gt; masuri.html
+ &amp;lt;/pre&amp;gt;
+ 
+ ===== Vizualizare prin browser =====
+ 
+ Va trebui să copiaţi pe un sistem cu server web fişierele SWF şi HTML (în cazul de faţă masuri_browse.swf şi masuri.html). Veţi accesa URL-ul asociat fişierului HTML şi veţi putea naviga prin document folosind cele două săgeţi care vă apar în colţul din stânga sus.

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/trac?rev=1595225814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T09:16:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorials:trac</title>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/tutorials/trac?rev=1595225814&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1 +1,115 @@
+ [http://trac.edgewall.org/wiki/TracInstall TracInstall Wiki page]
  
+   *  descărcat surse trac:
+  icup@anaconda:~$ wget http://ftp.edgewall.com/pub/trac/trac-0.10.4.tar.gz
+  --13:51:39--  http://ftp.edgewall.com/pub/trac/trac-0.10.4.tar.gz
+            =&amp;gt; `trac-0.10.4.tar.gz&amp;#039;
+  [...]
+ 
+   *  dezarhivat:
+  icup@anaconda:~/src$ tar xzf trac-0.10.4.tar.gz
+  icup@anaconda:~/src$ ls
+  trac-0.10.4  trac-0.10.4.tar.gz
+  icup@anaconda:~/src$ ln -s trac-0.10.4 trac
+  icup@anaconda:~/src$ ls
+  trac  trac-0.10.4  trac-0.10.4.tar.gz
+ 
+   *  instalat
+  icup@anaconda:~/src/trac$ python setup.py install --prefix=/home/projects/icup/apps/trac
+ 
+   *  adăugat cale în PATH:
+  PATH=$PATH:/home/projects/icup/apps/trac/bin
+ 
+   *  creare repository SVN
+  icup@anaconda:~$ svnadmin create svn/
+ 
+   *  adăugat directoarele principale în repository:
+  icup@anaconda:~/junk$ svn import . file:///home/projects/icup/svn
+  Adding         trunk
+  Adding         branches
+  Adding         svn-commit.tmp
+  Adding         tags
+  
+  Committed revision 1.
+  
+   *  verificat că e totul OK:
+  icup@anaconda:~/junk$ svn list file:///home/projects/icup/svn
+  branches/
+  tags/
+  trunk/
+ 
+   *  creat mediu trac
+  icup@anaconda:~$ apps/trac/bin/trac-admin trac initenv
+  Creating a new Trac environment at /home/projects/icup/trac/
+  [...]
+  Project Name [My Project]&amp;gt; Imagine Cup
+  [...]
+  Database connection string [sqlite:db/trac.db]&amp;gt;    (NOTE: default)
+  [...]
+  Repository type [svn]&amp;gt;     (NOTE: default)
+  [...]
+  Path to repository [/path/to/repos]&amp;gt;/
+  [...]
+  Templates directory [/usr/share/trac/templates]&amp;gt; /home/projects/icup/apps/trac/share/trac/templates
+  [...]
+ 
+   *  testat (nu a mers)
+  icup@anaconda:~$ apps/trac/bin/tracd --port 8000 /home/projects/icup/trac &amp;amp;
+  [1] 28759
+ 
+   *  configurare server web (necesită drepturi de administrator - nu ştiu cum să fac pentru a nu fi nevoie de găzduire virtuală; trebuie şi intrare DNS)
+  &amp;lt;VirtualHost *:80&amp;gt;
+          ServerName icup.anaconda.cs.pub.ro
+          DocumentRoot /home/projects/icup/public_html
+  
+          ScriptAlias /trac /home/projects/icup/apps/trac/share/trac/cgi-bin/trac.cgi         &amp;lt;Location &amp;quot;/trac&amp;quot;&amp;gt;
+                  SetEnv TRAC_ENV_PARENT_DIR /home/projects/icup/trac
+                  SetEnv PYTHON_EGG_CACHE /usr/lib/python2.4/site-packages/TracWebAdmin-0.1.2dev-py2.4.egg         &amp;lt;/Location&amp;gt;
+  
+          &amp;lt;Location &amp;quot;/trac/login&amp;quot;&amp;gt;
+                  AuthType Basic
+                  AuthName &amp;quot;Trac&amp;quot;
+                  AuthUserFile /home/projects/icup/misc/trac.htpasswd
+                  Require valid-user
+          &amp;lt;/Location&amp;gt;
+  &amp;lt;/VirtualHost&amp;gt;
+ 
+   *  se reporneşte server-ul web
+  anaconda:/var/svn-repos# /etc/init.d/apache restart
+  Restarting apache 1.3 web server....
+ 
+   *  se accesează pagina web asociată: http://icup.anaconda.cs.pub.ro/trac (it works!)
+ 
+   *  se creează conturi pentru autentificare
+  icup@anaconda:~$ cd misc/
+  icup@anaconda:~/misc$ htpasswd -c trac.htpasswd razvan
+  New password:
+  Re-type new password:
+  Adding password for user razvan
+ 
+   *  se verifică autentificarea: http://icup.anaconda.cs.pub.ro/trac/login (sau click pe link-ul &amp;#039;Login&amp;#039; din Trac) (merge şi aici!)
+ 
+   *  se verifică svn source browsing: http://icup.anaconda.cs.pub.ro/trac/browser (sau click pe link-ul &amp;#039;Browse Source&amp;#039; din Trac) (merge şi aici! job well done!)
+ 
+   *  verificat funcţionare svn (folosesc svn+ssh):
+  razvan@ragnarok:~/junk$ svn co svn+ssh://icup@anaconda.cs.pub.ro/home/projects/icup/svn
+  Password:
+  A    svn/trunk
+  A    svn/branches
+  A    svn/tags
+  Checked out revision 1.
+  razvan@ragnarok:~/junk$ ls svn/
+  branches  tags  trunk
+ 
+   *  adăugat cheie publică pentru uşurinţă în lucru
+  razvan@ragnarok:~$ scp ~/.ssh/id_rsa.pub icup@anaconda.cs.pub.ro:misc/id_rsa_razvan.pub
+  Password:
+  id_rsa.pub
+ 
+  icup@anaconda:~/misc$ cat id_rsa_razvan.pub &amp;gt;&amp;gt; /home/projects/icup/.ssh/authorized_keys
+ 
+  razvan@ragnarok:~/junk$ svn co svn+ssh://icup@anaconda.cs.pub.ro/home/projects/icup/svn
+  A    svn/trunk
+  A    svn/branches
+  A    svn/tags
+  Checked out revision 1.

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/tribler_on_debian?rev=1595225814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T09:16:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Get Tribler sources</title>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/tutorials/tribler_on_debian?rev=1595225814&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1 +1,31 @@
+ This document presents the steps required to run Tribler on Debian 4.0 (Etch)
  
+ ==== Get Tribler sources ====
+ 
+   *  download sources
+   * :&amp;lt;pre&amp;gt;$ wget http://tribler.org/downloads/15 -O tribler-src.zip&amp;lt;/pre&amp;gt;
+   *  unzip source archive
+   * :&amp;lt;pre&amp;gt;$ unzip tribler-src.zip&amp;lt;/pre&amp;gt;
+ 
+ ==== Install version 2.8 of wxPython-based libraries ====
+ 
+   *  useful link: http://wiki.wxpython.org/InstallingOnUbuntuOrDebian
+   *  import key (as root)
+   * :&amp;lt;pre&amp;gt;# curl http://apt.wxwidgets.org/key.asc | apt-key add -&amp;lt;/pre&amp;gt;
+   *  add repository; add following lines to &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt; (first line is a comment)
+   * :&amp;lt;pre&amp;gt;
+   * : # wxWidgets/wxPython repository at apt.wxwidgets.org
+   * : deb http://apt.wxwidgets.org/ etch-wx main
+   * : deb-src http://apt.wxwidgets.org/ etch-wx main  
+   * :&amp;lt;/pre&amp;gt;
+   *  update local package database (as root)
+   * :&amp;lt;pre&amp;gt;# apt-get update&amp;lt;/pre&amp;gt;
+   *  install required wxPython-based pakages (as root)
+   * :&amp;lt;pre&amp;gt;# apt-get install python-wxgtk2.8 python-wxtools python-wxaddons wx2.8-i18n&amp;lt;/pre&amp;gt;
+ 
+ ==== Run Tribler ====
+ 
+   *  You must be based in the Tribler root directory
+   * :&amp;lt;pre&amp;gt;$ python tribler.py&amp;lt;/pre&amp;gt;
+ 
+ ==== Enjoy ====

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="http://swarm.cs.pub.ro/~razvan/wiki/tutorials/video-editing?rev=1595225814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-20T09:16:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Video Editing</title>
        <link>http://swarm.cs.pub.ro/~razvan/wiki/tutorials/video-editing?rev=1595225814&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1,19 +1,40 @@
- = Video Editing =
+ ====== Video Editing ======
  
- Tools and use cases for video editing.
+ Open-source tools and use cases for video editing.
  
- == mencoder ==
+ ===== mencoder =====
  
- * Part of [[http://www.mplayerhq.hu|MPlayer]]
- * [[http://www.mplayerhq.hu/DOCS/HTML/en/mencoder.html|Basic usage of MEncoder]]
+   *  Part of [[http://www.mplayerhq.hu|MPlayer]]
+   *  [[http://www.mplayerhq.hu/DOCS/HTML/en/mencoder.html|Basic usage of MEncoder]]
  
- === Installation ===
+ ==== Installation ====
  
- === Usage ===
+   *  On Debian, use [[http://debian-multimedia.org/|debian-multimedia]] repository:
+     *  add repository URL (such as {{{deb http://www.debian-multimedia.org lenny main non-free}}}) to {{{/etc/apt/sources.list}}};
+     *  synchronize package index: {{{apt-get update}}}
+     *  install mencoder: {{{apt-get install mencoder}}}
  
- * convert a MTS file ([[http://en.wikipedia.org/wiki/AVCHD|AVCHD format]]) to an AVI file (MPEG4)&amp;lt;code&amp;gt;
+ ==== Usage ====
+ 
+   *  convert a MTS file ([[http://en.wikipedia.org/wiki/AVCHD|AVCHD format]]) to an AVI file (MPEG4)&amp;lt;code&amp;gt;
  mencoder $MTS_FILE -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=5000:aspect=16/9 -fps 50 -vf scale=1024:576 -ffourcc XVID -o $AVI_FILE
  &amp;lt;/code&amp;gt;
- * convert a MTS file ([[http://en.wikipedia.org/wiki/AVCHD|AVCHD format]]) to a MPEG file (MPEG2)&amp;lt;code&amp;gt;
+   *  convert a MTS file ([[http://en.wikipedia.org/wiki/AVCHD|AVCHD format]]) to a MPEG file (MPEG2)&amp;lt;code&amp;gt;
  mencoder $MTS_FILE -oac copy -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:aspect=16/9:threads=4 -ofps 50 -fps 50 -o $MPEG_FILE
  &amp;lt;/code&amp;gt;
+ 
+ ===== ffmpeg =====
+ 
+   *  [[http://www.ffmpeg.org/|ffmpeg home page]]
+ 
+ == Kino ===
+ 
+   *  [[http://www.kinodv.org/|Kino home page]]
+ 
+ ===== Cinefx =====
+ 
+   *  [[http://www.cinefx.org/|Cinefx home page]]
+ 
+ ===== HandBrake =====
+ 
+   *  [[http://handbrake.fr/|HandBrake home page]]

&lt;/pre&gt;</description>
    </item>
</rdf:RDF>
