This repo holds the source code of the FUN-MOOC website. FUN-MOOC is an initiative of the French Ministry of Higher Education to provide free MOOCs from the best French universities.
There are three main components to FUN:
- The Open edX platform that the FUN team has slightly modified with a couple bugfixes: the code for this fork is available in the edx-platform repository.
- The FUN layer that defines a visual theme and adds features on top of Open edX. (this repo)
- The production configuration files, which are not disclosed for obvious security reasons.
fun-apps
is supposed to be installed in an Open edX instance. As Open edX is
quite complex to setup, we invite you to ease your life by using
fun-platform's base docker images to
integrate fun-apps (see fun-platform
documentation).
Once your Open edX instance is fully functionnal, to install fun-apps
, you
will need to use pip
with FUN's python packages index server:
$ pip install --extra-index-url https://pypi.fury.io/openfun fun-apps
FUN is open to external contributions. If you find a bug on the platform, you
should feel free to run FUN on your own computer, modify the code and offer
your contributions back to us. To do so, just open a Github pull request on our
dev
branch.
If you have found a bug but you are not able to contribute to FUN directly, you should open a new issue in this repository. Please describe in details how to reproduce the problem, what behaviour is expected and what behaviour is observed. If possible, include a URL.
As a rule of thumb, new pull requests should come with the corresponding unit tests. If you have trouble running the tests or writing new tests, please say so in your PR and the FUN team will help you improve your pull request. For more important contributions, please ask the FUN team in advance to make sure that the feature is relevant and that your approach to solve the problem is the right one.
- Is the content of the courses included in this repository? No, the courses that are run on FUN are "free" as in "free beer" but not "libre".
- I love this project! How can I help? Go follow a course! And then come back to us with the issues you have found :-) Either open a ticket or create a pull request.
- Pourquoi ce document est-il rédigé en anglais, et pas en français ? Le code de FUN est ouvert aux contributions des développeurs du monde entier et pour ce faire il est nécessaire de documenter ce projet en anglais.
We've cooked a shell script to automate the MANIFEST.in
file generation:
$ ./scripts/manifest.sh
Running this script should display an updated version of the MANIFEST.in
file
that can be safely updated via:
$ ./scripts/manifest.sh > MANIFEST.in
A shell script using Docker can be used to generate missing migrations for
fun-apps
:
$ ./scripts/migrations.sh
By default, migrations will be generated using the dogwood.3
openedx release
(using fundocker/dogwood.3-1.0.0
base Docker image). You can override this
default by providing a different EDXAPP_TAG
as a script argument:
$ ./scripts/migrations.sh eucalyptus.3-1.0.0
The fun-apps code is licensed under the AGPL v3. External dependencies packaged with fun-apps have their own license.