You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Migrating over what we discussed in the all-hands meeting here for the back end team to discuss
The configuration system rewrite is a big project which we want to do due to
problems with the current approach to managing configuration.
The new configuration system should provide us with the following features:
Distinction between editable and non-editable settings. Some values should
be able to be configured during the event, some should be immutable. The
configuration system should have a built-in notion of this. For settings that
will not change over the course of the event and need to be present at event
start (such as the mail server to use), it may be clean to resort to the
direct Django settings, as Django already provides functionality to work with
this.
An example package that we could maybe take inspiration of would be django-constance.
Either way, we should expand the amount of settings that are configurable by
the user in the frontend instead of further locking it down.
This should also take into account the possibility of a future cloud
offering, although we still need to discuss what this means in terms of
config system architecture.
Simple unit testing. Currently, we lack a clean context manager or similar
ways of overriding config values for a single unit test, and instead have to
resort to setting values manually. In case of test failure, this results in
cascading failures, making it harder to find the source of the issues.
Note that the app is built on the assumption that it only runs for a single
event - for more than one event we would probably use a coordinator service.
After reviewing additional requirements that we want here, and clearing the
small remaining backlog for core, create an issue to plan out the new
configuration system.
The text was updated successfully, but these errors were encountered:
Migrating over what we discussed in the all-hands meeting here for the back end team to discuss
The configuration system rewrite is a big project which we want to do due to
problems with the current approach to managing configuration.
The new configuration system should provide us with the following features:
Distinction between editable and non-editable settings. Some values should
be able to be configured during the event, some should be immutable. The
configuration system should have a built-in notion of this. For settings that
will not change over the course of the event and need to be present at event
start (such as the mail server to use), it may be clean to resort to the
direct Django settings, as Django already provides functionality to work with
this.
An example package that we could maybe take inspiration of would be
django-constance
.Either way, we should expand the amount of settings that are configurable by
the user in the frontend instead of further locking it down.
This should also take into account the possibility of a future cloud
offering, although we still need to discuss what this means in terms of
config system architecture.
Simple unit testing. Currently, we lack a clean context manager or similar
ways of overriding config values for a single unit test, and instead have to
resort to setting values manually. In case of test failure, this results in
cascading failures, making it harder to find the source of the issues.
Note that the app is built on the assumption that it only runs for a single
event - for more than one event we would probably use a coordinator service.
After reviewing additional requirements that we want here, and clearing the
small remaining backlog for core, create an issue to plan out the new
configuration system.
The text was updated successfully, but these errors were encountered: