Hlavní menu

Nástroje

WebKiv / ImplementacniKonvence

View (print) - Edit page | Recent changes - Page history

Updated 11 February 2010, 13:38 by PremekBrada

WebKiv.ImplementacniKonvence History

Hide minor edits - Show changes to markup

11 February 2010, 13:38 by PremekBrada -
Changed line 12 from:
 * Copyright (c) 2007-2009 Department of Computer Science,
to:
 * Copyright (c) 2007-2010 Department of Computer Science,
11 February 2010, 13:36 by PremekBrada -
Changed lines 30-31 from:
to:

Viz https://forge.kiv.zcu.cz/bugs/index.php?do=details&task_id=1057 .

11 February 2010, 13:35 by PremekBrada -
Added lines 26-30:

Struktura adresářů v Subversion

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ů)

Added line 36:
  • pro vývoj: na lokálním opencms může být do modulu zařazen i adresář src/ apod, ale v pravidlech exportu modulu musí být že se exportují (tj. do vybuildovaného modulu uloží) pouze relevantní adresáře dle opencms konvencí
14 March 2009, 11:11 by PremekBrada -
Added line 54:
Podoba klíčů v resource bundles
Používat prefixy label pro popisky, url a email pro adresy (např. label.kiv.abbr = KIV nebo url.image.logo = ../resources/logo-kiv.png).
17 February 2009, 17:56 by PremekBrada -
Changed line 12 from:
 * Copyright (c) 2007-2008 Department of Computer Science,
to:
 * Copyright (c) 2007-2009 Department of Computer Science,
17 February 2009, 17:35 by PremekBrada -
Changed lines 40-41 from:
to:
URL zobrazovaných stránek
Pozor na to, že na beta.kiv.zcu.cz a www.kiv.zcu.cz je díky předsazenému proxy serveru odstraněn URL prefix /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ů.
03 February 2009, 14:38 by PremekBrada -
Added line 67:
Celková bezpečnost
Viz typy útoků na webové aplikace a jak jim předcházet
27 January 2009, 17:05 by PremekBrada -
Changed lines 1-2 from:

Pravidla pro psaní zdrojových textů:

to:

Pravidla pro psaní zdrojových textů v projektu RedSys:

27 January 2009, 16:42 by PremekBrada -
Changed lines 33-34 from:
Properties soubory
Ukládány do adresáře classes modulu. Používat názvy module.properties pro základní nastavení, l10n.properties pro L10N? hlášky.
to:
Properties soubory (resource bundles)
Ukládány do adresáře 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).
27 January 2009, 16:35 by PremekBrada -
Changed lines 39-40 from:
to:
Výkonný kód (scriptlety)
CO NEJMÉNĚ, používat JSTL a POJO. Zejména nezpracovávát výjimky - to musí udělat aplikační objekty, a nastavit request atribut který řekne "byly chyby" a který JSP otestuje a chyby zobrazí.
Changed line 43 from:
V JSP stránkách
Snažit se využít POJO a JSTL pro JSP stránky. Vlastní značky (taglib) vytvářet jen v odůvodněných případech a po schválení vedením projektu.
to:
V JSP stránkách
CO NEJMÉNĚ, snažit se využít POJO a JSTL pro JSP stránky. Vlastní značky (taglib) vytvářet jen v odůvodněných případech a po schválení vedením projektu.
27 January 2009, 16:28 by PremekBrada -
Added lines 49-50:

Používá se standardní přístup s resource bundles (viz Java Internationalization: An Overview a Localization with ResourceBundles).

