Comments (2)
- Ambiguity in emails: We should probably filter emails through
clean_email
to haveINSTITUTION_EMAIL_REPLACEMENTS
applied?
yes, this logic needs to be applied here as well
- I could see conflicts with Update user data on login #2096 if SSO and CMS have different names stored. Maybe we should close it (depending on when we expect the CMS to go up)
closed
- Removal of Evaluations / Courses: Those will simply not be contained anymore in the JSON, so we would just delete all courses/evaluations of the import semester whose
cms_id
is not contained in the json file?
yes, but only if they have a cms_id
set (so we won't delete evaluations that have been created manually)
- The logged attempted changes for state
>= APPROVED
should probably be grouped by course/evaluation.
yes, please
- We treat their
gguid
values as blobs that must bit-match to be identical? Then, for us,0xf
and0xF
would be two different values. Especially asking because I'd expect them to send RFC4122-compliant UUIDs where capitalization doesn't matter. In the worst case, we would delete a course and recreate it with a differently capitalizedcms_id
.
we can assume them to be standard-compliant case-insensitive UUIDs for now
- In general: We expect high-quality data (e.g. trimmed attributes). We trust the CMS to not mess up our data and we do not perform sanity checks.
yes (for now)
- An import run could possibly delete (almost) all courses/evaluations of the semester during the preparation phase.
do you mean if for some reason the CMS doesn't export them correctly anymore? courses/evaluations are only added to the JSON file when there are enrollments for them. so there should be almost no cases where they are manually deleted from that point on. then let's say for all deletions we only notify by email and expect the managers to do the deletion manually.
from evap.
Thoughts / Questions / Ideas
-
Ambiguity in emails: We should probably filter emails through
clean_email
to haveINSTITUTION_EMAIL_REPLACEMENTS
applied? -
Currently only implied, maybe specify more explicit: We update
UserProfile
s of contributors and students with the values from the json file.- I could see conflicts with #2096 if SSO and CMS have different names stored. Maybe we should close it (depending on when we expect the CMS to go up)
-
Removal of Evaluations / Courses: Those will simply not be contained anymore in the JSON, so we would just delete all courses/evaluations of the import semester whose
cms_id
is not contained in the json file? -
The logged attempted changes for state
>= APPROVED
should probably be grouped by course/evaluation. -
We treat their
gguid
values as blobs that must bit-match to be identical? Then, for us,0xf
and0xF
would be two different values. Especially asking because I'd expect them to send RFC4122-compliant UUIDs where capitalization doesn't matter. In the worst case, we would delete a course and recreate it with a differently capitalizedcms_id
. -
In general: We expect high-quality data (e.g. trimmed attributes). We trust the CMS to not mess up our data and we do not perform sanity checks.
- The logged actions would allow to manually undo most damage except for deletions where data will be gone irrecoverably.
- An import run could possibly delete (almost) all courses/evaluations of the semester during the preparation phase. We accept that? Possible counter-measures could be:
- Require manual user confirmation if some modification/deletion threshold is reached
- Make a backup of the courses/evaluations/contributions of the semester before the import
from evap.
Related Issues (20)
- Use web components for contact and direct delegation modals
- Preparation reminder text view
- Separate imported participants from manual changes
- "Delete Semester" (modal submit) button flicker-shows on staff semester page HOT 1
- Update Django Stubs on new release
- Bilingual RewardPointRedemptionEvent names
- Delete participations of long inactive users
- Database validation for model field choices
- Assertion failure due to weak signal receivers having no guarantee of being garbage collected in time HOT 2
- Package EvaP (with nix?) HOT 3
- Creating Superuser fails on a fresh install HOT 5
- Clear session of user on permission change HOT 2
- Replace print statements in enrollment preprocessor
- Questionnaire reordering fails HOT 1
- Participation progress bar HOT 1
- Student index page / `TestStudentIndexView` performance
- Group related settings in some nested struct
- Loading of backup fails due to nullable `natural_key`: the `USERNAME_FIELD`
- user delete form not working HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from evap.