Luna LMS

Timeline
Login

Timeline

200 most recent check-ins

2025-02-12
17:41
Merged changes from development. Leaf check-in: 7832deea28 user: florian tags: bookmarks
17:37
Added explicit utf_8 encoding to all open() operations on text files. Leaf 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. Leaf 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. Leaf 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. Leaf 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
2024-10-15
16:15
Displaying total number of courses above course list now. check-in: 4a9e4aa69a user: florian tags: view
15:43
Merged changes from development. check-in: 250e22e3e6 user: florian tags: view
12:23
SQLiteStorage.find_courses(term) now also finds the non-hyphenated version of hyphenated words. check-in: 6a7c31f709 user: florian tags: development
2024-08-05
16:28
SQLiteStorage.find_courses(term) now returns the match ratio along with the matching courses. The course list is now sorted by match ration if a term was given. check-in: 127ed83d53 user: florian tags: development
15:19
Improved feedback on failed search. check-in: fe11eb7460 user: florian tags: development
15:05
Changed sqlite_storage.FUZZY_RATIO to 0.75 to find more similar results. check-in: 45b1a19b76 user: florian tags: development
14:28
Merged changes from database. check-in: 47b96bd823 user: florian tags: development
14:28
Caching successful search results now. check-in: 9595323692 user: florian tags: database
14:17
Added fuzzy search to find_courses() using Python's difflib. check-in: 9e35f8cafd user: florian tags: database
12:34
Added SQLiteStorage.terms to cache searchable terms for courses. Replaced database-based search in SQLiteStorage.find_courses() by term-based search. Added helper function luna_lms.remove_html() . check-in: 435943c414 user: florian tags: database
08:58
sqlite_storage.find_courses() now applies strict version checking. check-in: 797a3ac4b6 user: florian tags: database
08:53
Merged changes from development. check-in: 2377d13435 user: florian tags: database
08:52
Added luna_lms.numeric_version(), and using it in upgrade_db now. check-in: d55d15f384 user: florian tags: development
2024-08-02
21:16
Merged changes from database. check-in: ba57dd0f4c user: florian tags: development
21:13
Implemented database changes in 0.1.8 . check-in: 039da87661 user: florian tags: database
20:35
Merged changes from tools. check-in: 425588ac7a user: florian tags: database
20:35
Adding upgrade to 0.1.8 to upgrade_db. check-in: d3e99427e4 user: florian tags: tools
20:05
Merged changes from documentation. check-in: 15c4ad0979 user: florian tags: tools
20:05
Removed title from table 'steps', and added table 'step_titles'. check-in: 8388b79e9f user: florian tags: documentation
19:38
Merged changes from development. check-in: 62e317ed74 user: florian tags: documentation
17:36
Merged changes from database. check-in: 2707f6b55b user: florian tags: development
17:36
Updated sqlite_storage to conform to Luna LMS 0.1.7 . check-in: f84c433f84 user: florian tags: database
17:33
Merged changes from development. check-in: c0e61d5639 user: florian tags: database
17:26
Merged changes from tools. check-in: 6dcb801ecb user: florian tags: development
17:25
Improved version check in upgrade_db. check-in: a39f8abd0d user: florian tags: tools
16:45
Improved version check in upgrade_db. check-in: 618f5bf2e1 user: florian tags: tools
16:34
Creating a single backup copy at the beginning of the operation now. Improved info texts. check-in: 7bcf129d93 user: florian tags: tools
16:20
upgrade_db now rewrites instead of patches a database to change table definitions. check-in: a0726934eb user: florian tags: tools
14:37
Minor improvements in upgrade_db. check-in: 22d170f7d0 user: florian tags: tools
14:34
Added database integrity check to upgrade_db. check-in: 10af038bea user: florian tags: tools
2024-08-01
21:06
Merged changes from development. check-in: be29261b3f user: florian tags: tools