
User interface
How does frePPLe choose the language of the user interface?
The frePPLe web server detects the language settings of your browser. If any of the supported languages is in the list, the user interface will automatically be shown in that language. If none of the supported languages is accepted by your browser, English is used by default.
A user can override the detected language in the preferences screen.
If you used the windows installer for installing frePPLe, the automatic language detection doesn’t work. You can only manually set the language.
A user can override the detected language in the preferences screen.
If you used the windows installer for installing frePPLe, the automatic language detection doesn’t work. You can only manually set the language.
I want frePPLe in my own language
A fair request. FrePPLe is ready to plug in translations for additional languages.
Follow the instructions on this page to create you own translations and submit them to the frePPLe team. It’ll take you only a few hours to come up with the translations.
Follow the instructions on this page to create you own translations and submit them to the frePPLe team. It’ll take you only a few hours to come up with the translations.

Data integration
How do I load data from my data source into the frePPLe database?
The recommended and most performant method to load data is to directly access the database tables with the database utility or ETL tool of your choice. The database schema of frePPLe is kept simple and transparant for this purpose.
A second choice is to use the frepple_loadxml command to import an XML file.
Another choice is to use the loaddata command to import data in JSON or YAML format.
A last alternative is to upload CSV-files in the user interface
A second choice is to use the frepple_loadxml command to import an XML file.
Another choice is to use the loaddata command to import data in JSON or YAML format.
A last alternative is to upload CSV-files in the user interface
How do I export planning results from the frePPLe database to an external system?
The recommended and most performant method is to directly pull the data from the database tables with the database utility or ETL tool of your choice. The planning results are stored in tables with the prefix out_.
Alternatively, you can use the dumpdata command to export in XML, JSON or YAML format.
Or, you can save the data from the user interface in CSV-format.
Alternatively, you can use the dumpdata command to export in XML, JSON or YAML format.
Or, you can save the data from the user interface in CSV-format.

Modeling and solver algorithm
Can you briefly describe the solver algorithm?
The default solver is a heuristic solver. It will loop over all demands in order of priority, and search for each demand the best way to meet it in time. If it is not possible to meet the demand in time, it will try to minize the delivery delay.
Where will the solver do well? Where will it not work well?
There is no such thing as a generic algorithm that can solve all planning problems optimally and efficiently. Any solving algorithm has its strengths and weaknesses.
The frePPLe default solver is designed with discrete manufacturing environments in mind. In these environments material and capacity constraints are interacting with each other, and a plan is required that synchronizes the procurement of materials with the available capacity intelligently.
Some examples of planning problems where the frePPLe default solver is likely to fall short:
The frePPLe default solver is designed with discrete manufacturing environments in mind. In these environments material and capacity constraints are interacting with each other, and a plan is required that synchronizes the procurement of materials with the available capacity intelligently.
Some examples of planning problems where the frePPLe default solver is likely to fall short:
- Project planning:
If your planning problem has one-of tasks with complex dependencies and timing constraints the solver needs to recognize and utilize the critical path information. Such logic is currently not implemented. - Human resource planning:
If your planning problems looks like a timetable where people need to be assigned to a set of tasks subject to a complex set of constraints and objectives, you’ll find that specialized solvers are doing a better job than frePPLe. - Combinatorial problems:
Some planning problems look like puzzles. A combinatorial search is required to achieve good plan quality since the heuristic rules used by the default solver can’t cover all situations.
A solver based on a simulated annealing algorithm is planned to address this type of problems, but it is not implemented yet.
How can I debug or trace the solver algorithm?
A trace file can be generated by running the solver in verbose mode. To switch to this mode, open the file commands.xml and edit the line frepple.solver_mrp(name=”MRP”, loglevel=2, …). At the end of the planning run the file frepple.log contains the complete trace of the algorithm.
More advanced debugging modes are possible by using the user exit hooks of the solver. These functions are callback functions where the solver algorithm will call your custom Python function. The hooks can be defined in the very same place.
More advanced debugging modes are possible by using the user exit hooks of the solver. These functions are callback functions where the solver algorithm will call your custom Python function. The hooks can be defined in the very same place.
How can I export my model to share with others?
At times it can be handy to export the content of your data to share it with others for debugging or analysis. The framework allows you to export
the data in a fixture in JSON text file.
Use the following command to achieve this:
manage.exe dumpdata –format=json input >mymodel.json
the data in a fixture in JSON text file.
Use the following command to achieve this:
manage.exe dumpdata –format=json input >mymodel.json
How can I import a model sent to me?
A model exported as a JSON fixture file can easily be imported in a database. Copy the fixture file into the folder binfixturesinput
(Windows installer) or contrib/django/freppledb/input/fixtures (development install). Next, using the tools/execute screen erase the previous contents of the database. Next, select the load dataset option in the same screen to import the dataset. Starting with v0.9.0, the new fixture will automatically be present in the list of available dataset.
You can also use the frepple_flush and loaddata commands to perform these actions from the command line.
MySQL has some issues importing such fixture dataset (see https://docs.djangoproject.com/en/dev/ref/django-admin/#compressed-fixtures) and the files may need some manual tweaking to be usable with MySQL.
(Windows installer) or contrib/django/freppledb/input/fixtures (development install). Next, using the tools/execute screen erase the previous contents of the database. Next, select the load dataset option in the same screen to import the dataset. Starting with v0.9.0, the new fixture will automatically be present in the list of available dataset.
You can also use the frepple_flush and loaddata commands to perform these actions from the command line.
MySQL has some issues importing such fixture dataset (see https://docs.djangoproject.com/en/dev/ref/django-admin/#compressed-fixtures) and the files may need some manual tweaking to be usable with MySQL.

Database
Which is the best database for frePPLe?
There is no answer to this question.
The choice is dependent on your own preference and expertise.
The choice is dependent on your own preference and expertise.
Why doesn”t frePPLe support my favorite database X?
FrePPLe supports all database engines that are officially supported in the Django web application framework.
For a number of additional databases third-party plugins are available (see https://docs.djangoproject.com/en/dev/ref/databases/). These are untested with frePPLe and your mileage may vary…
For a number of additional databases third-party plugins are available (see https://docs.djangoproject.com/en/dev/ref/databases/). These are untested with frePPLe and your mileage may vary…
- MySQL
What are recommended database settings?See the Django documentation at https://docs.djangoproject.com/en/dev/ref/databases/
It is highly recommended to use the InnoDB storage engine, for its support of transactions.
For best support of multi-lingual data, it is recommended to set the default-character-set parameter to utf8. A case sensitive collation should be used.
When the frePPLe exports planning results to the database, the setting of the variable max_allowed_packet is important: depending on the model size use a setting of 50M or higher.
Also make sure the SQL_MODE setting includes “PIPES_AS_CONCAT”.
For optimum performance of the user interface the default memory allocation parameters will need to be increased from their defaults. The appropriate settings depend on the model size, the number of concurrent users and the available memory on the server. The following parameters are of paritcular interest: innodb_buffer_pool_size and query_cache_size.I am getting an “engine has gone away” error message during plan exportingIncrease the value of the database parameter max_allowed_packet to 50M or higher. - SQLite
- PostgreSQL
What are recommended database settings?See the Django documentation at https://docs.djangoproject.com/en/dev/ref/databases/
- Oracle
What are recommended database settings?See the Django documentation at https://docs.djangoproject.com/en/dev/ref/databases/