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 output

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 -> http://zdrojak.root.cz/clanky/prehled-utoku-na-webove-aplikace/]]
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 -> http://java.sun.com/developer/technicalArticles/Intl/IntlIntro/]] a [[Localization with ResourceBundles -> http://java.sun.com/developer/technicalArticles/Intl/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]] Moduly v OpenCms

!!! Struktura
to:
!! [[#moduly]] 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ě -> http://java.sun.com/docs/codeconv/]]
to:
* dodržovat obecně platné [[konvence psaní kódu v Javě -> http://java.sun.com/docs/codeconv/]], 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]] 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ě -> http://java.sun.com/docs/codeconv/]]
* 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