diff --git a/README_fr.md b/README_fr.md index e895ceab239d2cae024965f84340b253d2ff322e..db8ab8dd2f1902db2a1804608717bb79e9d65eea 100644 --- a/README_fr.md +++ b/README_fr.md @@ -10,7 +10,7 @@ Voir la documentation [ici](./docs/Installation_fr.md) # Documentation -La documentation d'utilisation de **AROLIOS WebUI** se trouve [ici](./docs/UserGuide_fr.md) +Une vidéo présentant comment utiliser **AROLIOS WebUI** se trouve [ici](https://www.youtube.com/watch?v=59lapSUfY-4) La documentation sur les logiciels **AROLIOS** coté serveur et sur l'API se trouve [ici](https://lab.frogg.it/philcoicadan/arolios-doc) diff --git a/docs/UserGuide_fr.md b/docs/UserGuide_fr.md deleted file mode 100644 index 4691d7dace04b2500c2e1bde6e2f3daf9e1b464d..0000000000000000000000000000000000000000 --- a/docs/UserGuide_fr.md +++ /dev/null @@ -1 +0,0 @@ -# RESTE A FAIRE \ No newline at end of file diff --git a/docs/examples/import.json b/docs/examples/import.json new file mode 100644 index 0000000000000000000000000000000000000000..311163c9613462002ed2cdd2f05a9411802a9565 --- /dev/null +++ b/docs/examples/import.json @@ -0,0 +1,2019 @@ +{ + "import": [ + { + "class": "library.writer", + "instance": "$w1", + "properties": { + "name": "Hugo", + "surname": "Hugo", + "first_name": "Victor" + } + }, + { + "class": "library.writer", + "instance": "$w2", + "properties": { + "name": "Balzac", + "surname": "de Balzac", + "first_name": "Honoré" + } + }, + { + "class": "library.writer", + "instance": "$w3", + "properties": { + "name": "Flaubert", + "surname": "Flaubert", + "first_name": "Gustave" + } + }, + { + "class": "library.writer", + "instance": "$w4", + "properties": { + "name": "Stendhal", + "surname": "Beyle", + "first_name": "Henri" + } + }, + { + "class": "library.writer", + "instance": "$w5", + "properties": { + "name": "Zola", + "surname": "Zola", + "first_name": "Emile" + } + }, + { + "class": "library.writer", + "instance": "$w6", + "properties": { + "name": "George Sand", + "surname": "Dupin", + "first_name": "Amantine" + } + }, + { + "class": "library.writer", + "instance": "$w7", + "properties": { + "name": "Baudelaire", + "surname": "Baudelaire", + "first_name": "Charles" + } + }, + { + "class": "library.writer", + "instance": "$w8", + "properties": { + "name": "Verlaine", + "surname": "Verlaine", + "first_name": "Paul" + } + }, + { + "class": "library.writer", + "instance": "$w9", + "properties": { + "name": "Rimbaud", + "surname": "Rimbaud", + "first_name": "Arthur" + } + }, + { + "class": "library.writer", + "instance": "$w10", + "properties": { + "name": "Musset", + "surname": "de Musset", + "first_name": "Alfred" + } + }, + { + "class": "library.writer", + "instance": "$w11", + "properties": { + "name": "Chateaubriand", + "surname": "de Chateaubriand", + "first_name": "François-René" + } + }, + { + "class": "library.writer", + "instance": "$w12", + "properties": { + "name": "Lamartine", + "surname": "de Lamartine", + "first_name": "Alphonse" + } + }, + { + "class": "library.writer", + "instance": "$w13", + "properties": { + "name": "E. Goncourt", + "surname": "Huot de Goncourt", + "first_name": "Edmond" + } + }, + { + "class": "library.writer", + "instance": "$w14", + "properties": { + "name": "J. Goncourt", + "surname": "Huot de Goncourt", + "first_name": "Jules" + } + }, + { + "class": "library.personal_info", + "instance": "$pi1", + "properties": { + "writer": { "id": "$w1" }, + "birth_date": "1802-02-26", + "death_date": "1885-05-22" + } + }, + { + "class": "library.personal_info", + "instance": "$pi2", + "properties": { + "writer": { "id": "$w2" }, + "birth_date": "1799-05-20", + "death_date": "1850-08-18" + } + }, + { + "class": "library.personal_info", + "instance": "$pi3", + "properties": { + "writer": { "id": "$w3" }, + "birth_date": "1821-12-12", + "death_date": "1880-05-08" + } + }, + { + "class": "library.personal_info", + "instance": "$pi4", + "properties": { + "writer": { "id": "$w4" }, + "birth_date": "1783-01-23", + "death_date": "1842-03-23" + } + }, + { + "class": "library.personal_info", + "instance": "$pi5", + "properties": { + "writer": { "id": "$w5" }, + "birth_date": "1840-04-02", + "death_date": "1902-09-29", + "introduction": { + "fr": "(Contenu soumis à la licence CC-BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/deed.fr) Source : Article Émile Zola de Wikipédia en français (https://fr.wikipedia.org/wiki/%C3%89mile_Zola). Extrait)\nÉmile Zola est un écrivain et journaliste français, né le 2 avril 1840 à Paris et mort le 29 septembre 1902 dans la même ville. Considéré comme le chef de file du naturalisme, c'est l'un des romanciers français les plus populaires et l'un des plus publiés, traduits et commentés dans le monde entier. Il a durablement marqué de son empreinte le monde littéraire français. Ses romans ont connu de très nombreuses adaptations au cinéma et à la télévision.", + "en": "(Contenu soumis à la licence CC-BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/deed.fr) Source : Article Émile Zola de Wikipédia en anglais (https://en.wikipedia.org/wiki/%C3%89mile_Zola). Extrait).\nÉmile Édouard Charles Antoine Zola ( 2 April 1840 – 29 September 1902) was a French novelist, journalist, playwright, the best-known practitioner of the literary school of naturalism, and an important contributor to the development of theatrical naturalism. He was a major figure in the political liberalization of France and in the exoneration of the falsely accused and convicted army officer Alfred Dreyfus, which is encapsulated in his renowned newspaper opinion headlined J'Accuse…! Zola was nominated for the first and second Nobel prizes in literature in 1901 and 1902." + } + } + }, + { + "class": "library.personal_info", + "instance": "$pi6", + "properties": { + "writer": { "id": "$w6" }, + "birth_date": "1804-07-01", + "death_date": "1876-06-08", + "introduction" : { + "fr": "(Contenu soumis à la licence CC-BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/deed.fr) Source : Article George Sand de Wikipédia en français (https://fr.wikipedia.org/wiki/George_Sand). Extrait).\nGeorge Sand, nom de plume d'Amantine Aurore Lucile Dupin de Francueil, par mariage baronne Dudevant, est une romancière, dramaturge, épistolière, critique littéraire et journaliste française, née le 1er juillet 1804 à Paris et morte le 8 juin 1876 au château de Nohant-Vic. Elle compte parmi les écrivains les plus prolifiques, avec plus de 70 romans à son actif et 50 volumes d'Å“uvres diverses dont des nouvelles, des contes, des pièces de théâtre et des textes politiques."} + } + }, + { + "class": "library.personal_info", + "instance": "$pi7", + "properties": { + "writer": { "id": "$w7" }, + "birth_date": "1821-04-09", + "death_date": "1867-08-31" + } + }, + { + "class": "library.personal_info", + "instance": "$pi8", + "properties": { + "writer": { "id": "$w8" }, + "birth_date": "1844-03-30", + "death_date": "1896-01-08" + } + }, + { + "class": "library.personal_info", + "instance": "$pi9", + "properties": { + "writer": { "id": "$w9" }, + "birth_date": "1854-10-20", + "death_date": "1891-11-10" + } + }, + { + "class": "library.personal_info", + "instance": "$pi10", + "properties": { + "writer": { "id": "$w10" }, + "birth_date": "1810-12-11", + "death_date": "1857-05-02" + } + }, + { + "class": "library.personal_info", + "instance": "$pi11", + "properties": { + "writer": { "id": "$w11" }, + "birth_date": "1768-09-04", + "death_date": "1848-07-04" + } + }, + { + "class": "library.personal_info", + "instance": "$pi12", + "properties": { + "writer": { "id": "$w12" }, + "birth_date": "1790-10-21", + "death_date": "1869-02-28" + } + }, + { + "class": "library.personal_info", + "instance": "$pi13", + "properties": { + "writer": { "id": "$w13" }, + "birth_date": "1822-05-26", + "death_date": "1896-07-16" + } + }, + { + "class": "library.personal_info", + "instance": "$pi14", + "properties": { + "writer": { "id": "$w14" }, + "birth_date": "1830-12-17", + "death_date": "1870-06-20" + } + }, + { + "class": "library.registered_person", + "instance": "$rp1", + "properties": { + "id_number": 241201 + } + }, + { + "class": "library.registered_person", + "instance": "$rp2", + "properties": { + "id_number": 241202 + } + }, + { + "class": "library.registered_person", + "instance": "$rp3", + "properties": { + "id_number": 241203 + } + }, + { + "class": "library.registered_person", + "instance": "$rp4", + "properties": { + "id_number": 241204 + } + }, + { + "class": "library.registered_person", + "instance": "$rp5", + "properties": { + "id_number": 241205 + } + }, + { + "class": "library.registered_person", + "instance": "$rp6", + "properties": { + "id_number": 241206 + } + }, + { + "class": "library.registered_person", + "instance": "$rp7", + "properties": { + "id_number": 241207 + } + }, + { + "class": "library.registered_person", + "instance": "$rp8", + "properties": { + "id_number": 241208, + "first_name" : "Philippe", + "surname": "C" + } + }, + { + "class": "library.registered_person", + "instance": "$rp9", + "properties": { + "id_number": 241209 + } + }, + { + "class": "library.registered_person", + "instance": "$rp10", + "properties": { + "id_number": 241210 + } + }, + { + "class": "library.book", + "instance": "$b1", + "properties": { + "title": "Odes et Ballades", + "kind": "poetry" + } + }, + { + "class": "library.book", + "instance": "$b2", + "properties": { + "title": "Les feuilles d’automne", + "kind": "poetry" + } + }, + { + "class": "library.book", + "instance": "$b3", + "properties": { + "title": "Les contemplations", + "kind": "poetry" + } + }, + { + "class": "library.book", + "instance": "$b4", + "properties": { + "title": "Les châtiments", + "kind": "poetry" + } + }, + { + "class": "library.book", + "instance": "$b5", + "properties": { + "title": "La légende des siècles", + "kind": "poetry" + } + }, + { + "class": "library.book", + "instance": "$b6", + "properties": { + "title": "Cromwell", + "kind": "play" + } + }, + { + "class": "library.book", + "instance": "$b7", + "properties": { + "title": "Hernani", + "kind": "play" + } + }, + { + "class": "library.book", + "instance": "$b8", + "properties": { + "title": "Lucrèce Borgia", + "kind": "play" + } + }, + { + "class": "library.book", + "instance": "$b9", + "properties": { + "title": "Ruy Blas", + "kind": "play" + } + }, + { + "class": "library.book", + "instance": "$b10", + "properties": { + "title": "Notre Dame de Paris", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b11", + "properties": { + "title": "Les misérables", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b12", + "properties": { + "title": "La Peau de chagrin", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b13", + "properties": { + "title": "Le Lys dans la vallée", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b14", + "properties": { + "title": "Eugénie Grandet", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b15", + "properties": { + "title": "Le Père Goriot", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b16", + "properties": { + "title": "Madame Bovary", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b17", + "properties": { + "title": "L’éducation sentimentale", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b18", + "properties": { + "title": "Le Rouge et le Noir", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b19", + "properties": { + "title": "La Chartreuse de Parme", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b20", + "properties": { + "title": "La Fortune des Rougon", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b21", + "properties": { + "title": "La Curée", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b22", + "properties": { + "title": "La Faute de l’abbé Mouret", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b23", + "properties": { + "title": "L’Assommoir", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b24", + "properties": { + "title": "Nana", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b25", + "properties": { + "title": "Au bonheur des Dames", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b26", + "properties": { + "title": "Germinal", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b27", + "properties": { + "title": "La Terre", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b28", + "properties": { + "title": "La bête humaine", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b29", + "properties": { + "title": "L’argent", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b30", + "properties": { + "title": "La Mare au Diable", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b31", + "properties": { + "title": "La Petite Fadette", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b32", + "properties": { + "title": "Les Maîtres sonneurs", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b33", + "properties": { + "title": "Les Fleurs du mal", + "kind": "poetry" + } + }, + { + "class": "library.book", + "instance": "$b34", + "properties": { + "title": "Poèmes saturniens", + "kind": "poetry" + } + }, + { + "class": "library.book", + "instance": "$b35", + "properties": { + "title": "Fêtes galantes", + "kind": "poetry" + } + }, + { + "class": "library.book", + "instance": "$b36", + "properties": { + "title": "Poésies", + "kind": "poetry" + } + }, + { + "class": "library.book", + "instance": "$b37", + "properties": { + "title": "Les illuminations", + "kind": "poetry" + } + }, + { + "class": "library.book", + "instance": "$b38", + "properties": { + "title": "Une saison en enfer", + "kind": "poetry" + } + }, + { + "class": "library.book", + "instance": "$b39", + "properties": { + "title": "Cahier de Douai", + "kind": "poetry" + } + }, + { + "class": "library.book", + "instance": "$b40", + "properties": { + "title": "Lorenzaccio", + "kind": "play" + } + }, + { + "class": "library.book", + "instance": "$b41", + "properties": { + "title": "On ne badine pas avec l’amour", + "kind": "play" + } + }, + { + "class": "library.book", + "instance": "$b42", + "properties": { + "title": "Mémoires d’Outre-Tombe", + "kind": "autobiography" + } + }, + { + "class": "library.book", + "instance": "$b43", + "properties": { + "title": "Méditations poétiques", + "kind": "poetry" + } + }, + { + "class": "library.book", + "instance": "$b44", + "properties": { + "title": "Harmonies poétiques et religieuses", + "kind": "poetry" + } + }, + { + "class": "library.book", + "instance": "$b45", + "properties": { + "title": "Renée Mauperin", + "kind": "novel" + } + }, + { + "class": "library.book", + "instance": "$b46", + "properties": { + "title": "Germinie Lacerteux", + "kind": "novel" + } + }, + { + "association": "library.author", + "instance": "$a1", + "properties": { + "writers": { "id": "$w1" }, + "books": { "id": "$b1"} + } + }, + { + "association": "library.author", + "instance": "$a2", + "properties": { + "writers": { "id": "$w1" }, + "books": { "id": "$b2"} + } + }, + { + "association": "library.author", + "instance": "$a3", + "properties": { + "writers": { "id": "$w1" }, + "books": { "id": "$b3"} + } + }, + { + "association": "library.author", + "instance": "$a4", + "properties": { + "writers": { "id": "$w1" }, + "books": { "id": "$b4"} + } + }, + { + "association": "library.author", + "instance": "$a5", + "properties": { + "writers": { "id": "$w1" }, + "books": { "id": "$b5"} + } + }, + { + "association": "library.author", + "instance": "$a6", + "properties": { + "writers": { "id": "$w1" }, + "books": { "id": "$b6"} + } + }, + { + "association": "library.author", + "instance": "$a7", + "properties": { + "writers": { "id": "$w1" }, + "books": { "id": "$b7"} + } + }, + { + "association": "library.author", + "instance": "$a8", + "properties": { + "writers": { "id": "$w1" }, + "books": { "id": "$b8"} + } + }, + { + "association": "library.author", + "instance": "$a9", + "properties": { + "writers": { "id": "$w1" }, + "books": { "id": "$b9"} + } + }, + { + "association": "library.author", + "instance": "$a10", + "properties": { + "writers": { "id": "$w1" }, + "books": { "id": "$b10"} + } + }, + { + "association": "library.author", + "instance": "$a11", + "properties": { + "writers": { "id": "$w1" }, + "books": { "id": "$b11"} + } + }, + { + "association": "library.author", + "instance": "$a12", + "properties": { + "writers": { "id": "$w2" }, + "books": { "id": "$b12"} + } + }, + { + "association": "library.author", + "instance": "$a13", + "properties": { + "writers": { "id": "$w2" }, + "books": { "id": "$b13"} + } + }, + { + "association": "library.author", + "instance": "$a14", + "properties": { + "writers": { "id": "$w2" }, + "books": { "id": "$b14"} + } + }, + { + "association": "library.author", + "instance": "$a15", + "properties": { + "writers": { "id": "$w2" }, + "books": { "id": "$b15"} + } + }, + { + "association": "library.author", + "instance": "$a16", + "properties": { + "writers": { "id": "$w3" }, + "books": { "id": "$b16"} + } + }, + { + "association": "library.author", + "instance": "$a17", + "properties": { + "writers": { "id": "$w3" }, + "books": { "id": "$b17"} + } + }, + { + "association": "library.author", + "instance": "$a18", + "properties": { + "writers": { "id": "$w4" }, + "books": { "id": "$b18"} + } + }, + { + "association": "library.author", + "instance": "$a19", + "properties": { + "writers": { "id": "$w4" }, + "books": { "id": "$b19"} + } + }, + { + "association": "library.author", + "instance": "$a20", + "properties": { + "writers": { "id": "$w5" }, + "books": { "id": "$b20"} + } + }, + { + "association": "library.author", + "instance": "$a21", + "properties": { + "writers": { "id": "$w5" }, + "books": { "id": "$b21"} + } + }, + { + "association": "library.author", + "instance": "$a22", + "properties": { + "writers": { "id": "$w5" }, + "books": { "id": "$b22"} + } + }, + { + "association": "library.author", + "instance": "$a23", + "properties": { + "writers": { "id": "$w5" }, + "books": { "id": "$b23"} + } + }, + { + "association": "library.author", + "instance": "$a24", + "properties": { + "writers": { "id": "$w5" }, + "books": { "id": "$b24"} + } + }, + { + "association": "library.author", + "instance": "$a25", + "properties": { + "writers": { "id": "$w5" }, + "books": { "id": "$b25"} + } + }, + { + "association": "library.author", + "instance": "$a26", + "properties": { + "writers": { "id": "$w5" }, + "books": { "id": "$b26"} + } + }, + { + "association": "library.author", + "instance": "$a27", + "properties": { + "writers": { "id": "$w5" }, + "books": { "id": "$b27"} + } + }, + { + "association": "library.author", + "instance": "$a28", + "properties": { + "writers": { "id": "$w5" }, + "books": { "id": "$b28"} + } + }, + { + "association": "library.author", + "instance": "$a29", + "properties": { + "writers": { "id": "$w5" }, + "books": { "id": "$b29"} + } + }, + { + "association": "library.author", + "instance": "$a30", + "properties": { + "writers": { "id": "$w6" }, + "books": { "id": "$b30"} + } + }, + { + "association": "library.author", + "instance": "$a31", + "properties": { + "writers": { "id": "$w6" }, + "books": { "id": "$b31"} + } + }, + { + "association": "library.author", + "instance": "$a32", + "properties": { + "writers": { "id": "$w6" }, + "books": { "id": "$b32"} + } + }, + { + "association": "library.author", + "instance": "$a33", + "properties": { + "writers": { "id": "$w7" }, + "books": { "id": "$b33"} + } + }, + { + "association": "library.author", + "instance": "$a34", + "properties": { + "writers": { "id": "$w8" }, + "books": { "id": "$b34"} + } + }, + { + "association": "library.author", + "instance": "$a35", + "properties": { + "writers": { "id": "$w8" }, + "books": { "id": "$b35"} + } + }, + { + "association": "library.author", + "instance": "$a36", + "properties": { + "writers": { "id": "$w9" }, + "books": { "id": "$b36"} + } + }, + { + "association": "library.author", + "instance": "$a37", + "properties": { + "writers": { "id": "$w9" }, + "books": { "id": "$b37"} + } + }, + { + "association": "library.author", + "instance": "$a38", + "properties": { + "writers": { "id": "$w9"}, + "books": { "id": "$b38"} + } + }, + { + "association": "library.author", + "instance": "$a39", + "properties": { + "writers": { "id": "$w9"}, + "books": { "id": "$b39"} + } + }, + { + "association": "library.author", + "instance": "$a40", + "properties": { + "writers": { "id": "$w10"}, + "books": { "id": "$b40"} + } + }, + { + "association": "library.author", + "instance": "$a41", + "properties": { + "writers": { "id": "$w10"}, + "books": { "id": "$b41"} + } + }, + { + "association": "library.author", + "instance": "$a42", + "properties": { + "writers": { "id": "$w11"}, + "books": { "id": "$b42"} + } + }, + { + "association": "library.author", + "instance": "$a43", + "properties": { + "writers": { "id": "$w12"}, + "books": { "id": "$b43"} + } + }, + { + "association": "library.author", + "instance": "$a44", + "properties": { + "writers": { "id": "$w12"}, + "books": { "id": "$b44"} + } + }, + { + "association": "library.author", + "instance": "$a45", + "properties": { + "writers": { "id": "$w13"}, + "books": { "id": "$b45"} + } + }, + { + "association": "library.author", + "instance": "$a46", + "properties": { + "writers": { "id": "$w13"}, + "books": { "id": "$b46"} + } + }, + { + "association": "library.author", + "instance": "$a47", + "properties": { + "writers": { "id": "$w14"}, + "books": { "id": "$b45"} + } + }, + { + "association": "library.author", + "instance": "$a48", + "properties": { + "writers": { "id": "$w14"}, + "books": { "id": "$b46"} + } + }, + { + "association": "library.borrowing", + "instance": "$bo1", + "properties": { + "books": { "id": "$b1"}, + "borrowers": { "id": "$rp1"}, + "borrowing_date": "2024-10-01", + "return_date": "2024-10-15" + } + }, + { + "association": "library.borrowing", + "instance": "$bo2", + "properties": { + "books": { "id": "$b2"}, + "borrowers": { "id": "$rp2"}, + "borrowing_date": "2024-10-01", + "return_date": "2024-10-15" + } + }, + { + "association": "library.borrowing", + "instance": "$bo3", + "properties": { + "books": { "id": "$b5"}, + "borrowers": { "id": "$rp3"}, + "borrowing_date": "2024-10-01", + "return_date": "2024-10-15" + } + }, + { + "association": "library.borrowing", + "instance": "$bo4", + "properties": { + "books": { "id": "$b6"}, + "borrowers": { "id": "$rp6"}, + "borrowing_date": "2024-10-02", + "return_date": "2024-10-16" + } + }, + { + "association": "library.borrowing", + "instance": "$bo5", + "properties": { + "books": { "id": "$b9"}, + "borrowers": { "id": "$rp7"}, + "borrowing_date": "2024-10-03", + "return_date": "2024-10-17" + } + }, + { + "association": "library.borrowing", + "instance": "$bo6", + "properties": { + "books": { "id": "$b10"}, + "borrowers": { "id": "$rp8"}, + "borrowing_date": "2024-10-18", + "return_date": "2024-10-28" + } + }, + { + "association": "library.borrowing", + "instance": "$bo7", + "properties": { + "books": { "id": "$b13"}, + "borrowers": { "id": "$rp9"}, + "borrowing_date": "2024-10-05", + "return_date": "2024-10-19" + } + }, + { + "association": "library.borrowing", + "instance": "$bo8", + "properties": { + "books": { "id": "$b14"}, + "borrowers": { "id": "$rp10"}, + "borrowing_date": "2024-10-06", + "return_date": "2024-10-20" + } + }, + { + "association": "library.borrowing", + "instance": "$bo9", + "properties": { + "books": { "id": "$b17"}, + "borrowers": { "id": "$rp1"}, + "borrowing_date": "2024-10-01", + "return_date": "2024-10-15" + } + }, + { + "association": "library.borrowing", + "instance": "$bo10", + "properties": { + "books": { "id": "$b18"}, + "borrowers": { "id": "$rp2"}, + "borrowing_date": "2024-10-15", + "return_date": "2024-10-29" + } + }, + { + "association": "library.borrowing", + "instance": "$bo11", + "properties": { + "books": { "id": "$b21"}, + "borrowers": { "id": "$rp3"}, + "borrowing_date": "2024-10-15", + "return_date": "2024-10-29" + } + }, + { + "association": "library.borrowing", + "instance": "$bo12", + "properties": { + "books": { "id": "$b22"}, + "borrowers": { "id": "$rp4"}, + "borrowing_date": "2024-11-06", + "return_date": "2024-11-16" + } + }, + { + "association": "library.borrowing", + "instance": "$bo13", + "properties": { + "books": { "id": "$b25"}, + "borrowers": { "id": "$rp5"}, + "borrowing_date": "2024-11-06", + "return_date": "2024-11-20" + } + }, + { + "association": "library.borrowing", + "instance": "$bo14", + "properties": { + "books": { "id": "$b26"}, + "borrowers": { "id": "$rp8"}, + "borrowing_date": "2024-10-04", + "return_date": "2024-10-18" + } + }, + + { + "association": "library.borrowing", + "instance": "$bo15", + "properties": { + "books": { "id": "$b29"}, + "borrowers": { "id": "$rp9"}, + "borrowing_date": "2024-10-19", + "return_date": "2024-10-29" + } + }, + { + "association": "library.borrowing", + "instance": "$bo16", + "properties": { + "books": { "id": "$b30"}, + "borrowers": { "id": "$rp10"}, + "borrowing_date": "2024-10-20", + "return_date": "2024-10-30" + } + }, + { + "association": "library.borrowing", + "instance": "$bo17", + "properties": { + "books": { "id": "$b33"}, + "borrowers": { "id": "$rp1"}, + "borrowing_date": "2024-10-15", + "return_date": "2024-10-29" + } + }, + { + "association": "library.borrowing", + "instance": "$bo18", + "properties": { + "books": { "id": "$b34"}, + "borrowers": { "id": "$rp2"}, + "borrowing_date": "2024-12-11" + } + }, + { + "association": "library.borrowing", + "instance": "$bo19", + "properties": { + "books": { "id": "$b37"}, + "borrowers": { "id": "$rp3"}, + "borrowing_date": "2024-10-29", + "return_date": "2024-11-10" + } + }, + { + "association": "library.borrowing", + "instance": "$bo20", + "properties": { + "books": { "id": "$b38"}, + "borrowers": { "id": "$rp4"}, + "borrowing_date": "2024-11-06", + "return_date": "2024-11-16" + } + }, + { + "association": "library.borrowing", + "instance": "$bo21", + "properties": { + "books": { "id": "$b41"}, + "borrowers": { "id": "$rp5"}, + "borrowing_date": "2024-11-16", + "return_date": "2024-11-30" + } + }, + { + "association": "library.borrowing", + "instance": "$bo22", + "properties": { + "books": { "id": "$b42"}, + "borrowers": { "id": "$rp6"}, + "borrowing_date": "2024-10-02", + "return_date": "2024-10-16" + } + }, + { + "association": "library.borrowing", + "instance": "$bo23", + "properties": { + "books": { "id": "$b45"}, + "borrowers": { "id": "$rp7"}, + "borrowing_date": "2024-10-17", + "return_date": "2024-10-30" + } + }, + { + "association": "library.borrowing", + "instance": "$bo24", + "properties": { + "books": { "id": "$b46"}, + "borrowers": { "id": "$rp8"}, + "borrowing_date": "2024-10-28", + "return_date": "2024-11-10" + } + }, + { + "association": "library.borrowing", + "instance": "$bo25", + "properties": { + "books": { "id": "$b1"}, + "borrowers": { "id": "$rp5"}, + "borrowing_date": "2024-11-30" + } + }, + { + "association": "library.borrowing", + "instance": "$bo26", + "properties": { + "books": { "id": "$b2"}, + "borrowers": { "id": "$rp6"}, + "borrowing_date": "2024-10-16", + "return_date": "2024-10-30" + } + }, + { + "association": "library.borrowing", + "instance": "$bo27", + "properties": { + "books": { "id": "$b5"}, + "borrowers": { "id": "$rp7"}, + "borrowing_date": "2024-10-30", + "return_date": "2024-11-12" + } + }, + { + "association": "library.borrowing", + "instance": "$bo28", + "properties": { + "books": { "id": "$b26"}, + "borrowers": { "id": "$rp8"}, + "borrowing_date": "2024-12-11" + } + }, + { + "association": "library.borrowing", + "instance": "$b29", + "properties": { + "books": { "id": "$b10"}, + "borrowers": { "id": "$rp9"}, + "borrowing_date": "2024-10-29", + "return_date": "2024-11-13" + } + }, + { + "class": "library.room", + "instance": "$r1", + "properties": { + "name": "A" + } + }, + { + "class": "library.room", + "instance": "$r2", + "properties": { + "name": "B" + } + }, + { + "class": "library.room", + "instance": "$r3", + "properties": { + "name": "C" + } + }, + { + "class": "library.shelving", + "instance": "$s1", + "properties": { + "number": 1, + "room": { "id": "$r1"} + } + }, + { + "class": "library.shelving", + "instance": "$s2", + "properties": { + "number": 2, + "room": { "id": "$r1"} + } + }, + { + "class": "library.shelving", + "instance": "$s3", + "properties": { + "number": 3, + "room": { "id": "$r1"} + } + }, + { + "class": "library.shelving", + "instance": "$s4", + "properties": { + "number": 1, + "room": { "id": "$r2"} + } + }, + { + "class": "library.shelving", + "instance": "$s5", + "properties": { + "number": 2, + "room": { "id": "$r2"} + } + }, + { + "class": "library.shelving", + "instance": "$s6", + "properties": { + "number": 3, + "room": { "id": "$r2"} + } + }, + { + "class": "library.shelving", + "instance": "$s7", + "properties": { + "number": 1, + "room": { "id": "$r3"} + } + }, + { + "class": "library.shelving", + "instance": "$s8", + "properties": { + "number": 2, + "room": { "id": "$r3"} + } + }, + { + "class": "library.shelving", + "instance": "$s9", + "properties": { + "number": 3, + "room": { "id": "$r3"} + } + }, + { + "association": "library.book_position", + "instance": "$p1", + "properties": { + "books": { "id": "$b1"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 1, + "place": 1 + } + } + }, + { + "association": "library.book_position", + "instance": "$p2", + "properties": { + "books": { "id": "$b2"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 1, + "place": 2 + } + } + }, + { + "association": "library.book_position", + "instance": "$p3", + "properties": { + "books": { "id": "$b3"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 1, + "place": 3 + } + } + }, + { + "association": "library.book_position", + "instance": "$p4", + "properties": { + "books": { "id": "$b4"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 1, + "place": 4 + } + } + }, + { + "association": "library.book_position", + "instance": "$p5", + "properties": { + "books": { "id": "$b5"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 1, + "place": 5 + } + } + }, + { + "association": "library.book_position", + "instance": "$p6", + "properties": { + "books": { "id": "$b6"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 1, + "place": 6 + } + } + }, + { + "association": "library.book_position", + "instance": "$p7", + "properties": { + "books": { "id": "$b7"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 1, + "place": 7 + } + } + }, + { + "association": "library.book_position", + "instance": "$p8", + "properties": { + "books": { "id": "$b8"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 1, + "place": 8 + } + } + }, + { + "association": "library.book_position", + "instance": "$p9", + "properties": { + "books": { "id": "$b9"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 1, + "place": 9 + } + } + }, + { + "association": "library.book_position", + "instance": "$p10", + "properties": { + "books": { "id": "$b10"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 1, + "place": 10 + } + } + }, + { + "association": "library.book_position", + "instance": "$p11", + "properties": { + "books": { "id": "$b11"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 1, + "place": 11 + } + } + }, + { + "association": "library.book_position", + "instance": "$p12", + "properties": { + "books": { "id": "$b12"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 2, + "place": 1 + } + } + }, + { + "association": "library.book_position", + "instance": "$p13", + "properties": { + "books": { "id": "$b13"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 2, + "place": 2 + } + } + }, + { + "association": "library.book_position", + "instance": "$p14", + "properties": { + "books": { "id": "$b14"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 2, + "place": 3 + } + } + }, + { + "association": "library.book_position", + "instance": "$p15", + "properties": { + "books": { "id": "$b15"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 2, + "place": 4 + } + } + }, + { + "association": "library.book_position", + "instance": "$p16", + "properties": { + "books": { "id": "$b16"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 3, + "place": 1 + } + } + }, + { + "association": "library.book_position", + "instance": "$p17", + "properties": { + "books": { "id": "$b17"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 3, + "place": 2 + } + } + }, + { + "association": "library.book_position", + "instance": "$p18", + "properties": { + "books": { "id": "$b18"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 3, + "place": 3 + } + } + }, + { + "association": "library.book_position", + "instance": "$p19", + "properties": { + "books": { "id": "$b19"}, + "shelving": { "id": "$s1"}, + "position": { + "shelf": 3, + "place": 4 + } + } + }, + { + "association": "library.book_position", + "instance": "$p20", + "properties": { + "books": { "id": "$b20"}, + "shelving": { "id": "$s2"}, + "position": { + "shelf": 1, + "place": 1 + } + } + }, + { + "association": "library.book_position", + "instance": "$p21", + "properties": { + "books": { "id": "$b21"}, + "shelving": { "id": "$s2"}, + "position": { + "shelf": 1, + "place": 2 + } + } + }, + { + "association": "library.book_position", + "instance": "$p22", + "properties": { + "books": { "id": "$b22"}, + "shelving": { "id": "$s2"}, + "position": { + "shelf": 1, + "place": 3 + } + } + }, + { + "association": "library.book_position", + "instance": "$p23", + "properties": { + "books": { "id": "$b23"}, + "shelving": { "id": "$s2"}, + "position": { + "shelf": 1, + "place": 4 + } + } + }, + { + "association": "library.book_position", + "instance": "$p24", + "properties": { + "books": { "id": "$b24"}, + "shelving": { "id": "$s2"}, + "position": { + "shelf": 1, + "place": 5 + } + } + }, + { + "association": "library.book_position", + "instance": "$p25", + "properties": { + "books": { "id": "$b25"}, + "shelving": { "id": "$s2"}, + "position": { + "shelf": 1, + "place": 6 + } + } + }, + { + "association": "library.book_position", + "instance": "$p26", + "properties": { + "books": { "id": "$b26"}, + "shelving": { "id": "$s2"}, + "position": { + "shelf": 1, + "place": 7 + } + } + }, + { + "association": "library.book_position", + "instance": "$p27", + "properties": { + "books": { "id": "$b27"}, + "shelving": { "id": "$s2"}, + "position": { + "shelf": 1, + "place": 8 + } + } + }, + { + "association": "library.book_position", + "instance": "$p28", + "properties": { + "books": { "id": "$b28"}, + "shelving": { "id": "$s2"}, + "position": { + "shelf": 1, + "place": 9 + } + } + }, + { + "association": "library.book_position", + "instance": "$p29", + "properties": { + "books": { "id": "$b29"}, + "shelving": { "id": "$s2"}, + "position": { + "shelf": 1, + "place": 10 + } + } + }, + { + "association": "library.book_position", + "instance": "$p30", + "properties": { + "books": { "id": "$b30"}, + "shelving": { "id": "$s2"}, + "position": { + "shelf": 2, + "place": 1 + } + } + }, + { + "association": "library.book_position", + "instance": "$p31", + "properties": { + "books": { "id": "$b31"}, + "shelving": { "id": "$s2"}, + "position": { + "shelf": 2, + "place": 2 + } + } + }, + { + "association": "library.book_position", + "instance": "$p32", + "properties": { + "books": { "id": "$b32"}, + "shelving": { "id": "$s2"}, + "position": { + "shelf": 2, + "place": 3 + } + } + }, + { + "association": "library.book_position", + "instance": "$p33", + "properties": { + "books": { "id": "$b33"}, + "shelving": { "id": "$s4"}, + "position": { + "shelf": 1, + "place": 1 + } + } + }, + { + "association": "library.book_position", + "instance": "$p34", + "properties": { + "books": { "id": "$b34"}, + "shelving": { "id": "$s4"}, + "position": { + "shelf": 1, + "place": 2 + } + } + }, + { + "association": "library.book_position", + "instance": "$p35", + "properties": { + "books": { "id": "$b35"}, + "shelving": { "id": "$s4"}, + "position": { + "shelf": 1, + "place": 3 + } + } + }, + { + "association": "library.book_position", + "instance": "$p36", + "properties": { + "books": { "id": "$b36"}, + "shelving": { "id": "$s4"}, + "position": { + "shelf": 1, + "place": 4 + } + } + }, + { + "association": "library.book_position", + "instance": "$p37", + "properties": { + "books": { "id": "$b37"}, + "shelving": { "id": "$s4"}, + "position": { + "shelf": 1, + "place": 5 + } + } + }, + { + "association": "library.book_position", + "instance": "$p38", + "properties": { + "books": { "id": "$b38"}, + "shelving": { "id": "$s4"}, + "position": { + "shelf": 1, + "place": 6 + } + } + }, + { + "association": "library.book_position", + "instance": "$p39", + "properties": { + "books": { "id": "$b39"}, + "shelving": { "id": "$s4"}, + "position": { + "shelf": 1, + "place": 7 + } + } + }, + { + "association": "library.book_position", + "instance": "$p40", + "properties": { + "books": { "id": "$b40"}, + "shelving": { "id": "$s4"}, + "position": { + "shelf": 2, + "place": 1 + } + } + }, + { + "association": "library.book_position", + "instance": "$p41", + "properties": { + "books": { "id": "$b41"}, + "shelving": { "id": "$s4"}, + "position": { + "shelf": 2, + "place": 2 + } + } + }, + { + "association": "library.book_position", + "instance": "$p42", + "properties": { + "books": { "id": "$b42"}, + "shelving": { "id": "$s2"}, + "position": { + "shelf": 3, + "place": 1 + } + } + }, + { + "association": "library.book_position", + "instance": "$p43", + "properties": { + "books": { "id": "$b43"}, + "shelving": { "id": "$s4"}, + "position": { + "shelf": 2, + "place": 3 + } + } + }, + { + "association": "library.book_position", + "instance": "$p44", + "properties": { + "books": { "id": "$b44"}, + "shelving": { "id": "$s4"}, + "position": { + "shelf": 2, + "place": 4 + } + } + }, + { + "association": "library.book_position", + "instance": "$p45", + "properties": { + "books": { "id": "$b45"}, + "shelving": { "id": "$s2"}, + "position": { + "shelf": 4, + "place": 1 + } + } + }, + { + "association": "library.book_position", + "instance": "$p46", + "properties": { + "books": { "id": "$b46"}, + "shelving": { "id": "$s2"}, + "position": { + "shelf": 4, + "place": 2 + } + } + } + ] +} diff --git a/docs/examples/library_fr.xml b/docs/examples/library_fr.xml new file mode 100644 index 0000000000000000000000000000000000000000..8457302c5a2f8ab3012d9b6f0a33e88ec8924ad5 --- /dev/null +++ b/docs/examples/library_fr.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<a:model_translation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://arolios.org/arolios/model ../schemas/xtlt.xsd" + xmlns:a="http://arolios.org/arolios/model" + language="fr"> + <domain name="library" translation="Bibliothèque"> + <enumeration name="kind_of_book" translation="Genre de livre"> + <value name="novel" translation="Roman"/> + <value name="poetry" translation="Poésie"/> + <value name="play" translation="Théatre"/> + <value name="autobiography" translation="Autobiographie"/> + </enumeration> + + <class name="book" translation="Livre"> + <property name="title" translation="Titre"/> + <property name="kind" translation="Genre" /> + </class> + + <class name="person" translation="Personne" > + <property name="first_name" translation="Prénom"/> + <property name="surname" translation="Nom de famille"/> + </class> + + <class name="writer" translation="Ecrivain.e"> + <property name="name" translation="Nom" /> + </class> + + <association name="author" translation="Auteur.e"> + <memberEnd name="books" translation="Livres"/> + <memberEnd name="writers" translation="Ecrivain.e.s" /> + </association> + + <class name="personal_info" translation="Infos personnelles"> + <property name="introduction" translation="Présentation" /> + <property name="birth_date" translation="Date de naissance"/> + <property name="death_date" translation="Date du décès" /> + </class> + + <association name="writer_info" translation="Info_Ecrivain.e"> + <memberEnd name="info" translation="Info"/> + <memberEnd name="writer" translation="Ecrivain.e"/> + </association> + + <class name="registered_person" translation="Inscrit.e"> + <property name="id_number" translation="Numéro" /> + </class> + + <association name="borrowing" translation="Emprunt"> + <memberEnd name="books" translation="Livres" /> + <memberEnd name="borrowers" translation="Emprunteur.rice.s" /> + <property name="borrowing_date" translation="Emprunté le" /> + <property name="return_date" translation="Restitué le"/> + </association> + + + <class name="room" translation="Salle"> + <property name="name" translation="Nom" /> + </class> + + <class name="shelving" translation="Rayonnage"> + <property name="number" translation="Numéro" /> + </class> + + <association name="room_shelving" translation="Salle_Rayonnages"> + <memberEnd name="shelvings" translation="Rayonnages" /> + <memberEnd name="room" translation="Salle" /> + </association> + + + <type name="position" translation="Position"> + <property name="shelf" translation="Etagère" /> + <property name="place" translation="Emplacement" /> + </type> + + <association name="book_position" translation="Position_Livre"> + <memberEnd name="books" translation="Livres" /> + <memberEnd name="shelving" translation="Rayonnage" /> + <property name="position" translation="Position" /> + </association> + </domain> + + +</a:model_translation> diff --git a/docs/examples/library_list_config.xml b/docs/examples/library_list_config.xml new file mode 100644 index 0000000000000000000000000000000000000000..c2fbca038d543273acafe2122256195a8c2d0c5c --- /dev/null +++ b/docs/examples/library_list_config.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<a:appConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://arolios.org/arolios/model ../schemas/appconfig.xsd" + xmlns:a="http://arolios.org/arolios/model"> + <domain name="library"> + <association name="book_position"> + <property>position</property> + </association> + + <class name="book"> + <property>kind</property> + </class> + + </domain> + +</a:appConfig> \ No newline at end of file diff --git a/docs/examples/library_model.xml b/docs/examples/library_model.xml new file mode 100644 index 0000000000000000000000000000000000000000..6828840f1fe7e317bffeab92702d7f9dae4ffc5d --- /dev/null +++ b/docs/examples/library_model.xml @@ -0,0 +1,117 @@ +<?xml version="1.0" encoding="UTF-8"?> +<a:model xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://arolios.org/arolios/model ../schemas/xam.xsd" + xmlns:a="http://arolios.org/arolios/model"> + <domain name="library"> + <enumeration name="kind_of_book"> + <value name="novel" /> + <value name="poetry" /> + <value name="play" /> + <value name="autobiography" /> + </enumeration> + + <class name="book"> + <property name="title" type="charstring" required="true" /> + <property name="kind" type="kind_of_book" /> + <identifier> + <property>title</property> + </identifier> + </class> + + <class name="person" isAbstract="true" > + <property name="first_name" type="charstring"/> + <property name="surname" type="charstring"/> + </class> + + <class name="writer" > + <base>person</base> + <property name="name" type="charstring" required="true" /> + <identifier> + <property>name</property> + </identifier> + </class> + + <association name="author" > + <memberEnd name="books" class="book" /> + <memberEnd name="writers" class="writer" /> + </association> + + <class name="personal_info" > + <property name="introduction" type="mlangtext" /> + <property name="birth_date" type="date" required="true" /> + <property name="death_date" type="date" /> + </class> + + <association name="writer_info" > + <memberEnd name="info" class="personal_info" maxOccurs="one"/> + <memberEnd name="writer" class="writer" minOccurs="one" maxOccurs="one" /> + </association> + + <class name="registered_person"> + <base>person</base> + <property name="id_number" type="charstring" required="true" /> + <identifier> + <property>id_number</property> + </identifier> + </class> + + <association name="borrowing"> + <memberEnd name="books" class="book" /> + <memberEnd name="borrowers" class="registered_person" /> + <property name="borrowing_date" type="date" required="true" /> + <property name="return_date" type="date"/> + <identifier> + <property>borrowing_date</property> + </identifier> + </association> + + + <class name="room"> + <property name="name" type="charstring" required="true" /> + <identifier> + <property>name</property> + </identifier> + </class> + + <class name="shelving" > + <property name="number" type="smallint" required="true" /> + </class> + + <association name="room_shelving"> + <memberEnd name="shelvings" class="shelving" isComposition="true" /> + <memberEnd name="room" class="room" minOccurs="one" maxOccurs="one" /> + </association> + + + <type name="position" > + <property name="shelf" type="smallint" /> + <property name="place" type="smallint" /> + </type> + + <association name="book_position" > + <memberEnd name="books" class="book" /> + <memberEnd name="shelving" class= "shelving" maxOccurs="one" /> + <property name="position" type="position" required="true" /> + </association> + + + + </domain> + + <domain name="library" action="update"> + + <class name="personal_info" action="update"> + <identifier> + <memberEnd>writer</memberEnd> + </identifier> + </class> + + <class name="shelving" action="update" > + <identifier> + <property>number</property> + <memberEnd>room</memberEnd> + </identifier> + </class> + + </domain> +</a:model> diff --git a/docs/examples/library_query.json b/docs/examples/library_query.json new file mode 100644 index 0000000000000000000000000000000000000000..d07bd21099db124736f918b7bd493920b50ee3ae --- /dev/null +++ b/docs/examples/library_query.json @@ -0,0 +1,4 @@ +{ + "room_name" : "A", + "kind_of_book" : "poetry" +} \ No newline at end of file diff --git a/docs/examples/library_query.xml b/docs/examples/library_query.xml new file mode 100644 index 0000000000000000000000000000000000000000..ff1958de0fc89db0bd8cc18aa1f7b578309b2738 --- /dev/null +++ b/docs/examples/library_query.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<a:query xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://arolios.org/arolios/tqry ../schemas/query.xsd" + xmlns:a="http://arolios.org/arolios/tqry" + name="query1"> + <parameter>room_name</parameter> + <parameter>kind_of_book</parameter> + <class domain="library" name="book"> + <property>title</property> + <filter>kind = $kind_of_book </filter> + <memberEnd name="shelving"> + <class> + <property>number</property> + <memberEnd name="room"> + <class> + <property>name</property> + <filter>name = $room_name </filter> + </class> + </memberEnd> + </class> + </memberEnd> + <memberEnd name="writers"> + <class> + <property>name</property> + </class> + </memberEnd> + </class> +</a:query> diff --git a/src/App.jsx b/src/App.jsx index e4e2e9fb56b8fab67a830e9f8b3492e85b83fd98..273b29108b39ca34c0f341f3f21633a04967094f 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -126,8 +126,8 @@ import LoadTranslations from './pages/loadtranslations'; const auth = sessionStorage.getItem('arolios_auth'); if (auth) { const { token } = JSON.parse(sessionStorage.getItem('arolios_auth')); - const lang = localStorage.getItem('arolios_model_language') || - sessionStorage.getItem('arolios_model_default_language'); + const lang = localStorage.getItem('arolios_requested_language') || + sessionStorage.getItem('arolios_default_language'); return fetchDomains (token, lang).then ( ( domains) => { diff --git a/src/pages/about/index.jsx b/src/pages/about/index.jsx index 1593a0e0656003f53fc375a2fdad5b0eaddd4414..446b004ab3ac9dfcd839efe30fb2168f53c26fcd 100644 --- a/src/pages/about/index.jsx +++ b/src/pages/about/index.jsx @@ -39,13 +39,13 @@ const About = () => { return ( <div> <p>AROLIOS WebUI {translate('arolios.webui_purpose')}.</p> + <p>AROLIOS WebUI {translate('arolios.framework')} <a href='https://marmelab.com/react-admin'>React-admin</a></p> <p>AROLIOS {translate('arolios.trademark_registered')}.</p> <p>AROLIOS WebUI © 2024 Philippe Coicadan. {translate('arolios.all_rights_reserved')}.</p> <p>AROLIOS WebUI {translate('arolios.license_intro')}</p> <LicenseText/> - <p>{translate('arolios.source_link')} https://lab.frogg.it/philcoicadan/arolios-webui</p> - + <p>{translate('arolios.source_link')} <a href='https://lab.frogg.it/philcoicadan/arolios-webui'>AROLIOS WebUI</a></p> </div> ) diff --git a/src/pages/help/index.jsx b/src/pages/help/index.jsx index eb4de014fcf0c973af71b94e3d1a4eb6dca76ac3..0a29482f0272e48eb73615b398ed4eed53494c87 100644 --- a/src/pages/help/index.jsx +++ b/src/pages/help/index.jsx @@ -3,15 +3,15 @@ import {useLocaleState} from "react-admin"; const HelpEn = () => { return ( <div> - <h1>Help in construction</h1> - </div> + <h1>How to use AROLIOS in a web browser: <a href="https://www.youtube.com/watch?v=59lapSUfY-4" target="_blank">video</a></h1> + </div> ) } const HelpFr = () => { return ( <div> - <h1>Aide en construction</h1> + <h1>Comment utiliser AROLIOS dans un navigateur web: <a href="https://www.youtube.com/watch?v=59lapSUfY-4" target="_blank">vidéo</a></h1> </div> ) } diff --git a/src/resources/apps/index.jsx b/src/resources/apps/index.jsx index b2ac088f56204c37a81b0e4a7f4d9c6eb25bf996..bf0c29fd8586faec935fc894af9fe746f4d32fc3 100644 --- a/src/resources/apps/index.jsx +++ b/src/resources/apps/index.jsx @@ -190,7 +190,7 @@ export const AppList = (() => { export const AppCreate = (() => { return ( - <Create > + <Create redirect="list" > <SimpleForm> @@ -245,7 +245,7 @@ export const AppUserCreate = () => { const filterToQuery = searchText => ({ _s: `%${searchText}%` }); return ( - <Create mutationOptions={{ meta: {} }}> + <Create redirect="list" mutationOptions={{ meta: {} }}> <SimpleForm> @@ -271,7 +271,7 @@ export const AppUserCreate = () => { const translate=useTranslate(); return ( - <Create > + <Create redirect="list"> <SimpleForm> diff --git a/src/resources/instances/index.jsx b/src/resources/instances/index.jsx index 6448ca3e166b652e6f31ca24c29c646de7a7a6b6..3465364fb9e4ecc0d1ac236efd5a5e4d1798ce57 100644 --- a/src/resources/instances/index.jsx +++ b/src/resources/instances/index.jsx @@ -568,7 +568,7 @@ export const ClassInstanceCreate = () => { return ( - <Create title={translate('arolios.instance_of', { type: csf_name })} redirect='show' mutationOptions={{ meta: { prefix: 'classes', suffix: 'instances' } }}> + <Create title={translate('arolios.instance_of', { type: csf_name })} redirect='list' mutationOptions={{ meta: { prefix: 'classes', suffix: 'instances' } }}> {loading ? ( <Loading /> ) : ( @@ -601,7 +601,7 @@ export const AssocInstanceCreate = () => { return ( - <Create title={translate('arolios.instance_of', { type: csf_name })} redirect='show' mutationOptions={{ meta: { prefix: 'associations', suffix: 'instances' } }}> + <Create title={translate('arolios.instance_of', { type: csf_name })} redirect='list' mutationOptions={{ meta: { prefix: 'associations', suffix: 'instances' } }}> {loading ? ( <Loading /> ) : ( diff --git a/src/resources/settings/index.jsx b/src/resources/settings/index.jsx index 3cf8848c15bc0427c9895e2170142a8cec8d6836..11ab509c4542692cc03ec081fdcffb7a4dfa889a 100644 --- a/src/resources/settings/index.jsx +++ b/src/resources/settings/index.jsx @@ -82,8 +82,8 @@ export const SettingsEdit = () => { <SimpleForm toolbar={<EditToolbar />}> - <ReferenceInput source="model_language" reference="languages" sort={{ field: 'code', order: 'ASC' }} queryOptions={{ meta: { getmany_context: 'languages' } }}> - <SelectInput label="arolios.model_language" optionText="name" optionValue="code" validate={required()} /> + <ReferenceInput source="requested_language" reference="languages" sort={{ field: 'code', order: 'ASC' }} queryOptions={{ meta: { getmany_context: 'languages' } }}> + <SelectInput label="arolios.requested_language" optionText="name" optionValue="code" validate={required()} /> </ReferenceInput> </SimpleForm> diff --git a/src/utils/authProvider/index.jsx b/src/utils/authProvider/index.jsx index d32d3ea090831e51401f69d201f7b49da0052ae1..e85332e8e451eec49fd4cd392d3fcb413a0d0312 100644 --- a/src/utils/authProvider/index.jsx +++ b/src/utils/authProvider/index.jsx @@ -20,7 +20,7 @@ const authProvider = { const permissions = { role: json.user.role, appName: json.app.name, isDefaultApp: json.app.isDefault} sessionStorage.setItem('arolios_auth', JSON.stringify(auth)); sessionStorage.setItem('arolios_permissions', JSON.stringify(permissions)); - sessionStorage.setItem('arolios_model_default_language', json.app.defaultLanguage) ; + sessionStorage.setItem('arolios_default_language', json.app.defaultLanguage) ; }) .catch(() => { throw new Error('Network error') @@ -29,7 +29,7 @@ const authProvider = { logout: () => { sessionStorage.removeItem('arolios_auth'); sessionStorage.removeItem('arolios_permissions'); - sessionStorage.removeItem('arolios_model_default_language'); + sessionStorage.removeItem('arolios_default_language'); // try to clear the server side const request = new Request(backEndURL() + '/logout', { method: 'POST', @@ -57,7 +57,7 @@ const authProvider = { if (status === 401 || status === 403) { sessionStorage.removeItem('arolios_auth'); sessionStorage.removeItem('arolios_permissions'); - sessionStorage.removeItem('arolios_model_default_language'); + sessionStorage.removeItem('arolios_default_language'); return Promise.reject( new Error ('Authentication error')); } // other error code (404, 500, etc): no need to log out diff --git a/src/utils/dataProvider/index.jsx b/src/utils/dataProvider/index.jsx index 002e6db3563c4f2c731431b450fd87e248047db7..369c6744a2e3e1e3c57ffac17cd9257bc97200b8 100644 --- a/src/utils/dataProvider/index.jsx +++ b/src/utils/dataProvider/index.jsx @@ -29,7 +29,7 @@ const CustomDataProvider = { const { field, order } = params.sort || {}; const filter = params.filter || {}; const {prefix, suffix ,context, properties, i18n } = params.meta || {}; - const lang = localStorage.getItem ("arolios_model_language") || sessionStorage.getItem ("arolios_model_default_language"); + const lang = localStorage.getItem ("arolios_requested_language") || sessionStorage.getItem ("arolios_default_language"); let query =''; let querySep = '?'; if (i18n !== false) { @@ -128,13 +128,13 @@ const CustomDataProvider = { getOne: (resource, params) => { - const lang = localStorage.getItem ("arolios_model_language") || sessionStorage.getItem ("arolios_model_default_language"); + const lang = localStorage.getItem ("arolios_requested_language") || sessionStorage.getItem ("arolios_default_language"); let query = `?lang=${lang}`; const querySep = '&'; const {prefix, suffix ,context } = params.meta || {}; if (prefix === 'settings') { - const modelLang = localStorage.getItem("arolios_model_language") || sessionStorage.getItem ("arolios_model_default_language"); - return Promise.resolve({data: { id: params.id, model_language: modelLang}}); + const modelLang = localStorage.getItem("arolios_requested_language") || sessionStorage.getItem ("arolios_default_language"); + return Promise.resolve({data: { id: params.id, requested_language: modelLang}}); } let url = `${apiUrl}/`; @@ -229,7 +229,7 @@ const CustomDataProvider = { const ids = params.ids; const instid =ids[0] ; // variant of getOne - const lang = localStorage.getItem ("arolios_model_language") || sessionStorage.getItem ("arolios_model_default_language"); + const lang = localStorage.getItem ("arolios_requested_language") || sessionStorage.getItem ("arolios_default_language"); let query = `?lang=${lang}`; const querySep = '&'; const {prefix, suffix ,context } = params.meta || {}; @@ -320,9 +320,9 @@ const CustomDataProvider = { const {prefix, suffix ,context } = params.meta || {}; if (prefix === 'settings') { - localStorage.setItem("arolios_model_language", params.data.model_language); + localStorage.setItem("arolios_requested_language", params.data.requested_language); - const url = `${apiUrl}/domains?lang=${params.data.model_language}` + const url = `${apiUrl}/domains?lang=${params.data.requested_language}` httpClient(url).then(({ headers, json }) => { if (json["total"] === 1) { sessionStorage.setItem('arolios_model_default_domain', JSON.stringify({ name: json["elements"][0]['name'], _tname: json["elements"][0]['_tname'] })); diff --git a/src/utils/i18nProvider/en.js b/src/utils/i18nProvider/en.js index 6f3286ecab9e1bff367d4225e18283d6040c35c4..9a14f648654fed549b064d0903a2a1d6327ddd83 100644 --- a/src/utils/i18nProvider/en.js +++ b/src/utils/i18nProvider/en.js @@ -79,7 +79,7 @@ export const en = { empty_trash_title: "Delete definitively the items contained in the trash", empty_trash_confirm_msg: "You will not be able to recover the items contained in the trash. Are you sure ?", code: "Code", - model_language: "Model language", + requested_language: "Requested language", version: "Version", about: "About", all_rights_reserved: "All rights reserved", @@ -87,6 +87,7 @@ export const en = { webui_purpose: "is an user interface software running in a web navigator and using the AROLIOS API by the communication protocol HTTP", license_intro: "is a free software licensed under the terms of the MIT license, see below:", source_link: "Source link:", + framework: "uses the React framework:", data_export: "Data export", export_query: "Export query", export_params: "Export query parameters", diff --git a/src/utils/i18nProvider/fr.js b/src/utils/i18nProvider/fr.js index cd39d1828e686f0452ad5361897188e09ef178b8..15d2807b48b502448737a4d6606a89d57fe9ada3 100644 --- a/src/utils/i18nProvider/fr.js +++ b/src/utils/i18nProvider/fr.js @@ -80,7 +80,7 @@ export const fr = { empty_trash_title: "Supprimer définitivement les éléments contenus dans la corbeille", empty_trash_confirm_msg: "Vous ne pourrez pas récupérer les éléments contenus dans la corbeille. Etes-vous sûr ?", code: "Code", - model_language: "Langue du modèle", + requested_language: "Langue demandée", version: "Version", about: "A propos", all_rights_reserved: "Tous droits réservés", @@ -88,6 +88,7 @@ export const fr = { webui_purpose: "est un logiciel d'interface utilisateur s'exécutant dans un navigateur Web et utilisant l'API AROLIOS par le protocole de communication HTTP", license_intro: "est un logiciel libre concédé sous licence selon les termes de la licence MIT, voir ci-dessous:", source_link: "Lien vers le source:", + framework: "utilise la structure logicielle React:", data_export: "Exportation de données", export_query: "Requête d'export", export_params: "Paramètres de la requête d'export",