Skip to content

functionalley/WeekDaze

Repository files navigation

WeekDaze

Build Status Hackage License: GPL v3 Haskell

This is "WeekDaze", an application which searches for solutions to the school-timetable problem.

It can read problem-specifications either from a relational database or from an XML-file.

Installation

  • It can be built and installed using Cabal.
  • Configuration can be read by either from a local XML-file using the Haskell package hxt, or by establishing database-connectivity using one or more of the database-backend Haskell packages "HDBC-odbc" & "HDBC-mysql", & this affects how the product should be built.
  • In order to connect to an arbitrary type of RDBMS, HDBC-odbc should be installed, but when connecting specifically to MySQL, one can alternatively install HDBC-mysql (which is slower).
  • Before building these database-backend Haskell packages on GNU/Linux the following prerequisites must be observed:
    • HDBC-odbc: requires the development version of the package "unixODBC".
    • HDBC-mysql: requires either "libmariadb-devel" or the development version of the package "libmysqlclient". CAVEAT: HDBC-mysql-0.6.6.1 is rather picky about the versions of other Haskell packages.
  • Before using ODBC to establish database-connectivity:
    • An appropriate driver for the type of RDBMS, e.g. MyODBC-unixODBC for MySQL, must be installed.
    • A system-wide configuration-file "odbcinst.ini" must be created to define the above database-driver, & a configuration-file ".odbc.ini" must be created to define the available DSNs. These files are described for a various types of DBMS in odbcinst & for MySQL in MySQL Connector/ODBC (examples for the latter case are included in this package).
  • An initial MySQL-database can be constructed using the packaged SQL-files.

Documentation

The documentation is in "man/".

Examples

The directory "xml/" contains example-configurations and the directory "xhtml/" contains the corresponding solutions. The packaged SQL-files contain the same example-configurations.

License

For information on copying and distributing this package, see the file "LICENSE" in this directory.

Bug-reporting

Bug-reports should be emailed to weekdaze@functionalley.com.

Testing

The test-suite can be run using:

cabal configure --enable-tests;
cabal build;
cabal test --show-details=always;

Author

This application is written and maintained by Dr. Alistair Ward.

About

An application which searches for a solution to the configured school-timetable problem; https://functionalley.com/WeekDaze/weekdaze.html

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published