This commit adds most of the optional metadata for programs. The event
related to the program's publication is an actual relationship to an
Event model. The idea is to expand on that model in the future to
include:
- A link to the event's main topic
- List of programs published in the event
- Possibly, a list of all related topics (announcement, start, results,
etc) all sharing a common 1-line header so they are linked together
- This would be used for event-related trophies
- And possibly for an event calendar
* Add an automatic job every day at 4 AM to recompute the progrank of
every program. Currently everyone gets progrank 0.
[MIGRATION] This commit contains a new version of the schema.
[SETUP]
* Install flask-crontab (with pip)
* Run `flask crontab add` to register the jobs
* Add a TagListField which automatically validates its input against the
TagInformation database, and has a richer .selected_tags() method
* Add a dynamic tag input widget, available through a macro (*import
with context*), that supports both JS and non-JS input
* Add a TagInformation.all_tags() function
* Add colored tag display to all themes
* Fix a bug causing programs to have no names
* Add tags: games.action, games.narrative, courses.informatics
[MASTER] Run the 'update-tags' command of master.py.
Adds the tagging system, with 3 types of tags:
* Calculator models grouped by compatibility classes
* Programming languages
* Game, tools, and course categories
[MIGRATION] This commit contains a new version of the schema.
[BREAKS] This commit breaks existing tag assignments.
[MASTER] Run the 'update-tags' command of master.py.
* Rename Config → FlaskApplicationSettings so we know exactly what we're
talking about
* Clarify that LocalConfig overrides both V5Config and Flask settings
* Only give defaults that are needed in LocalConfig and remove old
settings that are no longer used
Also added is_default_accessible() to Thread class as its owner may be a
Topic with forum access restrictions or public main content (like
Program)
[MIGRATION] This commit contains a new version of the schema. /!\ This
migration breaks all attachments
This is useful to quickly browse a list of polymorphic Posts for topics,
programs, etc. The main application is from Member.posts, since
polymorphic collection seems both difficult and edgy.
[MIGRATION] This commit contains a new version of the schema.
Same options as for images, except for [pixelated]. Supported sources
are standard videos and YouTube, and there is basic auto-detection which
avoids the need to set the [video] attribute.
New attributes
* left, center, right: Exactly what you expect
* float-left, float-right: Also just what you expect
Currently there is no way to force a clear.