MythiCal defines a hierarchical namespace, similar to a file system into which backend instances can be mounted. The overall configuration for Mythical, including definition of the backend instances is handled by the mythical.conf file.
The basic outline of mythical.conf looks like this:
#
# Sample MythiCal Configuration File
#
# Port for MythiCal to listen on
#port 4401
# Log level (see documentation for bitmask information)
#loglevel 255
# Path for backend 1
#path "/davical1"
#{
# backend "davical_backend"
# {
# dbname "davical"
# ...
# }
#}
#
# Path for backend 2
#path "/davical2"
#{
# ...
#}
The following core parameters are available:
The TCP port on which MythiCal listens for incoming connections. Defaults to 4401.
A bitmask specifying how much logging information is emitted to the console. The bitmask values are calculated from the following:
Enable logging of socket connections
Enable logging of network messages
Enable logging from backend modules
Define path <string> within the MythiCal namespace. A path must contain a backend declaration as given below:
Bind the backend driver named <string> to the containing path. The existence of a MythiCal backend module is determined at compile-time by the parameters passed to into configure. A backend driver module name can be one of the following:
Bind an instance of the DaviCal backend to the containing path.
The DaviCal backend has its own set of additional parameters documented below:
The database name of the DaviCal database.
The server hosting the DaviCal database.
The username required to connect to the DaviCal database.
The password required to connect to the DaviCal database.
The Python backend has its own set of additional parameters documented below:
An optional path string which is appended to sys.path on startup.
The name of the Python module to be used by this backend.
An example Python module showing how to use the basic methods to implement a very simple calendaring application can be found in src/backends/python/DemoMythiBackend.py.