Contribute code

From Archivematica
Jump to: navigation, search

Main Page > Development > Contribute code

Contents

[edit] Patches

If you find a bug in this project or would like to make an enhancement, please be encouraged to contribute a patch by following these instructions.

[edit] Commit access

Anyone can contribute code patches to this project. Project collaborators and regular patch contributors will be given access to commit directly to the git code repository.

[edit] Contributor's Agreement

In order to accept any patches or code commits, contributors must first sign the Archivematica Contributor's Agreement.

[edit] Standards

[edit] Code Style Guide For Archivematica

This coding convention is adopted from:
http://www.python.org/dev/peps/pep-0008/
authors: Guido van Rossum <guido at python.org>, Barry Warsaw <barry at python.org>

  • Tabs are forbidden.
  • 4 spaces per indent.
  • pothole_case all variables, except for class names which are CamelCase (See PEP8 for details/clarifications)
  • Max 79 characters per line.
  • Import grouped according to where they come from and sorted alphabetically, by import source
# Example:
# stdlib, alphabetical by import source
import logging
import os
import stat

# Core Django, alphabetical by import source
from django.core import validators
from django.core.exceptions import ValidationError
from django.db import models

# Third party dependencies, alphabetical by import source
from django_extensions.db.fields import SomeField, UUIDField

# This project, alphabetical by import source
import common.utils as utils
  • All imports from archivematicaCommon should be below adding that to the sys.path (though we shouldn't have to do that)

[edit] File Structure

The file structure in Archivematica will comply with the Filesystem Hierarchy Standard (FHS).
More information on this standard is available at:
http://www.pathname.com/fhs/

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox