Copied over language files from HEAD
[moodle.git] / lang / pl / docs / developer.html
blob311781f88a9c11be02108422e7faff58bcb2e467
1 <head>
2 <title>Dokumentacja Moodle : Podrêcznik rogramisty</title>
3 <link rel="stylesheet" href="../theme/standard/styles.php" type="TEXT/CSS">
4 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
5 <style type="text/css">
6 <!--
7 .sectionheading {
8 font-size: medium;
9 font-weight: bold;
10 font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
11 border: 1px dotted;
12 padding: 10px;
13 background-color: #EEEEEE;
15 -->
16 </style>
17 </head>
19 <body bgcolor="#FFFFFF">
20 <h2>Podrêcznik programisty</h2>
21 <p>Ten dokument czê¶ciowo opisuje strukturê Moodle, oraz sposób w jaki mo¿esz siê w³±czyæ w jego rozwój.</p>
22 <p>Na chwilê obecn± nie jest on zbyt imponuj±cy. Docelowo powinna siê pojawiæ lepsza dokumentacja!</p>
23 <p>Spis tre¶ci:</p>
24 <ol>
25 <li><a href="#architecture">Architektura Moodle</a></li>
26 <li><a href="#contribute">Jak mo¿esz siê w³±czyæ w rozwój</a>
27 <ul>
28 <li><a href="#activities">Sk³adowe kursów</a></li>
29 <li><a href="#themes">Tematy</a></li>
30 <li><a href="#languages">Jêzyki</a></li>
31 <li><a href="#database">Schematy dla baz danych</a></li>
32 <li><a href="#courseformats">Formaty kursów</a></li>
33 <li><a href="#doc">Dokumentacja i artyku³y</a></li>
34 <li><a href="#bugs">Wyszukiwanie b³êdów</a></li>
35 </ul>
36 </li>
37 </ol>
38 <p>&nbsp;</p>
39 <h3 class="sectionheading"><a name="architecture"></a>1. Architektura Moodle</h3>
40 <blockquote>
41 <p>Z punktu widzenia administratora, platforma Moodle zosta³a zaprojektowania zgodnie z nastêpuj±cymi kryteriami :</p>
42 <ol>
43 <li><strong>Moodle powinno daæ siê uruchomiæ na jak najwiêkszej ilo¶ci platform</strong><br>
44 <br>
45 Platforma aplikacji sieciowych najbardziej przeno¶na to PHP po³±czone z MySQL. W³a¶nie w tym ¶rodowisku Moodle zosta³o stworzone (pod Linuksem, Windowsem oraz Mac OS X). Do abstrakcji baz danych Moodle korzysta z biblioteki ADOdb. Oznacza to, ¿e Moodle mo¿e wykorzystywaæ <a href="http://php.weblogs.com/ADOdb_manual#drivers">ponad dziesiêæ ró¿nych rodzajów baz danych.</a> (niestety Moodle nie potrafi jeszcze <em><strong>tworzyæ tabel</strong></em> we wszystkich z tych baz danych. Wiêcej szczegó³ów znajdziesz w dalszej czê¶ci tego podrêcznika) <br>
46 <br>
47 </li>
48 <li><strong>Moodle powinno byæ ³atwe w instalacji, nauce obs³ugi i modyfikacji</strong><br>
49 <br>
50 Wczesne prototypy Moodle (1999) by³y tworzone z pomoc± <a target=_top href="http://www.zope.org/">Zope</a> - wysokopoziomowego, zorientowanego obiektowo serwera aplikacji sieciowych. Niestety okaza³o siê, i¿ pomimo ¿e technologia sama w sobie by³a bardzo fajna, to ciê¿ko by³o j± opanowaæ i nie by³a elastyczna z punktu widzenia administracji. Z drugiej strony do jêzyka skryptowego PHP mo¿na bardzo ³atwo siê przyzwyczaiæ (szczególnie je¶li ju¿ programowa³e¶ z wykorzystaniem jêzyków skryptowych). Stosunkowo wcze¶nie zdecydowa³em siê na nie u¿ywanie projektowania zorientowanego na klasy - znów po to, by ca³o¶æ pozosta³a ³atwa i zrozumia³a dla pocz±tkuj±cych. Ponowne wykorzystywanie kodu (code reuse) jest osi±gane przez system bibliotek z jasno nazwanymi funkcjami i ¶ci¶le okre¶lonym po³o¿eniem plików z skryptami. Jêzyk PHP jest równie¿ ³atwy w instalacji i jest na tyle powszechnie dostêpne, ¿e wiêkszo¶æ serwerów dostarcza go jako standard.
51 <br>
52 <br>
53 </li>
54 <li><strong>Przej¶cia miêdzy kolejnymi wersjami Moodle powinny byæ ³atwe</strong><br>
55 <br>
56 Platforma Moodle zawiera informacje o swoim wersji (jak i o wersjach wszystkich modu³ów zewnêtrznych). Zosta³ te¿ w ni± wbudowany mechanizm pozwalaj±cy Moodle na poprawn± aktualizacjê do nowszych wersji (przyk³adowo Moodle potrafi zmieniaæ nazwy tabel albo dodawaæ nowe pola do ju¿ istniej±cych). Je¶li na przyk³ad korzystasz z CVS w Uniksie, to wystarczy jedynie wydaæ polecenie &quot;cvs update -d&quot;, a nastêpnie wej¶æ na stronê g³ówn± serwisu by zakoñczyæ proces uaktualniania.<br>
57 <br>
58 </li>
59 <li><strong>Moodle powinno mieæ budowê modu³ow±, aby umo¿liwiæ rozbudowê systemu</strong><br>
60 <br>
61 Moodle ma szereg funkcji modularnych takich jak tematy, sk³adowe kursów, interfejs jêzyków, schematy baz danych i formaty kursów. Pozwala to na dodawanie nowych funkcji do g³ównego kodu, lub nawet na ich oddzieln± dystrybucjê. Wiêcej na ten temat przeczytasz w sekcji poni¿ej.<br>
62 <br>
63 </li>
64 <li><strong>Powinna istnieæ mo¿liwo¶æ u¿ywania Moodle w po³±czeniu z innymi systemami</strong><br>
65 <br>
66 Moodle trzyma wszystkie pliki danego kursu w zwyk³ym katalogu na serwerze. Daje to administratorowi systemu mo¿liwo¶æ udostêpnienia ich na poziomie plikowym ka¿demu z nauczycieli, na przyk³ad przez Appletalk, SMB, NFS, FTP, WebDAV itd. Modu³y uwierzytelniania pozwalaj± Moodle korzystaæ z LDAP, IMAP, POP3, NNTP, oraz z innych baz danych jako ze ¼ród³a informacji o u¿ytkownikach. W przysz³o¶ci Moodle ma mieæ mo¿liwo¶æ importowania i eksportowania danych za pomoc± formatów opartych na XML (w tym IMS i SCORM), oraz zwiêkszon± mo¿liwo¶æ korzystania z wzorców formatowania interfejsu (dziêki temu ³atwiej bêdzie mo¿na zintegrowaæ Moodle z innymi stronami WWW)
67 </li>
68 </ol>
69 </blockquote>
70 <p>&nbsp;</p>
71 <h3 class="sectionheading"><a name="contribute" id="contribute"></a>2. Jak mo¿esz siê w³±czyæ w rozwój</h3>
72 <blockquote>
73 <p> Jak ju¿ wspomniano powy¿ej Moodle ma szereg funkcji, które maj± budowê modu³ow±. Nawet je¶li nie jeste¶ programist± istniej± dziedziny w których mo¿esz pomóc.</p>
74 <p><strong><a name="activities" id="activities"></a>Sk³adowe kursów</strong></p>
75 <blockquote>
76 <p>S± to tak na prawdê najistotniejsze modu³y. S± one ulokowane w katalogu 'mod'. Istnieje siedem podstawowych modu³ów tego typu : Zadanie, wybór, forum, dziennik, quiz, zasób, oraz ankieta. Ka¿dy z tych modu³ów zawiera oddzielny podkatalog który zawiera nastêpuj±ce niezbêdne elementy (plus dodatkowe skrypty, w³a¶ciwe tylko dla danego modu³u) :
77 </p>
78 <ul>
79 <li>mod.html: s³u¿y do umieszczania lub uaktualniania instancji tego modu³u</li>
80 <li>version.php: definiuje informacje (meta-info) i umo¿liwia aktualizacjê</li>
81 <li>icon.gif: ikona o rozmiarze 16x16, symbolizuj±ca modu³</li>
82 <li>db/: db rables i dane dla SQL (dla ka¿dego typu bazy danych)</li>
83 <li>index.php: zawiera listê instancji w kursie</li>
84 <li>view.php: strona s³u¿±ca do ogl±dania wybranej instancji</li>
85 <li>lib.php: Je¶li modu³ definiuje jakie¶ funkcje, to powinny one siê tu znajdowaæ.
86 Je¶li modu³ nazywa siê np. widget, wtedy niezbêdne jest zamieszczenie nastêpuj±cych funkcji:
87 <ul>
88 <li>widget_add_instance() - kod s³u¿±cy do dodawania nowych instancji</li>
89 <li>widget_update_instance() - Kod s³u¿±cy do uaktualniania ju¿ istniej±cych instancji</li>
90 <li>widget_delete_instance() - Kod s³u¿±cy do usuwania instancji</li>
91 <li>widget_user_outline() - maj±c dan± instancjê zwróæ podsumowanie wk³adu u¿ytkownika</li>
92 <li>widget_user_complete() - maj±c dan± instancjê wypisz szczegó³y wk³adu u¿ytkownika<br>
93 </li>
94 <li>aby unikn±æ ewentualnych konfliktów ka¿da z funkcji modu³u powinna zaczynaæ siê na widget_ . Ka¿da sta³a któr± zdefiniujesz powinna zaczynaæ siê na WIDGET_ </li>
95 </ul>
96 </li>
97 <li>Wreszcie ka¿dy modu³ bêdzie posiada³ plik zawieraj±cy ³añcuchy znaków dla danego jêzyka. Szczegó³y znajdziesz poni¿ej.</li>
98 </ul>
99 <p>Najprostsz± metod± zbudowania nowej sk³adowej kursu jest wykorzystanie wzorca, zapisanego w pliku <strong><a href="http://moodle.com/mod/newmodule_template.zip">mod/newmodule_template.zip</a>.</strong>
100 Rozpakuj go, a nastêpnie przeczytaj plik README </p>
101 <p>Dobrym pomys³em jest te¿ wziêcie udzia³u w <a href="http://moodle.com/mod/forum/view.php?id=44" target="_top"> Forum po¶wiêconym sk³adowym kursów. </a> (Activities
102 modules forum on Using Moodle).</p>
103 <p>&nbsp;</p>
104 </blockquote>
105 <p> <strong><a name="themes" id="themes"></a>Tematy</strong></p>
106 <blockquote>
107 <p>Tematy (Themes / skins) okre¶laj± wygl±d ca³ego serwisu. Wraz z g³ówn± dystrybucj± dostarczanych jest kilka prostych tematów, ale mo¿esz stworzyæ w³asny, dobieraj±c kolory, style i grafiki, a tak¿e zamieszczaj±c swoje logo </p>
108 <p>Ka¿dy temat umieszczany jest w podkatalogu katalogu &quot;theme&quot; i zawiera przynajmniej nastêpuj±ce pliki:</p>
109 <ul>
110 <li><strong>config.php</strong>: definiuje kolory tematu, u¿ywane w ca³ym serwisie</li>
111 <li><strong>styles.php</strong>: zawiera informacje o stylach, w tym definicje CSS dla standardowych elementów HTML, a tak¿e dla wielu modu³ów Moodle</li>
112 <li><strong>header.html</strong>: Jest umieszczany u góry ka¿dej strony. Mo¿esz go wykorzystaæ przyk³adowo do zamieszczenia logo na stronach.</li>
113 <li><strong>footer.html</strong>: Umieszczany na spodzie ka¿dej strony</li>
114 </ul>
115 <p>Aby utworzyæ w³asny temat dla Moodle w obecnej wersji:</p>
116 <ol>
117 <li>Skopiuj który¶ z ju¿ istniej±cych tematów do folderu o innej nazwie. Proponujê, by¶ zacz±³ od którego¶ ze standardowych tematów. </li>
118 <li>Zmodyfikuj config.php i umie¶æ w nim w³asne kolory. </li>
119 <li>Zmodyfikuj styles.php i zmieñ style CSS. </li>
120 <li>Zmodyfikuj header.html i footer.html aby dodaæ logo i wizualny uk³ad strony.
121 </li>
122 </ol>
123 <p>Pamiêtaj, ¿e ka¿dy z tych kroków jest opcjonalny. Mo¿esz diametralnie zmieniæ wygl±d serwisu zmieniaj±c jedynie kolory w config.php</p>
124 <p>Kolejne wersje Moodle <em>mog±</em> nieco zmieniaæ tematy wiêc czytaj zawsze uwagi do nowego wydania je¶li u¿ywasz niestandardowego tematu.</p>
125 <p>W szczególno¶ci Moodle 2.0 bêdzie posiada³ zupe³nie nowy system wy¶wietlania, najprawdopodobniej oparty na transformacjach XSL wej¶cia XML z Moodle. Prawdopodobnie tematy bêd± mia³u zupe³nie inny format, ale za to bêd± o wiele bardziej modyfikowalne. (przyk³adowo bêd± umo¿liwiaæ przemieszczanie elementów w obrêbie strony</p>
126 <p>Wiêcej informacji na <a target=_top href="http://moodle.com/mod/forum/view.php?id=46">forum po¶wiêconym tematom </a> (Themes forum on Using Moodle). Je¶li stworzysz ³adny temat którym chcia³by¶ siê podzieliæ prze¶lij spakowany plik na forum po¶wiêcone tematom<br>
127 </p>
128 </blockquote>
129 <p>&nbsp;</p>
130 <p><strong><a name="languages" id="languages"></a>Jêzyki</strong></p>
131 <blockquote>
132 <p>Moodle zosta³o zaprojektowane jako platforma miêdzynarodowa. Ka¿dy ³añcuch znaków czy strona tekstu wy¶wietlana jako czê¶æ interfejsu jest popierana z zestawu plików jêzykowych. Ka¿dy jêzyk jest przechowywany w podkatalogu katalogu 'lang'.
134 Struktura katalogu lang jest nastêpuj±ca:</p>
135 <p><strong>lang/pl</strong> - katalog zawieraj±cy wszystkie pliki dla danego jêzyka (w tym wypadku dla Polskiego)</p>
136 <ul>
137 <li>moodle.php - ³añcuchy znaków (stringi) dla g³ównego interfejsu</li>
138 <li>assignment.php - ³añcuchy znaków dla modu³u zadañ</li>
139 <li>choice.php - ³añcuchy znaków dla modu³u wyboru</li>
140 <li>forum.php - ³añcuchy znaków dla modu³u forum</li>
141 <li>journal.php - ³añcuchy znaków dla modu³u dziennik</li>
142 <li>quiz.php - ³añcuchy znaków dla modu³u quiz</li>
143 <li>resource.php - ³añcuchy znaków dla modu³u zasobów</li>
144 <li>survey.php - ³añcuchy znaków dla modu³u ankiet</li>
145 <li>.... i do tego ³añcuchy znaków dla wszelakich dodatkowych modu³ów<br>
146 <br>
147 £añcuch znaków jest pobierany z tych plików za pomoc± funkcji <strong><em>get_string()</em></strong><em>
148 </em>lub<em> <strong>print_string()</strong> </em>. Ka¿dy ³añcuch znaków zastêpuje odpowiadaj±cy sobie ³añcuch w innym jêzyku.<em><br>
149 <br>
150 </em>przyk³adowo : $strdueby = get_string(&quot;assignmentdueby&quot;, &quot;assignment&quot;,
151 userdate($date)); <br>
152 <br>
153 Je¶li dany ³añcuch znaków nie istnieje w którym¶ z jêzyków, to jest automatycznie zastêpowany swoim angielskim odpowiednikiem. </li>
154 </ul>
155 <p><strong>lang/pl/help</strong> - zawiera wszystkie strony pomocy (dla pomocy w wyskakuj±cych okienkach)</p>
156 <blockquote>
157 <p>G³ówne pliki pomocy znajduj± siê bezpo¶rednio w tym katalogu, natomiast pliki pomocy dla poszczególnych modu³ów s± umieszczone w podkatalogach z nazwami bêd±cymi nazwami modu³ów. </p>
158 <p>Mo¿esz umie¶ciæ przycisk pomocy na stronie pos³uguj±c siê funkcj± helpbutton</p>
159 <p>np. helpbutton(&quot;tekst&quot;, &quot;Kliknij aby otrzymaæ pomoc na temat tekstu&quot;);</p>
160 <p>a w przypadku modu³ów:</p>
161 <p>helpbutton(&quot;typyforum&quot;, &quot;Typy forum&quot;, &quot;forum&quot;);</p>
162 </blockquote>
163 <p>UWAGA : mo¿esz edytowaæ jêzyki on-line, korzystaj±c z narzêdzia administracji &quot;Sprawd¼ jêzyk&quot;.
164 Dziêki temu mo¿na nie tylko ³atwo dodawaæ nowe jêzyki, ale tak¿e modyfikowaæ te ju¿ zaimplementowane. Je¶li rozpoczynasz t³umaczenie na nowy jêzyk, skontaktuj siê proszê ze mn± : <a target=_top href="http://dougiamas.com/">
165 Martin Dougiamas</a>. </p>
166 <p>Mo¿esz równie¿ skorzystaæ z <a target=_top href="http://moodle.com/mod/forum/view.php?id=43">Forum po¶wiêconego jêzykom </a> (Languages forum on Using Moodle). </p>
167 <p>Mogê te¿ udostêpniæ Ci <a href="?file=cvs.html">prawa zapisu CVS
168 do kodu ¼ród³owego Moodle</a> by¶ móg³ bezpo¶rednio zarz±dzaæ plikami.</p>
169 </blockquote>
170 <p><br>
171 <strong><a name="database" id="database"></a>Schematy dla baz danych</strong></p>
172 <blockquote>
173 <p>Je¶li Moodle otrzyma dzia³aj±c± bazê danych wraz z zdefiniowanymi tabelami, to celowo proste zapytania SQL wykorzystane w Moodle powinny prawid³owo wspó³pracowaæ z wieloma rodzajami baz danych.</p>
174 <p>Problem tkwi w <strong>automatycznym tworzeniu</strong> nowych tabeli w bazach danych. Moodle próbuje to zrobiæ podczas instalacji. Poniewa¿ bazy danych znacz±co siê ró¿ni±, nie istnieje jeszcze metoda robienia tego niezale¿nie od platformy. Aby wesprzeæ ten proces mo¿na tworzyæ sekwencje poleceñ SQL, s³u¿±ce do utworzenia tabel Moodle w konkretnej bazie danych. Pliki te znajduj± siê w katalogu <strong>lib/db</strong>
175 oraz w podkatalogu <strong>db</strong> ka¿dego modu³u.</p>
176 <p>Obecnie jedynie MySQL i PostgreSQL s± w pe³ni obs³ugiwane przez ten mechanizm (nikt nie napisa³ schematów dla innych baz).</p>
177 <p>Moodle 1.1 bêdzie u¿ywaæ nowej metody opartej na XML, która sprawi, ¿e wszystkie te komplikacje stan± siê niepotrzebne.
178 </p>
179 </blockquote>
180 <p>&nbsp;</p>
181 <p><strong><a name="courseformats" id="courseformats"></a>Formaty Kursu</strong></p>
182 <blockquote>
183 <p> Moodle w chwili obecnej obs³uguje trzy ró¿ne formaty kursów : tygodniowy, tematyczny, oraz towarzyski.</p>
184 <p>S± one nieco bardziej zagnie¿d¿one w kodzie (a przez to mniej &quot;elastyczne&quot;)ni¿ inne modu³y, ale i tak mo¿na stosunkowo ³atwo dodaæ nowe formaty.</p>
185 <p>Je¶li masz jakie¶ pomys³y na inne formaty, które potrzebujesz, lub chcia³by¶ zobaczyæ, skontaktuj siê ze mn±, a zrobiê wszystko co w mojej mocy, aby zawrzeæ je w przysz³ych dystrybucjach.</p>
186 </blockquote>
187 <p>&nbsp;</p>
188 <p><strong><a name="doc" id="doc"></a>Dokumentacja i artyku³y</strong></p>
189 <blockquote>
190 <p>Je¶li czujesz siê na si³ach, ¿eby napisaæ przewodnik, artyku³, pracê naukow± (lub dowoln± inn±) na temat Moodle, zrób to!</p>
191 <p>Umie¶æ swoj± pracê na sieci i pamiêtaj, aby zamie¶ciæ te¿ link do <a target=_top href="http://moodle.org/">http://moodle.org/</a></p>
192 </blockquote>
193 <p>&nbsp;</p>
194 <p><strong><a name="bugs" id="bugs"></a>Udzia³ w szukaniu b³êdów</strong></p>
195 <blockquote>
196 <p> Wreszcie chcia³bym Ciê zachêciæ, aby¶ zapisa³ siê do &quot;wyszukiwania b³êdów&quot (bug tracker);
198 na stronie <a target=_top href="http://moodle.org/bugs/">http://moodle.org/bugs</a>
199 ¿eby¶ móg³ zg³aszaæ wszelki b³êdy jakie znajdziesz i byæ mo¿e uczestniczy³ w dyskusji nad ich usuniêciem.</p>
200 <p>Termin &quot;B³êdy&quot; dotyczy tu nie tylko b³êdów w oprogramowaniu ale tak¿e nowych pomys³ów, wymagañ co do funkcji, czy nawet konstruktywnej krytyki istniej±cych funkcji. Piêkno oprogramowania open-source polega na tym, i¿ ka¿dy mo¿e braæ udzia³ i pomagaæ w tworzeniu lepszego produktu. W tym projekcie twój wk³ad powitamy z otwartymi ramionami!</p>
201 </blockquote>
202 </blockquote>
203 <p>&nbsp;</p>
204 <blockquote>
205 <blockquote>
206 <blockquote>
207 <p align="center">Dziêkujê za korzystanie z Moodle!</p>
208 <p align="center">Pozdrowienia,<br>
209 <a target=_top href="http://dougiamas.com/">Martin Dougiamas</a></p>
210 </blockquote>
211 </blockquote>
212 </blockquote>
213 <p>&nbsp;</p>
214 <p>&nbsp;</p>
215 <blockquote>
216 <p>&nbsp;</p>
217 </blockquote>
218 <p align="CENTER"><font size="1"><a href="." target="_top">Dokumentacja Moodle</a></font></p>
219 <p align="CENTER"><font size="1">Version: $Id: developer.html,v 1.2 2001/12/09
220 10:34:19 martin Exp $</font></p>
222 </body>