Contributing to the Perl Driver

The easiest way to contribute is to file bugs and feature requests on Jira.

If you would like to help code the driver, read on...

Finding Something to Help With

Fixing Bugs

You can choose a bug on Jira and fix it. Make a comment that you're working on it, to avoid overlap.

Writing Tests

The driver could use a lot more tests. We would be grateful for any and all tests people would like to write.

Adding Features

If you think a feature is missing from the driver, you're probably right. Check on IRC or the mailing list, then go ahead and create a Jira case and add the feature. The Perl driver was a bit neglected for a while (although it's now getting a lot of TLC) so it's missing a lot of things that the other drivers have. You can look through their APIs for ideas.

Contribution Guildlines

The best way to make changes is to create an account on [Github], fork the driver, make your improvements, and submit a merge request.

To make sure your changes are approved and speed things along:

  • Write tests. Lots of tests.
  • Document your code.
  • Write POD, when applicable.

Bonus (for C programmers, particularly):

  • Make sure your change works on Perl 5.8, 5.10, Windows, Mac, Linux, etc.

Code Layout

The important files:

 | perl_mongo.c # serialization/deserialization
 | mongo_link.c # connecting to, sending to, and receiving from the database
 - lib
    - MongoDB
       | Connection.pm # connection, queries, inserts... everything comes through here
       | Database.pm
       | Collection.pm
       | Cursor.pm
       | OID.pm
       | GridFS.pm
       - GridFS
          | File.pm
 - xs
    | Mongo.xs
    | Connection.xs
    | Cursor.xs
    | OID.xs

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

PLEASE POST QUESTIONS IN THE FORUMS: http://groups.google.com/group/mongodb-user. Post tips and clarifications here.

blog comments powered by Disqus