For contributors
This project is not ready for production. None of the components below is completed, but a lot of work have been done. Want to contribute?
-
Check out/fork the git-repo
git clone git://github.com/jhthorsen/quelea.git
-
Read this, and see which part you want to contribute.
-
Make me write better documentation, so you can get get started contributing.
-
Let me know that you want to push commits to me, so I can add you to my list of contributors.
Quelea collector
What you need to know
You need to know perl and Moose.
What is to be done
-
No basic MIB profiles in the database for the different kind of equipments. To improve, you will need to know SNMP/MIB and how to set up a default profile in Quelea::Schema::Result::MIB. That schema might also need to be improved.
-
No equipment to test it on. The basic test would be to set up “snmpd” on a standard linux computer and run some queries against it to see if “Quelea::Collector” picks up anything.
Next step would be to make sure it puts information into the database and updates Quelea::Graph graphs.
-
The biggest issue is to make the collectors co-operative and smart enough, to work as a “bot-net” - meaning minimum config should be needed to enable them to “know” where to collect data from.
-
Better documentation, sanity checks and unit-tests.
Quelea server
What you need to know
You need to know perl, Moose and POE.
What is to be done
-
Collector: Should be pretty much done - except that Quelea::Collector is not ready.
-
DHCPd: Seems to work, but might have to be better integrated with “HTTPd” and “TFTPd”.
-
HTTPd: Need to support liveinfo, and more information in general. Will probably need authentication and authorization schema as well.
-
Instant: Just started. This session is supposed to do about the same as Collector, but provide live information. It should be started on request from HTTPd and generate shared data that can be requested from HTTPd.
-
TFTPd: Needs to be closer integrated with the database schema and DHCPd. It would be fun to stress test this part, since it has to be able to handle quite a lot of connections.
All the above also needs better documentation and unit tests.
Quelea web
What you need to know / what is to be done
- Perl, Catalyst, FormFu and/or DBIx::Class
The webui is developed using Catalyst as platform. Basic knowledge to Catalyst and chained actions is required. FormFu and DBIC is secondhand.
The UI needs more unit tests and better documentation.
- Template toolkit, CSS and JavaScript/jQuery
Templates might be structured differently. Themes and default styles should be appealing to the user. Javascript/jQuery is for better experience. It should be a fully fledged webapplication - not a web-page, but at the same time work on a cellphone.
- General user experience knowledge
The UI needs to be user friendly, but at the same time fully functional.
- Writing documentation
The code as well as the UI needs user documentation.
The web-ui can be started, but there are more work to be done. Please start the test server and see for your self
$ perl script/queleawebserver.pl -d
Quelea Schema
What you need to know
You need to know perl, DBIx::Class and database design.
What is to be done
-
Sanity checks, better documentation, redesign of tables (I’m sure the schema design can be improved) and unit tests.
-
Test data to run unit-tests on.
-
Scripts for automatic deployments, with or without example data.
Quelea graph
What you need to know
You need to know perl, Moose and “RRDtool”. RRDtool should not really be required, but it is the only supported grapher for now.
What is to be done
This module is pretty much done. It even has a unit-test. It might still need sanity checks and more unit tests, and better documentation.
Quelea utils
What you need to know
This package contains various modules that is general to the quelea project. Minimum requirement is knowledge of perl, and most of the packages are based on Moose.
What is to be done
Extend as long as it seems reasonable to generalize.