%
% Achtung: Dateien muessen mit latin1-Encoding gespeichert werden!
% Attention: Files must be saved using latin1 encoding!
%

\chapter{Quassel-Core - Distributed IRC Client}

\emph{Version 0.1.2 -- Stand 23.09.2010\\
    \textcopyright\ Marcel Weiler, <marcel(at)eisfair(dot)org>\\
    \textcopyright\ 2001-2010 The Eisfair Team, <team(at)eisfair(dot)org>}


\section{Einleitung}

    Dieses Paket enth"alt den Kern des Quassel-IRC Clients (Version 0.7.1).

    Quassel basiert auf dem Client-Server-Modell: Die Kern-Anwendung kann
    auf einem immer mit dem Internet verbundenen Server ausgef"uhrt werden und
    ein oder mehrere Clients verbinden sich mit dem Kern. Auf diese Weise
    kann die Verbindung zum IRC aufrechterhalten werden,
    auch wenn die Clients beendet wurden.
    Vorbilder f"ur diese Funktionalit"at waren die Kombination aus Screen
    und textbasierten IRC-Clients wie Irssi oder WeeChat, teils IRC-Bouncer.

    Der Quassel-Client kann f"ur Windows, Linux und MacOS unter folgender
    Adresse heruntergeladen werden: \url{http://quassel-irc.org/downloads}


\section{Funktionen}

    Quassel erm"oglicht die gleichzeitige Verbindung zu mehreren IRC-Servern.
    F"ur die Verwaltung von Spitznamen, Abwesenheitsgrund etc. k"onnen
    unterschiedliche Identit"aten angelegt werden. Um die Eingabe h"aufig
    verwendeter Befehle zu erleichtern, ist es m"oglich \verb+Aliase+ anzulegen.
    Erweiterte Funktionen sind der \verb+Chat-Monitor+, in welchem die
    Unterhaltungen einer (konfigurierbaren) Auswahl an Kan"alen sowie eine 
	Webseitenvorschau f"ur URLs in der Unterhaltung angezeigt werden.

    Quassel speichert den Gespr"achsverlauf sowie die Benutzer und Passw"orter
    in einer SQLite-Datenbank. Beim Hochscrollen des Chatfensters werden
    "altere Ausschnitte des Verlaufs automatisch geladen. Auf diese Weise
    ist ein nahtloses Betrachten des zur"uckliegenden Gespr"achs m"oglich.

    Der Verlauf kann jedoch noch nicht direkt exportiert werden;
    ebenso gibt es im Moment keine einfache M"oglichkeit, l"anger
    zur"uckliegende Gespr"ache zu durchsuchen.

    Die Verbindung zwischen Client und Kern kann per SSL verschl"usselt werden.

    Die Einrichtung des Clients wird auf folgender Webseite inkl. Screenshots erkl"art:
    \url{http://bugs.quassel-irc.org/wiki/quassel-irc\#Connecting-to-the-core}

    Zum Anlegen neuer Benutzer und "Andern der Passw"orter bereits existierender
    Benutzer gibt es ein eigenes Untermen"u im eisfair Setup-Programm.


\section{Voraussetzungen}

    Dieses Paket ben"otigt mindestens die Base 1.6.5 sowie das CERTS Paket.


\section{Sicherung der Daten}

    Es wird empfohlen die Daten unter \verb+/data/packages/quassel-core/+
    in regelm"a"sigem Abstand zu sichern, da dort die SQLite Datenbank,
    sowie das Zertifikat und die Konfiguration gespeichert werden.
    Dies kann z.B. mit dem Paket rsnapshot o."a. erledigt werden.


\section{Installation}

    Das quassel-core Paket wird "uber das Setup-Men"u installiert. Wird eine
    "altere Paket-Version vorgefunden, so wird deren Konfiguration gesichert
    und das alte Paket deinstalliert bevor die neuen Programmdateien
    installiert und die Konfiguration "ubernommen wird.

    Bei einer Erstinstallation muss der quassel-core "uber einen Client
    konfiguriert werden. Dazu fragt der Client bei der ersten Verbindung
    die n"otigen Daten (Admin-User etc.) ab.


\section{Men"us im Setup-Programm}

    Das Hauptmen"u besteht aus den folgenden Punkten:

\begin{enumerate}
    \item View documentation: Zeigt diese Dokumentation an
    \item Edit configuration: "Offnet den Konfigurationseditor
    \item Advanced configuration file handling: Verwalten von Konfigurationen
    \item Quassel-Core status: Zeigt an, ob der quassel-core l"auft
    \item Start Quassel-Core: Startet den quassel-core
    \item Stop Quassel-Core: Beendet den quassel-core
    \item Restart Quassel-Core: Startet den quassel-core neu
    \item User Management: Untermen"u zum anlegen neuer Benutzer\\
	und "andern von Passw"ortern bestehender Benutzer
    \item[0.] Exit
\end{enumerate}

\newpage

    Das Untermen"u \verb+User Management+ besteht aus den folgenden Punkten:

\begin{enumerate}
    \item Add User to Database: Anlegen eines neuen Benutzers
    \item Change Password of User: Das Passwort eines bestehenden Users "andern
    \item[0.] Exit
\end{enumerate}

\section{Die Konfigurationsdatei}

    In der Konfigurationsdatei, die "uber das Men"u zug"anglich ist,
    sind folgende Parameter vorhanden; wer sie von Hand editieren will findet
    sie unter \verb+/etc/config.d/quassel-core+.

\begin{description}

\config{START\_QUASSEL\_CORE}{START\_QUASSEL\_CORE}{STARTQUASSELCORE}
        Sorgt daf"ur, das der quassel-core gestartet wird.
        
        G"ultige Werte: yes, no
        
        Standardeinstellung: \texttt{START\_QUASSEL\_CORE='no'}

\config{QUASSEL\_CORE\_PORT}{QUASSEL\_CORE\_PORT}{QUASSELCOREPORT}
        Hier wird der Port eingestellt auf dem quassel-core laufen soll
        
        G"ultige Werte: Port
        
        Standardeinstellung: \texttt{QUASSEL\_CORE\_PORT='4242'}

\config{QUASSEL\_CORE\_LOG\_LEVEL}{QUASSEL\_CORE\_LOG\_LEVEL}{QUASSELCORELOGLEVEL}
        Mit diesem Parameter wird das Loglevel eingestellt.
        
        G"ultige Werte: debug, info, warning, error
        
        Standardeinstellung: \texttt{QUASSEL\_CORE\_LOG\_LEVEL='info'}

\config{QUASSEL\_CORE\_LOG\_COUNT}{QUASSEL\_CORE\_LOG\_COUNT}{QUASSELCORELOGCOUNT}
        Anzahl der Logfiles, die gespeichert werden sollen.
        
        G"ultige Werte: Zahl
        
        Standardeinstellung: \texttt{QUASSEL\_CORE\_LOG\_COUNT='4'}

\config{QUASSEL\_CORE\_LOG\_INTERVAL}{QUASSEL\_CORE\_LOG\_INTERVAL}{QUASSELCORELOGINTERVAL}
        Hiermit wird festgelegt in welchem Intervall die Logfiles
        rotiert werden sollen.
        
        G"ultige Werte: daily, weekly, monthly
        
        Standardeinstellung: \texttt{QUASSEL\_CORE\_LOG\_INTERVAL='weekly'}

\end{description}

    {\bf Hinweis:} Alle weiteren Einstellungen werden direkt "uber den Client
    in der SQLite Datenbank konfiguriert.

\begin{verbatim}
    Last Update:
    $Id$
\end{verbatim}
