------------------------------------------------------------------------------- Mon Feb 27 2023 7.2.7 ===> Sat Feb 17 2024 7.3.13 ------------------------------------------------------------------------------- * ABJ/DA admin: add a button to select all the UEs for DA * Table: fix column title placeholder * Table: fix column import with a mail key * Competence: fix JSON catalog * Template Catalog: take into account the last value entered * Fix regression tests * Table QRCode column: record ABJ for students with a DA * Competences: defines observation titles in the catalog * Competence: fix get_allowed_keys (used by F/U list) * Table editor now use placeholder INPUT attribute * Competences: big update (always experimental, do not use) * Table: uploaded video are opened inplace * Rank column type no more broke the suivi page * Table column type popup: add a filter * utilities.import_reload: works with multiple processes * On file upload displays remaining time * Add Rank column type * P template: fix type of manually created columns * url_import: in some case the cells stayed unmodifiable * Analyser column type: better feedback Take
and URL into account. * Suivi: hide grade options also hide averages * Table: allow scroll in column-type popup * Add preference and column type 'commute_time' 'working hours per week' * No more backtrace if no SMTP server defined * 100% coverage * Home page: allows semestrialization of tables * Fix regression tests * '_ucbl_' template 'cell_change' hook must always be called * Deactivate competence sunburst * Use 'imp' if 'importlib' does not contain 'find_module' * Template Competence: add Aggregate column and cleanup * Competences catalog: add Formation and UE columns * Table: try to make the keyboard text copy work on MacOS * Dispatcher: do not fill full slots * Dispatcher: allows not allowed values in columns to fill * MCQ suivi: fix button terminate exam * Dispatcher: enhance GUI and search * Tablecopy: enhance error message * Competences: big update (always experimental, do not use) * Dispatcher: fix search optimum * P template: insert the new column at the good place * Dispatcher rewrite * Dispatcher: remove drag and drop not working on phones * Annotator: allow download of students files * Fix regression tests * Entity: add a check on valid_ID * Add missing file * Increment version number * Add hook: student removed * getline works also for teachers * Table: column import ZIP, add 'overwrite' toggle * Fix infinite recursion in Ue_Grade * Table: fix cursor shape on top right icons * Fix timeline, add it to home page * Replace deprecated 'imp' by 'importlib' * Student lists were not updated for opened tables * Annotator forms: do not create a bad line * Table column exports: not for 'qrcode_prst' attribute * Annotator forms: french doc update * Annotator forms: many small enhancements * Experimental: Annotator can generate PDF from table content Not yet documented. Bad user interface. Just commited for testing. * Fix position of column_cell_writable * Notation importation is more resilient * French doc update * Table: Fix date sorting * Suivi: ⛔ cells must not be editable by teacher * Suivi: works if undefined teacher name * Table: blink hidden filtered column in the scrollbar * Suivi: Add an option to hide grades from the page * Table: do not lose selection on Meta key press * Table: displays empty_is value when adding a new ID * P template: on ABI indicate no-reply for the mail * Make P template more resilient * Fix scanner_no_id.py for grades * Fix competences column type problems * Revert previous commit * Table editor: fix reconnection problems * Table editor: fix 'modifiable' in 'sort' column menu * SCRIPTS/js_errors.py: fix clamped long line read * Suivi: fix problem with Firefox SELECT (mouseleave event) * Suivi: fix focus on next cell on update * Suivi: fix update feedback in boxed cells * Fix 'getline' backtrace * Entity update page: allow to update only valued attributes * Template Tables: remove PNG backtraces * Competences: graphic display on table and student 'suivi' * Scanner: fix scanner to get students without ID * SCRIPTS/bad_unregistration.py: allows to select tables with a pattern * Fix table 2d plot feedback on move hover * Scanner: add scanner to get students without ID * Interactive QRCode: add a button to record all ABI * Interactive QRCodes API allows to choose Grp/Seq columns * 'encode_uri' escape «"» in URL * When entering an ID, allow to import values of the old table * ABJ/DA table indicator was not removed after last remove * QRCode: tables with a QRCode popup must be unloadable * Competence: digit are important in names * ABJ/DA admin: allow DA for multiple UEs * Teacher template: use empty_is for Semester * Fix allowed_grades enumeration * Table QRCode: replace a backtrace by a better message * Entity: attribute with args are updated * Fix regression tests * Warning if 'merge_students' is not allowed * Template P: fix table destruction bug * Make URL with «'» safe for CSS use (for record_note plugin) * Fix backtrace if all_etapes returns None * Documentation update * Add a "label" on favorite students on home page * Fix table columns import when last cell empty * DA green square are smaller if not for the UE * Read DA from external source (dispense assiduite) * Add column type 'abis' to get the global number of ABI of a student * 100% coverage * Uploading: add a message teling to wait * GUI test fix * Add skills catalog editor and column type Observation * Template Tables: table attribute editor * A 'nobody' cell is assumed has 'empty' * Cleanup table filling * Better handling of touch event * Fix JS backtrace * Remove duplicated change sent to the browser * «Who's connected» displays page-index for debug * More resilient column delete * onerror send JS backtrace to the server * Fix JS backtrace * Table copy time-translate the columns imported dynamicaly * Make GUI regtests more resilient * Column extraction works on private table with identical master lists * ondoublickclick no more takes the focus if the cell value is unchanged * Notation column type allows to store negative grades ro clamp to 0 * Add 'regexp_match' in PYTHON_JS * Notation column type: editor fix * Trim spaces from column titles * Fix regression tests * Fix orange coloring for TT students * P template UE attendance: display a virtual table * Fix template P reporting * Fix student icon backtrace * Use the last version of RapydScript * Fix LOGIN/grades realtime update * Fix Print and Stats pages (broken by allowed_grades change) * Fix suivi_icon * Move TMP/CRON to LOGS/CRON * Fix suivi_icon * Add ABI→ABJ button in justification admin-page for suivi tables * scanner_abi no more record empty student id * Remove a backtrace if not SMTP defined * allowed_grades is now used in all the places it is needed * Add a Debug scanner to search problems in all tables * Make 'test_gui' more resilient * Clean up bad DB semesters * Downloading file in hidden columns was not possible for masters * LDAP attribute name are reverted to case sensitive ones Some LDAP servers want it this way. * SCRIPTS/bad_unregistration.py works with not official students ID * Nmbr: better handling of 'minmax' for columns=* But works only if the table master visits it. * Calendar column type: fix display glitch in some cases * Add ABI→ABJ button in justification admin-page for P template * Column visibility «Hidden to teacher» must use «visibility_date» * Fix ABI red underline for non standard tables * Column visibility, add «Hidden to teacher, displayed to student» * Columns='*' will work dynamicaly * P template: add the number of a unjustified leave ABI * Attendance centralized: fix table without 'Seq' * Fix column cell import for value as «-1,2» and empty login * Notation: fix import * Attendances centralized on /P/ table from home page All functionnalities of P template are available. * Fix regression tests * Fix some install problems * Fix quick TOMUSS install * Calendar view: fix Safari display problem * Fix Notation import * Scanner Visibility records the column type * Add Analyser and Annotate to «strange grades» * SCRIPTS/test_gui.py starts if :1 is yet used * Suivi: fix a non optimal redirection on old ticket * Hide a firefox exception * QRCode: fix a link in the mail with ABI list * P template: more resilient if duration === '' * Upload get manage Content-Range * Noreply sendmail: obfuscate the From header * Suivi: display uploaded video on the page itself * Fix import/export of 'alert' attribute * Table export. SPAN was creating « » ( ) * Fix 'BUG' message in recording history * Home page: fix number of students per table * Column QRCode: broke browser reload loop * Fix toggle_button initial rendering * Calendar fix for Chrome * Add missing file for Calendar column type * Display filter errors in «Message» tab * Fix horizontal scroll of Images and Calendars * Add Calendar column type * popup_value() remove leading spaces * Table editor QRCode: fix users without language preference ------------------------------------------------------------------------------- Sun Jan 8 2023 7.2.1 ===> Fri Feb 24 2023 7.2.7 ------------------------------------------------------------------------------- * Fix coverage * Home page: add 'unsemestrialize' to table with path * Entity: float attributes were not cached * The cache was not used for suivi messages * Entity: do not update empty list of entities * Fix 'BUG' message in recording history * Add many 'var' missing in 'for' loops * Dispatcher: add a regression test * Dispatcher: do not modify existing dispatch * Dispatcher: allows unconnected columns This allows to have 3 columns with fully distinct contents. With 3 or more sets of preference order for the columns. This ensure that the same student will not be penalized for each of the columns when dispatching. * Table editor: columns titles are draggable * Table editor: allows to empty all red lines * Add a Dispatcher column type asking preference to students * Fix 'suivi' feedback on MCQ/Notation recording * 100% coverage and some bug fixes * It is now possible to send mail on cell change * P template: fix editing of messages (mixed display) * P template: update status on ABI the very first time * Teachers template: bad close QRCode if XLS not used * P template: 'suivi' report was not updated * P reporting: filter using User.groups if defined * Table column QRCode: more resilient and friendly * Remove bad QRCode feedback when == and _ It is a quick hack not clean. But is is a corner case. And it is only to hide a false warning about bad group attendance. * Fix: Enumerations ending by '_' are merged in suivi menu * Suivi: broken feedback is deadline displayed * PYTHONJS: hide pylint errors * Fix computed→uncomputed→computed type change The suivi is correctly updated, but not dynamic column import. * Suivi: fix an infinite loop * P template suivi resume: fix a backtrace * Table import in column: allow to clamp to min/max values * French documentation update * P template: uses filtered lines for 'messages' popup * P template: add «Business Administrator» to «Business Tutor» * «Table / abj» page: add link to P template PRST resume * Fix ue_grade formula (CC ABI does not imply DEF) * 'update_content' no more broken by 'merge_student' table attribute * Suivi: fix focus on next cell on user input * Table enumeration options trimmed to possible options * Suivi cell_change: if select choice is impossible, reset it to last stored value * Enumerations ending by '_' are merged in suivi menu If A value is usable 3 times and A_ value is usable 2 times the menu will only display A as usable 5 times. On selection, the first with free space will be used: A or A_ * Fix suivi cell_change feedback for column title with space * Allow to update students list of a previous semester * QRCode P reporting: fix reporting of previous year * Replace '__' trick by 'merge_student' table attribute The attribute is modifiable in «Update table content NOW» popup. * Suivi : display the attendance from P table * P template: speed up information merge + Pylint cleanup ------------------------------------------------------------------------------- Wed Jun 8 2022 7.1.10 ===> Sun Jan 8 2023 7.2.1 ------------------------------------------------------------------------------- * Aborted unsemestrialisation no more create bad tables * Allow 'columns' attribute: «*», «*Note», «Prst»... * Home page: cleanup selected group * tableinvitation.py reload no more break the random seed * Column type UE_grade: no backtrace on column sort * Fix bugs raised by '/' or spaces in group name * Invitations redirect on suivi with the table year/semester * Replace column type: remove the /20 on suivi * Add 'Replace' column type * Home page: fix default to current semester * MCQ grading update the other columns (average...) * ABJ change are updated in one minute on tables * Computes the good number for untitled columns * SCRIPT/scanner.py: works if non year directory in UPLOAD * Feedback on bad login for 'table.teachers' * P template: teacher was not indicated in mails * Fix «Can affect students of table(:grp) to a referent» * Export XLS: fix NaN and Inf cases * Fix regression tests. Coverage broken for Ubuntu 22.04 * The reconnect popup was closed immediatly in some cases * 'Bug' square were displayed as 'Bad' square in history * More informative backtrace on request processing * Add missing filter translations * Fix table copy with the uploaded files * Fix home page links on TD groups named TD_C TD_E or TD_U * P template: fix reporting of the previous year * Students allowed to edit a table are also allowed as master/teacher * Fix the case of students unregistered/registered/unregistered * Fix ABJUS editing broken by previous commit * Allow not a staff member to edit a table * Can affect students of table(:grp) to a referent * Assumes the attendance is indicated <24 hours after the course * The table editor must connect to the server on load Problem: if an user open multiple tables at once, the browser will stall because it does not allow many connection to the same server. * Entity get_etapes_list check the date * Table forms: fix the close button * Referent statistics: add totals per etapes * Fix url Y/S/clean → clean/Y/S config_home table must be updated manualy. * Fix messages typo * server.the_file is bytes coded for PDF mimetype * Referent teacher suivi page was broken if student with NULL email * QRCode P: they are no more expired twice * Table column sorted by not-value was broken * Suivi: formula do not duplicate boxed box * The new communication protocol works, remove the log * Add on URL in 'small message' on suivi * QRCode Teacher: allows Grp==A+Grp==B * QRCode Teacher: Fix ABI recording if Grp==X is used * QRCode Teacher: send the ABIs to the teacher if asked * Simplify browser→server ping * Regression tests works more reliably * Full rewrite of browser/server communication for tables Importing many values in the table takes no time. History of changed values. No more intrusive popup on server connection lost. One less click when revalidating a ticket. More responsive on value save. And the nicer part: 420 lines less of code because the protocol is more simple. ------------------------------------------------------------------------------- Wed Jun 15 2022 7.1.9 ===> Sun Jul 10 2022 7.1.10 ------------------------------------------------------------------------------- * Home page: add QRCode per groups * Table editor: displays assiduity exemption for other UE * Add missing translations for Annotate and UE Grade * Fix javascript backtraces and upload popup problem ------------------------------------------------------------------------------- Tue May 24 2022 7.1.8 ===> Tue Jun 14 2022 7.1.9 ------------------------------------------------------------------------------- * Home page JS backtrace fix * Home page CSS fix * Table column sort menu allows to change modifiable state * Table column sort menu allows to change visibility state * Table column sort menu allows to edit course dates * Table column sorting by Abj/StdDev : many bug fixes * Suivi: fix modification deadline for the teacher * Suivi page: nicer cell padding * Helper: slash_in_title() checks spaces after '/' * suivi: hide INPUT tips * French documentation update * Table: add a 'details' tab in the Cell bloc * Home page: UE menu starts with all groups selected * Home page: standard buttons for UE actions * Home page: columns not visible for table without 'Seq' column * CSV dynamic import: allow to import into cell comments ------------------------------------------------------------------------------- Tue May 24 2022 7.1.7 ===> Tue May 24 2022 7.1.8 ------------------------------------------------------------------------------- * Fix broken suivi ------------------------------------------------------------------------------- Tue Feb 22 2022 7.1.3 ===> Mon May 23 2022 7.1.7 ------------------------------------------------------------------------------- * Home page: allow 300% zoom factor * Home page: small enhancements for smartphone * Helper: warning if a typed grade is used in an average * Helper: warning if «/number» in column title * Table: remove never launched javascript regtests * Table: better popup placement for file upload * Add the list of future developpments * Table UrlImg attribute is no more locally modifiable * Table: use 'disabled' attribute * Home page: displays read only table restricted to a column * Home page: fix home display * Home page: allow to select multiple groups * Teacher XLS: a taller first row was needed * More usable home page on smartphone * P Reporting: allow to hide teacher names * P Reporting: add attendance sum * Table: scrolling works if the pointer leaves the window * Suivi dates: get rid of :59:59 * Suivi : display the time limit for cell change * Suivi : fix display bug with column titles as «XXX(/10)» * Column visibility, add a state to hide the content not the column * The command line option 'nowarn' suppress any logging * Home page swap to tabbed view on bigger screen * Column type chooser: displays type documentation * P template: add a plugin to report UE attendance * P template: the student is CCed in the enterprise mail * P template: the ABI date is now correct when sending mail * Table editor : disabled SELECT displays disabled OPTIONs * Download ZIP: confirm downloading more than 1GB * Download ZIP: cleanup of temporary ZIP file * Suivi: remove a JavaScript backtrace * Suivi: empty typed-grade are displayed to show the examination date * Ue_Grade on 'suivi': displays course (examination) dates * 'Message' tab: returns to 'Table' tab if non more error * Dynamic import from table: replace '?' owned cells * Ue_Grade: displays .000 for incomplete grades * Ue_Grade: consider NaN as no grade, so no DEF * Ue_grade : the column must be the last computed * The filter «01» find the text «012» * Add Table/Messages tab on table editor * Boxed cell suivi: shorter cell names * Fix Notation comments tip position on 'suivi' page * Fix selenium browser tests * ZIP download can take many files * Fix URL javascript injection * Fix lin_id/data_col in the table debug tip * The cell_change plugins allows '_' as line_id So the line_id is computed from the ticket username. * PythonJS : Make pylint a little happy * Add «UE Grade» column type and 'grade_type', 'grade_session' attributes * Table copy can copy uploaded files * Analyser: add method 'grade01' * Automatic unregistration of students more reliable * P reporting: works with unregistered students * Suivi+Table: Justifications ABJ are now sorted by dates * 100% coverage and fix a tip * Debug tip displays hovered cell info, not current * Fix input recording in the bad place. MUST APPLY * Fix backtrace on non existent TMP/SVC * Table: add disable_dbl_click preference to toggles * Table: fix the click on SELECT scrollbar * Suivi: add preference «all cells with the same width» * Suivi: tell students to contact their referent teacher * Table histogram: now good for upload file size * Table stats lists Grade column without examinamtion date * QRCode Teacher: tells the student that the bad QRCode is displayed * Home page column choice was broken * Home page QRCode link was broken if empty Seq * 999@mail.org is not a mail but an user ID (shibboleth) * If test_gui.py fail then regtests fails * 999@mail.org is not a mail but an user ID (shibboleth) * Fix multiline editor * Fix the 'run' script * Regression tests fail if the selenium test fail * regtests: selenium+firefox works in docker (needs i3 window manager) * Table: empty student ID do not hide comment indicator * «@» is rejected in URL for Shibboleth * P template: add a new attendance slot column * If popup: no tip displayed outside * Completion refactoring * Tableform: cell was not saved on close * P reporting: allows french dates DD/MM/YYYY * Column 2d graph: many small bug fixes * Hierarchical suivi display: fix empty boxes * Bigger countdown on student reload * Column title «A/B/C» allows hierarchical suivi display * Add a colored 2d graph on the last 3 used columns * P text reporting: strip @ from ABI ABJ * Normalize column type: cleanup parameters * COW column type. Cell erasing restore synchronisation This behavior change apply only to ≥2022 tables. * P message send: change the interface Mails are send for justified leaves * Fix completion menu when clicking elsewhere * Fix 'print' page for Normalize column type * P reporting: add a cache to not recompute each time * Prst QRCode: on scan count unexpected students * Prst QRCode: cleanup * JS regtest: fix and display problems in red * Normalize column type keep not numbers (ABI ABJ...) * P record abi: take into account justified leaves * Teachers template: allows user defined columns * Click on header completion menu changed cell value * SVC QRCode: use course duration to expire if defined * P messages: do not display unmanaged students * P messages: indicates the good duration if defined * P reporting: textual reporting may display duration * P reporting: allow locally defined reporting * Teachers template: hide the 'Message' column * P reporting: more resilient * Update regression tests * P Template: on manual input, help to add the comment * Teachers template: require course duration * Firefox: Fix language change in the table editor * More information on bad grade or prst input ------------------------------------------------------------------------------- Mon Oct 11 2021 7.1.1 ===> Sun Feb 20 2022 7.1.3 ------------------------------------------------------------------------------- * Teachers template: add course duration to XLS and mail * P QRCode Reporting per number of hours * P QRCode Reporting can fix begin and end dates * Teacher QRCode with course duration. XLS reporting (unfinished) * fix random regression test failure * Fix a rare socket problem * Regression tests resume are stored in regtests.results * utilities.warn() was not threadsafe So some regression tests were randomly failing. * Fix random regression tests failure * Remove unecessary alert popup * QRCode prst: record more in LOGS/SVC.log * Prst QRCode were leaking thread * Suivi page: on student input, do not compute incomplete formula * Fix random regression test failure * Disable INPUT spellcheck on non-Text columns * Fix 'suivi' page content if the column become uncomputed * Fix columns_in_javascript() in order to use 'abi_is' attribute * Fix random regression test failure * Translations small change * Fix completion menu If the enumeration if TD TP and the user enter TP then the older version let TD selected. * Do not record deletion of non-created column * Fix random regression test failure * Prst QRCodes: fix regression tests * Ungraded student's UE were not in LOGINS/.../resume * Mass mailing for archiving mail contains the number of mail sent * Referent: do not allow to take twice the same student * Fix scrolling with a finger * Prst QRCodes: nicer reporting with header and footer * Table editor: fix INPUT spacing for some attributes * Home page : attendances columns are now sorted * Filters: cleanup and fixes. Beware some name changed * Fix filters explanation for some attributes * Prst QRCode Title==Value strip '_' from values In some case Enumeration contains 'A', 'A_', 'A__', 'B' so the 'A' choice can be choosen 3 time more than 'B'. * Prst: QRCode valid only if student in the good group The QRCode may contain Title==Value somewhere in the comment * RSS stream no more fail if there is no description * Add 'code_etape' to the table with all ABJ/DA * Scanner: compute TMP/lastlog.py for 'suivi' access * P reporting : add a printable version * Scanner was broken for 2 years old tables (real fix) * Create a virtual table with all the semester ABJ/DA The link to this table is on the home page. * The URL of 'auto_update' plugin may start by year/semester * 'suivi' page: it is possible to highlight a box in a table * Fix regression tests for 2022 * Analyser on upload: red message is blinking red/yellow * Scanner was broken for 2 years old tables * Notation: keep user textarea resizing. Default: 10 lines max * Completion: current selected option was not clickable * Analyser: the user script can use globals * Notation on suivi is now full page to be safer Saving data does not works if the student opens an MCQ without closing the current * Notation on suivi with Chrome: popup close was not saving * Entity: the pop updates the disc cache to erase old data * Add Civilite column type * Add a 'civilite' indicator displayed as ♂♀ on suivi * QRCode column Prst: fix button label * Fix: Home page: add direct access to attendance with QRCode * Upload: add 'replace' choice if not a real upload * Fix Upload/Analyser bugs * Analyser: bug fixes * Home page: add direct access to attendance with QRCode * Fix 'radio_buttons' function * Teachers: the XLS file is printed in landscape This allow to not hide the first column. * Teachers: allow only integer 'sequence' in group names * P messages: fix the bad cell comment * QRCode PRST column: portrait display is usable * Filter display nicely contains negation * Analyser: documentation update * Table: the student surname is now a mailto: * Add an Analyser column type A remote host must be configured to run the teachers scripts. * Fix random regression test failure * 'reload_plugins' forces JS reloading in browser * QRCode: add teacher name in ABI message * coverage-debug allows to compute coverage without running all the tests * P reporting: display student attendance list on click * P reporting: add labels and display a week * Teachers XLS: X+Y students lists were empty * Fix cell.previous_value(), add comment, author, date * Fix a TOMUSS freeze (bug in send_update) * Make the 'background_clean' iterator more resilient * P template: nicer message configuration popup * P reporting: better estimate of course start time * P template: the student ABI message can be CCed to emails * SCRIPTS/run enhancements. * Fix: long column comment were no more possible * SCRIPTS/run: corrige bug * Better filter explanations * Display filter explanation for column filters * Teachers XLS: add a smaller QRCode. Red text for closure * Fix coverage * MCQ: fix a bug in AMC parser. Better management error * P template: add a minimal reporting page * Fix tips on statistics window * update_columns can now update user modified columns * Teachers and P templates: add a table title on creation * Same handling in JS/Python of bad dates in filter * Remove a bad alert message * Massmailing knows the mail of a just added master/teacher * suivi page: notation answers were not scrollable * suivi page: fix slow tip when very long cell comment * SVC: old QRCode were reopenable * exportxls: now works with integer URL * Teacher SVC: ABI may not be recorded in some cases * P template: freeze columns, restore horizontal scrollbar * SVC QRCode were immediatly closed * SCRIPTS/run installs, configures and runs TOMUSS in a Docker ------------------------------------------------------------------------------- Fri Aug 20 2021 7.1.0 ===> Fri Oct 8 2021 7.1.1 ------------------------------------------------------------------------------- * Teachers: XLS QRCode tabs indicate the expected number of students * Teachers SVC: add a planified task to expire QRCodes All the work done on end QRCode scan if done when QRCode expires. * Add an XLS link on the table print page This is a quick hack, many things are missing. * SVC: store active IDs in TMP/SVC and logs into LOGS/SVC.log * Teachers SVC: record the QRCode ID in the ABI comment * Teachers: allows to choose the group column as «Group=A» * Teachers SVC: better message for expired QRCode) * Teachers: No more // in closing QRCode (Excel bug) * Teachers: A1 A2+B2 B3 will only generate these groups * Teachers: send QRCodes without the XLS file * Teachers: the number of QRCodes to send is modifiable per teacher * Teachers: A1 A2 B2 B3 will also add A1+B2 and B2+B3 XLS file * Teachers: P's masters can be in CC of the ABI student mail * Teachers P message management : allow to erase UNJLEAVE * Teachers QRCode: add the RGPD link on the picture * Fix the big image display on suivi page * config_table may define an RGPD link on the student pictures In order to allow the student to show/hide their picture. * Fix regression tests * Teachers: A1 A2 B2 B3 will also add A2+B2 XLS file The letter is the 'TD' group and the number the 'TP' group so A2+B2 is the group '2' * Teachers QRCode: automatic logout on scan Because students will swap phones and forget to disconnect. * The table URL contains the minimal number of options * Status column type was not updated (entity cache) * Teachers: add link to Presence table in the XLS * Autoscroll when uploading a ZIP file in a column * Table deletion disables table reconnect (and so recreation) * Teachers template: now works with user.mail == None * QRCode: add a label in the XLS file * Entity: parametered attributes are now updated if args=None * Deactivate 'invitation' popup in Teachers/P tables * Restore tips in the 'print' page * html_begin_head() was broken for some people * The table share link was not visible * Tips: do not display tips on large elements * QRCode: Add merged groups in the XLS file * popup_on_red_line is now a table attribute This allow to have table mixing registered and unregistered students with automatic student list update (no more freezed by unregistered students) * Entity erase all: was failing on '' ID * Popups were broken by scroll * Fix regression tests * Fix referent table desynchronisation * suivi page: popups were broken by scroll * QRCode: the url was badly encoded * _ucbl_ template: Seq column was hiiden for all UE Add a deep copy to fix the problem. * Fix a javascript Backtrace * homepage : remove a javascript backtrace * Entity: add a link to erase all the caches * Fix JS problems * Teachers template P : add a regression test for group change * Entity: the attribute list displays TTL * Teachers : send XLS table even without students * Keyboard was not usable on virtual tables * Using a non existent column no more raise a backtrace * Add missing tip on text coloring filters * Fix broken column filters * Tip: more resilient (allows undefined 'the_body') * Login column type: fix the selection list click * Suivi: the memberOf tip is now scrollable * Homepage: fix input erase with × * Home page: fix the student search box * Chrome: The tips were not displayed in disable elements * Remove a too recent Python syntax * config_acls template: do not make LDAP requests with '*' ------------------------------------------------------------------------------- Fri Jul 30 2021 7.0.7 ===> Thu Aug 19 2021 7.1.0 ------------------------------------------------------------------------------- * HomePage: add a tip on search input * HomePage: hide the Actions column help (shift to show) * One time message can be displayed in the table editor The message HTML content is defined in 'config_table'. When the message change it is displayed to everybody. The empty message is not displayed. * Add missing tips * Full rewrite of tip management Press shift and move the cursor to see tips. Tip content is computed only when displayed. Most of the tip content has been moved in show_the_tip() ------------------------------------------------------------------------------- Mon May 24 2021 7.0.6 ===> Mon Aug 9 2021 7.0.7 ------------------------------------------------------------------------------- * Make the regression tests work They stopped working even on old versions. They should never have worked. I have no explanation on how they managed to work in the past * Table editor: HTML fixes * Teachers template P : send a mail to P.masters if too many ABI * Teachers : the message can contain the half day without hour * Remove an 'try eval catch' in Key event analysis * Entity: pylint and backtrace cleanup * Entity: fix User['attr'] on never used attributes * Template 'P': allow to set the reply-to * 🔍 on suivi page allows root to see User details * prst.py/SVC was creating duplicate column ID * Fix typo in screenshot * Fix 'firstname' in referent changement messages * The home page selects the current semester, not the future one * Suivi : use User.referent for the current semester * Add a clear cache for referent teacher change * Hide normalize attribute for non Normalize columns * Add an experimental 'Normalize' column group * Fix random regression tests failures * Upload log takes into account the cell_writable filter For examination, only the first download must be recorded in order to have the examination start date. * Fix regression tests (not working in july and august) * Scanner type makes the stats about column usage * Dashboard: pagination stats were broken * Dashboard: fix clear * MCQ: was broken if a student answer the default question * Dashboard: fix plugin count when resuming display * MCQ fix the display for student having not answered * Column dynamic imports check 'cell_writable' filter * Add a warning when changing the teaching begin/end dates * Dashboard: fix some data when resuming display * Dashboard: use localStorage in the browser * Update install documentation * No more log virtual memory size (use the dashboard) * YYYY.times files may contain empty lines * Scanner: fix issue with 'grades' file format change * The 'Status' column type must use university year * SVC: test the student_rule to send mail * Teacher+PRST+QRCode: add '%ABI' in the options * Scanner new student: do nothing the first time * Scanner special: the bad date was tested * Scanner upload was not working with old state * config_cron: the backtrace indicates the problem * config_cron: fix table update definition * Teachers+Prst: ending QRCode records ABI and send mail to the student * Add a student «Status» column type You must redefine User.status to return the real status value. * Login column type: do not ask server on each keystroke * Annotate: the least used subject is used (no more random) * Some link texts on home page were broken * Fix duplicate HTML id in the table editor * Annotate: display the timetravel even if read only * The plugin reload update all the static files * Refactoring of SCRIPTS/bilan, mail_on_*... SCRIPTS/scanner.py run plugins to work semester per semester and then merge all the semesters. Only the last semesters are updated. So much less CPU and RAM is used. All the scripts needing to scan all tables must use this framework. * Update installation procedure * Remove 'mirror_check' remnants * Annotator now works on unsemestrialised tables * Remove the lock on table load * Table loading uses FAR FAR less memory * Move DB/LOGINS/.../GUI_record into LOGS/GUI_record/... * Backups: create one GIT repository per DB subdir The objective is to use less memory. * Better feedback for expirable URL * Teacher template add SVC QRCodes in XLSX * Expirable URL to set cell comment+value on any table/column ------------------------------------------------------------------------------- Mon May 3 2021 7.0.3 ===> Sun May 23 2021 7.0.6 ------------------------------------------------------------------------------- * SCRIPTS/bilan.py: remove bad table from student 'index' * Fix Makefile (border effect of atexit.register(os._exit)) * Browser update state minimal timeout is now 1s * Entity: the added attributes were not updated * Compute more quickly the column stats and add a cache * Dashboard: colorize titles * QRCode: GUI update * Remove print_lock_state_clean_cache thread * Dashboard: better JSON message parsing * Dashboard: add display_max to have better graphs * Fix a leak in json.dumps * Cleanup LDAP interface * Dashboard: add the number of plugin call * Ticket: small performance enhancements * bilan.py fix: teacher creates column and no cell * Add a QRCode interface to Prst columns * Entity: create an update blacklist for the 'suivi' server * './tests.py|./tomuss.py leak' to search memory cycle/leak per plugin * Dashboard: merge sec/min/hour/day graphics in one view * Dashboard: fix 'End' key behavior * Fix the leaking socket * Make utilities.literal_eval work on Python 3.7 * Remove send.Closed circular reference * Dashboard: use 'End' key to stay at the end time * Replace ast.literal_eval by utilities.literal_eval * Cleaner management of 'xxx.pop' file * Raise the timeout to check if the server is alive 1s→5s * Reject identifier shorter then 3 characters * Use python.ldap in place of python.ldap3 Because python.ldap3 creates circular reference not compatible with gc.collect() disabling. * Use 127.0.0.1 to check if TOMUSS is running * Dashboard: enhance display * Remove a circular reference * Update objgraph.py version * Dashboard: press space to toggle history per minute * Dashboard: add the number of open files * Dashboard: add fast and slow cell update queues * Dashboard: add LDAP * Remove 'live_log' plugin * Remove 'live_status' plugin * Remove 'main_thread' plugin * Add a TOMUSS dashboard * Disable GC at runtime and exit * Fix in ABJ management * Break circular reference Plugin/Link * Add a plugin to detect circular references * Ticket checker timeout is 10 seconds The 5 seconds was too short if the server has more than 1000 table in memory, the GC may take too much time. * Suivi: unload table more quickly * Login in place of student_id workd again in tables * Fix table broken by the comment: 'moyenne des X meilleures' * Notation: forbid import in student modifiable column * Notation: fix the completion on multiline comment * Break a circular reference with weakref * Break a circular reference with weakref * Break circular reference Teacher/User * Make entity.portails works if entity.member_of_list is None * Make Page object init a little lighter * Use only one weakref per Users * Use weakref to break Table cycles ------------------------------------------------------------------------------- Sat Apr 24 2021 7.0.1 ===> Mon May 3 2021 7.0.3 ------------------------------------------------------------------------------- * Fix regression tests * Use 'weakref' in Entity to break cycle * VectorSingle optimize Vector of one item The Vector methods are now staticmethod because 'self' is not useful and make impossible to optimize VectorSingle. * Coverage 100% * main_thread displays times and late wakeup * Do not update empty 'portail' * Fix the debug of 'batch' plugin * start_job may forgot running a job * Mass mailing of mails adresses was not working * Fix tomuss restart: important_job_running must be last test * Close more quickly broken connections * Main thread display also the batch queue size * Cleanup Users older than 5 minutes (1 was too short) * Remove old ticket files only once * Call 'remove_old_tickets' from 'background_clean' * Some options in URL were not recorded properly. 'width' and 'position' last value changed was not recorded. * Options pinning was not working on unsemestrialized table * Fix 'login_list' when user without name * Add «launch_thread='batch'» plugin option So not urgent tasks are done sequentialy in an unique thread * Entity: the HTML entity page display function results * get_column plugin much lauch a thread * The threads page allows to display main thread periodicaly * Mail column type: leave cell empty if no mail * Entity: add except File name too long * plugin.py : pylint cleanup * picture: do not create no more used icon on download * Entity all users plugin: fix urls ------------------------------------------------------------------------------- Mon May 16 2016 6.7.6 ===> Fri Apr 23 2021 7.0.1 ------------------------------------------------------------------------------- * Fix portails * Fix regression test * LOCAL.template/config.py cleanup * columngroup warns on bad configuration * Fix all teacher 'mails' on suivi * Fix 'the_mails' key, it was not the student id * Fix the date sorting in tables values * Entity: attributes to cache are in bold in the HTML * ⏎ and ⇥ are usable in any table INPUT The primary goal is for cell/column/table comment and empty_is. * Entity: do not launch update thread when computing UE list * Entity: merge newer attributes from disk * config_cron: allow to remove a task from the table * Notation: fix the case of comments starting by a digit * answer_page launchs a thread to not block everything Because the answer_page can be called by a sleeping computer and so the table may have been unloaded. * SCRIPTS/crontab_run.py : fix memory usage in LOGS/VM_usage * Entity: bug fix SCRIPTS/clean_up_uploads.py * Entity: add a missing access time update * Entity: fix backtrace message * Entity update thread is only launched by servers * Fix home page link stop/restart tomuss * No more create TMP/ENTITY in the script directory * 'autowidth' toggle is recorded in the URL * Add 🖈 to record table display options in browser * Fix noreply in mass mailing * Dynamic column import: can choose the join key * Can successfully run regression tests in a Docker * Add Teachers template to send student lists per mail * Regression tests replace 'mail?' by a valid mail address * Extract send_mail_smtp from send_mail * Hide alert 'tip_top' This allow to fully redefine the student picture content in the table editor * Remove 'cell_indicator' method * config_login table is not an user table * Slow cleanup (remove threads and cron tasks) * Use entity.TO_POP in place of 'load_config' * Update display of LDAP UEs on 'suivi' page * Create entity.User for a vectorized user attribute access ------------------------------------------------------------------------------- Tue Mar 9 2021 6.7.5 ===> Thu Mar 18 2021 6.7.6 ------------------------------------------------------------------------------- * Fix depth of column titles in 'display all' mode * Mass mailing: fix 'noreply.undefined' address * Annotator: fix problem with long subject on 4K screen The subject no more take the full screen width by default. * Annotator: the random exam choice was not working at all ------------------------------------------------------------------------------- Tue Jan 12 2021 6.7.4 ===> Mon Mar 8 2021 6.7.5 ------------------------------------------------------------------------------- * send_mail: catch mail exception * Make window_open work on Mac * upload: the link title also change the uploaded filename on suivi * Notation: fix coloring of negative bonus * In the browser, translate ∕→/ ᐩ→+ to be compatible with export * Columns import: replaces spaces in titles * Allow to enter ppn_short/tnr_short in a Note column * Update browser<=>server communication timers * Column import key: space are replaced by underscore If the key is 'a b' then 'a_b' key will work when importing. * Invitations : add option «automic redirection to suivi» * send_mail: no archive mail if bad login * send_mail: allows to set the 'reply' mail address * Fix 'groupe' plugin * The 'suivi' page must recomputes cells on user input * The default planified tasks send a mail on disk nearly full * get_cell_from_table no more creates lines * Do not update ABJS in table without users * Replace 'is 0' by '== 0' * ed3009c50b0d78f502a08d89b6734af13834d8d5 * send_mail: if 'archiver' is 'None' no archiving mail is sent * fixup! send_mail allows 'archivers' logins in place of mails * MCQ export: was visible for any column type * Document load is now considered as safe. The goal is to allow easy to use URL on uploaded files * Truncates long name in the facebook * fixup! «Seq» column is hidden except for some tables * French documentation fix * send_mail allows to set the sender email * Fix popup close button rendering * send_mail allows 'archivers' logins in place of mails * Add a full display mode (right to the number of columns) * Column fill works with lf and tab values * Add missing file * MCQ: view change now keeps freezed state * Fix the visibility filter when using an hidden column * Table : maximum tip height for 'tierstemps' * Fix regressions tests not working in 2021 * documentation mistake ------------------------------------------------------------------------------- Mon Nov 23 2020 6.7.3 ===> Thu Dec 31 2020 6.7.4 ------------------------------------------------------------------------------- * The column export can export the modification date * «Seq» column is hidden except for some tables «config_table» contains a regexp for «display_sequence_column» On table creation, the sequence columns is visible for table whose name matches the «display_sequence_column». * MCQ: Add «partial→good» notation * MCQ: export student answers and grades * MCQ: it is possible to hide the scoring scale * Replace 'Visible the' by 'Visible if' in the documentation * Notation: update explanation * Notation: forbid grading when students can answer * Notation: fix 'max_graded' and so blue/cyan average line * Notation: better display on non integer max grade * Notation: update completion list when grading * Fix symbolic table link in the same semester * Notation: fix recursive compression of integer comments * Annotator: add a warning if there are yet uploaded files * Add missing tip for Annotator cell * Fix ABINJ/ABJUS feedback on input and lien reevaluation * Bad ABINJ/ABJUS were not underlined * Notation: fix the import with number comment and newlines * Notation: allows ⏎ in question, replaced by
on suivi * Annotator: the 'Test' button exercise the on screen config They were testing the recorded one. * MCQ: a bad comment no more break the editor * Annotator: reduce the stamps size by 33% * Annotator: fix problem when there is only one width/sizes choice ------------------------------------------------------------------------------- Sun Nov 15 2020 6.7.2 ===> Sun Nov 22 2020 6.7.3 ------------------------------------------------------------------------------- * Annotateur: annotator popup is at a fixed position on suivi * Annotateur: display the grade only if the teacher can indicate +1, -1... * Annotator: close instantly if not annotable * Annotator: fix translation on freehand curves * Annotator: in a popup for 'suivi' on wide screen * Fix the upload in the table * Annotator: hide the editor when the cell change is not allowed * Annotator: allows to display student answers at any time * Fix broken tree display on suivi ------------------------------------------------------------------------------- Fri Aug 21 2020 6.7.1 ===> Sat Nov 14 2020 6.7.2 ------------------------------------------------------------------------------- * Fix checkbox and radio button size on Chrome * Annotate is now possible on student uploaded PDF * SCRIPTS/check_file.py now dumps tables as CSV * Replace 'noreply+' by 'noreply.' in mail addresses * Column fill allows to type '(' and '&' characters * Sometime Chrome loads 'style.css' not in UTF-8 * SCRIPTS/page_load_time use less resources * In the SELECT OPTION: '_' are replaced by spaces * Browser extensions adding ) * Fix bugs in sender thread and merge