Other manuals

User manual

We will use YELP for the user manual (yelp uses docbook). The directory of the user manual is "fisterra_distribution/help/C", we must add here the information of the user manual, in the file fisterra_distribution.xml, at the moment this document is empty.

If you want view the user manual you have to do:

  1. cd fisterra_distribution/help/C

  2. make

  3. yelp fisterra_distribution.xml

Installation and configuration manual

This manual describes the application installation and configuration processes.

Installing Fisterra2 Distribution from Debian Packages

This section describes the installation of Fisterra2 Distribution from Debian packages.

Database configuration

Fisterra2 is database independent due to its data access architecture based on libGda but its replication system requires PostgreSQL, a highly scalable, SQL compliant, open source object-relational database management system.

If you are installing from a debian package the configuration will try to configure the database. It is an automated process so you can jump to the next section. This task involves:

  • Create the database

  • Create an user for the database

  • Grant privileges to the user for the database

  • Create tables and views

  • Fill database with the essential data

In order to complete these tasks the configuration needs some information that must be provided by the user. This information includes:

  • Name of the machine that hosts the database

  • Name of the database

  • Name of the user that will access to the database

  • Password of the database user

All these parameters are explained in detail in the server configuration.

Configuring the name server

Fisterra2 needs a CORBA naming service running in a machine. The naming service is used by clients to locate CORBA objects and by servers to advertise specific CORBA objects. The basic function of the naming service is the association of names with object references. A server creates associations between names and object references for those CORBA objects that are intended to serve as initial points of contact. A client that knows the name of an object can then retrieve its object reference by querying the naming service.

Fisterra2 Distribution uses the INS (Interoperable Name Service), a revision of the original name service specification that allows clients to look up an object location using a key specified in a human-readable stringified name format. This feature was not supported by the ORBit2 implementation, so we have to develop a patch that was recently added to the ORBit2 CVS HEAD branch. Unfortunately this patch is not currently present in the official Debian packages so you have to install Igalia's ORBit2 packages.

Once downloaded and installed (see Installing Fisterra2 packages with the .deb files or Installing Fisterra2 packages with apt to know how to do it) download the script from here and place it into /etc/init.d directory in order to run it at system startup. Remember to add a link to this script for each level of execution where the naming service will be executed.

Installing Fisterra2 packages with the .deb files

There are two ways for installing Fisterra2 Distribution from Debian packages. You can either download the Debian packages and install them with the dpkg command or use the apt tool to download and install with a single command. If you are going to use the apt tool you can safely skip this section and continue in the next section.

