200 most recent check-ins
2025-03-20
| ||
15:47 | Making login button static again, reverting change from commit 4b94f409356b1d98 . Leaf check-in: 13b762f24d user: florian tags: development | |
2025-02-20
| ||
10:31 | Fixed some HTML code problems. check-in: acce95e5c9 user: florian tags: development | |
2025-02-19
| ||
16:45 | Merged changes from tools. check-in: 1026a02265 user: florian tags: development | |
16:03 | Fixed INSERT statement for copy_mode command in luna_lms.util, allowing for BLOBs to be copied correctly. Leaf check-in: 2734fe4546 user: florian tags: tools | |
15:13 | Merged changes from development. check-in: 9b798d1792 user: florian tags: tools | |
13:55 | Merged changes from view. check-in: dd3c170e43 user: florian tags: development | |
13:54 | Changed bookmark icon position. Leaf check-in: f9da040608 user: florian tags: view | |
13:43 | Changed button below error message for missing content. Fixed icon position inside buttons. check-in: 50c448a228 user: florian tags: view | |
13:42 | Merged changes from development. check-in: e6c381e462 user: florian tags: view | |
12:32 | Merged changes from tools. check-in: 15d22fc6e9 user: florian tags: development | |
2025-02-18
| ||
19:22 | Implemented copy_mode command in luna_lms.util . check-in: 3a34fa2254 user: florian tags: tools | |
14:18 | Added LunaCmd.find_courses() to luna_lms.util . check-in: e2b7f9a6fb user: florian tags: tools | |
13:59 | Added cmd.Cmd instance to luna_lms.util, allowing for a command line interface. check-in: f61bdb073c user: florian tags: tools | |
11:09 | Added module luna_lms.util check-in: cf7119e64e user: florian tags: tools | |
2025-02-17
| ||
20:50 | formatgen.py now uses the urllib.request module from the standard library instead of the external requests module. check-in: 97f57ec0d0 user: florian tags: tools | |
20:22 | Merged changes from development. check-in: b09801d66d user: florian tags: tools | |
19:16 | WebApp.courses() now uses the default mode from course metadata in course links. WebApp.view() now checks the mode last, after all guard clauses have passed. check-in: fc7501e251 user: florian tags: development | |
17:37 | Merged changes from database. check-in: 10475ff5b0 user: florian tags: development | |
17:36 | SQLiteStorage.get_course_metadata() no longer relies on a list of keys to fetch, and instead fetches and returns whatever is present in the course table. Leaf check-in: 5032e77273 user: florian tags: database | |
14:38 | SQLiteStorage.get_course_metadata() now also returns the default_format column. check-in: b0c5392179 user: florian tags: database | |
14:02 | Storage.find_courses() now consistently returns a dict tuple. Changed WebApp accordingly. check-in: 00667ed4d8 user: florian tags: database | |
13:00 | Merged changes from development. check-in: d11bdb9363 user: florian tags: database | |
2025-02-14
| ||
15:42 | Merged changes from bookmarks. check-in: 05bba24c94 user: florian tags: development | |
15:40 | WebApp.continue() now links to the course start when steps from bookmarks are gone. Leaf check-in: 54c89102aa user: florian tags: bookmarks | |
15:24 | instance now handles course identifiers as UUIDs, as done by WebApp. check-in: 318a61fa0f user: florian tags: bookmarks | |
2025-02-13
| ||
18:10 | Merged changes from bookmarks. check-in: 67df7916f6 user: florian tags: development | |
18:02 | WebApp.continue() now recognises bookmarks where content is gone, and outputs a fitting error message. check-in: 2938ee7fec user: florian tags: bookmarks | |
17:41 | json.dumps() calls no longer convert strings to ASCII. check-in: 87994fa219 user: florian tags: bookmarks | |
17:36 | instance.json no longer stores URLs for bookmarks, but tuples of course, step, mode. Changed Instance.get_bookmark() and Instance.get_url() accordingly. Changed WebApp.view() accordingly. check-in: 9272bd92df user: florian tags: bookmarks | |
15:56 | Removed Instance.purge_bookmarks() check-in: 5abaae9d6a user: florian tags: bookmarks | |
15:54 | 'instance.json' now includes the version number, to be able to reject incompatible configurations. check-in: a5b355ff77 user: florian tags: bookmarks | |
2025-02-12
| ||
17:41 | Merged changes from development. check-in: 7832deea28 user: florian tags: bookmarks | |
17:37 | Added explicit utf_8 encoding to all open() operations on text files. check-in: 42646163ab user: florian tags: development | |
16:24 | Merged changes from bookmarks. check-in: e153c4f006 user: florian tags: development | |
16:23 | Added stub for Instance.purge_bookmarks(). check-in: 9643b9740b user: florian tags: bookmarks | |
15:56 | Merged changes from development. check-in: aa269ae179 user: florian tags: bookmarks | |
15:50 | Fixed lots of misleading method and variable names, labelling steps as learning contents. check-in: 049e174649 user: florian tags: development | |
15:19 | Merged changes from bookmarks. check-in: 18c763af54 user: florian tags: development | |
15:18 | Minor logging improvement. check-in: b0e8677f1b user: florian tags: bookmarks | |
14:53 | Bookmark handling now ignores whitespace and case. check-in: 984782d2eb user: florian tags: bookmarks | |
14:35 | Merged changes from tools. check-in: cd24093bfb user: florian tags: bookmarks | |
2025-02-11
| ||
16:17 | upgrade_db.py now retries table patches with quotes removed, cleans up temporary files properly, does not close connections prematurely, uses normalised format when creating and patching tables, including proper quotes, and exits properly when nothing needs to be done. check-in: 163493c97c user: florian tags: tools | |
2025-02-10
| ||
17:52 | upgrade_db.py now normalises table definition before patching in _patch_table_definition(). check-in: 6cc04d4add user: florian tags: tools | |
17:20 | upgrade_db.py now uses a single loop in _patch_table_definition(). check-in: 41f976bcf0 user: florian tags: tools | |
2025-02-09
| ||
15:02 | Improved error message in instance.py . check-in: 0bbfe6f097 user: florian tags: tools | |
14:53 | upgrade_db.py now works on a copy of the database until everything succeeded, and keeps the original database in .bak. Improved finding the translations directory in __init__.py when importing it as a module. check-in: 57e47f0ab8 user: florian tags: tools | |
2025-02-08
| ||
08:53 | Merged changes from development. check-in: ec805f35cd user: florian tags: tools | |
2025-02-05
| ||
11:56 | Handling common whitespace mistakes in bookmarks now. check-in: 3bd1230061 user: florian tags: development | |
11:53 | Improved bookmark handling. check-in: 4010d9559c user: florian tags: development | |
11:42 | Merged changes from bookmarks. check-in: 6f8f9b53f0 user: florian tags: development | |
11:41 | Implemented WebApp._continue(), either showing a bookmark input form, or redirecting from a bookmark. Added Instance.get_url() to retrieve an URL associated with a bookmark. Instance.get_bookmark() now makes sure bookmarks are unique across languages. check-in: 675236a9d5 user: florian tags: bookmarks | |
2025-02-04
| ||
15:20 | Changed course continue icon on start page. check-in: d6c0859d28 user: florian tags: bookmarks | |
14:43 | Merged changes from view. check-in: 1906838fbb user: florian tags: bookmarks | |
14:39 | Merged changes from view. check-in: e4bdd0d9f6 user: florian tags: development | |
14:38 | Changing order of course title and bookmark. check-in: df4b3ca199 user: florian tags: view | |
14:28 | Changing and adjusting bookmark icon. check-in: 1513fd917f user: florian tags: view | |
13:22 | Merged changes from bookmarks. check-in: a23d295f01 user: florian tags: view | |
2025-01-31
| ||
21:08 | Merged changes from bookmarks. check-in: f52aee1bb6 user: florian tags: development | |
20:43 | WebApp.view() now requires a mode parameter, and will redirect to a valid mode in case the parameter is missing or invalid. check-in: ee29fd06fe user: florian tags: bookmarks | |
17:22 | Adding luna_lms.instance.get_bookmark(), and using it in WebApp. check-in: d08df334f8 user: florian tags: bookmarks | |
15:15 | Adding luna_lms.instance module. check-in: 2e55a3bc80 user: florian tags: bookmarks | |
2025-01-28
| ||
17:40 | Added compile_wordlist.py to generate the bookmark wordlist from openly licensed sources. Leaf check-in: 2da9f729a1 user: florian tags: translations | |
2025-01-24
| ||
11:17 | Calling WebApp._install_lang_from_header() in all exposed pages now. check-in: 6db1c47621 user: florian tags: translations | |
10:27 | Fixed stupid search-replace mistake in WebApp._format_footer(). check-in: 68cf2d713f user: florian tags: translations | |
2025-01-23
| ||
19:09 | Fixed word list preparation in Makefile. check-in: e58e442143 user: florian tags: translations | |
18:47 | Added word list generation for bookmark codes to Makefile. check-in: df2e35a21a user: florian tags: translations | |
2025-01-22
| ||
15:59 | Adding WebApp._install_lang_from_header() which tries to set the user interface to a supported language accepted by the HTTP request. Added translation files for German and English. check-in: 35e0d5ea29 user: florian tags: translations | |
13:15 | Minor improvements. check-in: df7e871707 user: florian tags: development | |
12:59 | Merged changes from tools. check-in: e77916a95b user: florian tags: development | |
2025-01-16
| ||
12:07 | Added some hacks to upgrade_db.py to accommodate some stray table definition formatting. check-in: 1c42aa527d user: florian tags: tools | |
11:52 | Merged changes from development. check-in: 125f4195ba user: florian tags: tools | |
2025-01-15
| ||
22:07 | Dynamic mode menu labels now the tag title instead of the tag id. check-in: 34674208df user: florian tags: development | |
21:46 | Fixed weird button behaviour where a div would hijack a click. check-in: a879020e72 user: florian tags: development | |
21:40 | Minor changes in mode menu. check-in: bd6c7cb637 user: florian tags: development | |
21:34 | Improving code formatting, especially JavaScript. check-in: 91fbf98c24 user: florian tags: development | |
21:19 | Minor changes in mode menu. check-in: 686a210465 user: florian tags: development | |
18:31 | Merged changes from mode_menu. check-in: 32997f4462 user: florian tags: development | |
18:31 | Implemented tag dependencies, mode menu now disables tags where dependencies are not active. Leaf check-in: d6e59f156b user: florian tags: mode_menu | |
16:09 | No longer showing unavailable tags in mode menu. check-in: 33091d003f user: florian tags: mode_menu | |
15:57 | Tag markers now reset correctly when opening the menu. check-in: 102b75c0e3 user: florian tags: mode_menu | |
15:52 | Merged changes from development. check-in: ceb041eb30 user: florian tags: mode_menu | |
12:08 | Merged changes from mode_menu. check-in: 48cd2698d3 user: florian tags: development | |
12:08 | The mode menu now checks selected tags for mode availability, and disables submission if not available. check-in: f7ea5f8cd9 user: florian tags: mode_menu | |
10:41 | WebApp.view() now evaluates tagging information as returned by SQLiteStorage.get_content(). Fixed variable naming issue in SQLiteStorage.get_content() check-in: daa0829684 user: florian tags: mode_menu | |
09:25 | Renamed return variable in SQLiteStorage.get_content() check-in: 250de6498a user: florian tags: mode_menu | |
09:20 | Fixed wrong index in SQLiteStorage.get_content() check-in: 11112f49fa user: florian tags: mode_menu | |
09:12 | Merged changes from database. check-in: a16fdb2ddc user: florian tags: mode_menu | |
09:12 | SQLiteStorage.get_content() now returns format, tagging, and availability information more compact in a namedtuple. check-in: d6ec7717ff user: florian tags: database | |
07:58 | Merged changes from mode_menu. check-in: cdd5da1d6a user: florian tags: database | |
2025-01-14
| ||
20:46 | Merged changes from development. check-in: f7fac57fa5 user: florian tags: mode_menu | |
20:18 | Changing tag marker color from "no" to "yes" color. check-in: b85b62822e user: florian tags: development | |
19:18 | Merged changes from mode_menu. check-in: 04d068c313 user: florian tags: development | |
19:18 | The mode menu now resets to the current mode settings when opened. check-in: 9e3396a53e user: florian tags: mode_menu | |
18:40 | Merged changes from development. check-in: f8aafd9998 user: florian tags: mode_menu | |
18:40 | Fixing z index of mode menu tooltip. check-in: b46f3e93fa user: florian tags: development | |
18:35 | Fixed upgrade problems in upgrade_db.py check-in: 8823aeef8d user: florian tags: development | |
18:09 | Improved logging in upgrade_db.py check-in: 13c7f4c7f8 user: florian tags: development | |
17:42 | Adding --debug option to upgrade_db.py check-in: 0d66a3e8c5 user: florian tags: development | |
17:01 | Merged changes from mode_menu. check-in: db0b55d092 user: florian tags: development | |
16:48 | The mode menu now deselects all tags that would create an invalid combination. check-in: b03b1c1da1 user: florian tags: mode_menu | |
2025-01-13
| ||
22:54 | Added HTML and JavaScript for dynamic highlighting of available modes in mode menu. check-in: 64cbee4f85 user: florian tags: mode_menu | |
18:05 | Unified 404 error call. check-in: 162f0c06b3 user: florian tags: mode_menu | |
18:03 | SQLiteStorage.get_content() now handles formats that evaluate to False, not just None. WebApp.view() now handles an invalid mode appropriately. WebApp.view() now checks thoroughly for empty content before skipping a step. check-in: a20fe7029a user: florian tags: mode_menu | |
2025-01-09
| ||
20:44 | Merged changes from database. check-in: 8ea8e05e81 user: florian tags: mode_menu | |
20:44 | SQLiteStorage.get_content() now tries to return the default format, as defined in the course metadata. check-in: 01b0985a44 user: florian tags: database | |
20:04 | Merged changes from mode_menu. check-in: 7899353917 user: florian tags: database | |
20:03 | Merged changes from development. check-in: 2bba2458de user: florian tags: database | |
20:02 | WebApp.view() now redirects from tag lists in query parameters to the fitting mode, or returns a 404 error. check-in: 5ea39f936e user: florian tags: mode_menu | |
19:11 | Fixing position of mode button tooltip. check-in: b1a49019cb user: florian tags: development | |
2025-01-08
| ||
21:18 | Merged changes from database. check-in: a1ab4afd40 user: florian tags: mode_menu | |
21:18 | Implemented SQLiteStorage.get_format() check-in: 61d14d8e72 user: florian tags: database | |
16:50 | Adding method Storage.get_format() check-in: b790962e03 user: florian tags: database | |
16:47 | Fixing docstring and return value in Storage.get_content(). check-in: 0254775dc4 user: florian tags: database | |
16:32 | Merged changes from development. check-in: 996918516f user: florian tags: database | |
16:30 | Fixing outline of mode menu button. check-in: 039522fa49 user: florian tags: development | |
16:20 | Design fixes in mode menu icon and to top button. check-in: d787c8595c user: florian tags: development | |
16:14 | Merged changes from mode_menu. check-in: fc7aaa6c5f user: florian tags: development | |
16:14 | Adding parameter tag to WebApp.view() check-in: 2d1a4fcb49 user: florian tags: mode_menu | |
13:49 | Merged changes from development. check-in: af2361dea1 user: florian tags: mode_menu | |
13:15 | Adding tooltip to mode menu button. check-in: 4caaf351dc user: florian tags: development | |
12:43 | Fixing overlap issues with fixed login button. check-in: 64841f66e4 user: florian tags: development | |
12:27 | Merged changes from mode_menu. check-in: 150b38ea90 user: florian tags: development | |
12:23 | Changing mode menu icon. check-in: 4b94f40935 user: florian tags: mode_menu | |
10:54 | Merged changes from database. check-in: 7f721fe978 user: florian tags: mode_menu | |
2025-01-07
| ||
19:42 | SQLiteStorage.get_content() now returns availability of tags. It no longer returns a different format if a format has explicitly been requested. Changed WebApp.view() to display non-available tags as disabled. check-in: 3e39319c3e user: florian tags: database | |
17:12 | Merged changes from mode_menu. check-in: a88173b75c user: florian tags: database | |
17:11 | Mode menu now uses checkboxes instead of radio buttons. check-in: fa88c73f3e user: florian tags: mode_menu | |
2024-12-06
| ||
21:58 | Added work-in-progress debug display for mode menu. check-in: 4996625bad user: florian tags: mode_menu | |
21:45 | Merged changes from database. check-in: b85ed736ed user: florian tags: mode_menu | |
21:44 | get_content() now returns tag-oriented instead of format-oriented data. Changed WebApp.view() to accept the new return value. check-in: 922ea148b2 user: florian tags: database | |
18:43 | Merged changes from tools. check-in: 7eed6d8034 user: florian tags: database | |
18:42 | Implementing database changes in upgrade_db.py . check-in: d4e05b62bf user: florian tags: tools | |
18:21 | Implemented database changes in import_html.py . check-in: eeb6d32bdb user: florian tags: tools | |
18:20 | Merged changes from documentation. check-in: 8571154b02 user: florian tags: tools | |
18:06 | Added column "default_format" to table "course". Leaf check-in: 60e03e3002 user: florian tags: documentation | |
17:53 | Added column "order" to table tags. Removed "verbose" flag for doctest in Makefile. check-in: 92aca4aaf6 user: florian tags: documentation | |
16:56 | Merged changes from mode_menu. check-in: 651b3cbc4b user: florian tags: documentation | |
2024-12-05
| ||
19:18 | Hack for a quick display of tag titles. check-in: be7d6d9cfb user: florian tags: mode_menu | |
2024-12-04
| ||
15:45 | Temporary fix for new tag API. check-in: 2cde796d15 user: florian tags: mode_menu | |
13:45 | Merged changes from database. check-in: 78eb6b78b5 user: florian tags: mode_menu | |
13:43 | Merged changes from tools. check-in: 50f7e23cea user: florian tags: database | |
13:43 | SQLiteStorage.get_content() now returns 0.1.9 format tags instead of a format title. Improved SQL statements. check-in: e261148a1d user: florian tags: database | |
2024-12-03
| ||
17:49 | import_html.py now outputs Luna LMS 0.1.9 format. check-in: 10de691367 user: florian tags: tools | |
17:17 | Implemented sanitised primary keys in upgrade_db. check-in: 315e28dee5 user: florian tags: tools | |
16:35 | Merged changes from documentation. check-in: 3d85561f84 user: florian tags: tools | |
16:33 | Sanitised primary keys in database documentation. check-in: d68711afc7 user: florian tags: documentation | |
15:57 | Merged changes from tools. check-in: e2cbcc19c8 user: florian tags: documentation | |
14:31 | Implemented update to Luna LMS 0.1.9 database format. Improved error handling in _patch_table_definition() check-in: f5090e2edd user: florian tags: tools | |
12:33 | Improved version checks and error handling in upgrade_db. check-in: ddd9e1c188 user: florian tags: tools | |
12:27 | Added stub for handler _update_to_1009() check-in: 79bcb3ec50 user: florian tags: tools | |
12:14 | Merged changes from database. check-in: 3e1df99cfd user: florian tags: tools | |
12:11 | Changed Luna LMS version to 0.1.9 . Applied temporary workaround in sqlite_storage. Added error handling to WebApp.view() when opening a course that is not available. check-in: 617d32a564 user: florian tags: database | |
11:45 | Merged changes from documentation. check-in: 03700e645a user: florian tags: database | |
11:37 | Changed required Luna LMS version to 0.1.9 . check-in: e21997f71f user: florian tags: documentation | |
11:36 | Added table "tagging". check-in: 7563d5838b user: florian tags: documentation | |
2024-11-29
| ||
17:27 | Added table "tags". check-in: 0a7f39a18f user: florian tags: documentation | |
17:23 | Removed column "title" from table "formats". check-in: 7397febec7 user: florian tags: documentation | |
17:19 | Merged changes from development. check-in: 194961ba21 user: florian tags: documentation | |
17:18 | Added target doctest to Makefile. check-in: bd92357d64 user: florian tags: documentation | |
16:40 | Fixed mode menu button when scrolling. check-in: d4924269ef user: florian tags: development | |
13:53 | Merged changes from mode_menu. check-in: b423e7b039 user: florian tags: development | |
13:52 | Changed mode menu reset button into a cancel button. check-in: 1a8b44e00b user: florian tags: mode_menu | |
13:24 | Merged changes from development. check-in: 8dbecf7c11 user: florian tags: mode_menu | |
2024-11-27
| ||
16:39 | Merged changes from development. check-in: ff1a16a911 user: florian tags: documentation | |
2024-11-21
| ||
12:55 | Fixing button behaviour in mode menu. check-in: f8cdbc1ebc user: florian tags: development | |
2024-11-19
| ||
16:19 | Merged changes from mode_menu. check-in: f7ebd861a1 user: florian tags: development | |
16:19 | Correctly rendering disabled sliders in mode menu now. check-in: 82fde58c40 user: florian tags: mode_menu | |
2024-11-18
| ||
18:19 | Merged changes from mode_menu. check-in: ddf5345820 user: florian tags: development | |
18:18 | Rendering mode menu according to formats dict now. Setting mode menu form target to local page, making the menu functional. check-in: 9f405cf377 user: florian tags: mode_menu | |
17:39 | Fixing bug when replacing format titles in sqlite_storage.get_content() . Catching returned formats now in WebApp.view() . check-in: 601e4ce1da user: florian tags: mode_menu | |
17:21 | Merged changes from development. check-in: 7fd9d0d727 user: florian tags: mode_menu | |
17:20 | Using mode URL parameter in most links now. check-in: f14fedf6f2 user: florian tags: development | |
16:46 | Fixed bug in sqlite_storage that would select several instead of a single replacement format. check-in: 4c59106455 user: florian tags: development | |
16:25 | Changed return value of storage.get_content() from dict to tuple. check-in: ca17d89b1f user: florian tags: development | |
2024-11-17
| ||
21:45 | Merged changes from database. check-in: 7bc40b559c user: florian tags: development | |
21:44 | Fixed naming, and incorrect return variable in sqlite_storage. check-in: cc11f7e001 user: florian tags: database | |
21:43 | Fixed parameter naming, using step id instead of content id where steps were used. Updated get_content() to use step id instead of content id. check-in: 5df4389bda user: florian tags: database | |
21:27 | Merged changes from development. check-in: 44583afa5b user: florian tags: database | |
21:26 | Replaced get_html() by get_content(), not yet functional. check-in: ccffa6822b user: florian tags: development | |
20:59 | Merged changes from database. check-in: 574f34d0c9 user: florian tags: development | |
20:58 | Implemented get_content() in sqlite_storage. check-in: 408bab8f83 user: florian tags: database | |
18:22 | Added storage.get_content() to request a content variant in an arbitrary format. check-in: d6a10ee7a1 user: florian tags: database | |
17:37 | Merged changes from development. check-in: 5464682f8d user: florian tags: database | |
2024-11-16
| ||
23:41 | Merged changes from tools. check-in: 9b509d9ddd user: florian tags: development | |
23:20 | import_html.py now outputs Luna LMS 0.1.8 format. check-in: 1753bb3f6e user: florian tags: tools | |
22:37 | import_html.py now outputs Luna LMS 0.1.7 format. check-in: 4783461d60 user: florian tags: tools | |
22:26 | import_html.py now outputs Luna LMS 0.1.6 format. check-in: f122d5e27a user: florian tags: tools | |
21:33 | Improved output of formatgen.py check-in: 119dcc027d user: florian tags: tools | |
21:27 | Merged changes from development. check-in: 93e232d4c7 user: florian tags: tools | |
20:51 | Fixing WCAG error in To Top button. check-in: 503e125670 user: florian tags: development | |
20:37 | Merged changes from mode_menu. check-in: 99f9ed96d8 user: florian tags: development | |
20:36 | Using radio buttons for modes now, and changed labels to conform to WCAG. check-in: 55df9483ad user: florian tags: mode_menu | |
2024-11-15
| ||
17:50 | Merged changes from development. check-in: 565796ff3d user: florian tags: mode_menu | |
17:50 | Fixing tooltip z index to make sure it is always on top. check-in: 9f343e3cce user: florian tags: development | |
17:32 | Merged changes from mode_menu check-in: 4af94d0dc1 user: florian tags: development | |
17:31 | Added mode menu modal to the user interface, not yet functional. check-in: 57ec53c201 user: florian tags: mode_menu | |
2024-10-16
| ||
16:43 | Fixing paragraph style when there are no search results. check-in: 4fe7c13b7a user: florian tags: development | |
10:35 | Fixed bug displaying search results. check-in: 5a89bde1f8 user: florian tags: development | |
10:15 | Merged changes from view. check-in: 5e71483a64 user: florian tags: development | |
10:14 | Removing previous course count display, replacing by a dynamic counter at the top. check-in: 44cea75da9 user: florian tags: view | |