WebKiv: ImplementacniKonvence |
from Wiki KIVu |
Pravidla pro psaní zdrojových textů v projektu RedSys:
IMojeRozhrani?
/** * Web KIV modul NNNN. * * Copyright (c) 2007-2010 Department of Computer Science, * University of West Bohemia, Pilsen, CZ * * This software and this file is available under the Creative Commons * Attribution-Noncommercial-Share Alike license. You may obtain a copy * of the License at http://creativecommons.org/licenses/ . * * This software is provided on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License * for the specific language governing permissions and limitations. */
TBD dopsat (trunk/tags/branches samozřejmě, v trunk/ potom module/, frontend/ a build/, pod module/ std struktura viz níže, pod build/ jsou vyexportovaná .zip hotových modulů)
Viz https://forge.kiv.zcu.cz/bugs/index.php?do=details&task_id=1057 .
resources, pages, lib, classes atd. (viz třeba org.opencms.frontend.photoalbum nebo org.opencms.frontend.layoutpage).
cz.zcu.kiv následovanou inteligentním jménem modulu.
pages (ne v templates, aby se nevypisovaly v seznamu šablon při zakládání libovolné HTML stránky)
classes modulu. Používat názvy module.properties pro základní nastavení, l10n.properties pro L10N? hlášky, atd dle stejného mustru (xyz.properties pro oblast nastavení XYZ).
.../adresar/seznam.jsp resp. .../detail.jsp resp. .../edit.jsp (např. .../osoby/seznam.jsp, nebo případně (nouzová varianta když je víc editačních apod. v jednom adresáři) .../adresar/funkce-edit.jsp (např. .../osoby/kategorie-edit.jsp) -- tedy nikoli funkceEdit.jsp nebo editFunkce.jsp nebo funkce_edit.jsp a podobně.
<cms:include> příslušné modulové JSP stránky
/opencms/opencms. Proto je třeba mít tento prefix možnost snadno odstranit v JSP a Java kódu při přenosu z lokální vývojového prostředí na provozní servery. Zejména důležité u form action handlerů.
cz.zcu.kiv.opencms.
cz.zcu.kiv.db, podle ArchitekturaDaoVrstvy.
catch (Exception e) na konci try-catch bloku, aby nevyhřezlo klientovi 500 Service unavailable při obecné (např. SQL) výjimce.
Používá se standardní přístup s resource bundles (viz Java Internationalization: An Overview a Localization with ResourceBundles).
<c:if> nebo <c:switch> -- pokud je v JSP málo textů závislých na jazyce -- nebo .properties lokalizační bundly v modulu, primárně pokud jsou to texty které jdou do template.
label pro popisky, url a email pro adresy (např. label.kiv.abbr = KIV nebo url.image.logo = ../resources/logo-kiv.png).
Příklad použití v JSP stránce:
<% request.setAttribute("locale", request.getLocale()); %>
<fmt:setLocale value="${locale}" />
<fmt:bundle basename="cz/zcu/kiv/produkty/produkty">
<h1><fmt:message key="produkty.seznam" /></h1>
Zpět na PravidlaProVyvojare