Author: EvaV Date: 2010-02-10 11:14:53 +0100 (Wed, 10 Feb 2010) New Revision: 1700 Modified: others/dokumentace/technicalGuide/analysis/0analysis.tex others/dokumentace/technicalGuide/architecture/0architecture.tex others/dokumentace/technicalGuide/architecture/5layoutdesigner.tex others/dokumentace/technicalGuide/architecture/7communication.tex others/dokumentace/technicalGuide/overview/0overview.tex Log: dokumentace - architektura appletu Modified: others/dokumentace/technicalGuide/analysis/0analysis.tex =================================================================== --- others/dokumentace/technicalGuide/analysis/0analysis.tex 2010-02-10 10:02:33 UTC (rev 1699) +++ others/dokumentace/technicalGuide/analysis/0analysis.tex 2010-02-10 10:14:53 UTC (rev 1700) @@ -4,6 +4,7 @@ \usepackage{a4wide} \usepackage{graphicx} \usepackage{graphics} +\usepackage[bookmarks=true]{hyperref} %for better tables \usepackage{booktabs} \usepackage{multirow} Modified: others/dokumentace/technicalGuide/architecture/0architecture.tex =================================================================== --- others/dokumentace/technicalGuide/architecture/0architecture.tex 2010-02-10 10:02:33 UTC (rev 1699) +++ others/dokumentace/technicalGuide/architecture/0architecture.tex 2010-02-10 10:14:53 UTC (rev 1700) @@ -4,6 +4,7 @@ \usepackage[utf8]{inputenc} \usepackage{a4wide} \usepackage{graphicx} +\usepackage[bookmarks=true]{hyperref} %for better tables \usepackage{booktabs} \usepackage{multirow} Modified: others/dokumentace/technicalGuide/architecture/5layoutdesigner.tex =================================================================== --- others/dokumentace/technicalGuide/architecture/5layoutdesigner.tex 2010-02-10 10:02:33 UTC (rev 1699) +++ others/dokumentace/technicalGuide/architecture/5layoutdesigner.tex 2010-02-10 10:14:53 UTC (rev 1700) @@ -1,14 +1,42 @@ \chapter{LayoutDesigner java applet}\label{LD} -\textbf{Datové struktury} -\\ +\section{Java applet versus klientská aplikace} +LayoutDesigner je napsaný jako Java applet pomocí technologie Swing. +Dále byla zvažována možnost napsat LayoutDesigner jako klientskou aplikaci např. pomocí technologie Qt. +Z následujícíh důvodů byla ale zvolena první možnost. +\begin{itemize} + \item nezávislost na platformě + \item uživatelská příjemnost - uživatelé mají celou správu na jednom místě ve webovém rozhraní +\end{itemize} + +Mezi hlavní nevýhody tohoto řešení patří delší načítání programu, ale po prvním načtení se uloží do cache a už se načte rychle. + +\section{Datové struktury} + Hlavní datová struktura \textbf{Position} reprezentuje jednotlivé rozvrhované pozice a má následující položky \begin{itemize} \item \textbf{id} - jednoznačný identifikátor pozice \item \textbf{monitor} - absolutní souřadnice\footnote[1]{topX - x-ová souřadnice horního levého rohu pozice, topY - y-ová souřadnice horního levého rohu pozice} a parametry\footnote[2]{výška a šířka pozice} pozice na obrazovce, na které je LayoutDesigner spuštěný \item \textbf{elvys} - absolutní souřadnice\footnotemark[1] a parametry\footnotemark[2] pozice na obrazovce kiosku, kde bude rozvržení skutečně použito \item \textbf{isSelected} - příznak, jestli je pozice aktuálně vybraná - \item \textbf{isSnappedToGrid} - příznak, jestli je pozice zarovnaná k mřížce + \item \textbf{isSnappedToGrid} - příznaky, jestli jsou jednotlivé parametry pro tuto pozice zarovnány k mřížce \item \textbf{permittedDocumentTypes} - seznam typů dokumentů povolených zobrazovat na této pozici \end{itemize} +Je nutné si uchovávat parametry (souřadnice, výšku a šířku) pozice na kiosku i na obrazovce, protože některé operace upravují kioskové souřadnice (pozicování klávesnicí a zadáním přímé hodnoty v tabulce vlastností) a některé monitorové (kopírování a vkládání pozice, přemisťování, zvětšování a zmenšování pozice pomocí tahu myši). + +Celé rozvržení a stav obrazovky LayoutDesigneru je reprezentován datovou strukturou \textbf{Layout}, která má tyto položky +\begin{itemize} + \item \textbf{name} - jméno rozvržení + \item \textbf{positions} - rozvrhované pozice + \item \textbf{revision} - revize rozvržení, při každém uložení na server se zvyšuje + \item \textbf{id} - identifikátor, pod kterým je toto rozvržení uloženo na server + \item \textbf{isNew} - příznak, zda je rozvržení otevřeno jako nové, nebo bylo otevřeno pro editaci + \item \textbf{screenResolution} - aktuální rozlišení tohoto rozvržení + \item \textbf{isSnappedToGrid} - příznak, zda jsou rozvrhované pozice zarovnány k mřížce + \item \textbf{isShowGridEnabled} - příznak, zda má být zobrazena mřížka + \item \textbf{isChangedPositionCount} - příznak, zda byl při editování dříve uloženého rozvržení změněn počet pozic +\end{itemize} + +\section{Komunikace s webovým rozhraním} +Komunikace s webovým rozhraním je více popsána v \ref{interface_web_and_LD}. \ No newline at end of file Modified: others/dokumentace/technicalGuide/architecture/7communication.tex =================================================================== --- others/dokumentace/technicalGuide/architecture/7communication.tex 2010-02-10 10:02:33 UTC (rev 1699) +++ others/dokumentace/technicalGuide/architecture/7communication.tex 2010-02-10 10:14:53 UTC (rev 1700) @@ -150,9 +150,8 @@ \end{description} \section{Rozhraní mezi webovou aplikací a LayoutDesignerem}\label{interface_web_and_LD} - \textbf{Komunikace mezi webovým serverem a appletem} - \\ - \\ + \subsection{Komunikace mezi webovým serverem a appletem} + LayoutDesigner lze spustit pro \begin{itemize} \item \textbf{vytvoření nového rozvržení} - pro vytvoření nového rozvržení má applet následující vstupní parametry @@ -200,8 +199,8 @@ - \textbf{Zamykání rozvržení} - \\ + \subsection{Zamykání rozvržení} + Při editování dřívě vytvoření rozvržení je nutné, aby rozvržení editoval pouze jeden uživatel, jinak by mohlo docházet ke konfliktům. 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. Modified: others/dokumentace/technicalGuide/overview/0overview.tex =================================================================== --- others/dokumentace/technicalGuide/overview/0overview.tex 2010-02-10 10:02:33 UTC (rev 1699) +++ others/dokumentace/technicalGuide/overview/0overview.tex 2010-02-10 10:14:53 UTC (rev 1700) @@ -4,6 +4,7 @@ \usepackage[utf8]{inputenc} \usepackage{a4wide} \usepackage{graphicx} +\usepackage[bookmarks=true]{hyperref} %for better tables \usepackage{booktabs} \usepackage{multirow}