WebKiv: ManualModulProdukty |
from Wiki KIVu |
Zde je stručné shrnutí postupu pro normální uživatele. Pozn: autorizovanému softwaru se v evidenční aplikaci říká "Produkt".
Všechny stránky s autoriz.sw. mají lokální menu dole (na konci stránky) vpravo; přes něj se dělá většina akcí.
Tytéž softwary jsou také na anglických stránkách (English > Research > Software) kde ale nejsou editační formuláře. K dispozici je také podrobná příručka.
Technická dokumentace:
Tento návod popisuje instalaci modulu cz.zcu.kiv.produkty na beta.kiv.zcu.cz. Jelikož je modul závislý na konkrétní DB na KIV, nebude fungovat v systému bez přístupu k této DB.
Nutná podmínka pro instalaci tohoto modulu: V OpenCms musí být nainstalován aplikační framework Spring.
Pro instalaci modulu je třeba provést následující kroky:
Po importování modulů je nutné vytvořit JSP stránky na OpenCms frontendu. Na beta.kiv.zcu.cz jsem následující stránky do adresáře www.kiv.zcu.cz/produkty/.
Tyto JSP stránky mají opravdu příponu .html.
Každá z těchto JSP stránek obsahuje pouze include stejnojmenného JSP z modulu cz.zcu.kiv.produkty tedy např. JSP detail.jsp obsahuje následující kód:
<%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %> <cms:include page="/system/modules/cz.zcu.kiv.produkty/pages/produkty/detail.jsp" />
Produktům je možné přiřadit soubor, který se uploaduje do OpenCms VFS. Je tedy třeba nastavit property upload_folder_path u adresáře ve kterém se nachází JSP pracující s produkty. Na beta.kiv.zcu.cz jsem tuto property nastavil na adresář www.kiv.zcu.cz/produkty/. Property udává, kam se ukládají uploadované soubory.
Tato property defaultně není definovaná, takže je nutné ji nejprve definovat. Hodnota property se pak vyplní podle toho, kam se budou soubory do VFS ukládat (hodnota bude cesta k existujícímu adresáři).
upload_folder_path=/produkty/data/
Na Modulu Produkty následující role uživatelů:
Aby jsme využili všechny funkce modulu, je třeba přiřadit OpenCms skupinám tyto role. Na beta.kiv.zcu.cz jsem nejprve definoval nové property:
Na adresáři www.kiv.zcu.cz/produkty pak těmto properties přiřadím hodnotu. Každá role přitom může být přidělena více skupinám - pro tento případ v property odděluji jednotlivé skupiny znakem ';'
TestVedeni
TestClenove
TestNeutral
TestVedeni
a TestNeutral
mohli schvalovat produkty a uživatelé ze skupiny TestNeutral
byli vlastníky. Property tedy nastavím následujícím způsobem:
role_schvalovatele=TestVedeni;TestNeutral
role_vlastnici=TestClenove
Poznámka: při registraci uživatelů do OpenCms je potřeba, aby se jim nastavily
Jelikož se produkty stahují přes licenci, neměl by být umožněn přímý přístup do adresáře www.kiv.zcu.cz/produkty/data/, kde jsou uloženy soubory produktů. K tomu je třeba upravit permissions k tomuto adresáři.
Pokud chce uživatel jakkoli editovat produkty, musí se přihlásit do systému OpenCms jako schvalovatel, vlastník, nebo administrátor. K produktům se však vkládají i údaje o uživateli, který je editoval a tyto údaje se berou z DAO osoby. Proto je třeba, aby pro uživatele, který edituje produkty, existovala v OsobaDao
osoba se stejným loginname, jakým se přihlašuje editující uživatel do systému OpenCms.
Z předchozí kapitoly vyplývá, že nepřihlášený uživatel nebude mít přístupová práva ke složce, v níž jsou uloženy soubory produktů. Tzn., že si nebude moci stáhnout soubory ani již publikovaného produktu. Z tohoto důvodu bylo třeba vytvořit pomocného uživatele pro download produktů - ten musí být typu WebUser nikoli normální uživatel.
Oproti schvalovatelům a vlastníkům však údaje o download uživateli jsou umístěny do souboru classes/cz/zcu/kiv/produkty/access.properties ve složce modulu. V tomto souboru je třeba definovat properties:
TestDownload
a do ní patří uživatel download, jehož přístupové heslo je: password
download_username=download
download_password=password
TestDownload
nastavíme na Allowed práva r+v
Při navržení produktu na schválení se provede akce odeslání emailu o navržení na schválení schvalovatelům.
Aby se email odeslal, je třeba správně nastavit SMTP server. Nastavení serveru je uloženo v souboru classes/cz/zcu/kiv/produkty/mail.properties.
Doporučené nastavení:
smtp=smtp.zcu.cz odesilatel=email@kiv.zcu.cz username= password= port=25 tls.enable=false auth=false subject=Navr\u017Een\u00ED produktu
U odesílání mailů jsem také narazil na problém, že na beta.kiv.zcu.cz byla mezi knihovnami OpenCms verze 6.2.3 zastaralá knihovna javamail-API. Verzi, s kterou již odesílání funguje přikládám zde:
Soubor mail.jar je poté potřeba nakopírovat do [OPENCMS_HOME]/WEB-INF/lib/
Počet zobrazovaných nejstahovanějších produktů lze na této stránce redukovat nastavením property pocet_produktu. Tuto property je třeba nejprve definovat.
Na souboru seznam-nejstahovanejsi.html pak této property nastavím hodnotu např:
pocet_produktu=5
Pokud property není nastavena, zobrazuje se seznam všech schválených produktů v systému.
Maximální velikost souboru pro upload je možné nastavit vytvořením a vyplněním property max_file_upload_size. Tuto property je třeba nejprve definovat.
max_file_upload_size=10000
Pokud property není nastavena, je maximální velikost souboru pro upload omezená pouze velikostí paměti webového kontejneru.
V případě, kdy bude chtít webmaster umožnit uploadování souborů větších než cca 10 MB, aplikace bude vyžadovat na webovém kontejneru více paměti a tudíž bude třeba zvýšit na něm velikost haldy, jinak bude OpenCms vyhazovat následující hlášku:
Následující postup popisuje, jak zvýšit velikost instance webového kontejneru Apache Tomcat:
Pozn. Předchozí postup byl otestován na Apache Tomcat Version 6.0.14 na systému Windows Vista. Nastavení proměnných vystačí pro upload souboru velkého cca 100 MB. Více infromací k nastavení heap size na javahowto.blogspot.com
Modul Produkty je vytvořen ve 2 jazykových verzích - české a anglické. Vytvoření obou lokalizací popíšu podle toho, jak jsem je vytvořil na beta.kiv.zcu.cz
locale=cs
locale=en
Patří do KategorieModulyWebuKiv