Fisterra2 Distribution can be downloaded from Sourceforge or Freshmeat repositories. There you can find the next packages:

  • fisterra2-distribution-client_0.4.0-1_i386.deb

  • fisterra2-distribution-server_0.4.0-1_i386.deb

  • fisterra2-distribution-doc_0.4.0-1_all.deb

  • libfisterra_0.1.200503021141-1_i386.deb

  • libfisterra-doc_0.1.200503021141-1_all.deb

  • liborbit2_2.12.2-1-igalia-1_i386.deb (with Igalia's patch for naming resolution)

  • liborbit2-dev_2.12.2-1-igalia-1_i386.deb (with Igalia's patch for naming resolution)

  • orbit2_2.12.2-1-igalia-1_i386.deb (with Igalia's patch for naming resolution)

  • orbit2-nameserver_2.12.2-1-igalia-1_i386.deb (with Igalia's patch for naming resolution)

All of them are necessary to run Fisterra2 Distribution except the doc-ended and dev-ended packages.

Once downloaded you can install all these packages with the following commands:

            
             dpkg -i liborbit2_2.12.2-1-igalia-1_i386.deb
             dpkg -i orbit2_2.12.2-1-igalia-1_i386.deb
             dpkg -i orbit2-nameserver_2.12.2-1-igalia-1_i386.deb
             dpkg -i libfisterra_0.1.200503021141-1_i386.deb
             dpkg -i fisterra2-distribution-server_0.4.0-1_i386.deb
             dpkg -i fisterra2-distribution-client_0.4.0-1_i386.deb
            
          

The last two packages requires some kind of configuration that will be explained in the section...

Installing Fisterra2 packages with apt

Fisterra2 Distribution can be downloaded from Igalia's apt repository. Just instert the next line

deb http://apt.igalia.com/ sarge fisterra

into your /etc/apt/sources.lst. Then call apt-get update in order to update your package lists. To install Fisterra2 Distribution type apt-get install fisterra2-distribution-client. This command will install the necessary dependecies to run Fisterra2 Distribution. These dependecies include among others:

  • fisterra2-distribution-server: the server side of Fisterra2 Distribution

  • libfisterra: the development framework

  • postgres: the database

  • orbit2: the CORBA ORB used for communitations

The installation will try to configure some parameters needed by Fisterra2 Distribution to run. The section ... explains how to configure the client and the server. For a complete explanation of the parameters see the section...

Configuring Fisterra2 packages

There is still some stuff to do for getting a fully-featured Fisterra environment running in the configuration phase.

Server configuration

The installation proccess will try to configure some parameters for running Fisterra2 Distribution Server. In order to complete this tasks the user must input some data. The configuration is done in a wizard-like way, and is managed by debconf. Let's review the configuration process.

Note

Debconf will show only the questions with priority equal or higher than the one that is configured in your system. Here is the description of all steps, depending on your configuration some questions could be shown or not.
  1. First of all the configuration asks for creating a new database and a database user. You probably will not have a Fisterra-ready database, so say yes to this question. After the configuration, the Fisterra2 package will try to create the database.

  2. Even if you say yes or not to the previous question, the next step is to configure some database parameters. You have to input the database host, the database user and the database password. If you want the configuration to create the database for you in your localhost leave the database machine name as localhost. The password must be retyped in order to ensure that was correctly input the first time.

  3. It is possible to log server messages in user files instead of doing it into /var/log/syslog because this file is not readable by common users into a system. Say yes if you want the log to be done in user files. This files are located at user HOME directory in two hidden directories .fisterra2-distribution-client and .fisterra2-distribution-server.

  4. Fisterra2 Distribution has its own scheduler for performing some periodic tasks, like prices recomputing. The location of the scheduler wrapper could be defined, but you should not change its default location.

  5. You can also specify the location of the scheduler logs. Like the previous question, there is not need to change the default value.

  6. The four next questions are about CORBA communications. The first parameter is the prefix that will be prepended to all server objects. You can keep the default value but remember to specify a different value for each Fisterra server you want to configure.

  7. The server object environment name is only useful when a single server is used for serve more than one store. It is safe to keep the default value.

  8. The server objects host is the name of the machine where the server objects will be executed. This will be the name of the server machine, so replace localhost (the default value) with your server machine name.

  9. The hostcode is an identificator of the server, this value should be different for each server.

  10. The next two parameters specify the name of the machine where the replication server runs and the port used by the replication service. If you do not want database replication to a central server leave the default values unchanged.

  11. The next step is configuring the name service used by CORBA. Like the previous question you have to input the name of the machine where the naming service runs and the port used by the service. You can run the name service in the same machine, in order to configure the name service see Configuring the name server.

  12. Finally the user has to select the log level used by the application. This level specifies the verbosity of the log system from minimum (0) to maximun (7).

Once completed all tasks the configuration will create the database if needed. It also will create an user and the essential data.

Note

The POS need some item data to run. This info is not essential to run Fisterra2 Distribution so is not inserted part of the essential data. If you want to test the POS you can use this script:

items_management {--server_config(1) } {--items-file(2) }

(1) server_config.xml by default

(2) /usr/share/fisterra2-distribution/tests/items.xml by default

in order to add some items and their prices to the database.

Client configuration

The installation proccess will try to configure some parameters for running Fisterra2 Distribution Client. In order to complete this tasks the user must input some data. The configuration is done in a wizard-like way, and is managed by debconf. Let's review the configuration process. Take a look at this note before.

  1. First of all the configuration asks for the prefix for server objects. This name should be the same as the one specified here

  2. The next parameter must be the same as the one specified here

  3. The naming server configuration must be the same as the server one

  4. There are three chioces for client application but currently all these three are the same, in the next releases each one will have different options. The only difference is that if cashier application is selected the next question is shown.

  5. The SITEF system is used for credit card payments. It is currently not implemented.

System configuration

Configuration files

There are two files for both client and server, used for configuring some parameters needed by the application:

  • client_config.xml

  • server_config.xml

The configuration parameters for the client are described bellow:

  • server_name - Server name identificator for CORBA communications.

  • store - Warehouse identificator where the client is located.

  • main_controller - This is the configuration interface file. This file defines the available windows and interface options that will be available in the client application. These options define the way a window is shown (embedded or modal), menu options and some more.

  • ticket-printer-device - printing device for tickets, for example /dev/lpt0. If you do not have a printing device you can also specify here the path of a file.

  • shop-register-sell-ticket-end-label - Label that is printed at the end of each ticket.

  • ticket-printer-7x9-columns - number of columns for ticket printing.

  • orb_naming_ior - Location of the CORBA service for the name resolution. the default is

    -ORBNamingIOR=corbaloc:iiop:1.2@localhost:4444/NameService

    Replace localhost with the name of the machine where the naming server runs.

  • default_user - default user in this station. This parameter coulb be removed

  • default_password- defaul password (clear text) for the default user in this station. This parameter could be removed.

The configuration parameters for the server are the next:

  • server_name - Server name identificator for CORBA communications.

  • store - Warehouse identificator where the server is located.

  • enterprise - enterprise where the server is running. Fisterra2 has multiple enterprise management capabilities.
  • db_name - name of the database

  • db_hostname - name of the machine where the database runs.

  • db_user - user of the database.

  • db_password - password (in clear text) of the database user

  • scheduler_wrapper_path - Directory where is located the wrapper for the task scheduler.

  • scheduler_logdir - Logs directory for the task scheduler.

  • scheduler_cronfile - File for the CRON system.

  • hostcode - Identificator of the warehouse where the server runs.

  • listing_limit - Maximum number of results that a listing could retrieve in a single search.

  • orb_naming_ior - Location of the CORBA service for the name resolution. the default is

    -ORBNamingIOR=corbaloc:iiop:1.2@localhost:4444/NameService

    Replace localhost with the name of the machine where the naming server runs.

  • local_naming_service: it is safe to keep the default value

  • central_replication_naming_service: Location of the CORBA service for the name resolution for database replication. It is safe to keep the default value

  • orb_host_name: This is the name where the server objects will run. Replacing localhost with the name of the machine where the server will run is enough in most cases.

  • log_level: sets the verbosity for the Fisterra2 log system, from 0 (minimum) to 7 (maximum).

  • debug_model: if is set to true, this parameter forces the application to log messages to user's files. This files are located at user hidden directories at users's home dir.