Tags give the ability to mark specific points in history as being important
- !417 Implement db v2 handling: This merge request implements support for V2 of the Database object. This requires the addition of a new application that handles the new ProtocolTemplate object. The Database and more specifically the related models handling is updated to that it can continue to work with both version of databases. It ensures by adding new tests that the execution of experiments still works with both V1 and V2 databases. Fixes #586
- !418 Make install more flexible: his merge request makes the install command more flexible. The current command goal is to populate an empty system however, when adding a new asset like protocol templates, it is not possible to just install that one hence the goal of these changes: allow installation of one or more assets rather than just all of them. This will allow to install only protocol templates and then update the databases part.
- !416 Add expiration date and procedure and manual procedure to help users interact with account emails holding a temporary URL: On specific emails that target users accounts, temporary URLs were used to simplify the a user action. However the expiration date of the temporay URL is not mentioned and an alternative procedure is not present to help the user realize manually the required operation. This MR proposes to fix this by adding those information. Fixes #585
- !409 Refactor accounts and yearly revalidation scripts - Centralize and tests accounts emails: - cleaned accounts API - cleaned accounts views - refactored yearly revalidation scripts - removed code duplicates and unified code - centralized account actions (i.e.: supervisee rejection, etc.) - made sure tests still work - centralized emails with an email messaging utility - added complete test cases for all emails - removed unused emails - patched code exceptions Part of !404
- !411 Code update migrations: This merge request contains the migrations that were not yet generated when the code was updated (update to delete behaviour, choice field bytes to string update, etc.)
- !410 Ensure database raw data access also work in the beatweb context: This merge request adds a new test to ensure that the support for raw data access works properly in the context of beat.web. Related to beat.core#105 Related to beat.examples!27 Was related to #579
- !386 Fix front page stats: This merge request fixes the way the numbers are gathered for the statistics on the front page. It now shows an accurate picture to the user on the page whether anonymous or not. Fixes #514
- !412 Properly refresh session after password change: For more information: https://docs.djangoproject.com/en/3.1/topics/auth/default/#session-invalidation-on-password-change Fixes #581
- !413 Fix interactive command calls in daily tasks: Some of the commands called here were properly made interactive however the daily calls to them had not been updated. Part of beat/beat.web#582
- !414 Update the password reset URL path to match Django's: The URL path has changed at some point during Django's updates therefore, update ours to match the latest version used. Fixes #583
- !408 Add instructions to run experiments from command line: This merge request adds instruction on how to handle online experiment execution from the command line.
!396 Two factor authentication: This merge request add support for two factor authentication to beat/beat.web>. Currently it only supports the use of an authentication app like Bitwarden, Authy, etc. Since it adds a new Django application, it requires a call to
django migratein order to setup the database for its use. Fixes #571
- !399 Remove dataformat editor: This merge request removes the ability of editing dataformats on the online platform. For more details see %Read-only platform Fixes #572
- !400 Remove library editor: This merge request removes the ability of editing libraries on the online platform. For more details see %Read-only platform Fixes #573
- !401 Remove algorithm editor: This merge request removes the ability of editing algorithms on the online platform. For more details see %Read-only platform Fixes #574
- !402 Remove toolchain editor: This merge request removes the ability of editing toolchains on the online platform. For more details see %Read-only platform Fixes #575
- !403 Remove experiments editor: This merge request removes the ability of editing exeriments on the online platform. For more details see %Read-only platform Fixes #576
- !405 Fix seach fields in databases admin
- !406 Fix jsonschema to older version for buildout: The latest version does not play nice with Python 3.7 on the staging and production system.
- !407 Remove edition from doc: This merge request removes references to the online edition in the various asset guides. Fixes #578
- !398 Remove asset edition: This merge request centralizes the work done for %Read-only platform All merge requests for issues related to that milestone shall be merged here. Issues fixed: Fixes #572 Fixes #573 Fixes #574 Fixes #575 Fixes #576 Fixes #578
- !405 Fix search fields in databases admin: The databases have no author, therefore they cannot be search by them. Removed the field
- !343 Cleanup accounts: This merge requests does a pre-commit cleanup of the accounts application. Part of #562
- !344 Interactive commands: This merge request cleans the various interactive commands implemented. It centralizes the common code in a base class. It also cleans the fact that some of the commands had the interactive option backward meaning that the user would have to "enable" interactivity rather than the usual "--noinput" route. As drive by commits, some minor cleanups have been applied to the code. Part of #563
- !345 Cleanup algorithms: This merge requests does a pre-commit cleanup of the algorithms application. Part of #562
- !346 Cleanup attestations: This merge requests does a pre-commit cleanup of the attestations application. Part of #562
- !347 Cleanup backend: This merge requests does a pre-commit cleanup of the backend application. Part of #562
- !348 Cleanup code: This merge requests does a pre-commit cleanup of the code common part. Part of #562
- !349 Cleanup common: This merge requests does a pre-commit cleanup of the common application. Part of #562
- !350 Cleanup databases: This merge requests does a pre-commit cleanup of the databases application. Part of #562
- !352 Cleanup dataformats: This merge requests does a pre-commit cleanup of the dataformats application. Part of #562
- !353 Cleanup experiments: This merge requests does a pre-commit cleanup of the databases application. Part of #562
- !354 Cleanup libraries: This merge requests does a pre-commit cleanup of the libraries application. Part of #562
- !355 Cleanup navigation: This merge requests does a pre-commit cleanup of the navigation application. Part of #562
- !358 File field reading: This merge request fixes an issue with how files content were read. The returned content was bytes but by default it should have been text. This is now fixed with adding support for CXX algorithm which are in fact binary.
- !351 Fix forms: This merge request fixes the Widgets used in the admin pages. There was an incompatible change done in Django 2.1 See Django 2.1 release notes Fixes #564
- !359 Fix template FileField reading: This merge request fixes all templates where a FileField content was read directly rather than using the associated property who would give the correct output. Fixes #566
- !362 Settings cleanup: This merge requests does a pre-commit cleanup of the settings files. Part of #562
- !361 Cleanup search: This merge requests does a pre-commit cleanup of the search application. Part of #562
- !363 Cleanup statistics: This merge requests does a pre-commit cleanup of the statistics application. Part of #562
- !364 Cleanup team: This merge requests does a pre-commit cleanup of the team application. Part of #562
- !365 Templates cleanup: This merge requests does a pre-commit cleanup of the templates folder content. Part of #562
- !366 Cleanup toolchains: This merge requests does a pre-commit cleanup of the toolchains application. Part of #562
- !367 Cleanup ui registration: This merge requests does a pre-commit cleanup of the registration part stored under the ui application. Part of #562
- !368 Cleanup ui: This merge requests does a pre-commit cleanup of the ui application. Part of #562
- !369 Cleanup utils: This merge requests does a pre-commit cleanup of the utils module. Part of #562
- !360 Scripts cleanup: This merge requests does a pre-commit cleanup of the scripts folder content. Part of #562
- !370 Cleanup beat/web files: This merge requests does a pre-commit cleanup of the files found at the root of the beat/web folder. Part of #562
- !371 Remove the scheduler script: The scheduler script located under scripts is not used anymore. Therefore remove it to avoid dead code to pile up. Part of #567
- !357 Cleanup reports: This merge requests does a pre-commit cleanup of the reports application. Part of #562
- !356 Cleanup plotters: This merge requests does a pre-commit cleanup of the plotters application. Part of #562
!372 Fix supervisor crash on sign-up: This merge request fixes the crash on supervisor sign-up that has appeared after migration to Django 3. The issue is related to a faulty request to the user database with a
getthat should have been replaced with a
filterinstead as done for the other classes present in the same file. Fixes #568
- !373 Update python version to 3.7 for tests: Buster providing Python 3.7, make the current test run use that version as well.
- !374 Update wsgi socket path: The original path used is rightfully forbidden on production, therefore use a dedicated path with correct accessibility rights.
- !375 Remove the extra forms for environment language handling: This makes the environment creation and management clearer. Fixes #565
- !376 Update installed apps: This merge request updates the way installed apps are declared following Django 3 new recommendations. See Django's application documentation It also updates test dependencies adding nose as it was missing for beat/beat.web> but pulled in because of other packages using it. However, not being part of the buildout configuration made it ignored when generating the django scripts therefore the "statistics" module tests could not run properly. Part of #561
- !377 Remove Python2 imports: This merge request does a cleanup on the special handling of various imports to stay Python 2 compatible. This requirement being not relevant anymore, remove all these special cases.
- !379 Fix reports url prefix usage: This merge request fixes the URL generation in the emails sent to warn users about future deletion of their reports. Part of #558
- !378 Fix url prefix usage in attestations: This merge request fixes the URL generation in the emails sent to warn users about future deletion of their attestations. It also fixes an execution issue where the command sending the email would also to the cleanup. Both command are now independent so their actions are clearer. The daily cron tasks to be executed have been updated and now both of them are called in sequence. Part of #558
- !380 Fix url prefix usage in experiments: This merge request fixes the URL generation in the emails sent when an experiment ends, successfully or not. It also update the testing part and add tests for the email related functionnallity. Part of #558
- !381 Cleanup URL_PREFIX uses in experiments: This merge request cleans up the uses of URL_PREFIX in the experiments module. The places where it was used were in fact not in use so they have been removed. Part of #558
- !382 Cleanup url prefix use in search: This merge request fixes the URL generation in the emails sent when a leadboard changes or is deleted. It also fixes the sending of email on leadboard deletion and add tests for the email related functionality. Part of #558
- !384 Refactor email test in ui to avoid hard coded URL: This merge request improves the checks of generated URLs in emails by removing the hard code part. Part of #558
- !385 Fix links in activity stream: This merge request fixes an issue where the links generated in the activity stream was wrong and included the URL_PREFIX twice. Part of #558
- !383 Fix url prefix usage in accounts/registration: This merge request fixes the URL generation in the emails sent to users about registration/activation/re-activation/rejection/yearly re-validation and possible rejection after yearly re-validation. Part of #558
- !386 Fix front page stats: This merge request fixes the way the numbers are gathered for the statistics on the front page. It now shows an accurate picture to the user on the page whether anonymous or not. Fixes #514
- !387 Simplify URL_PREFIX handling in urls.py: URL_PREFIX shall not contain a fully qualified URL therefore there's no need to parse it. Part of #558
- !389 Cleanup url prefix use in accounts api: This merge request fixes the URL generation in the emails sent through accounts api. It also refactors the information sent to a supervisor on a new supervision request. Part of #558
- !390 Fix name handling in broker callbacks: With the evolution of the bytes/string handling in Python and Django, filtering the database on a CharField with a byte does not work as before. This patch thus ensure that the name of the worker passed to the callback is converted to a string before doing any database query. Part of #561
- !388 Cleanup account supervision check migration: This MR removes the migration patch used to warn current users of the move to a supervision system, and re-orders the following migrations that need to be adjusted to accommodate with this. The email generated for this are removed as well.
- !391 Revert "Merge branch '569_cleanup_account_supervision_check_migration' into 'django3_migration'": This reverts merge request !388 "Refactoring" a migration has side effects on an existing database. The migrations are recorded and thus doing this change we break the state and it's wrong. Let's keep the migration as is for consistency.
- !393 Proper cleanup account supervision check migration: This MR proposes a better cleanup of the migration that was used to shift users to the new supervision ecosystem. It also avoids the issue encountered with !388 and !391 Fixes #569
- !392 Fix url prefix usage yearly account revalidation: This MR fixes the url prefix usage for the yearly account revalidation command Fixes #570 Part of #558
- !394 Migrate urls files: This merge request migrates all the URLs to the new Django style using either path or re_path. It also simplify the setup of the API URLs.
- !395 Pin djangorestframework version: Django REST framework 3.12 was released but the drf-yasg does not yet support it thus pin the package version to keep things running properly.
- !342 Django 3 migration: This merge request is the base of the migration of beat/beat.web> to Django 3. Preliminary work includes: - Fix all applications with regard to the namespace handling - Fix all missing on_delete parameter in both models and migration - Removal of obvious Python 2 code path - Example fix of URL_PREFIX abuse - Port of login handling to new view system - Update call to function that have become properties - Update to imports Related issues: Fixes #561 Fixes #559 Part of #558
- !397 Fix the dataformat declaration view: The python ordered dictionary was shown raw, use the string version of the declaration to feed the editor.
- !335 Update docker tag in user doc: This patch fixes the tag used in the explanation of a C++ algorithm creation. Fixes #552
- !336 Add additional validation for environments/queues: When creating a new experiment, there's an additional check that is done for the validity of the environments/queues combination selected that is performed on save. This currently does not play nice with the API side as it triggers an error 500 which should rather be a validation error. Therefore the check is now done in the validate method so that this use case is better handled and allows for a correct error message to be returned. Also, now if we get an error when creating a new experiment, an APIError is generated with it.
- !337 Fix analyzer edition: The online editor still allows to have parameters for analyzer which is something that has been removed since they should not have any. This patch fixes this.
- !338 Add proper file api endpoint for cxx: This merge request implements a new endpoint for the upload and download of the "code" for binary algorithms. Currently C++ algorithms. The current method used by the website is not the most cleanest implementation and should be replaced by the endpoint in the long run. This will also allow to properly push and pull from beat/beat.cmdline> As a drive by fix, it also add the missing writing_serializer_class variable to the RetrieveUpdateDestroyExperimentView. Part of beat.cmdline#73
- !339 Cannot show environment with plus sign in name: This merge request extends the URL pattern for the environment detail view so that the C++ environment is properly supported. Fixes #556
- !340 Fix spur put experiments: This merge request fixes an issue appearing only with Safari that can send a PUT command while at the start doing a GET. That PUT call does not go through but still does enough to trigger an error since the writing serializer for the experiment is set to none as the PUT is currently custom handled. Adding a dummy serializer here allows for the call to succeed. Fixes #557
- !341 Update beat packages versions: This merge request updates the versions of beat packages used on the platform and for the editor.
- !333 Update execution environment: Move all the execution environment definition to the new one provided by beat/beat.env.builder> This not only concerns the tests but also the qsetup script which is used to prepare the test environment. Follows beat.core!120, beat.backend.python!72 and beat.cmdline!95
- !334 Activity stream notification for supervision requests: This MR targets the notification handling for new supervision requests in the activity stream. The goal is to help supervisors notice in their activity stream (when connected) any supervision request he needs to address. Fixes #496
- !308 [docs] added validation prodedure for web interface Bug 485 to the admin documentation: This merge request adds information given in beat/beat.web#485 about validation procedure for web interface for web admin documentation.
- !309 Fix all the beat dependencies used for CI testing to match the versions used by buildout: Since beat.core is fixed at 1.8.0, the others must also be pinned to their corresponding versions. See release.cfg
- !310 removing Biometrics Evaluation from BEAT definition as the platform has become more generic than that.
- !311 Don't make the test database in memory for beat.cmdline tests. This allows for re-use during the tests rather than recreate everthing from scratch every time.
- !312 Postpone date of users validation and clean up user profiles.
- !313 Patch the cleaning of invalid users: This patch avoids the crash of the cronjob during the cleanup of invalid profiles, depends on !312
- !314 Cleanup model representation: This patch updates the models to show proper string representation with Python 3. This is useful for getting information on Django's admin pages
- !315 Remove google analytics: Fixes #543
- !316 Remove the beta channel from the list in dev.yml: dev.yml is used to test against the latest stable version of the beat packages. The CI build system now uses the new strict channel policy of conda which means that it does not search further after a package is found in a channel. Thus if the specified version is not found, it ends up with an error. See !315 for details
- !317 Improve database map command output: The scripts now lists by default only the users with an active account. There's an option that will print all users with their activate state. The user email has been added to the output.
- !318 Remove .conda and .condarc from docker image when doing deployment: The current conda-concourse-ci image includes wrong configuration
- !319 Add usage time to database: This merge request implements accessibility time handling for database objects. Without dates the database behaviour is the same as now. If dates are added they become only accessible within the range of dates. Experiment configured with these databases won't be re-run after access expiration. Part of beat/beat.web#541
- !320 Add accessibility edition to admin page: Add the missing fields for editing the accessibility date and time in the admin page. Part of beat/beat.web#541
- !321 Fix new experiment save: When pushing a completely new experiment on the platform, an error occurs when calling update_blocks on the cache content check. If the object does not exists, then an exception is rightfully raised. This patch changes that by using get_or_create like of the outputs handling.
- !322 Fix Sign-up/Sign-in form and documentation pointers: This MR fixes sign-up and sign-in forms and improves documentation pointers Fixes #544, #545
- !323 Improve experiment failure/success notification email: This MR targets the notification of experiments success/failure by having a login direction followed by a re-direction to the experiments page. Fixes #546
- !324 Return compatibility information for algorithms and libraries: This merge request implements the retrieval for execution environment used for an algorithm. It cleans the current implementation providing that information to the views and makes it also available on demand through the API. Fixes #548
- !325 Improve new version handling: This merge request refactors the new version handling API wise. It now does not guess what the new version should be. The version value shall be send along the rest of the data so the content of the platform can properly be checked. After this update people shall update to beat/beat.cmdline> version 1.7.1 Related to beat.cmdline#67 Fixes #547
- !326 Fix object existence check in common serialiser: The check worked with SQLite but not with PostgreSQL. In any case, since we have a user object here, there's no reason to not use it directly. Part of #547
- !327 Refactor update creation api: This merge request does the following: - Raise DRF errors rather than returning response to take advantage of the DRF exception handling mechanism - Create serialisers for PUT request to simplify the code - Improve validation checks in several places - Fixes several issues in DRF infrastructure uses - Fixes JSON fields handling - Remove routes that do no fully qualify objects - Implement a custom DRF exception handler that will allow to log errors - Improve testing - Improve permission management
- !328 Improve automatic emails with temporary urls: This MR targets the improvement for automatic emails concerning validation of new users by supervisors/re-validation of users. Fixes #542 Fixes #550
- !329 Fix supervision lists expand: This MR targets expansion of supervision lists and tables Fixes #549
!330 Fix parallel testing on ci: This merge request fixes parallel CI builds in the most simple way. For Linux host,
/dev/shmis used to store the test database and prefix to speedup tests execution. However, on the Gitlab CI, the same machine may run several builds in parallel which means that one run might overwrite data from another one. In order to avoid that two solutions are possible: - Use the database and prefix "in place" (i.e. in the same folder as the code) - Use the various Gitlab provided environment variables to build a path in
/dev/shmto ensure each build has its data in its own directory The first solution was chosen has it is the easiest to put in place.
- !332 Update beat.backend.python version
- !288 Smarter access logic for reports' experiments
- !289 Don't use CDN: dependencies are already available through static files.
- !290 Don't let reports have unused experiments
- !291 [ui] Show warning about saving docs changes in reports
- !292 [reports][js] Fix empty values in tables for experiments with changed aliases
- !293 [doc] Fixed external and internal links
- !294 [reports][js] Show the proper experiments table when locked/published with only 1 group
- !295 [doc] Fixes some warning issues with the documentation
- !297 Fix report's experiment table name/URL construction & restrictions
- !298 Implement database access information print command
- !299 Fix analyzer method update in editor
- !300 Add root folder information to output of database information command
- !301 Replacing django-rest-swagger package that is deprecated with new drf-yasg package
- !302 Update beat/bob-devel to 2019.08.26
- !303 Update beat/bob-devel to 2019.08.28
- !304 Fix documentation link on icon
- !305 [sphinx-openapi] increased the version of sphinxcontrib-openapi to include new feature response object rendering
- !306 Implement experiment reset api: APIs are already available for start and cancel, this merge request adds reset
- !307 [swagger] changed the permission to access the swagger page only to registered users
- !230 fix url prefix handling to properly construct URLs
- !283 Remove redundant name segment in dowloaded plot filenames
!284 Fix malformed URLs when
URL_PREFIXis set in report
- !285 Ensure no URL_PREFIX is used for test
- !286 Add GPU environment to qsetup to allow proper installation and run of the GPU example
- !263 New CI more in line with the other packages. Will use conda to build test environment.
- !267 Update bob/beat-devel dependencies to enforce the latest beat/bob-devel packages to be used for building this package.
- !268 Strip database_name from split chars to avoid empty dataset name generation and thus an invalid index error.
- !269 Fix install command documentation
- !270 Fix the ui/views.py file as it is missing the Http404 import
- !271 Make the top bar documentation link configurable
- !272 Update CI and documentation linking
- !273 Add graphviz to dev.yml for beat.cmdeline tests
- !274 Fix queryset related issue as latest versions of django rest framework makes it mandatory to either provide a queryset property or get_queryset method.
- !275 ZMQ refactoring that implements a new version of the scheduling in beat.web taking advantage of the new implementation in beat.core. There are now additional django commands that allows to manage the scheduler, broker and worker directly from there
- !276 Update bob/beat-devel to fix numpy-base issue
- !277 Fix backup/restore by implementing natural key and foreign key handling for Profile and AccountSettings
- !279 Restore command: validate sqlite version': SQLite version 3.26 introduced a change which is breaking the migration mechanism in Django thus the command will bailout since it's known to break. As an alternative to !278
- !281 Implement password reset
- !257 Fix typos and text in ui registration templates
- !258 Set algorithm schema_version to 2 if not provided: This can happen when converting a v1 analyser.
- !259 Fix database retrieval
- !260 Fix mail handling: remove generic try except and update the template generation code to use dict in place of Context
- !262 Update docker image name
- !261 Fix email sending: This patch goes through all of beat.web mail sending and cleans them
- !264 Improve README and update dev environment: Latest update and sync with other READMEs available in the project.
- !265 Merge new documentation to master
- !266 Fix links in the documentation
- !263 Change the CI infrastructure to run the tests and build the documentation
- !236 Fix backup and restore commands
- !238 Upgrade to django 1.11
- !239 Add cache deletion support: WARNING, use with caution, it may break experiments
- !240 Improve database handling when loading scheduler
- !241 Add exclude field in serializer for django rest framework compatibility
- !242 Refactor code to make it work with both Python 2 and Python 3
- !243 Update lambda use and key search in dictionaries
- !245 Fix anchors in documentation
- !246 Fix Python 2/3 use of zip
- !247 Add command to get current active user on the site
- !248 Fix handling of missing field in experiment panel
- !249 Fix various issues that have been found while doing tests using the web site and the online platform.
- !250 Improve the buildout handling
- !251 Fix bugs in the database API and improve the tools to set them up.
- !252 Update documentation for account reactivation for blocked users
- !253 Improve block state change
- !254 Refactor version fingerprinting for code mirror widgets
- !255 1.4.x: Merge the 1.4.x branch to make the 1.4 version the new stable release.
- !256 Fix context handling for template rendering in navigation: dict must now be used