Commit Graph

265 Commits

Author SHA1 Message Date
aba311aebd sync: detect bad label wording 2020-01-23 18:26:30 +01:00
47ba134b55 Implement flag type 'text': this is like keys, but on multiple lines 2020-01-23 18:26:30 +01:00
8f998485bb sync: resize heading pictures 2020-01-23 18:26:30 +01:00
b4fa57f9c9 sync: introducing showlines property for vectors
It allows players to know in advance how many items the vector is composed.
2020-01-17 14:57:03 +01:00
f3a34c00db sync: implement hint dependency on flags 2020-01-17 14:57:03 +01:00
9693940d8c sync: add logs on stderr when doing deepsync 2020-01-17 14:57:03 +01:00
d97ecde3fb sync: return binding between challenge.txt IDs and DB item 2020-01-17 14:57:03 +01:00
fbae34ee4f sync: add error message when missing heading.jpg 2020-01-17 14:57:03 +01:00
26eab7ed67 sync: import heading.jpg only in Sync phase 2020-01-17 14:57:03 +01:00
6740256a32 sync: implement hint dependency on flags 2020-01-17 07:02:40 +01:00
97a3aa713f sync: fix hash computation by factorizing 2019-11-25 14:52:19 +01:00
0766fbe480 sync: don't rely on map order to import flags
Sometimes, maps order doesn't match file order. Return flag ID as
list to keep the order.
2019-11-25 14:52:19 +01:00
f2fc142869 api: remote route takes advantage from builds functions 2019-11-25 14:52:19 +01:00
ca891cd9b2 sync: Fix non-import of MCQ during sync 2019-11-25 14:52:19 +01:00
6265f85149 sync: Implement vector flags 2019-11-25 14:52:19 +01:00
99fcc99e82 sync: turn IgnoreCase on by default with reverse field CaseSensitive 2019-11-25 14:52:19 +01:00
33f7d104e4 sync: MCQ justifications are given in the choice tag directly 2019-11-25 14:52:19 +01:00
d7f0425d8a repochecker: Fix given URL to documentation 2019-11-25 14:52:19 +01:00
4e01377a29 sync: search theme's label in a title.txt file, fallback on dirname 2019-11-25 14:52:19 +01:00
8e618565ad sync: Fix long running bug known as "why my fresh uploaded file is now empty again"
Thanks to Nicolas Ribeyrolle
2019-11-25 14:52:19 +01:00
c8ece39cb2 sync: alert about unknown keys in challenge.txt 2019-07-21 22:38:45 +02:00
32f1c86519 sync: ignore directory beginning with . (like .git) 2019-07-10 13:09:08 +02:00
eb95d861d3 sync: Extract function that import hints from importer 2019-07-10 13:09:08 +02:00
4039a394b5 sync: Extract function that import flags from importer 2019-07-10 13:09:08 +02:00
3f55845374 sync: Extract function that import files from importer 2019-07-06 04:08:29 +02:00
3f99771910 sync: Extract function that builds an exercice from importer 2019-07-06 03:28:44 +02:00
682598fdbb sync: Extract function that builds a theme from importer 2019-07-06 03:28:44 +02:00
34d2054e04 sync: avoid useless line break at the end of markdown processing 2019-02-06 03:40:49 +01:00
58dbd9499b sync: fix report display with some security headers 2019-01-22 08:49:44 +01:00
6042f9b477 sync: check video file size during import process 2019-01-21 09:58:36 +01:00
7227c7109e admin: add a progression indicator for the deep synchronization 2019-01-21 09:58:36 +01:00
d9fb261232 sync: import files first during the full import, to permit file dependency to flag 2019-01-21 09:58:36 +01:00
4f98536f91 sync: import MCQ justification as Flag 2019-01-21 09:58:36 +01:00
07ec6cb613 sync: Use hint title if provided 2019-01-21 09:58:36 +01:00
2879b697c0 sync: fix ordered import 2019-01-21 09:58:36 +01:00
ff3dec059c sync: Refactor exercice flags 2019-01-21 09:58:35 +01:00
a66d6885e7 Refactor flags
Both QCM and Key are Flag
2019-01-21 09:58:35 +01:00
25b23e7ae0 sync: fix message 2019-01-21 03:08:06 +01:00
ba9bf4ef45 sync: ignore bad named directory when looking for dependancies 2019-01-21 03:08:06 +01:00
0d8505131e sync: automatically add   before ponctuation 2019-01-21 03:08:06 +01:00
8c87451d80 sync: better trim authors lines 2019-01-21 03:08:06 +01:00
d89cd2f0ca sync: Allow \r at EOL in DIGESTS 2019-01-21 03:08:05 +01:00
dc4a4925e3 sync: refactor exercice synchronization 2019-01-21 03:08:05 +01:00
7f2ae673d0 sync: try to remove old exercice without any player try 2019-01-21 03:08:04 +01:00
0e36a850cf Array flags can be non-ordered 2019-01-21 03:08:04 +01:00
dbf1985d25 Implement flag arrays 2019-01-21 03:08:04 +01:00
deb12052b5 sync: include headline in exercice overview, as it is difficult to retrieve otherwise 2019-01-21 03:08:04 +01:00
476f0f553c implement choices_cost 2019-01-21 03:08:04 +01:00
f9abdd23c6 Dependancy between flags 2019-01-21 03:08:04 +01:00
21697f01ca New field for exercice to display a text after exercice validation 2019-01-21 03:08:04 +01:00
87471acf98 sync: import files in markdown, relative to theme/exercice dir 2019-01-21 03:08:04 +01:00
8c95782eff Implement and display headlines in interface 2019-01-21 03:08:02 +01:00
abd7fc6bef sync: randomize imports: themes order, MCQ and UCQ choices 2019-01-21 03:07:47 +01:00
c5b65289d3 Add new helper string related to justified MCQ flag 2019-01-21 03:07:47 +01:00
3a0c892148 sync: import heading theme image 2019-01-21 03:07:45 +01:00
d7553f0392 Handle justified MCQ in admin and sync part 2018-12-08 20:35:36 +01:00
488a032eba Handle choices in UCQ (db, sync done) 2018-12-08 20:35:36 +01:00
f183985982 admin: Add exercice's tags: sync, api, interface done 2018-12-08 20:35:36 +01:00
ff56ec9fe3 libfic/flag: add validatorRegexp field 2018-12-08 20:35:32 +01:00
d21f3b0b83 Rename Exercice's Keys as Flags 2018-12-08 20:34:04 +01:00
f36e1c4e4d Stores ignorecase property for flags 2018-12-08 20:33:39 +01:00
3146e75ead sync: rehandle dependency, trivial processing 2018-12-08 20:32:36 +01:00
2a6fbd4e32 admin&sync: insert format helper in database 2018-12-08 20:32:33 +01:00
1e2a74f3ca sync: add dependency on flag to download file 2018-12-08 03:23:08 +01:00
f9e1cf6691 sync: add a new section to allow locking file waiting flag validation 2018-12-08 03:23:08 +01:00
da2a88a3a6 sync: parse complex AUTHORS.txt as described in README 2018-12-08 03:23:08 +01:00
c33390fa80 sync: import texts as Markdown 2018-12-08 03:23:08 +01:00
be7a159815 sync: Perfers content from challenge.txt to import hints 2018-12-08 03:23:08 +01:00
9ab5738cff admin/sync: theme's name is now part of the theme's dirname 2018-12-08 03:23:07 +01:00
66391baeef sync: alert when imported file is empty 2018-12-08 03:23:07 +01:00
92ba880006 sync: save import_report into StaticDir 2018-12-08 03:23:07 +01:00
e6b1b932f4 sync: fix synchronized URLId 2018-12-08 03:23:07 +01:00
Thibaut
3b7d9a2a75 sync: handle new sync format: flags 2018-12-08 03:23:07 +01:00
Thibaut
af55c5af9f sync: handle new sync format: extends challenge defines 2018-12-08 03:23:07 +01:00
Thibaut
d303ecfa38 sync: handle new sync format: filenames and locations 2018-06-22 20:34:35 +02:00
492ab72dcd sync: read UTF8 string, don't expect sane encoding from imported files, just force it 2018-05-13 14:16:06 +02:00
e126743d69 sync: Update specifications
Add same constraint for hint files than files (need DIGESTS.txt).
Update flag_ucq usage (difference between value and label).
2018-05-13 14:16:06 +02:00
dcb67fba63 Docs, docs, docs! 2018-05-13 14:15:07 +02:00
0d125071ef admin/sync: update README.md to introduce new syntax of the year 2018-05-11 15:03:10 +02:00
1a959862f1 admin/sync: fill README.md with synchronisation instructions for students 2018-05-11 15:03:10 +02:00
bcc598ebd5 Write docs! 2018-05-11 15:03:09 +02:00
62aea5413e use more official blake2b checksum 2018-05-11 05:27:51 +02:00
0c540a39eb frontend: beautiful URLs 2018-01-26 12:02:32 +01:00
ca41e4edee admin/sync: defines.txt can also contains informations about hints 2018-01-18 12:08:12 +01:00
332aa90931 admin/sync: handle exercice gain from toml file: defines.txt 2018-01-18 12:08:12 +01:00
494ccb740b admin/sync: tiny refactor 2018-01-18 12:08:12 +01:00
11d0fe8d1f admin/sync: handle hint files download 2018-01-18 12:08:12 +01:00
6cc40be36a admin/sync: rename Indice to Astuce 2018-01-18 12:08:12 +01:00
db9077a85c admin/sync: add stat method to importer 2018-01-18 12:08:12 +01:00
57758cd018 admin/sync: avoid error when no depends.txt exists 2018-01-18 12:08:12 +01:00
24f527ab8a admin/sync: includes mcq and ucq in full synchronization 2018-01-18 12:08:12 +01:00
935b1666ac admin/sync: Add last sync date into full_import_report 2018-01-18 12:08:12 +01:00
809d166a2d admin/sync: avoid false positive when no files are distributed 2018-01-18 12:08:12 +01:00
fc902e1063 admin/sync: import resolution movies 2018-01-18 12:08:12 +01:00
ea3f3b709d admin/sync: import theme introductions 2018-01-18 12:08:10 +01:00
4052969304 libfic/mcq: remove Kind, as we can only handle checkbox; another kind of record should be created to handle select/radio 2018-01-17 18:52:46 +01:00
eee1558dd9 admin/sync: new error on flags import 2018-01-17 18:52:46 +01:00
6329f44d42 admin/sync: escape cloud URL 2018-01-17 18:52:46 +01:00
11c8a56f14 admin/sync: handle dependancy between exercices 2018-01-17 18:52:45 +01:00
838918da66 Exercice: add overview field
This field is use as a high level description of the exercice. It will be
displayed on the public interface only: not to players.
2018-01-17 18:52:45 +01:00
b079f7891c admin: sync mcq/ucq 2018-01-17 18:52:45 +01:00
292fef7d12 admin/sync: remove old exercices no more in tree 2018-01-17 18:52:43 +01:00
68bb0e6b21 admin/sync: hide full URI from error message 2018-01-17 18:52:43 +01:00
1ab94862d0 admin/sync: can only perform one deep sync at a time 2018-01-17 18:52:43 +01:00
de3c78b2ee admin/sync: don't show error when no hints directory to import 2018-01-17 18:52:42 +01:00
bb3e4547bb admin/sync: regenerate backend after deep sync 2018-01-17 18:52:42 +01:00
8ed23ddc7a admin: localimporter can make symlink instead of copying whole files 2018-01-17 18:52:42 +01:00
a543be0255 admin: able to sync splitted files 2018-01-17 18:52:42 +01:00
b4057c1a2c admin/sync: generate report on full import 2018-01-17 18:52:41 +01:00
3d59042802 admin: sync.ImportFile takes Importer as first arg 2018-01-17 18:52:41 +01:00
6ef91a92e5 Perform full deep synchronisation 2018-01-17 18:52:41 +01:00
762d3a5222 admin: synchronization of exercices, files, hints and keys 2018-01-17 18:52:40 +01:00
a033f81f5f admin: new function to retrieve file content 2018-01-17 18:52:40 +01:00
4d1dde4528 admin: Implement theme synchronization 2018-01-17 18:52:39 +01:00
8f7de926d3 admin: Implement sychronization backends
We are now able, depending on configuration, to retrieve files from either WebDAV or local file system.
2018-01-17 18:52:39 +01:00