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