frePPLeOpen source Production Planning
  • Home
  • Documentation
  • C++ API

Technical guide

This chapter discusses some topics of interest to developers working on extending, customizing or maintaining frePPLe.

FrePPLe has 2 main components, and the technical documentation is structured accordingly:

  • User interface and scripting, coded in Python for flexibility and agile development.
  • Solver engine, coded in C++ for performance.

  • Architecture
  • Source code repository
  • User interface
    • Creating an extension app
    • Translating the user interface
    • Adding or customizing a report
    • Style guide
  • Solver engine
    • Class diagram
    • Code structure
    • Planning algorithm
    • Cluster and level algorithm
    • Extension modules
    • Portability
    • Style guide
  • Security
  • Unit tests
    • buffer_procure_1
    • calendar
    • callback
    • cluster
    • constraints_combined_1
    • constraints_combined_2
    • constraints_leadtime_1
    • constraints_material_1
    • constraints_material_2
    • constraints_material_3
    • constraints_material_4
    • constraints_resource_1
    • constraints_resource_2
    • constraints_resource_3
    • constraints_resource_4
    • constraints_resource_5
    • datetime
    • deletion
    • demand_policy
    • flow_alternate_1
    • flow_alternate_2
    • flow_effective
    • forecast_1
    • forecast_2
    • forecast_3
    • forecast_4
    • forecast_5
    • forecast_6
    • jobshop
    • load_alternate
    • load_effective
    • lpsolver_1
    • multithreading
    • name
    • operation_alternate
    • operation_available
    • operation_effective
    • operation_pre_post
    • operation_routing
    • pegging
    • problems
    • python_1
    • python_2
    • python_3
    • safety_stock
    • sample_module
    • scalability_1
    • scalability_2
    • scalability_3
    • setup_1
    • setup_2
    • skill
    • xml
    • xml_remote
    • Getting started
      • 1 – Introduction
      • 2 – Installation
      • 3 – Entering data
      • 4 – Modelling concepts
      • 5 – Your first model
      • 6 – Your first plan
    • Modeling guide
      • Simplified domain model
      • Detailed domain model
      • Environment variables
      • Python interpreter
      • Global parameters
      • Buffer
      • Calendar
      • Customer
      • Demand
      • Flow
      • Item
      • Load
      • Location
      • Operation
      • Suboperation
      • Operationplan
      • Problem
      • Resource
      • SetupMatrix
      • Skill
      • Resource skill
      • Solver
    • User guide
      • Supported browsers
      • Getting around
        • Logging in
        • Logging out
        • Changing password
        • Navigation
          • Menu bar
          • Jump search
          • Context menus
        • Filtering data
        • Sorting data
        • Selecting time buckets
        • Exporting data
        • Importing data
        • Customizing a screen
        • User preferences
        • User permissions and roles
        • Comments
        • History – Audit trail
      • Data maintenance screens
      • Supply Path / Where Used
      • Plan analysis screens
        • Problem report
        • Constraint report
        • Inventory report
        • Inventory detail report
        • Resource report
        • Resource Gantt report
        • Resource detail report
        • Operation report
        • Operation detail report
        • Demand report
        • Demand detail report
        • Demand Gantt report
        • Forecast report
        • Performance indicator report
      • Execution screen
      • Batch commands
        • frepplectl
        • frepple
        • freppleservice.exe (Windows only)
    • Installation guide
      • Windows installer
      • Compiling on Windows
      • Linux binary packages
      • Compiling on Linux
      • Compiling from the source code repository
      • Running the VMWare virtual machine
      • Other platforms
      • Configuring multiple models in the user interface
      • Configuring as a Python extension module
    • Extension modules
      • Forecast module
      • Order quoting module
      • REST web service module
      • OpenERP connector module
      • Linear programming solver module
    • Technical guide
      • Architecture
      • Source code repository
      • User interface
        • Creating an extension app
        • Translating the user interface
        • Adding or customizing a report
        • Style guide
      • Solver engine
        • Code structure
        • Class diagram
        • Planning algorithm
          • Top level loop
          • Demand solver
          • Buffer solver
          • Flow solver
          • Load solver
          • Operation solver
          • Resource solver
        • Cluster and level algorithm
        • Extension modules
        • Style guide
        • Portability
      • Security
      • Unit tests
        • buffer_procure_1
        • calendar
        • callback
        • cluster
        • constraints_combined_1
        • constraints_combined_2
        • constraints_leadtime_1
        • constraints_material_1
        • constraints_material_2
        • constraints_material_3
        • constraints_material_4
        • constraints_resource_1
        • constraints_resource_2
        • constraints_resource_3
        • constraints_resource_4
        • constraints_resource_5
        • datetime
        • deletion
        • demand_policy
        • flow_alternate_1
        • flow_alternate_2
        • flow_effective
        • forecast_1
        • forecast_2
        • forecast_3
        • forecast_4
        • forecast_5
        • forecast_6
        • jobshop
        • load_alternate
        • load_effective
        • lpsolver_1
        • multithreading
        • name
        • operation_alternate
        • operation_available
        • operation_effective
        • operation_pre_post
        • operation_routing
        • pegging
        • problems
        • python_1
        • python_2
        • python_3
        • safety_stock
        • sample_module
        • scalability_1
        • scalability_2
        • scalability_3
        • setup_1
        • setup_2
        • skill
        • xml
        • xml_remote
    • FAQ
    • License
      • GNU Affero General Public License
      • GNU Free Documentation License
    • Third party add-ons
  • Copyright © 2010-2013 frePPLe bvba