Getting Started
***************

Experience Kanbanara Yourself
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

You can try out the full Kanbanara experience yourself at www.kanbanara.com for personal or non-commercial use only. Don’t forget to register first though!

Should you wish to try it out without first registering, please feel free to log on as follows:

+---------------------+----------+
| username            | password |
+=====================+==========+
| guest@kanbanara.com | guest    |
+---------------------+----------+

Download
^^^^^^^^

Go to https://sourceforge.net/projects/kanbanara/files/ to download the latest version of Kanbanara.

Once unzipped, ensure the Kanbanara folder and all its subfolders are writeable. On Windows, execute, as Administrator, a command similar to the following:

attrib -r c:\Kanbanara\*.* /S

Underlying Technology
^^^^^^^^^^^^^^^^^^^^^

Python
======

Kanbanara is written in Python 3.6.

MongoDB
=======

Kanbanara utilises the NoSQL database system, MongoDB, to store all its data.

Pre-requisites
^^^^^^^^^^^^^^

In order to run Kanbanara, a number of pre-requisites will need to be installed:

* Python 3.6 or later
* MongoDB

The following Python libraries must also be installed:

+--------------+--------------------------+
|Python Library|pip install <library_name>|
+==============+==========================+
|* CherryPy    |* cherrypy                |
|* Lipsum      |* lipsum                  |
|* Mako        |* mako                    |
|* Pygal       |* pygal                   |
|* PyMongo     |* pymongo                 |
|* PyScss      |* pyscss                  |
+--------------+--------------------------+

A special requirements.txt file has been created that allows you to load all the required Python libraries on mass. Just execute the following, ensuring the path both to Python's pip command and to the requirements.txt file are correct:

pip install -r requirements.txt

MongoDB
^^^^^^^

On Windows, a MongoDB service can be set up with a command such as the following:

"C:\Program Files\MongoDB\Server\3.6\bin\mongod.exe" --logpath C:\ProgramData\MongoDB\MyDatabases\log\MongoDB.log --dbpath C:\ProgramData\MongoDB\MyDatabases\db --directoryperdb --port 27017 --install --serviceName MongoDB_MyDatabases

For the above example, you would need to create the following directories:

C:\ProgramData\MongoDB\MyDatabases\db
C:\ProgramData\MongoDB\MyDatabases\log

Configuration Files
^^^^^^^^^^^^^^^^^^^

kanbanara.ini
=============

The kanbanara.ini file holds settings for three distinct groups:

* instance and port
* CherryPy queue and thread sizes
* email

==================== ======= 
Setting              Default
==================== =======
instance             
port                 80
request_queue_size   10
smtp_server_host     
smtp_server_password 
smtp_server_port     
smtp_server_username 
socket_host          
socket_queue_size    30
thread_pool          50
==================== =======

If the kanbanara.ini file does not currently exist, it will be automatically created by Kanbanara itself upon startup.

socket_host defaults to your host's private IP address. Should you wish Kanbanara to listen on all IP addresses, set socket_host to '0.0.0.0'.

mongodb.ini
===========

The mongodb.ini file holds settings for your MongoDB installation:

* host (defaults to localhost)
* port (defaults to 27017)
* username
* password
* bindir (defaults to C:/Program Files/MongoDB/bin on Windows)

If the mongodb.ini file does not currently exist, it will be automatically created by Kanbanara itself upon startup.

administrator.ini
=================

The administrator.ini file holds the username and password that will grant you access to certain administrative pages. For example, the entire registration details of your members can be seen by navigating to:

* http://<ip_address>:<port>/authenticate/members

Upon first running Kanbanara, an administrator.ini file will be programmatically generated and contain a username and password totally unique to yourselves. Feel free to go into administrator.ini and change the username and/or password to something more memorable. You will need to restart Kanbanara for your changes to take effect.

Execution
^^^^^^^^^

Navigate to the root of the installation folder and execute:

* kanbanara.bat

You may need to do this at least a couple of times prior to Kanbanara successfully starting, the first time being to cause Kanbanara's .ini files to be automatically created.

Once Kanbanara (or at least the CherryPy web server) has started successfully, you should then be able to go to a web browser and navigate to http://<ip_address>:<port> to view Kanbanara's opening page.

Should you get the following error with a version of CherryPy greater than 8.9.1 (between 9.0.0 and 14.0.1):

* AttributeError: module 'socket' has no attribute 'AF_UNIX'

you are advised to revert Cheroot to version 6.1.0:

* pip install cheroot==6.1.0

Registration
^^^^^^^^^^^^

Every user will need to register prior to gaining entry to Kanbanara. The only exception being if you log on as a guest on the installation at www.kanbanara.com.

During registration, you will be asked to enter your email address (which becomes your username), your first and last name and a password.

Should you need to update your first or last name at a later date, this can be achieved via the 'My Details' option on the Settings menu.

Website
^^^^^^^

By default, Kanbanara's web site is built into the product. Should you wish to disable the web site on your particular installation, simply rename the 'website' file to 'website_'.

Logging On
^^^^^^^^^^

You can log onto Kanbanara using the same username (email address) and password entered during registration.

Logging Off
^^^^^^^^^^^

The Logoff button at the top-right of the kanban board allows you to manually log out of Kanbanara.