- Project tools
- How do I...
|Over 500 more tools...
Re: [Catacomb] contributing to Catacomb
It's great that you want to get involved in the project - I'll answer
the questions you raised as best as I can and perhaps one or two of the
other developers will add to my response.
Correct. In addition, we are making an effort to conform to the
recommended best practices wrt writing Apache modules. This entails the
use of the Apache Portable Runtime (APR) data structures and utilities
(especially memory pools!), code comments/documentation, naming choices
for variables/functions and error reporting.
[...] I assume the Catacomb module is ANSI C?
Jump in the pool, the water's warm! ;-) If there are particular
features you are interested in working on that would be best, if only to
be doing something you care about. Starting small would also propbably
be a good idea until you know your way around Apache and the module
structure. Are you familliar with WebDAV and the related specifications?
My big question is: What's the logical way to get started?
Yes, as I mentioned above, Apache has it's own libraries of portable
data structures and uses pools for memory management in a fairly
particular way. The O'Reilley book you mention would be generally useful
in this regard and explain how modules interface with the Apache core.
Eventually we would like Catacomb to be part of the main Apache
distribution, so adhering to their standards is somewhat important in
the long run.
1. Are there apache module architecture concepts that we need to understand? If
so, should we look at the O'Reilley book on writing apache modules?
I think the best thing to do would be to check out the latest version
from our CVS repository, work on it locally and then submit a patch to
the Catacomb mailing list in the form of a diff. Whether you import
Catacomb into your own CVS repository is up to you, but I highly
recommend it for the obvious reasons.
2. Should we use your CVS, ours, or none at all?
At this point there are four core developers who have basically agreed
on the direction and goals of the project. Architectural design choices
have been hashed out face-to-face by weighing the various alternatives.
We try to maintain a todo list but, as several of us are students it is
somewhat out of date at this point. (Mental note: update todo list...)
We haven't had much discussion about how to organize the development as
the project grows, but you are welcome to participate in that discussion
3. Who is the project lead?
4. What areas should we focus our efforts on? Where do you need us?
That really depends... Where do your strengths lie? How many is 'we', BTW?
The main goal of the Catacomb project is to be an open source reference
architecture and implementation of the WebDAV protocol suite (WebDAV,
DASL, BIND, DeltaV, ACL, ordered collections...). In addition, providing
a standard DB backed repository for Apache was something that was sorely
missing from the open source community. Other plans are to eventually
support multiple DB back ends and provide a pluggable interface for
external indexing engines. There are a number of smaller chunks of work
to be done in support of the above goals.
As you have an active interest in the correct handling of PHP resources,
this might be a good place to start. Since there is already a PHP
handler for Apache, and Apache supports a request being processed by
more than one module, this may be a simple as just figuring out how to
pipe the requests between modules. We definately want to be able to
handle resources in Catacomb the same way that they would be handled
otherwise... Chris Knight recently posted a question about this to the
Apache developers list and is starting to look into the issue.
Thanks for the interest, hope to hear from you soon.