Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added: - Backends: Add `Writable` and `Listable` interfaces to distinguish supported functionalities among `data` backends - Backends: Add `max_statements` option to data backends `read` method - Backends: Add `prefetch` option to async data backends `read` method - Backends: Add `concurrency` option to async data backends `write` method - Backends: Add `get_backends` function to automatically discover backends for CLI and LRS usage - Backends: Add client options for WSDataBackend - Backends: Add `READ_CHUNK_SIZE` and `WRITE_CHUNK_SIZE` data backend settings - Models: Implement Pydantic model for LRS Statements resource query parameters - Models: Implement xAPI LMS Profile statements validation - Models: Add `EdX` to `xAPI` converters for enrollment events - Project: Add aliases for `ralph-malph` extra dependencies: `backends` and `full` Changed: - Arnold: Add variable to override PVC name in arnold deployment - API: `GET /statements` now has "mine" option which matches statements that have an authority field matching that of the user - API: Invalid parameters now return 400 status code - API: Forwarding PUT now uses PUT (instead of POST) - API: Incoming statements are enriched with `id`, `timestamp`, `stored` and `authority` - API: Add `RALPH_LRS_RESTRICT_BY_AUTHORITY` option making `?mine=True` implicit - API: Add `RALPH_LRS_RESTRICT_BY_SCOPE` option enabling endpoint access control by user scopes - API: Enhance 'limit' query parameter's validation - API: Variable `RUNSERVER_AUTH_BACKEND` becomes `RUNSERVER_AUTH_BACKENDS`, and multiple authentication methods are supported simultaneously - Backends: Refactor LRS Statements resource query parameters defined for `ralph` API - Backends: Refactor `database`, `storage`, `http` and `stream` backends under the unified `data` backend interface [BC] - Backends: Refactor LRS `query_statements` and `query_statements_by_ids` backends methods under the unified `lrs` backend interface [BC] - Backends: Update `statementId` and `voidedStatementId` to snake_case, with camelCase alias, in `LRSStatementsQuery` - Backends: Replace reference to a JSON column in ClickHouse with function calls on the String column [BC] - CLI: User credentials must now include an "agent" field which can be created using the cli - CLI: Change `push` to `write` and `fetch` to `read` [BC] - CLI: Change `-c --chunk-size` option to `-s --chunk-size` [BC] - CLI: Change websocket backend name `-b ws` to `-b async_ws` along with it's uri option `--ws-uri` to `--async-ws-uri` [BC] - CLI: List cli usage strings in alphabetical order - CLI: Change backend configuration environment variable prefixes from `RALPH_BACKENDS__{{DATABASE|HTTP|STORAGE|STREAM}}__{{BACKEND}}__{{OPTION}}` to `RALPH_BACKENDS__DATA__{{BACKEND}}__{{OPTION}}` - Models: The xAPI `context.contextActivities.category` field is now mandatory in the video and virtual classroom profiles. [BC] - Upgrade base python version to 3.12 for the development stack and Docker image - Upgrade `bcrypt` to `4.1.2` - Upgrade `cachetools` to `5.3.2` - Upgrade `fastapi` to `0.108.0` - Upgrade `sentry_sdk` to `1.39.1` - Upgrade `uvicorn` to `0.25.0` Fixed: - API: Fix a typo ('attachements' -> 'attachments') to ensure compliance with the LRS specification and prevent potential silent bugs Removed: - Project: Drop support for Python 3.7 - Models: Remove `school`, `course`, `module` context extensions in Edx to xAPI base converter - Models: Remove `name` field in `VideoActivity` xAPI model mistakenly used in `video` profile - CLI: Remove `DEFAULT_BACKEND_CHUNK_SIZE` environment variable configuration
- Loading branch information