Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Tuesday, April 16, 2024

File: [Platon] / platos / open-projekt / 2003-phpMyEdit-prihlaska.tex (download)

Revision 1.11, Wed Jun 15 21:55:08 2005 UTC (18 years, 10 months ago) by rajo


Changes since 1.10: +3 -3 lines

* Previous default stylesheet 'platon' should be 'platonsdg', because
  logo contains 'Platon SDG' text.
* Added new stylesheet 'platon' in place of previous version.

%
% 2003-phpMyEdit-prihlaska.tex
% 
% Copyright (c) 2003 Platon SDG, http://platon.sk/
% Licensed under terms of GNU General Public License.
% All rights reserved.
%
% Changelog:
% 03-06-30 - created
%

% $Platon: Platon.SK/office/open-projekt/2003-phpMyEdit-prihlaska.tex,v 1.10 2005/03/30 16:23:41 nepto Exp $

\documentclass[a4paper,12pt,oneside]{article}
\usepackage [slovak]{babel}
\usepackage {platonsdg-core}

\setPlatonPDFtitle{Prihláška do súťaže Open Projekt 2003}
\setPlatonPDFauthor{Platon SDG}

\usepackage {platonsdg}

% delenie slov /*
\hyphenation{
oso-bi-tým
ve-rej-nost-ti
exi-stu-je
do-te-raj-ší
umies-tne-ný
dy-na-mi-cky
me-cha-ni-zmom
umiest-ne-ný
}% */

\def\phpMyEdit{\textsf{phpMyEdit}}
\def\PlatonSK{\textsf{\PlatonSKText}}
\def\PlatonSDG{\textsf{\PlatonSDGText}}
\def\PlatonSDGLong{\textsf{\PlatonSDGLongText}}

\pagestyle{Platon}
\thispagestyle{PlatonFirstPage}

\begin{document}

\PlatonHeader{}

\subsection*{Meno}

\phpMyEdit{} -- editor MySQL tabuliek a generátor PHP kódu

\subsection*{Popis}

\phpMyEdit{} generuje PHP kód pre~zobrazovanie alebo editovanie MySQL
tabuliek v~HTML. Všetko, čo je nutné urobiť, je napísať jednoduchý
\textit{volací skript}. V~rámci projektu však existuje aj nástroj, ktorý
kód pre~tento volací skript vygeneruje. \phpMyEdit{} obsahuje širokú
množinu vymožeností na prácu s~tabuľkou -- pridávanie, menenie,
prezeranie, kopírovanie a mazanie záznamov. Ďalej je to triedenie a
vyhľadávanie v~tabuľke, náhľady do~ďalších tabuliek pre~väzby 1:N a
mnoho ďalších vymožeností.

\subsection*{Vývojový tím}

\begin{description}
    \item[Ondrej Jombík] -- implementácia a dokumentácia
    \item[Ľubomír Host] -- zostavovací rámec pre dokumentáciu a distribučné balíky
    \item[Doug Hockinson] -- dokumentácia a korektúry
\end{description}

\subsection*{Kontaktná osoba}

Ondrej~Jombík\\
Holíčska~26\\
851~01~~Bratislava\\
telefón: 0907 / 472 076\\
e-mail: nepto@platon.sk

\subsection*{Zámery a ciele}

Cieľom je vybudovať programový rámec pre~rýchle a efektívne vytváranie
internetových aplikácií zaoberajúcich sa manipulovaním s datami
uloženými v~entitno-relačných SQL databázach. Tento rámec by mal byť
dostatočne jednoduchý a zrozumiteľný, aby jeho použitie podnecovalo
začiatočníkov do~tvorivej činnosti, no zároveň by mal byť dosť silný a
výkonný nato, aby vyhovoval aj kritériam náročnejších používateľov.

\subsection*{Internetové odkazy}

Domovská stránka projektu \phpMyEdit{} je

