Author: DavidK Date: 2010-02-04 11:39:57 +0100 (Thu, 04 Feb 2010) New Revision: 1670 Modified: others/dokumentace/technicalGuide/architecture/4software.tex others/dokumentace/technicalGuide/architecture/5deployment.tex Log: documentation slightly changed Modified: others/dokumentace/technicalGuide/architecture/4software.tex =================================================================== --- others/dokumentace/technicalGuide/architecture/4software.tex 2010-02-04 02:25:26 UTC (rev 1669) +++ others/dokumentace/technicalGuide/architecture/4software.tex 2010-02-04 10:39:57 UTC (rev 1670) @@ -39,6 +39,14 @@ \subsection{popis 'ORM' frameworku Hibernate}\label{hibernate} + \subsection{nastavení hibernate} + \begin{itemize} + \item vygenerování .hbm.xml mapování z DB modelu + \item ruční úprava(přidání dědičnosti, doplnění vlastního kódu) + \item generování .java souborů z .hbm.xml souborů + \item používání .java souborů + \end{itemize} + \subsection{popis provádění změn v DB modelu} Existuje více prostředí, na kterých běží webová aplikace a vzhledem k používání tohoto řešení již v průběhu vývoje je kladen důraz na zachování starých dat (v co největším rozsahu) při přechodu na novou verzi systému. @@ -52,6 +60,7 @@ \subsubsection{Soulad čisté a migrované DB (koherence?)} do migrované se jednoduše může zanést chyba, migrace se musí kontrolovat oproti čisté DB. =popsat tady postup + \subsection{Používání Hibernate Session v kódu} %%%%%%%%%%%%%%%%%%%%%%%%%% %% GUI @@ -61,18 +70,27 @@ \paragraph{lokalizace labelu} \paragraph{lokalizace chybových hlášek} \subsection{vlastní zobrazovací komponenty} + \subsection{lokalizace} + Aplikace webServer2 podporuje lokalizaci popisků na webu do mnoha jazyků. Tato lokalizace může být užitečná, pokud se systémem pracují lidé mluvící jinou řečí. + Každý uživatel (ať už o tom ví, či ne), má ve svém internetovém prohlížeči nastaven světový jazyk, pomocí kterého se prohlížeč identifikuje webovému serveru. + Server tak může nabídnout anglické popisky člověku, který má v prohlížeči nastaven anglický jazyk komunikace a na druhé straně české popisky člověku, který má nastaveno české prostředí prohlížeče. + + Modul webServer2 podporuje vícejazyčnou komunikaci založenou na výše zmíněném principu, nicméně lokalizace webové aplikace byla zatím napsána jenom pro český jazyk. + Použití se zatím předpokládá v česky hovořícím prostředí, v případě požadavku je možné lokalizaci pro jiný jazyk vytvořit. + + Pro lokalizované popisky jsou umístěny v souboru {\em labels\_xx.properties}, kde {\it xx} značí zkratku jazyka, kterým se identifikuje webový prohlížeč serveru (cs pro češtinu, en pro angličtinu,..). + Systém potom vyhledá požadovaný soubor labels\_xx.properties a použije ho pro vypisování popisek. - -%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%% %% Plánování %%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Plánování obsahu kiosku} tady popisu planovaci komponentu. zminim casti, ktere jsou zavisle na typu planovani (ikdyz to sem zdanlive nepatri, ulehcim ctenari vyznani se v plugovatelnosti typu) - zavisle casti jsou: - - tooltip - - modalni okno + zavisle casti jsou:\\ + tooltip\\ + modalni okno\\ tady popisu modalni okno planovaci komponenty \begin{itemize} @@ -107,6 +125,20 @@ \item{přidání nového typu společnostem - comp\_permitted\_type} - toto je buď možno udělat ručně, nebo z UC \end{itemize} + + \subsubsection{Nový typ dat k uploadu} + tohle zpusobuje problemy, nemuze byt asi reseno automaticky + Kdyz se pridavalo video, tak muselo byt: + \begin{itemize} + \item{NEAUTOMATIZOVATELNE-nové tabulky v DB}vytvoren novy typ dokumentu v databazi (tabulka Video, VideoContent). Tabulka Video 'podedena' od tabulky File, tudiz ma definovane zakladni atributy + \item{NEAUTOMATIZOVATELNE-načítání dat z tabulky video v UC, které to vyžadují} (zobrazení plánování na plánovací komponentě, generování XML zprávy pro JH). Tohle načítání je snad řešeno jenom na jednom místě (PlanningBl asi) + - elvys.server.bl.planning.PlanningBLImpl: getTimelinesGeneric takhle načítá video a soubory + - načítá jednak v projektu webServer2 pro plánování + - také v projektu dispatcher pro posílání dat kiosku + \item{AUTOMATIZOVATELNE-nahrávání souborů nového typu na server} - pokud nemá společnost povoleno plánování daného typu dokumentu, tak např. ani nemůže na server nahrávat soubory, které s tímto typem dat souvisí (.avi,.mpg,..) + \item{mozna AUTOMATIZOVATELNE-vybírání souborů daného typu na serveru} - planovani, statistiky, reporty,... + + \end{itemize} \subsubsection{Nový typ dat při plánováni rozvržení obrazovky} @@ -173,6 +205,7 @@ -tohle se musi delat taky podle typu, ale nechal bych to tak, to je uz od plugovatelnosti taky docela vzdalene - planDocumentBLImpl:68 + - dulezite je, ze kdyz jsou s nactenim \item{dispatcher} odesílání DocumentConfigu není plugovatelné -> todo \end{itemize} @@ -183,9 +216,35 @@ - ta by mohla byt taky plugovatelna :O + \subsection{nahrávání dat na kiosek} + \begin{itemize} + + \item{} + \item{Mazání starých dočasných dat} + autodelete=true/ false + + \end{itemize} + + \subsection{komunikace s kioskem} + \subsection{Archivace starých dat na serveru} + \begin{itemize} + \item{Společnosti} + + \item{Uživatelé} + + \item{Plánování} + - planovani- casem jich bude hodne + - pri odebrani kategorie - zahodit planovani, ci ne? + - pri zmene kategorie + \item{Dokumenty} + - pro každý dokument v historii musí zůstávat v tabulce záznam o tomto dokumentu + \end{itemize} + + + \subsection{} @@ -203,6 +262,7 @@ + \subsection{Použití JH supa-dupa toolu na měření textu} \subsection{Rozhraní přes WebServices} K systému v současné době není možno přistupovat přes webservices, ale... mame oddělenou BL od prezentacni vrstvy, takže je to ready.. @@ -231,8 +291,8 @@ \end{itemize} Vstupní parametr layoutID rozhoduje o způsobu spuštění appletu. -\\ -\paragraph{} + +\paragraph{} Dále LayoutDesigner získává od serveru následující informace pomocí zasílání HTTP POST požadavků \begin{itemize} \item \textbf{typy dokumentů povolené pro danou společnost} @@ -244,7 +304,6 @@ např. \verb#1,77 1920x1080 1200x675# \end{itemize} -\\ Ukládání rozvržení na server i načítání rozvržení pro editaci probíhá také pomocí HTTP POST požadavků. \begin{itemize} \item \textbf{uložení rozvržení na server} @@ -262,7 +321,7 @@ -\\ + \textbf{Zamykání rozvržení} \\ @@ -270,7 +329,7 @@ To je zajištěno pomocí zamykání editovaných rozvržení. Zamykání je realizováno pomocí HTTP POST požadavků. LayoutDesigner zašle serveru identifikátor společnosti, uživatele a rozvržení a typ požadavku - zda chce rozvržení zamknout, odemknout nebo zjisti, zda je zamčeno tímto uživatelem. Pokud je rozvržení načteno ze serveru, uzamkne se a ostaní uživatelé ho nemohou editovat. Při ukládání se LayoutDesigner ujistí, zda má uživatel rozvržení stále zamknuté, až poté ho uloží na server. Po zavření se rozvržení odemkne a mohou ho začít editovat ostatní uživatelé. -\\ + \textbf{Datové struktury} \\ @@ -294,6 +353,18 @@ \subsubsection{webServer2} \subsubsection{dispatcher} \subsubsection{applet} + + + + + + + + \subsection{Špatné zkušenosti z vývoje} + \subsubsection{varchar foreign key} + + + \section{Klientská aplikace} % mimojine by tu asi mely byt i duvody, proc je to vlastni aplikace a ne webovy prohlizec....coz nebude uplne % jednoduche. TOTO NAPSAT PORADNE. @@ -330,3 +401,4 @@ dokumentu na kiosku dozvěděl až po vypršení doby vyvěšení. + Modified: others/dokumentace/technicalGuide/architecture/5deployment.tex =================================================================== --- others/dokumentace/technicalGuide/architecture/5deployment.tex 2010-02-04 02:25:26 UTC (rev 1669) +++ others/dokumentace/technicalGuide/architecture/5deployment.tex 2010-02-04 10:39:57 UTC (rev 1670) @@ -1,23 +1,45 @@ %subject to change -\chapter{Konfigurace, deployment a závislosti} +\chapter{Konfigurace, nasazení řešení a závislosti} +Celé řešení Elvys sestává ze serverové části(rozdělená na více modulů) a klientské části. Popsat tady jak se to cele nasazuje -\section{Webový server} +\section{Webový server - aplikace } + \subsection{Sestavení řešení (build) a závislosti při sestavování} + Sestavení řešení se provádí pomocí vytvořených ANT skriptů umístěných v projektech webServer2, resp. dispatcher. + Oba tyto moduly využívají sdílený kód a zdroje umístěné v projektu elvysCommons a modul webServer2 je navíc závislý na projektu LayoutDesigner. + \\ TADY PRIJDE OBRAZEK zavislosti - mam ho v EA, vykopirovat ho + \subsubsection{Rozbor procesu sestavování webServer2/dispatcher} + \begin{itemize} + \item volání závislostí\\ + sestavení projektu \em{elvysCommons} a projektu L + \item hibernate tools + + \end{itemize} + + \subsection{Konfigurace řešení} + Oba moduly(webServer2 i dispatcher) \subsection{Aplikační server} - tomcat/JBoss AS - specifické nastavení AS: redirect after error (404, 403) \subsection{webServer} + \subsubsection{Konfigurace webServer2 projektu} - konfigurace - slozky na soubory, slozky na screenshoty, - externi aplikace na pocitani stranek pdfka - logovani - build (nasazeni asi ne) pomoci ANTu, nasazeni ruco + \subsubsection{Konfigura} \subsection{dispatcher} - konfig - logovani - build(nasazeni asi ne) pomoci ANTU, nasazeni ruco - \subsection{JirkaH competency} + + \section{Webový server - systémové nastavení } + Apache + \subsection{JirkaH competency} - certifikáty - stahování souboru bude snad tou dobou uz v me kompetenci, tak to ne - nastaveni aplikaci pro monitoring - + + \section{Kiosky} + Tady popsat, jakym zpusobem