\documentclass[a4paper,10pt]{report}
\usepackage[english]{babel}
% \usepackage[english, plain]{fancyref}
\usepackage[utf8]{inputenc}
% \usepackage[acronym, nonumberlist,toc,section]{glossaries}
\usepackage{booktabs}
\usepackage{graphicx}

% \usepackage{html,makeidx}
% \usepackage{fancyref}

% \pagestyle{empty}

% \usepackage{listings}
\usepackage{hyperref}

\setlength{\parindent}{0cm}

\newcommand{\appName}{Meganizer}
\newcommand{\mirror}{http://ftp.engsas.de/stable}
\newcommand{\tabHead}[1]{\textbf{#1}}
\newcommand{\cmd}[1]{\textit{#1}}

% plastex can not handle renewcommand of \title and \author
\newcommand{\myAuthor}{\href{http://en.engsas.de}{EngSaS - Engineering Solutions and Services Langenbach}}
\newcommand{\myTitle}{User Manual \appName{}}

\hypersetup{colorlinks,
                linkcolor=black,
                filecolor=black,
                urlcolor=black,
                citecolor=black,
                pdfauthor={\myAuthor},
                pdftitle={\myTitle},
                pdfsubject={\appName{}},
                pdfproducer={Latex - PDFLatex}
}

% \makeglossaries
% \newacronym{MIN}{MIN}{Medium Identification Number (can be ISBN, EAN, UPC, $\cdots$)}

\begin{document}

\begin{titlepage}
	\center{
		\vspace*{5cm}
		\textbf{\Large{\myTitle}} \\[1cm]
		\includegraphics[height=5cm]{latex/images/logo} \\[2cm]
		\myAuthor \\[1cm]
		\today
	}
\end{titlepage}
\newpage

\tableofcontents
\newpage

% \printglossary[type=\acronymtype, style=long]
% \newpage

\chapter{About}

\appName{} helps you to organize your media collections.
But the organization is only understanded as a base to offer many usefull features.
The management of wishes, ideas for presents are only examples.
You can also manage literature lists for projects (like Master thesis, books, articles, ...).

\chapter{Installation and Configuration}

To get \appName{}, their are two ways.
The preferred way is to use a provided package (s. \ref{sec:Packages}) for your platform (e.g. Windows, Ubuntu, OpenSUSE, ...).
The second way is to compile it for your own.
But be aware, that you need an AWS Account to use Amazon if your are building \appName{} from source.

\section{Install \appName{}-Packages}
\label{sec:Packages}

\subsection{Linux}

To install \appName{}, you must add the repository to your sources (s. next paragraph or tab. \ref{tab:HelpAddingSources}).
To do so, go to \href{\mirror{}}{\mirror{}} and choose *.list file (deb based) or *.repo file (rpm based) for your distribution.
Afterwards you can install \appName{} with help of your favorit package management system (like aptitude or yum).
If you already have an database installed, you can go to \ref{sec:installDatabaseLinux}. Ohterwise go on with \ref{sec:configureApp}.

\begin{table}
	\caption{Help to add sources}
	\label{tab:HelpAddingSources}
	\begin{tabular}{ll}
		\tabHead{Distribution} 	& \tabHead{Link} \\
		Ubuntu's								& \href{http://wiki.ubuntuusers.de/Paketquellen\_freischalten}{http://wiki.ubuntuusers.de/Paketquellen\_freischalten} \\
		Fedora									& \href{http://docs.fedoraproject.org/en-US/Fedora/12/html/Deployment\_Guide/sec-Configuring\_Yum\_and\_Yum_Repositories.html}{\parbox{10cm}{http://docs.fedoraproject.org/en-US/Fedora/12/html/\\Deployment\_Guide/sec-Configuring\_Yum\_and\_Yum\_Repositories.html}}
	\end{tabular}
\end{table}

PackageKit is used by some distributions (like Ubuntu) to install software. To add a repostiry, start PackageKit from the program menu of your desktop system (like KDE-Menu -> System -> Add / Remove Software). In PackageKit, choose \cmd{Settings} and \cmd{Edit Software Sources} (s. Fig. \ref{fig:KPackEditSources}). There open the \cmd{Other Software} tab and click on \cmd{Add} (s. Fig. \ref{fig:KPackEditSources}). In the upcoming dialog, type in the url to our repository. It starts with \cmd{deb} for Debian repositories followed by the url. The next part is the version number of your distribution (Ubuntu Lucid is 10.04 and Maverick is 10.10). The last part is the repository type, which is \cmd{contrib} in our case.

\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{latex/images/kpackagekit-editsources_de}
	\caption{Quellenverwaltung in KPackageKit}
	\label{fig:KPackEditSources}
\end{figure}

\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{latex/images/kpackagekit-addsource_de}
	\caption{Quelle hinzufügen in KPackageKit}
	\label{fig:KPackAddSource}
\end{figure}

\subsection{Mac}

Mac platform is not supported with packages right now.
But \appName{} should run on Mac OS.
So you must compile it from source (s. \ref{sec:BuildFromSource}).

\subsection{Windows}

Download the windows installer from \href{\mirror{}/win/Meganizer-@VERSION@-win32.exe}{\mirror{}/win/Meganizer-@VERSION@-win32.exe}, execute it and follow the instructions.

\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{latex/images/installer-installmysql_de}
	\caption{MySQL-Server herunterladen und installieren lassen}
	\label{fig:DownloadAndInstallMySQL}
\end{figure}

If you do not want to setup an MySQL-Server on that machine, do not activate \cmd{Download and install MySQL-Server} and read on at \ref{sec:configureApp} after closing the installer.
Otherwise choose \cmd{Download and install MySQL-Server} like Fig. \ref{fig:DownloadAndInstallMySQL} shows.
After clicking on \cmd{Next}, the download will start.
This may take a while, since about 40MB must be downloaded.
If the download has finished, the setup starts automatically.
Please follow it's instructions than. At the last page make sure \cmd{Configure Now} is activated like shown in Fig. \ref{fig:mysqlConfigureNow}.
At the upcoming dialog choose the standard configuration (s. Fig. \ref{fig:mysqlStandard}).
This makes sure, that the MySQL-Server is started as a daemon in background everytime you start windows.
It is also important to remind the password of the root user.

\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{latex/images/mysql-setup-configurenow_en}
	\caption{Choose Configure Now at the last page of installation}
	\label{fig:mysqlConfigureNow}
\end{figure}

\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{latex/images/mysql-config-standard_en}
	\caption{Choosing the standard configuration}
	\label{fig:mysqlStandard}
\end{figure}

If you've finished that part, please finish the setup of \appName{}.
At the last page, you can choose, wether \appName{} should be started afterwards automatically.
To open the online documentation, choose \cmd{Show Readme} also.
The next step is the configuration of \appName{}, which is described at \ref{sec:configureApp}.
There you can also choose to create a new database and a user.

\subsection{Building from Sources}
\label{sec:BuildFromSource}

\subsubsection{Linux}

Download source package from \href{\mirror/src}{\mirror/src} und unpack it.
Afterwards you can look at the depencencies.xml in the subdirectories of src to know which software is needed to build \appName{}.
If you have installed all dependencies and switched to the unpacked sources, you can build and install \appName{} with\\

cmake -DWITH\_ALL\_PLUGINS=ON \textbackslash \\
-DL10N\_ALL=ON ./ \\
make install\\

\subsubsection{Mac}

\subsubsection{Windows}

Insall
\begin{itemize}
	\item Qt 4 with MinGW from \href{http://qt.nokia.com/downloads}{http://qt.nokia.com/downloads}
	\item CMake from \href{http://www.cmake.org/cmake/resources/software.html}{http://www.cmake.org/cmake/resources/software.html}
	\item OpenSSL from \href{http://www.slproweb.com/products/Win32OpenSSL.html}{http://www.slproweb.com/products/Win32OpenSSL.html}
	\item QCA2-src Package for MinGW from \href{https://sourceforge.net/projects/kde-windows/files/qca}{https://sourceforge.net/projects/kde-windows/files/qca}
	\item LibEngsas from \href{https://trac.engsas.de/libengsas/changeset/latest/trunk?old_path=\%2F\&format=zip}{https://trac.engsas.de/libengsas}
\end{itemize}

Edit \textit{qca\textbackslash{}cmake\textbackslash{}modules\textbackslash{}FindOpenSSL.cmake} and comment out the line \\

MARK\_AS\_ADVANCED(OPENSSL\_INCLUDE\_DIR OPENSSL\_LIBRARIES) \\

so that it looks like

\#MARK\_AS\_ADVANCED(OPENSSL\_INCLUDE\_DIR OPENSSL\_LIBRARIES)\\

now.

Further on, make sure that the \textit{MinGW\textbackslash{}bin} directory within your Qt installation and Qt itself is listed in your path variable. To do so, click right on \cmd{Workspace} and choose \cmd{Properties}. Afterwards you can edit the environment variables at the tab \cmd{Advanced} (s. Fig. \ref{fig:xpenvsetup}).

\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{latex/images/xpenvsetup_de}
	\caption{Setup the environmental variables in Windows XP}
	\label{fig:xpenvsetup}
\end{figure}

Configure QCA with CMake and make sure, that you configured QCA with CMAKE\_BUILD\_TYPE set to Release, if you want to build \appName{} with BUILD\_DEBUG=Off (like recommended).
After that you can build and install QCA with \cmd{mingw32-make install}. After installing, jump into the installed qca directory (Standard: \textit{c:\textbackslash{}Programme\textbackslash{}QCA\textbackslash{}bin}) and execute\\

\cmd{qcatool2.exe plugins}\\

and you should see the following lines:\\

Available Providers:\\
  qca-ossl\\
    This product includes cryptographic software written by Eric Young\\
    (eay@cryptsoft.com)\\

The next step is to build the mysql plugin for Qt.

The last step before configuring and building \appName{} is to configure build and install LibEngsas.
To do this, unpack the downloaded package and configure, build and install it with\\

\cmd{cmake -DBUILD\_DEV=ON ./\\
mingw32-make install}\\

The last step is to configure, build and install \appName{} with\\

\cmd{cmake -DWITH\_ALL\_PLUGINS=ON \textbackslash \\
-DL10N\_ALL=ON ./ \\
mingw32-make install}\\

To start \appName{} afterwards, just type\\

\cmd{epartexe meganizer}

\section{Install and configure the database}
\label{sec:installDatabase}

\subsection{Linux}
\label{sec:installDatabaseLinux}
                             
This part is only needed, if you do not have already setup a database.
If you already have a database to use with \appName{}, but you do not have \appName{} configured to use this database, you can skip this paragraph.

\appName{} uses MySQL as database system.
Therefore you must be sure, that MySQL-Server is running on your choosen System.
Since the MySQL-Server is in nearly every distribution, this task is mostly done by the package management.
Please follow \ref{sec:configureApp} afterwards.
There you can create a database and a new user too.

\subsection{Mac}
\label{sec:installDatabaseMac}

You need to install the MySQL-Server first.
Please follow \ref{sec:configureApp} afterwards.
There you can create a database and a new user too.

\section{Configure \appName{}}
\label{sec:configureApp}

\appName{} uses a setupwizard to guide you through the first configure process and updates later on.
The most important step is the configuration of the database connection (s. fig. \ref{fig:WizardDBSetup}).
If \cmd{Create Database} is activated, \appName{} ask you to login with administrator privileges and creates the database afterwards.
To create a user, set it's password and grant the needed privileges, choose \cmd{Create User}.
Afterwards the wizard creates the needed database structure or updates an exsting older structure.

\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{latex/images/wizard-dbsetup_de}
	\caption{Database settings at the setupwizard}
	\label{fig:WizardDBSetup}
\end{figure}

\chapter{Basics and philsophies}

\section{Basic usage}
\label{sec:basics}

The start of every operation with a medium is the search after that medium.
This process is choosen, to prevent you from inserting the same medium several times, because normaly you should have found the already inserted one, before you be able to insert it again.
The second advantage of this process is the integration of external sources (like Amazon), which you can use to insert new media.

To actually do the search, the search widget is used (s. fig. \ref{fig:GuiStart}). This widget is at the left side after first start.
This window is a dock widget like many other widgets from \appName{}.
Therefore you can move, close, resize this widgets as you like.
If you have closed a widget which you want to use later on, you can show it again with a click on the corresponding entry at the \cmd{View} menu.
\appName{} saves the widget layout and sizes at all exits and restores the layout at the next start.
This way you have your prefered layout, but closed widgets does not appear automatically again after a restart.

\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{latex/images/guistart_de.png}
	\caption{Application user interface after the start}
	\label{fig:GuiStart}
\end{figure}

If you have problems to associate the icons with correct actions at the beginning, you can turn the corresponding text at the settings dialog.
Afterwards the text is shown below the icons.
The settings dialog can be reached via the \cmd{Settings} entry at \cmd{Edit} menu.

\section{Medium Identification Number}

The MIN is used to identify an medium (s. Tab. \ref{tab:MINOverview}). But many types of media have different types of numbers. Even the same media type can have different numbers in different regions, also some media have more than one type of numbers.

If you change the MIN of a medium, the system tries to detect the type of the number and set it accordingly. But it can be, that the type you want to use, is not supported by default. So you can add a new type and you must than manualy select this type. If the system knows, which type you entered, it also tries to validate your entered number.

\begin{table}
	\caption{Overview over different MIN's}
	\label{tab:MINOverview}
	\begin{tabular}{lp{4cm}lp{4cm}}
		\tabHead{Type} 	& \tabHead{Description} 							& \tabHead{Media} 	& \tabHead{Convertible} \\
		\toprule
		EAN							& European Article Number 						& Any								& ISBN-13, UPC					\\
		ISBN-13					& International Standard Book Number 	& Books							& ISBN-10								\\
		ISBN-10					& International Standard Book Number	& Books							& 											\\
		UPC							& Universal Product Code							&	CD's, Movies, DVD	& 											\\
	\end{tabular}
\end{table}

\section{Manufacturers with different media types and related to MINs}
\label{sec:ManufacturersAndMINRanges}

Manufacturers have many names among the different media types.
Related to books they are called publishers, or at Music they are called label, etc.
\appName{} reflects those differents at the specific medium edit dialog.
But basically, those differences are not used at all.
Therefore you can choose a specific label as a publisher without reenter all the data and vice versa and the reusage of manufacturers is very easy and fast. 
To learn how you can edit manufacturers, see section \ref{sec:EditManufacturers}.

Related to MINs, manufacturers may be identified by a special part of the MIN.
This is not possible for all types of MINs, but the most important one, the EAN, allows it.
To illustrate such a relation, have a look at the following EANs of one manufacturer.

\begin{itemize}
	\item 9783404156856
	\item 9783404123544
	\item 9783785722565
	\item 9783404616138
	\item 9783404150717
\end{itemize}

With help of those numbers, it is quite obvious, that the manufacturer can be at least identified by 9783404 (since 9783 is the combination for books in germany).
If \appName{} knows those relation, it can assign all newly added books with EANs starting with 9783404 to the already known manufacturer.
To calculate such a relation \appName{} must know at least to different media of the same manufacturer.
The calculation is started automatically after you have added a new medium.
You can also start it manually with a click on \cmd{Check Manufacturers} at the \cmd{Edit} menu.
Those results are stored at the local database. Afterwards \appName{} tries to detect the manufacturer with help of the MIN of the new medium and chooses the correct one automatically, if possible.
With help of this process, the adding of new media is already speeded up significantly and no external data is used.
But the big disadvantage is, that every user of \appName{} must add some media of a manufacturer before he can calculate the relation and must than add other media to benefit from these efforts.
Another big disadvantage is, that every user must add the data of the manufacturer by itself.

To solve those issues, \appName{} supports also the usage of an external database of manufacturers and their relation to MIN ranges.
It contacts the server with the entered MIN and gets back a list of possible Manufacturers with all their data.
The user can than use or change this data as he likes.
The server is also used at the edit dialog of manufacturers, if a new manufacturer is added.
But to provide those central database, the relation between manufacturers and MINs must be known.
Therefore \appName{} asks you to send your calculated relations to the central database.
The send data does not contain any private information.
Just the data of the manufacturer and the related MIN part (No complete MIN at all is send, e.g. only 9783404 is send).
After sending the data, we review it and add the data to the server.
Afterwards every other user benefits from those data.
Please be aware, that sending your data to the central database is needed to fetch those data within \appName{} and takes the advantages described above (The locally stored relations are used in any case).
You can also access the server via browser at \href{http://mins.engsas.de}{http://mins.engsas.de}.

\chapter{Usage}

\section{Search for Media}

The search after media is done via the search widget, which is placed at the left side.
You should start the process with choosing the appropriate media type.
This is useful, if you want to work with the selected media type later on.
The choose of a media type allows you to add, view and edit media type special fields (like tracks for music devices).
A search with all media types, allows you only to view and edit properties, which are shared by all types (like title).
The results of your search are displayed at the main window.
The firlst column at the result table shows you, where the medium is found.
The \appName{} logo indicates, that the data are out of the local datbase, where any other symbol indicates the specific searchplugin, which provides the data (e.g. \includegraphics[height=8pt]{../../../src/searchplugins/amazon/icons/amazon} for Amazon).
With help of the option \cmd{Area} the include of external sources can be allowed, disallowd and forced.
The standard options means, that the local database is searh for your own media first.
If there are no results, the local database is searched for media of other people.
And finally external sources are queried, if nothing was found before.

\subsection{Using external Datasources (like Amazon)}


Searchplugins are used to search external datasources, if the medium wasn't found in local database. Actually only Amazon can be searched.
Generally two steps need to be done.
First any datasource has different media types with different names.
Therefore a connection between known types of \appName{} and the types of the datasource must be done (s. Fig. \ref{fig:materialtypeConnect}).
This dialog appears automatically on the first search if no connections are made. You may change the connection later on at the Settingsdialog of the specific source.

\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{latex/images/materialtype-connect_de}
	\caption{Connection between media types of \appName{} and searchprovider}
	\label{fig:materialtypeConnect}
\end{figure}

As second task, the special properties of the mediatype in \appName{} must be connected with the special properties of the datasource type.
This is needed, because the plugins doesn't know anything about special types. They only know the standard properties which have all types in common (like Genre, Title, Manufacturer). The connection dialog of properties appears also on first search and can be reached at the same place in the Settingsdialog. At the dialog (s. Fig. \ref{fig:mediaAttributesConnect}), you choose a property of \appName{} and the corresponding one at the datasource. Afterwards you press on \cmd{Connect} to connect them. If you want to release a connection, click on it and click the button with red minus as symbol.

\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{latex/images/mediaattributes-connect_de}
	\caption{Connection of media attributes}
	\label{fig:mediaAttributesConnect}
\end{figure}

\subsection{Export List of Media}
\label{sec:MediaExport}

If you want to export a list of media, you must first compose a search, where all media are into. Afterwards, you can select the media you want like in every other application. If you want to select all, press Ctrl+A or does not choose any entry. In both cases all media in list would be exported. Finally click on \cmd{Export} at the context menu or at the toolbar to start the export. You can choose the location and the format of the export. Right now HTMl- and OpenDocument-Format are provided.

\section{Add new Media}

The adding of new media starts with a search after the media you want to add (s. \ref{sec:basics}).
To do this, you should start with choosing the wanted media type.
Afterwards the results are shown as before. To add one medium, select it with a left click and choose \cmd{Add Selected} from the context menu or from the toolbar.
This opens the details dialog where you can adjust the properties.
You should set all important properties carefully to make sure, that you find the media again later on.
With a click on \cmd{Ok} the medium will be added and the \appName{} icon appears at the first column.
If no result is found, you can click on \cmd{New} at the context menu or the toolbar.

\section{Edit Media}

The editing of media can be done at the known detail window. You can reach it at the context menu or the toolbar after selecting the medium.

\section{Handling of virtual Media}

Virtual media are understood in \appName{} as media, which are stored at the database, but not physical present.
For example your wishes are virtual media, because you know the medium, but you don't have it at your bookshelf.
Also present ideas for others or literature can be virtual media.

\subsection{Wishes}

In \appName{} wishes are meant as media, which a owner wants to have. For example, if you want to present someone with a new book, the book is a gift idea and not your wish. So wishs are owned by the one who have the wish and may have the medium some time later on.

You can mark a medium as wish by activating the checkbox after \cmd{Wish} at the \cmd{Owner Details} tab at the details window of the medium. If you want to see all your wishes (or the wishes of something else), start a search and select \cmd{Wishs} as \cmd{Status}. To export this list, follow the instructions at \ref{sec:MediaExport}.

\subsection{Gift ideas}

You can also store your gift ideas into \appName{}. To do so, make sure, that the person you want to give the present is already into the database. Therefore click on \cmd{User} at \cmd{File} menu to open the user dialog. If the user is not listed, create a new user. But be aware to left the user name free, if the user does not use the database. Otherwise you won't be able to handle the loaned media from this person at \appName{}.

If the user is present, add the medium to the database. Afterwards go to the detail window of it and choose \cmd{Other} (s. Fig. \ref{fig:PresentIdeas}). On the right side you can select the user you want to make a present and add it to the presnetees by clicking on the arrow pointing to the left. Don't you own the medium yourself, activate gift only to make it a virtual medium. To remove someone, select him and click on the button with the arrow pointing to the right.

\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{latex/images/details-present_de}
	\caption{Marking medium as a gift idea}
	\label{fig:PresentIdeas}
\end{figure}

After giving the gift to the recipient, you can mark the medium as \cmd{Already given}. The advantage is, that \appName{} adds the recipient to the owners of the medium automatically. Further on, it removes you from the owner list, if you mark the medium as \cmd{Gift only}. Afterwards the recipient is not available as a recipient for this medium anymore. To mark an gift as given, click on the presentee at the tab \cmd{Other} from the detailswidget with the right mouse button and choose \cmd{Already given} from the context menu.

To view all your gift ideas, select \cmd{Wishes and Gifts} as \cmd{Status} and run the search. To export the list, follow the instructions at \ref{sec:MediaExport}. By the way the gift ideas are not visible for the presentee.

\subsection{Literature}

Under literature we understand a medium, which is used at a project. A project can be something like a master thesis or an article or anything else, which you use other media for. To create a new project or change existing ones, click on \cmd{Projects} in \cmd{File} menu. This dialog behaves like the dialogs described in \ref{sec:ManageData}. If you want to find a specific project, type in some part of the name into the filter field. In the list below you can see the results immediatly (s. Fig. \ref{fig:ProjectsProject}).

\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{latex/images/projects-project_de}
	\caption{Die Projektverwaltung in Meganizer}
	\label{fig:ProjectsProject}
\end{figure}

To create a new project, click on \cmd{New} on the bottom right or to edit an existing one, select it and click on \cmd{Edit}. Afterwards the right side of the window is enabled and you can type in at least the name of the project. The resulting media, can be a media from the local database. It can be set, if the project result in a new medium. After storing the new project, you can add and remove materials at the \cmd{Materials} tab. To add one click on the green plus and to remove one, select it and click on the red minus. You may enter a comment for each material (s. Fig. \ref{fig:ProjectsMediaList}).

\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{latex/images/projects-medialist_de}
	\caption{Für das Projekt verwendete Medien}
	\label{fig:ProjectsMediaList}
\end{figure}

If you doesn't own the materials you are using at your projects, you can mark them as virtual media by activating the checkbox after \cmd{Literature} at the \cmd{Owner Details} tab of the details window.

\section{Buying Media}

You can buy media directly out of \appName{}. Right now you can use Amazon as a dealer. Out of \appName{} you can buy any media, which can be found at the local or any external sources. If you found the medium you want to buy, select it and choose \cmd{Buy} from the context menu or the toolbar. After that your shopping cart appears on the right side as shown in fig. \ref{fig:ShoppingCart}. Their you can see, what media you selected to and how much for which price. Also the small icon on the bottom right of each medium shows you, which seller is selected. Further on, the color of the medium is used to show the state. Red means, that no offer is found. Orange shows, that offers are found, but not as much items as you want. If everything is ok, the box appears in green. If the background is dotted, you can see, that it is an second hand offer. Which offers are allowed, can be setup at the settingsdialog of each searchprovider. Per default only new products von original sellers are choosen (e.g.: At Amazon per default, market place sellers are ignored).

\begin{figure}
	\centering
	\includegraphics[height=15cm]{latex/images/shoppingcart_de}
	\caption{The Shoppingcart}
	\label{fig:ShoppingCart}
\end{figure}

To increase the amount of an item, select it and klick on + or use the context menu. To decrease it, you can also use the context menu or press -. With \cmd{Del}-Key you can remove it. At the context menu, you can also choose the shop and the used offer off the choosen shop. In \cmd{auto} Mode \appName{} tries to buy the items as cheap as possible. But also tries to take the shipping costs into account.

If you configured your shopping cart as you want, you can proceed with a click on \cmd{Buy}. Then \appName{} creates all needed shopping carts at the sellers and redirect you one after the other to the filled shopping cart of the seller. After that, all media will be added to the database, if their not in already.

\section{Loaning Media}

\appName{} allows to manage the loan process of media, which you borrowed to someone and which you borrowed from someone.
Loaning is done by a special dialog. You can reach it within the detail window of a medium at the tab \cmd{Loaning} (s. Fig. \ref{fig:Loaning}) or at the context menu or toolbar.
Their you can walk through the whole loaning process.
The summary of your loaned media to and from others is shown at the startpage of \appName{}, which you can reach via the \cmd{View} menu with a click on \cmd{Summary}.

\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{latex/images/loanmedium_de}
	\caption{Borrow and loan media}
	\label{fig:Loaning}
\end{figure}

\section{Edit data around Media}

Data for media can be data like persons or genres, which are shared among different media (also known as foreignkeys).
To edit them, \appName{} provides special dialogs, which are all designed very similar (s. Fig. \ref{fig:DialogGenres}).
You will find a list of existing data of the specific type in the database on the left side (In this example that are genres).
To find a special Date, type in some part of the name to filter out not suitable items (s. Fig. \ref{fig:DialogGenresFilter}).

If the wanted item appears, select it with a left click and the details will be shown on the right side.
To modify the entry, click on \cmd{Edit}, do your changes and click on \cmd{Save}.
The last action stores the changes into the database and sets the filter to the edited entry.
This is done, to automatically select the last used entry.
To cancel your changes, simply click on any other item in the list on the left, without pressing on \cmd{Save}.
If you need another item, click on \cmd{New}. This activates the empty right side and fill in the filter from the left to the corresponding field of the new item.
To add the new item to the database, click on \cmd{Save}.

\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{latex/images/genres_de}
	\caption{The dialog to edit Genres}
	\label{fig:DialogGenres}
\end{figure}

\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{latex/images/genres-gefiltert_de}
	\caption{Filter entries}
	\label{fig:DialogGenresFilter}
\end{figure}

This dialogs are shown automatically, if you want to add a medium to the database, which have not unique foreignkeys or the foreignkey is not found at the database.
In this case, the filter is already set to the value, which is held by the medium.
If this leads to an empty item list, please change the filter to a more specific one, to find an existing suitable item. To choose an existing item, select it and click \cmd{Ok}. If no existing item is acceptable (be aware of types, ...), create a new one as mentioned above.
To cancel the insertion into the database, press \cmd{Cancel}.

\subsection{Persons and Roles}

You can add persons to a medium, which are involved in the medium, like authors, composers, translators, orchestras and many others.
The connection between the medium and the person is called \cmd{Role}.
The mosst common roles are already present at the database, but you can and should also add other roles to the database as you like.
The dialog to do that, can be found at \cmd{Roles} under the \cmd{File} menu or by clicking on \cmd{New Role} at the details window of the medium.

\subsection{Manufacturers}
\label{sec:EditManufacturers}

Every medium must have a manufacturer. But to be closer to the speach of each specific media, the manufacturer is named differently by the media types. For example the manufacturer of a book is called Publisher, while the manufacturer of a music device is called Label. Since all this are the same at the end and one manufacturer can produce different types of media, all manufacturers can be used for all types of media. This is also the reason, why the \cmd{Manufacturer} entry at the \cmd{File} menu leads you to the used edit dialog for manufacturer.

To query the central database with the given manufacturer name, click on the green, round arrow.
You can choose, if the result should override all fields or only the empty ones.
If such a button does not exists, you may have deactivate the sending of the relations between MINs and manufacturers to the central database.
You can change this at the settings dialog.
Further details about the central database can be found at section \ref{sec:ManufacturersAndMINRanges}.

\subsection{Genre}

Genres are also independent from the media type. The related dialog can be reached through \cmd{Genres} at the \cmd{File} menu.

\section{Backup and restore the Database}

To create a database backup, the \cmd{Database Backup} dialog under \cmd{Edit} can be used. At the upcoming dialog, choose the filename and location which should be used to export to. Afterwards click on \cmd{Export} to start the process. The created file contains the whole database in SQL-File format.

Since restoring the backup is not supported by the gui, you must connect to the mysql-server via the command line and create an empty databae (s. \ref{sec:installDatabase}). The backup can be restored with\\

use NAME\_OF\_EMPTY\_DATABASE;\\
source PATH\_TO\_SQL-FILE;\\

afterwards.

\section{Handling of external MimeTypes}

\end{document}