Some basic information for people/developers who would like to join the Monotheka project.
19.02.05
MONOTHEKA HACKING
Monotheka is an emerging project. You're encouraged to
contribute and take part in building the most sexy & featureful
movie database for the GNOME desktop!
The project lives on Novell Forge:
http://forge.novell.com/modules/xfmod/project/?monotheka
All the features should be familiar to you (Bugzilla, Mailing
list, Forum, Trackers, Tasks...). You should start your
adventure into Monotheka by subscribing to the mailing list (you
don't need the Novell account to do that, although it's a good
idea to register).
The CVS repository also lives on Novell Forge. Specific
instructions regarding using the CVS can be found on Monotheka
-> CVS on Novell Forge. But just to give you the idea:
$> cvs -z3
-d:ext:anonymous@forgecvs1.novell.com:/cvsroot/monotheka
co monotheka
password: anonymous
... will fetch the current source files. There are also other
modules available (namely: the 'monoboil' module witch is used
to auto-configure/build Monotheka. It might be pretty usable for
other projects too)
You can start by looking at the 'TODO' file. It contains a
small road-map fot the next few steps of Monotheka. You can also
write a plug-in (simple) or some documentation (badly
needed). It's up too you.
If you want to write code (yes!), please regard the following
guidelines...
CODING GUIDELINES
* "java" indenting style is used throughout the whole
project.
* Names of variables are word-capitalized
(eg. MainWindow). Local variables start with '__'
(eg. __Movie). Parameters of functions start with '_'
(eg. _Test)
* Bracketing goes as follows:
namespace Test {
class TestClass {
public Function()
{
if (...) {
}
}
}
}
* Please include a GNU license excpert on the top of
each file.
* When using Gtk Widgets - please name them as follows:
Name_GtkType . For example Main_GtkWindow ;
Bar_GtkProgressBar ; OK_GtkButton . That will make things
easier.
* All events start with 'On' (eg. On_WindowDelete). Don't use
too much '_' to break things. Underscore should separate
structural elements, not human language elements.
* Comment your work, and functions you add. Use FIXME to mark
out the parts that need to be reworked.
* Try to separate interface from engine as much as possible.
* Yes, the current code doesn't obey all the rules specified
above. We're working on that... ;)
* The monoBOIL (./configure) has a '--purge' option. It
reverts the project/package to it's "neutral" state - erasing
all the temporary/backup/template files. Please use it before
you commit any changes to CVS. There are reasons for that.
* Be innovative.
Michael Dominic K.
mdk@mdk.org.pl
© 2008 Novell, Inc. All Rights Reserved.