\begin{itemize}
    \item[] \URL{http://phpMyEdit.org/}
\end{itemize}

Stránka správy projektu obsahujúca novinky, manažér projektových tímov,
systém na~správu záznamov o~chybách, projektové fóra, prehliadač
dokumentácií a správcu distribučných balíkov je na~nasledujúcej adrese

\begin{itemize}
    \item[]
        \URL{http://platon.sk/projects/main\_page.php?project\_id=5}
\end{itemize}

CVS archív projektu \phpMyEdit{}

\begin{itemize}
    \item[] \URL{http://platon.sk/cvs/cvs.php/phpMyEdit/}
\end{itemize}

\subsection*{História}

Projekt \phpMyEdit{} bol založený v~roku 1999 pánom menom John McCreesh.
V~priebehu niekoľkých nasledujúcich rokov sa mu podarilo vytvoriť verzie
0.x, 1.x, 2.x až 3.x. Vo~verzii 3.0 sa udiala v~projekte podstatná
zmena. Dovtedy neobjektovú knižnicu \phpMyEdit{} transformoval Pau
Aliagas na~triedu v~jazyku PHP. Používanie sa tak značne zjednodušilo a
stalo sa viac transparentným.

Na~sklonku roka 2001 sa John McCreesh rozhodol prejsť k~iným
zaujímavejším projektom a tak vypísal súťaž o~pokračovateľa vo~vývoji
\phpMyEdit. Tú vyhral Jim Kraai, pretože jeho vízie a plánované
vymoženosti sa zdali ako najperspektívnejšie. Začali sa teda práce na
verzii~4.0. V~rýchlom slede vzniklo niekoľko beta verzií, no vo~februári
2002 vývoj projektu z nejasných príčin zo~dňa na~deň zastal a nejavil
viac známky života.

Používanie \phpMyEdit{} sa však neskončilo. Bol stále nasadzovaný
do~viacerých produkčných prostredí. Používatelia si predávali vzájomné
poznatky prostredníctvom diskusných fór či systémov na správu záznamov
o~chybách, v~ktorých sa objavovali opravy chýb či dokonca aj niektoré
malé nové vymoženosti. Mnoho zručnejších používateľov malo pripravených
hneď niekoľko aktualizácií zdrojového kódu projektu. Tie však nemal
kto zaintegrovať.

A tak sa počas letných mesiacov 2002 rozhodol Ondrej Jombík, jeden
z~dovtedajších používateľov projektu, že definitívne prevezme
zodpovednosť nad ďalším vývojom. Dohodol sa so zakladateľom projektu, že
sa najskôr zameria na~opravu existujúcich chýb. Vznikli verzie 5.0 a
neskôr aj 5.1, ktorých úlohou bolo najmä oživiť používateľskú základňu
a~deklarovať vôlu o~zachovaní istej kontinuity vývoja.

Z~dôvodu pretrvávajúcich problémov so~stránkou \URL{SourceForge.Net} sa
na začiatku roka 2003 projekt definitívne presunul na slovenský portál
vývoja otvoreného softvéru \URL{Platon.SK}. Vznikla verzia 5.2, ktorá už
implementovala aj nové vymoženosti. Používateľská základňa projektu sa
niekoľkonásobne zväčšila. Vďaka niektorým novým príležitostným
prispievateľom sa vdýchol projektu nový život.

V~aktuálnej verzii 5.3 prichádza \phpMyEdit{} konečne aj s~kompletnou
dokumentáciou v~HTML i PDF, ktorú pomohol vytvoriť Doug Hockinson.
V~rozsiahlej dokumentácii sú popísané nielen všetky aspekty a črty
používania tohto projektu, ale tiež užitočné rady pri~tvorbe vlastných
rozšírení funkcionality či rady pri integrácii vytvorených skriptov
do~existujúcich webstránok.

\subsection*{Detailný popis}

Projekt \phpMyEdit{} sa skladá z~dvoch častí, \textit{generovacieho
skriptu} a \textit{PHP triedy}, pričom druhá nadväzuje na~prvú. Obe
časti si osobitne popíšeme.

\begin{itemize}
    \item \underline{Generačný skript}

        Použitie generačného skriptu je voliteľné. Existuje len
        za~účelom zjednodušenia celého procesu stavby aplikácie
        obsluhujúcej databázovú tabuľku. Extrahované obrazovky
        generačného skriptu sa nachádzajú v~dokumentácii. Tá vo~svojej
        druhej kapitole podrobne popisuje celý proces jeho použitia.
    
        Na~začiatku používateľ prostredníctvom internetového prehliadača
        dosiahne súbor \texttt{phpMyEditSetup.php}. Privíta ho obrazovka
        slúžiaca na~prihlásenie sa do~databázy. Po~korektnom vyplnení
        hodnôt dostane používateľ na~výber zo~zoznamu databáz. Obdobne
        nasleduje výber zoznamu tabuliek z~príslušnej databázy. Nakoniec
        používateľ definuje, ktorý stĺpec tabuľky chce používať ako
        primárny kľúč a všetko je pripravené na~zostavenie
        \textit{volacieho skriptu}.

        Volací skript je generačným skriptom vygenerovaný PHP kód. Tento
        kód je umiestnený v~jednom súbore. Generačný skript môže kód
        zapísať buď    priamo na~disk alebo ho zobraziť vo~výslednej
        obrazovke procesu generovania. V~tomto prípade je jeho vloženie
        do~súboru ponechané na~samotného používateľa, čo zvyšuje
        bezpečnosť celej akcie.
    \newpage    
    \item \underline{PHP trieda}

        Uvažujme, že máme vytvorený \textit{volací skript}. Nezáleží
        na~tom, či bol vytvorený manuálne s~pomocou dokumentácie alebo
        prostredníctvom generačného skriptu, ktorý bol spomenutý
        v~predchádzajúcom bode. Volací skript v~sebe musí najskôr
        obsahovať nastavenie konfiguračných hodnôt, ďalej načítanie PHP
        triedy a nakoniec vytvorenie a spustenie inštancie tejto triedy.
        Nadefinované konfiguračné hodnoty sa predávajú ako parametre
        konštruktoru. V~tejto chvíli sa z~našeho volacieho skriptu stáva
        PHP aplikácia kompletne obsluhujúca jednu databázovú tabuľku.
        Pokiaľ sú nutné nejaké modifikácie dosiahnutej funkcionality,
        stačí zmeniť príslušné konfiguračné hodnoty vo~volacom skripte
        za~pomoci dokumentácie.

        O~tom ako dosiahnuť konkrétnu funkcionalitu pojednáva podrobná
        dostupná dokumentácia. My si predstavíme jednotlivé vymoženosti
        aplikácie bez ukázania konkrétnej konfigurácie. Je teda možné:

        \begin{itemize}

            \item pridávanie, menenie, prezeranie, kopírovanie a mazanie
                záznamov

            \item stránkovanie, triedenie a vyhľadávanie v~manipulovanej
                tabuľke

            \item náhľady do~iných tabuliek za účelom zobrazenia hodnôt
                vo~vyskakovacom menu; týmto spôsobom sú implementované
                databázové 1:M väzby, ktoré sú často využívané

            \item nastavenie prístupových práv pre jednotlivé
                manipulačné akcie; vo~viacužívateľskom prostredí je
                možné a aj vhodné tento parameter nastavovať dynamicky
                v~závislosti od~typu užívateľa využívajúceho databázovú
                aplikáciu

            \item výber z~viacerých spôsobov navigácie od~klasických
                HTML tlačidiel, cez textové odkazy, až po~grafické linky

            \item kontrolovať výstupný dizajn kompletne pomocou
                technológie CSS; každý element má definovanú svoju
                triedu, pričom je možné elementy vzájomne spájať, ale i
                oddeľovať v~rôznych triedach

            \item logovať a zaznamenávať vykonané akcie nad~tabuľkou
                do~špeciálnej tabuľky so~zmenami (tzv.~\texttt{changelog}
                tabuľka)

            \item používať lokalizované nápisy, nakoľko podpora pre~viac
                jazykov je implementovaná; \phpMyEdit{} vo~svojej
                poslednej verzii obsahoval 14~jazykových mutácií a ich
                počet odvtedy narástol

            \item rozširovať základnú PHP triedu pomocou dedenia, ktoré
                je štandardným mechanizmom objektovo-orientovaného
                programovania; pokiaľ má používateľ záujem na~osobitnej
                funkcionalite, je vhodné ju implementovať v~zdedenej
                triede, pretože to môže priniesť osoh v~budúcnosti
                v~podobe ľahšieho aktualizovania a prechodu na~novú
                verziu produktu

            \end{itemize}
        
\end{itemize}

\subsection*{Sponzori}

Jediným sponzorom projektu je Doug Hockinson zo~štátu Colorado
v~Spojených štátoch amerických. Pre \phpMyEdit{} zabezpečil prestížnu
doménu \URL{phpMyEdit.org}, na~ktorej sa nachádza webstránka projektu.

Stránka správy projektu sa nachádza na~slovenskom portáli
\URL{Platon.SK}, ktorý sa zaoberá vývojom otvoreného softvéru. Na~nej je
možné nájsť všetky potrebné informácie od~noviniek, cez~chybové záznamy
až po~distribučné balíky.

\subsection*{Referencie}

Vzhľadom na širokú používateľskú základňu, je projekt \phpMyEdit{} často
nasadzovaný v~rôznych produkčných prostrediach. Možno spomenúť napríklad
\URL{MetroDenver.org}, \URL{Novosolutions.com} alebo
\URL{Compverse.com.au}.

Zaujímavosťou je, že zdrojové súbory projektu sú často zahrňované
do~iných projektov otvoreného softvéru. \phpMyEdit{} sa napríklad
používa v~administračnej časti systému na~správu obsahu phpMyEzin. Takže
je aktívne používaný aj na~nasledujúcich stránkach.

\begin{itemize}
    \item \URL{http://Platon.SK/}
    \item \URL{http://Konzervativizmus.SK/}
    \item \URL{http://Prave-Spektrum.SK/}
    \item \URL{http://ODMBA.Platon.SK/}
\end{itemize}

\subsection*{Vývojový plán}

Nové vymoženosti a vlastnosti sú napísané na zozname vecí, ktoré sa
plánujú urobiť (tzv. TODO list). Zoznam je súčasťou distribučného
balíka. V~CVS archíve projektu \phpMyEdit{} sa už dokonca nachádzajú aj
základné špecifikácie týchto úloh. Preferovaná je cesta detailného
oboznámenia sa s problémom, hĺbkovej a dôslednej analýzy a až nakoniec
samotnej implementácie. Aj v~minulosti boli nové vymožnenosti
realizované týmto spôsobom.


\begin{itemize}
    \item \underline{Rozšírená podpora pre dátumy a časy}

        Projekt \phpMyEdit{} už v~sebe obsahuje podporu pre~dátumy a
        časy. V~pláne je však rozšírenie implementácie tejto podpory
        o~správne narábanie s časmi pred rokom 1970, ďalej o~zadávanie
        mesiacov alebo dní v~týždni pomocou vyskakovacích menu, ktoré
        budú obsahovať správne lokalizované textové vyjadrenia týchto
        elementov a~podobne zamerané vlastnosti.

    \item \underline{Sofistikované generovacie skripty}

        Počet konfiguračných volieb projektu \phpMyEdit{} je úctihodný.
        Napriek tomu, že sú všetky detailne popísané v~dokumentácii, je
        vôla najmä zo~strany užívateľov o~vytvorenie sofistikovaných
        generovacích skriptov. Tie by mali nahradiť doterajší jednoduchý
        generovací skript a pomocou nich by malo byť možné
        prostredníctvom editačných prvkov HTML kompletne nastavovať
        všetky konfiguračné parametre bez~použitia dokumentácie.
        Samozrejme, manuálne vytváranie vygenerovaného volacieho skriptu
        bude aj naďalej možné.

    \item \underline{Databázová abstrakcia}

        Čoraz častejšie si uvedomujeme výrazné obmedzenie na~jeden
        databázový server. Hoci v oblasti webu patrí medzi
        najpoužívanejšie, existuje niekoľko situácií, kedy je jeho
        použitie nevhodné. Preto je plánovaná databázová abstrakcia
        pomocou známych modulov \texttt{PEAR:DB} alebo
        \texttt{PEAR:MDB}.
        
\end{itemize}

\subsection*{Zhodnotenie}

Zmysel projektu \phpMyEdit{} spočíva vo~sprístupnení možnosti
elegantného tvorenia databázovo orientovaných aplikácii na~webe
pre~používateľov disponujúcich len základnými alebo až minimálnymi
vedomosťami programovania v~skriptovacom jazyku PHP. Odozvy, ktoré
pravidelne dostávame jasne poukazujú na fakt, že aj človek ovládajúci
len niekoľko nevyhnutných syntaktických čŕt tohto jazyka, je schopný
vytvoriť jednoduchú databázovú aplikáciu typu telefónny zoznam
bez~cudzej pomoci. O~to viac nás samozrejme teší, keď sa
dozvedáme o~skúsených programátoroch, ktorý použili náš projekt
na~obsluhu niekoľkých desiatok databázových tabuliek alebo na vytvorenie
komplexného databázového systému pre~stredne veľkú spoločnosť.

Za osobitnú zmienku stojí komunita, ktorá sa okolo produktu \phpMyEdit{}
vytvorila. Do~projektových diskusných fór pravidelne pribúdajú každý deň
nové príspevky a odpovede. Neustále sa dozvedáme nové a netradičné
použitia našej aplikácie. Sme radi, že ľudia si uvedomujú podstatu
filozofie otvoreného softvéru a prispievajú so~svojími, hoci len malými,
poznatkami späť do projektu alebo jeho používateľskej základni.

\PlatonFooter{}

\end{document}

% vim: ts=4
% vim600: fdl=0 fdm=marker fdc=3 fmr=/*,*/


Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top