Logo

Contents

  • Using Hermine
    • Installing Hermine for production
      • Getting the code
      • Docker Compose
      • Hermine Docker image
      • Manual install
      • OAuth
      • Health check
    • Getting started
      • Main concepts used
      • Main questions Hermine helps you answer
      • Manual workflow
    • Defining a FOSS policy
      • Global characteristics of licenses
      • Authorized contexts and specific derogations
      • Obligations and compliance actions
    • Reference data
      • Generic principles
      • Importing Community Data into your Hermine Server
      • Interacting with reference data in your Hermine instance
    • REST API
      • Authentication via Token
      • Uploading a BOM file
      • Checking the validation steps
      • JUnit
      • Endpoints for compliance actions
      • Generic API endpoints for Models
  • Developing Hermine
    • Basic development workflow
      • Standard install
      • Working with DevContainer
    • Coding standards
      • Developer Certificate of Origin
      • REUSE standard
      • Code linting
      • Naming conventions
      • Commit messages
    • The Data Model
      • Models for license management
      • Models for validation rules
      • Models for internal product management
      • Models for 3rd party components
    • Permissions
      • Permissions used by Hermine
      • Groups
    • Custom tags for Django templates
      • licenseAllowedCSS()
      • licenseCopyleftCSS()
      • licenseFOSSCSS()
      • licenseReviewCSS()
    • Tests
      • Running the tests
      • Coverage
    • Monitoring performances
Hermine
  • Developing Hermine
  • View page source

Developing Hermine

We document here the Hermine-specific aspects of the code. The different FOSS components on which Hermine relies have their own, very useful doc:

  • Django documentation

  • Django REST Framework documentation

  • Django filter

  • Package URL (Purl) specification and its Python library

Contents

  • Basic development workflow
    • Standard install
    • Working with DevContainer
  • Coding standards
    • Developer Certificate of Origin
    • REUSE standard
    • Code linting
    • Naming conventions
    • Commit messages
  • The Data Model
    • Models for license management
    • Models for validation rules
    • Models for internal product management
    • Models for 3rd party components
  • Permissions
    • Permissions used by Hermine
    • Groups
  • Custom tags for Django templates
    • licenseAllowedCSS()
    • licenseCopyleftCSS()
    • licenseFOSSCSS()
    • licenseReviewCSS()
  • Tests
    • Running the tests
    • Coverage
  • Monitoring performances
Previous Next

© Copyright 2021, Hermine Team. Licensed under CC-BY-4.0.

Built with Sphinx using a theme provided by Read the Docs.