From 91127314ccbaf9a193fe67726b50bc95b80ede05 Mon Sep 17 00:00:00 2001 From: Philippe Coicadan <philcoicadan@arolios.org> Date: Fri, 10 Jan 2025 16:17:47 +0100 Subject: [PATCH] update about, help, language parameters, translations, README. add example files --- README_fr.md | 2 +- docs/UserGuide_fr.md | 1 - docs/examples/import.json | 2019 +++++++++++++++++++++++++ docs/examples/library_fr.xml | 83 + docs/examples/library_list_config.xml | 16 + docs/examples/library_model.xml | 117 ++ docs/examples/library_query.json | 4 + docs/examples/library_query.xml | 28 + src/App.jsx | 4 +- src/pages/about/index.jsx | 4 +- src/pages/help/index.jsx | 6 +- src/resources/apps/index.jsx | 6 +- src/resources/instances/index.jsx | 4 +- src/resources/settings/index.jsx | 4 +- src/utils/authProvider/index.jsx | 6 +- src/utils/dataProvider/index.jsx | 14 +- src/utils/i18nProvider/en.js | 3 +- src/utils/i18nProvider/fr.js | 3 +- 18 files changed, 2296 insertions(+), 28 deletions(-) delete mode 100644 docs/UserGuide_fr.md create mode 100644 docs/examples/import.json create mode 100644 docs/examples/library_fr.xml create mode 100644 docs/examples/library_list_config.xml create mode 100644 docs/examples/library_model.xml create mode 100644 docs/examples/library_query.json create mode 100644 docs/examples/library_query.xml diff --git a/README_fr.md b/README_fr.md index e895cea..db8ab8d 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 4691d7d..0000000 --- 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 0000000..311163c --- /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 0000000..8457302 --- /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 0000000..c2fbca0 --- /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 0000000..6828840 --- /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 0000000..d07bd21 --- /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 0000000..ff1958d --- /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 e4e2e9f..273b291 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 1593a0e..446b004 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 eb4de01..0a29482 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 b2ac088..bf0c29f 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 6448ca3..3465364 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 3cf8848..11ab509 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 d32d3ea..e85332e 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 002e6db..369c674 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 6f3286e..9a14f64 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 cd39d18..15d2807 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", -- GitLab