From 55acf1252e033c3292b524f9e277869cdc5de166 Mon Sep 17 00:00:00 2001 From: Ondra Kosarko Date: Thu, 12 Oct 2023 16:15:36 +0200 Subject: [PATCH 1/3] SZN Dataset license We need to display the text where we have the confirmation form. The text is in messages keyed by the license definition. /page/szn-dataset-licence can use that (if documentRead is namespaceaware). UFALLicenceAgreement now adds content keyed with license definition. ATM this either shows the message or the license definition url. --- .../cuni/mff/ufal/UFALLicenceAgreement.java | 9 ++- .../mff/ufal/utils/PageStructureUtil.java | 1 + .../src/main/webapp/i18n/messages.xml | 79 +++++++++++++++++++ .../UFAL/lib/html/cs/szn-dataset-licence.html | 5 ++ .../UFAL/lib/html/cs/szn-dataset-licence.xml | 5 ++ .../UFAL/lib/html/szn-dataset-licence.html | 5 ++ .../UFAL/lib/html/szn-dataset-licence.xml | 5 ++ 7 files changed, 107 insertions(+), 2 deletions(-) create mode 100644 dspace-xmlui/src/main/webapp/themes/UFAL/lib/html/cs/szn-dataset-licence.html create mode 100644 dspace-xmlui/src/main/webapp/themes/UFAL/lib/html/cs/szn-dataset-licence.xml create mode 100644 dspace-xmlui/src/main/webapp/themes/UFAL/lib/html/szn-dataset-licence.html create mode 100644 dspace-xmlui/src/main/webapp/themes/UFAL/lib/html/szn-dataset-licence.xml diff --git a/dspace-xmlui/src/main/java/cz/cuni/mff/ufal/UFALLicenceAgreement.java b/dspace-xmlui/src/main/java/cz/cuni/mff/ufal/UFALLicenceAgreement.java index e239fb446122..fb0690c460a6 100644 --- a/dspace-xmlui/src/main/java/cz/cuni/mff/ufal/UFALLicenceAgreement.java +++ b/dspace-xmlui/src/main/java/cz/cuni/mff/ufal/UFALLicenceAgreement.java @@ -157,8 +157,13 @@ public void addBody(Body body) throws WingException { List i = licences_div.addList("licenses-url", List.TYPE_FORM); for (LicenseDefinition license : licenses) { - i.addItem( "license-to-sign", "alert text-center" ).addXref( - license.getDefinition(), " " + license.getName(), "target_blank label-big btn licence_to_sign fa fa-search fa-1x"); + + + final org.dspace.app.xmlui.wing.element.Item li = i.addItem("license-to-sign", "alert text-center"); + //this is a link to the license text page + li.addXref(license.getDefinition(), " " + license.getName(), "target_blank label-big btn licence_to_sign fa fa-search fa-1x"); + //this is the license text if any + li.addContent(message(license.getDefinition())); //XXX cumulate the extra requirements from all(?) licenses String lr = license.getRequiredInfo(); if(lr!=null) { diff --git a/dspace-xmlui/src/main/java/cz/cuni/mff/ufal/utils/PageStructureUtil.java b/dspace-xmlui/src/main/java/cz/cuni/mff/ufal/utils/PageStructureUtil.java index fa9de5784c0b..3f09445ed4e1 100644 --- a/dspace-xmlui/src/main/java/cz/cuni/mff/ufal/utils/PageStructureUtil.java +++ b/dspace-xmlui/src/main/java/cz/cuni/mff/ufal/utils/PageStructureUtil.java @@ -72,6 +72,7 @@ private static InputSource pathToInputSource(String documentPath) throws IOExcep private static Node documentRead(InputSource is) throws ParserConfigurationException, IOException, SAXException { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + dbf.setNamespaceAware(true); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(is); return doc.getDocumentElement(); diff --git a/dspace-xmlui/src/main/webapp/i18n/messages.xml b/dspace-xmlui/src/main/webapp/i18n/messages.xml index 8a2ea44d0f18..89df18ca4243 100644 --- a/dspace-xmlui/src/main/webapp/i18n/messages.xml +++ b/dspace-xmlui/src/main/webapp/i18n/messages.xml @@ -3307,6 +3307,85 @@ provide the required information, because the required format for a field is too strict, because there's no appropriate field for your information, or for any other reason let us know. + +

Podmínky užití a licenční podmínky

+

+Tyto Podmínky užití a licenční podmínky (dále jen „Podmínky“) upravují podmínky stažení a užití Datasetu, který +se skládá z článků z webů Novinky.cz a Seznamzpravy.cz (dále jen „Dataset“) +

+

+Veškerými právy k jednotlivým článkům Datasetu disponují společnost Seznam.cz, a.s., zápis v obchodním +rejstříku: spisová značka B 6493 vedená u Městského soudu v Praze, se sídlem: Praha 5 - Smíchov, Radlická +3294/10, PSČ: 15000, IČO: 26168685 (dále „Seznam.cz" nebo „společnost Seznam.cz“) jako provozovatel portálu +Novinky.cz, a dále dle typu média Seznam Zprávy, a.s., zápis v obchodním rejstříku: spisová značka. B 26792 +vedená Městským soudem v Praze se sídlem Praha 5, Radlická 3294/10, PSČ: 15000, IČO: 13974475, (dále +„Seznam Zprávy" nebo „společnost Seznam Zprávy“) jako dodavatel obsahu pro Seznamzpravy.cz nebo +společnost BORGIS a.s., zápis v obchodním rejstříku: spisová značka B 267 vedená u Městského soudu v Praze, +se sídlem: Praha 2, Slezská 2127/13, PSČ: 12150, IČO: 00564893 (dále jen „BORGIS" nebo „společnost BORGIS“) +jako dodavatel obsahu pro Novinky.cz. (Společnost Seznam.cz, Seznam Zprávy a BORGIS společně jsou dále +označeni jako Poskytovatelé). +

+

+Registrací vyjadřuje uživatel (dále jen „Uživatel“) svůj souhlas s těmito Podmínkami a stvrzuje, že je plně +odpovědný za užití Datasetu v souladu s těmito Podmínkami. Podmínky se vztahují na Dataset jako celek i na +jeho jednotlivé části. +

+

+Uživatel bere na vědomí, že Dataset je chráněn autorským zákonem a zákonem o ochranných známkách, vážou +se k němu práva Poskytovatelů, obsahuje osobní údaje a manipulace s ním je tedy omezena. Použití Datasetu a +jeho obsahu je možné výhradně způsobem a v rozsahu uvedeném v těchto Podmínkách. +

+

+Stažení a následné užívání Datasetu je možné následovně: +

+

+Uživatel je oprávněn užívat Dataset výlučně za vědeckými a výzkumnými účely, především v souvislosti +s výzkumem multimodální sumarizace, jejichž cílem není dosažení přímého nebo nepřímého obchodního +prospěchu. Uživatel není oprávněn Dataset užívat takovým způsobem, který by byl: v rozporu s právním řádem +České republiky či porušující práva třetích osob; v rozporu s dobrými mravy, případně ohrožují veřejný pořádek; +způsobilý přivodit újmu Poskytovatelům či třetím osobám, odporující pravidlům či podmínkám stanoveným +Poskytovateli nebo zájmům Poskytovatelů či třetích osob. Dataset ani jeho část nesmí být použit k trénování +nebo být jakoukoliv součástí veřejně dostupného jazykového modelu umělé inteligence. +

+

+Uživatel nebude nijak replikovat Dataset ani jej jinak zpřístupňovat veřejnosti nebo jej umisťovat na jiné webové +stránky. +

+

+Uživatel se zavazuje respektovat osobnostní a majetková práva autorů. Poskytovatelů a všech subjektů údajů. +

+

+Oznámí-li Matematicko-fyzikální fakulta Univerzity Karlovy Uživatelům aktualizaci verze Datasetu, zejména, +pokud některý ze subjektů údajů uplatní svá práva, je Uživatel povinen původní verzi odstranit a užívat novou +verzi. +

+

+Veškerá oprávnění k užití Datasetu jsou nevýhradní, nepřevoditelná a nepostupitelná. Uživatel není oprávněn +udělit třetí osobě podlicenci. +

+

+Poskytovatelé neposkytují žádné záruky týkající se funkčnosti, kvality, obsahu, dostupnosti či výkonu ve vztahu +ke shora uvedenému účelu užívání a neodpovídají za jakoukoliv škodu či újmu (vč. ušlého zisku či jiných nároků), +která by mohla Uživateli v souvislosti s užitím Datasetu vzniknout. +

+

+Poskytovatelé nijak nezpracovávají osobní údaje Uživatelů. Za zajištění zpracování osobních údajů v souladu s +právními předpisy upravujícími ochranu osobních údajů odpovídá Matematicko-fyzikální fakulta Univerzity +Karlovy. +

+

+Tyto Podmínky se řídí platnými zákony a dalšími právními předpisy České republiky a jsou závazné pro všechny +strany. +

+

+Uživatel akceptací těchto Podmínek potvrzuje, že byl s těmito Smluvními podmínkami seznámen v plném +rozsahu a zavazuje se jimi řídit. +

+

+Tyto Podmínky jsou platné a účinné od 10.10.2023. +

+
+ diff --git a/dspace-xmlui/src/main/webapp/themes/UFAL/lib/html/cs/szn-dataset-licence.html b/dspace-xmlui/src/main/webapp/themes/UFAL/lib/html/cs/szn-dataset-licence.html new file mode 100644 index 000000000000..942849f2bc7e --- /dev/null +++ b/dspace-xmlui/src/main/webapp/themes/UFAL/lib/html/cs/szn-dataset-licence.html @@ -0,0 +1,5 @@ +
+
+ https://lindat.mff.cuni.cz/repository/xmlui/page/szn-dataset-licence +
+
diff --git a/dspace-xmlui/src/main/webapp/themes/UFAL/lib/html/cs/szn-dataset-licence.xml b/dspace-xmlui/src/main/webapp/themes/UFAL/lib/html/cs/szn-dataset-licence.xml new file mode 100644 index 000000000000..a69c9e962b59 --- /dev/null +++ b/dspace-xmlui/src/main/webapp/themes/UFAL/lib/html/cs/szn-dataset-licence.xml @@ -0,0 +1,5 @@ + + + Licenční podmínky k přístupu k Datasetu + Licenční podmínky k přístupu k Datasetu + diff --git a/dspace-xmlui/src/main/webapp/themes/UFAL/lib/html/szn-dataset-licence.html b/dspace-xmlui/src/main/webapp/themes/UFAL/lib/html/szn-dataset-licence.html new file mode 100644 index 000000000000..942849f2bc7e --- /dev/null +++ b/dspace-xmlui/src/main/webapp/themes/UFAL/lib/html/szn-dataset-licence.html @@ -0,0 +1,5 @@ +
+
+ https://lindat.mff.cuni.cz/repository/xmlui/page/szn-dataset-licence +
+
diff --git a/dspace-xmlui/src/main/webapp/themes/UFAL/lib/html/szn-dataset-licence.xml b/dspace-xmlui/src/main/webapp/themes/UFAL/lib/html/szn-dataset-licence.xml new file mode 100644 index 000000000000..a69c9e962b59 --- /dev/null +++ b/dspace-xmlui/src/main/webapp/themes/UFAL/lib/html/szn-dataset-licence.xml @@ -0,0 +1,5 @@ + + + Licenční podmínky k přístupu k Datasetu + Licenční podmínky k přístupu k Datasetu + From 06dac68f6c2eb5fcdada1c46e46ee10710966b1c Mon Sep 17 00:00:00 2001 From: Ondra Kosarko Date: Thu, 12 Oct 2023 17:01:17 +0200 Subject: [PATCH 2/3] i18n:text searialization possible to generate `{text}` if key is not found then text is used, if text is empty it uses untranslated (defined in sitemaps). with this the license agreement displays either the license text (or whatever is actually in the messages) or behaves as before. --- .../cuni/mff/ufal/UFALLicenceAgreement.java | 2 +- .../org/dspace/app/xmlui/wing/Message.java | 16 ++++++++++++ .../dspace/app/xmlui/wing/element/Data.java | 25 +++++++++++-------- 3 files changed, 32 insertions(+), 11 deletions(-) diff --git a/dspace-xmlui/src/main/java/cz/cuni/mff/ufal/UFALLicenceAgreement.java b/dspace-xmlui/src/main/java/cz/cuni/mff/ufal/UFALLicenceAgreement.java index fb0690c460a6..e8e0a493da58 100644 --- a/dspace-xmlui/src/main/java/cz/cuni/mff/ufal/UFALLicenceAgreement.java +++ b/dspace-xmlui/src/main/java/cz/cuni/mff/ufal/UFALLicenceAgreement.java @@ -163,7 +163,7 @@ public void addBody(Body body) throws WingException { //this is a link to the license text page li.addXref(license.getDefinition(), " " + license.getName(), "target_blank label-big btn licence_to_sign fa fa-search fa-1x"); //this is the license text if any - li.addContent(message(license.getDefinition())); + li.addContent(new Message(getDefaultMessageCatalogue(), license.getDefinition(), " ")); //XXX cumulate the extra requirements from all(?) licenses String lr = license.getRequiredInfo(); if(lr!=null) { diff --git a/dspace-xmlui/src/main/java/org/dspace/app/xmlui/wing/Message.java b/dspace-xmlui/src/main/java/org/dspace/app/xmlui/wing/Message.java index 56b6b3d5bbf4..31019cf6c0c5 100644 --- a/dspace-xmlui/src/main/java/org/dspace/app/xmlui/wing/Message.java +++ b/dspace-xmlui/src/main/java/org/dspace/app/xmlui/wing/Message.java @@ -33,6 +33,9 @@ public class Message implements Serializable /** The key to look up in the catalogue. */ protected final String key; + /** To generate {text} **/ + private final String text; + /** * Create a new translatable element. * @@ -42,9 +45,15 @@ public class Message implements Serializable * The key to look up in the catalogue. */ public Message(String catalogue, String key) + { + this(catalogue, key, null); + } + + public Message(String catalogue, String key, String text) { this.catalogue = catalogue; this.key = key; + this.text = text; } /** @@ -65,6 +74,13 @@ public String getKey() return this.key; } + public boolean hasText(){ + return this.text != null; + } + public String getText(){ + return this.text; + } + /** * * Parameterize this translate key by specifying diff --git a/dspace-xmlui/src/main/java/org/dspace/app/xmlui/wing/element/Data.java b/dspace-xmlui/src/main/java/org/dspace/app/xmlui/wing/element/Data.java index c416823e6759..044727216900 100644 --- a/dspace-xmlui/src/main/java/org/dspace/app/xmlui/wing/element/Data.java +++ b/dspace-xmlui/src/main/java/org/dspace/app/xmlui/wing/element/Data.java @@ -56,6 +56,8 @@ public class Data extends AbstractWingElement /** The number parameter type */ private static final String TYPE_NUMBER = "number"; + private static final String A_KEY = "key"; + /** Translated data key. */ private final Message message; @@ -123,19 +125,26 @@ else if (this.message != null) String catalogue = message.getCatalogue(); Object[] dictionaryParameters = message.getDictionaryParameters(); + final AttributeMap attributes = new AttributeMap(); + attributes.setNamespace(WingConstants.I18N); + attributes.put(A_CATALOGUE, catalogue); + final String i18nTextContent; + if(message.hasText()){ + attributes.put(A_KEY, message.getKey()); + i18nTextContent = message.getText(); + }else { + i18nTextContent = message.getKey(); + } + if (dictionaryParameters == null || dictionaryParameters.length == 0) { // No parameters, we can use the simple method // Text to be translated - AttributeMap attributes = new AttributeMap(); - attributes.setNamespace(WingConstants.I18N); - attributes.put(A_CATALOGUE, catalogue); - startElement(contentHandler, namespaces, WingConstants.I18N, E_TEXT, attributes); - sendCharacters(contentHandler, message.getKey()); + sendCharacters(contentHandler, i18nTextContent); endElement(contentHandler, namespaces, WingConstants.I18N, E_TEXT); @@ -152,13 +161,9 @@ else if (this.message != null) startElement(contentHandler, namespaces, WingConstants.I18N, E_TRANSLATE, null); - AttributeMap attributes = new AttributeMap(); - attributes.setNamespace(WingConstants.I18N); - attributes.put(A_CATALOGUE, catalogue); - startElement(contentHandler, namespaces, WingConstants.I18N, E_TEXT, attributes); - sendCharacters(contentHandler, message.getKey()); + sendCharacters(contentHandler, i18nTextContent); endElement(contentHandler, namespaces, WingConstants.I18N, E_TEXT); From aaaa47dc88f0b5039d91858fe3dd54ba5d757b51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Ko=C5=A1arko?= Date: Fri, 13 Oct 2023 12:16:28 +0200 Subject: [PATCH 3/3] New ExtraLicenseField for szn license --- .../src/main/java/cz/cuni/mff/ufal/ExtraLicenseField.java | 4 ++-- dspace-xmlui/src/main/webapp/i18n/messages.xml | 4 ++++ dspace/modules/xmlui/src/main/webapp/i18n/messages_cs.xml | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/dspace-api/src/main/java/cz/cuni/mff/ufal/ExtraLicenseField.java b/dspace-api/src/main/java/cz/cuni/mff/ufal/ExtraLicenseField.java index 0f1022d6541c..be0a70370fb9 100644 --- a/dspace-api/src/main/java/cz/cuni/mff/ufal/ExtraLicenseField.java +++ b/dspace-api/src/main/java/cz/cuni/mff/ufal/ExtraLicenseField.java @@ -43,8 +43,8 @@ public enum ExtraLicenseField { EXTRA_EMAIL (new EmailValidator(), true, "Please enter a valid email address.", null), ORGANIZATION (new LengthValidator(), true, "Please enter organization."), REQUIRED_ORGANIZATION (new RequiredValidator(), true, "Organization is required."), - INTENDED_USE (new LengthValidator(), true, "Please state your intended use of this item."); - + INTENDED_USE (new LengthValidator(), true, "Please state your intended use of this item."), + ACA_ORG_NAME_AND_SEAT(new RequiredValidator(), true, "Please fill in the name and the seat of your academic institution organization name and seat."); private Validator validator = null; private Action action = null; private boolean metadata = true; diff --git a/dspace-xmlui/src/main/webapp/i18n/messages.xml b/dspace-xmlui/src/main/webapp/i18n/messages.xml index 89df18ca4243..44e9de59d346 100644 --- a/dspace-xmlui/src/main/webapp/i18n/messages.xml +++ b/dspace-xmlui/src/main/webapp/i18n/messages.xml @@ -1939,6 +1939,8 @@ Ask user for another email address Ask user for organization (optional). Ask user for organization (mandatory). + Ask for the name and seat + (address) of user's academic institution. Ask user for his intentions with the item. @@ -1950,6 +1952,8 @@ Email Organization Organization + Name and seat (address) of your + academic institution. Intended use diff --git a/dspace/modules/xmlui/src/main/webapp/i18n/messages_cs.xml b/dspace/modules/xmlui/src/main/webapp/i18n/messages_cs.xml index 0282db0d7a85..66fb406d5605 100644 --- a/dspace/modules/xmlui/src/main/webapp/i18n/messages_cs.xml +++ b/dspace/modules/xmlui/src/main/webapp/i18n/messages_cs.xml @@ -1957,6 +1957,7 @@ Vyžádat si další e-mailovou adresu. Vyžádat si uživatelovu organizaci (volitelně). Vyžádat si uživatelovu organizaci (povinně). + Zeptat se na název a sídlo vědecké instituce. Vyžádat si plánované použití záznamu. @@ -1968,6 +1969,7 @@ E-mail Organizace Organizace + Název a sídlo vědecké instituce Zamýšlené použití