Added lines 55-63:

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>
28 August 2008, 14:25 by PremekBrada -
Changed lines 33-34 from:
Properties soubory
Používat názvy module.properties pro základní nastavení, l10n.properties pro L10N? hlášky.
to:
Properties soubory
Ukládány do adresáře classes modulu. Používat názvy module.properties pro základní nastavení, l10n.properties pro L10N? hlášky.
28 August 2008, 14:24 by PremekBrada -
Changed lines 33-34 from:
to:
Properties soubory
Používat názvy module.properties pro základní nastavení, l10n.properties pro L10N? hlášky.
14 July 2008, 08:45 by PremekBrada -
Changed lines 44-45 from:
to:
Zachytávání výjimek
Ve všech XyzFormHandler? mít catch (Exception e) na konci try-catch bloku, aby nevyhřezlo klientovi 500 Service unavailable při obecné (např. SQL) výjimce.
30 June 2008, 09:36 by PremekBrada -
Changed line 36 from:
Název
Buďto (preferovaná varianta) .../adresar/seznam.jsp resp. .../detail.jsp resp. .../edit.jsp (např. .../osoby/seznam.jsp, nebo případně .../adresar/funkce-edit.jsp (např. .../osoby/kategorie-edit.jsp) -- tedy nikoli funkceEdit.jsp nebo editFunkce.jsp nebo funkce_edit.jsp a podobně.
to:
Název
Buďto (preferovaná varianta) .../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ě.
30 June 2008, 09:34 by PremekBrada -
Changed line 47 from:
Kam L10N? řetězce
Využívat možností OpenCms (properties VFS objektu, jazykové mutace XML strukturovaných dat). Pro JSP použít <c:if> nebo <c:switch> -- předpoklad je že v JSP bude málo textů závislých na jazyce, proto nebudou používány .properties lokalizační bundly.
to:
Kam L10N? řetězce
(1) Využívat možností OpenCms (properties VFS objektu, jazykové mutace XML strukturovaných dat), (2) používat standardní konvence. Pro JSP použít <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.
30 June 2008, 09:24 by PremekBrada -
Changed lines 32-33 from:
JSP stránky
V adresáři pages.
to:
JSP stránky
V adresáři pages (ne v templates, aby se nevypisovaly v seznamu šablon při zakládání libovolné HTML stránky)
13 May 2008, 18:28 by PremekBrada -
Changed lines 26-29 from:

Moduly v OpenCms

Struktura

to:

Moduly a aplikace v OpenCms

Struktura modulu

Changed lines 32-38 from:
to:
JSP stránky
V adresáři pages.

Aplikační JSP stránky

Název
Buďto (preferovaná varianta) .../adresar/seznam.jsp resp. .../detail.jsp resp. .../edit.jsp (např. .../osoby/seznam.jsp, nebo případně .../adresar/funkce-edit.jsp (např. .../osoby/kategorie-edit.jsp) -- tedy nikoli funkceEdit.jsp nebo editFunkce.jsp nebo funkce_edit.jsp a podobně.
Vazba na modul
Přes <cms:include> příslušné modulové JSP stránky
Added line 56:
23 April 2008, 15:20 by PremekBrada -
Changed line 5 from:
  • dodržovat obecně platné konvence psaní kódu v Javě
to:
  • dodržovat obecně platné konvence psaní kódu v Javě, pouze rozhraní stylem IMojeRozhrani?
09 April 2008, 10:41 by PremekBrada -
Added lines 1-2:

Pravidla pro psaní zdrojových textů:

09 April 2008, 10:40 by PremekBrada -
Added lines 23-47:

Moduly v OpenCms

Struktura

Držet se OpenCms konvencí
Podadresáře resources, pages, lib, classes atd. (viz třeba org.opencms.frontend.photoalbum nebo org.opencms.frontend.layoutpage).
Název
Musí mít ve VFS předponu cz.zcu.kiv následovanou inteligentním jménem modulu.

Výkonný kód

V JSP stránkách
Snažit se využít POJO a JSTL pro JSP stránky. Vlastní značky (taglib) vytvářet jen v odůvodněných případech a po schválení vedením projektu.
Zdrojové Java třídy
Musí být dobře pojmenovaném v balíku (dle názvu modulu do kterého patří) umístěném pod cz.zcu.kiv.opencms.
Přístup do DB
Používat Spring JDBC, třídy v balíku pod cz.zcu.kiv.db, podle ArchitekturaDaoVrstvy.

Lokalizace (L10N?)

Kam L10N? řetězce
Využívat možností OpenCms (properties VFS objektu, jazykové mutace XML strukturovaných dat). Pro JSP použít <c:if> nebo <c:switch> -- předpoklad je že v JSP bude málo textů závislých na jazyce, proto nebudou používány .properties lokalizační bundly.
Editační JSP stránky
Pro vlastní KIV aplikace budou vždy pouze v CZ (prezentační stránky jsou česky a/nebo anglicky).
Jak se zjistí aktuální locale
TBD

Zabezpečení, autentikace a autorizace

Autentikace
(ověření jména/hesla) Zatím (3/2008) přes OpenCms, v budoucnu přes Kerberos (viz ZabezpecenePrihlaseni).
Autorizace
(kdo kam může) Řešit prostředky OpenCms (Permissions na VFS objektu) nikoli v aplikační logice.
Zjištění aktuálně přihlášeného uživatele
Pro potřeby JSP aplikačních stránek - TBD.
09 April 2008, 10:32 by PremekBrada -
Changed lines 1-2 from:
  • používat @author na třídách které přidávají či editují
to:
  • používat @author na třídách které přidávají či editují
09 April 2008, 10:31 by PremekBrada -
Added lines 1-25:
  • používat @author na třídách které přidávají či editují
  • tabulátory konvertovat na mezery, odsazování o dvě mezery
  • dodržovat obecně platné konvence psaní kódu v Javě
  • standardní hlavička zdrojových souborů, viz níže
/**
 * Web KIV modul NNNN.
 *
 * Copyright (c) 2007-2008 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.
 */ 

Zpět na PravidlaProVyvojare