[phpwebapp-commits] CVS: documentation/templates/tutorial transitions.html,1.3,1.4
Brought to you by:
dashohoxha
|
From: Dashamir H. <das...@us...> - 2003-08-15 07:57:24
|
Update of /cvsroot/phpwebapp/documentation/templates/tutorial
In directory sc8-pr-cvs1:/tmp/cvs-serv24926/templates/tutorial
Modified Files:
transitions.html
Log Message:
improvments in the content and the look of the tutorial
Index: transitions.html
===================================================================
RCS file: /cvsroot/phpwebapp/documentation/templates/tutorial/transitions.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** transitions.html 11 Aug 2003 16:31:05 -0000 1.3
--- transitions.html 15 Aug 2003 07:40:51 -0000 1.4
***************
*** 1,349 ****
! <script language="JavaScript" src="{{./}}codeReview.js"></script>
<h3>1 - Transitions</h3>
! A very simple application that has 2 or 3 HTML files
! which have transitions to each-other and have some
! links to external pages.
! Explains the folder structure of a simple application,
! explains what are the transitions and the difference
! between the transitions and the links. Explains how to
! debug transitions.
! <br><br>
! [<a href="{{APP1_URL}}" target="_blank">Test</a>]
! [<a href="{{APP1_URL}}browse.php" target="_blank">Browse</a>]
! [<a href="http://phpwebapp.sourceforge.net/download/app1.tar.gz">Download</a>]
! <br><br>
<hr>
! <a name="toc">
! <h4>Table of Contents</h4>
<ul>
! <li><a href="#goto">Transitions by GoTo()</a>
! <li><a href="#external">External Pages</a>
! <li><a href="#structure">The Structure of the Application</a>
! <li><a href="#exercises">Exercises</a>
! <ol>
! <li><a href="#exercise_1">Create a new application</a>
! <li><a href="#exercise_2">Move an application to another location</a>
! <li><a href="#exercise_3">Debugging Transitions</a>
! <li><a href="#exercise_4">Change the Name of the Folder 'event_handlers'</a>
! <li><a href="#exercise_5">Add a New Page to the Application</a>
! <li><a href="#exercise_6">Set the initial page of the application</a>
! <li><a href="#exercise_7">Before and after each page</a>
! <li><a href="#exercise_8">Put the pages in another folder</a>
! </ol>
! <li><a href="#experiments">Experiments, questions and food for thought</a>
</ul>
<hr>
! <a name="goto"></a>
<h4>Transitions by Goto</h4>
! <p>
! Transitions from one page of the application to another
! are done by using the javascript function <b>GoTo('page.html')</b>.
! This function is declared by the framework itself and is included
! automatically at the end of each page of the application.
! The parameter given to <b>GoTo()</b> is the target page, i.e. the page
! that will be displayed by the framework after doing the transition.
! </p>
! <p>
! Think of a web application as a collection of states, where each
! state is a web page. The user of the application goes from the
! current page (source state) to another page (target state) by clicking
! a <b>GoTo()</b> link (transition).
! </p>
! <p>
! In real applications, usually the link calls a <b>JavaScript</b> function,
! and this function makes the transition by calling <b>GoTo()</b>. So, the
! application has a chance to make any error checkings, input data validations
! etc. before making the transition to the other page.
! </p>
! <p>
! <a href="javascript: codeReview('{{APP1_PATH}}page1.html','14,36,37','')">See the code</a>
! of the first page and notice how the <b>GoTo()</b> is used.
<br>
! If you have not tested the application yet, please
! <a href="{{APP1_URL}}" target="_blank">test it</a>
! now and pay attention to how the <b>GoTo()</b> is used.
! </p>
! [<a href="#toc">TOC</a>]
<hr>
<a name="external"></a>
<h4>External Pages</h4>
! <p>
! The external pages are HTML pages that are outside the
application. They are linked as usually in HTML, without using
! transitions and the function <b>GoTo()</b>. These pages are
! not part of the application, they are either plain HTML pages
! or pages of other applications.
! </p>
! <p>
! While in an external page, you cannot go back to a page
! of the application by using the function <b>GoTo()</b> because
it is undefined. You can only go back to the same page of the
! application from which you got out by pressing the button <b>back</b>
! in the browser (or calling the JS function <i>history.back()</i>).
! </p>
! <p>
! If you open a page of the application by linking (as an external page),
! not by a <b>GoTo()</b> transition, then it will not behave as a page of the
! application.
! </p>
! <p>
! See an <a href="javascript: codeReview('{{APP1_PATH}}page2.html','14,15','9-16')">example</a> of linking to external pages.
! </p>
! [<a href="#toc">TOC</a>]
<hr>
<a name="structure"></a>
<h4>The Structure of the Application</h4>
- <p>
- The application is composed of some <i>standart (or framework)</i>
- files and folders and some application files and folders. The standart
- ones are files and folders required by the framework and are almost
- the same for every application built with phpWebApp. The <i>application</i>
- files and folders are created by the application developer and they
- are different for each application.
- </p>
- <p>
- If you have not yet browsed the application, then
- <a href="{{APP1_URL}}browse.php" target="_blank">browse it</a> now.
- </p>
- <p>
- The standart files and folders are:
- <pre>
- config/ -- configuration files for the application
- const.Paths.php -- constants of paths used in the application
- const.Settings.php -- constants that change the behaviour of the app.
! event_handlers/ -- event handler files
! on.firstTime.php -- called first time that the application is opened
! on.beforePage.php -- called before each page is generated
! on.afterPage.php -- called after each page
! application.php -- standart framework file
! index.php -- standart framework file
</pre>
! </p>
! <p>
! The application files and folders are:
<pre>
img/
back.png
home.png
page1.html
page2.html
page3.html
styles.css
-
</pre>
! </p>
! <p>
! The file <i>browse.php</i> is almost the same for each application,
! but it is not required by the framework. It is usually used during the
! development of the application to preview how the templates and weboxes
! look like.
</p>
! [<a href="#toc">TOC</a>]
<hr>
<a name="exercises"></a>
<h4>Exerxises</h4>
! <p>
! To be able to try the exercises you have to have installed the framework
! and the sample applications in your computer or somewhere where you can
! make changes.
! </p>
! <br>
<a name="exercise_1"></a>
<h5>1 - Create a new application</h5>
! <p>
! In this exercise you will create another application which is identic
! with <b>app1</b> but has a different name, <b>app1_test</b>.
! Follow these steps:
<ol>
! <li> Copy the folder 'app1' to the folder 'app1_test' ($ cp -R app1 app1_test)
! <li> Edit the file
! app1_test/config/<a href="javascript: codeReview('{{APP1_PATH}}config/const.Paths.php','3','')">const.Paths.php</a>
! so that the constant 'APP_URL' is set to '/app1_test/'.
! <li> Open the application '/app1_test/' in browser to test it. It should work.
</ol>
- 'APP_URL' is the URL of the application starting from the DocumentRoot.
- </p>
! [<a href="#toc">TOC</a>]
<br>
-
<a name="exercise_2"></a>
<h5>2 - Move an application to another location</h5>
! <p>
! In this exercise you will move the application 'app1_test' to 'test/app1_test'.
<ol>
! <li> Create the folder 'test' and move 'app1_test' to it
! ($ mkdir test $ mv app1_test test)
! <li> Edit the file
! test/app1_test/config/<a href="javascript: codeReview('{{APP1_PATH}}config/const.Paths.php','3,4','')">const.Paths.php</a>
! so that the constant 'APP_URL' is set to '/test/app1_test/',
! and the constant 'WEBAPP_PATH' is set to '../../web_app'.
! <li> Open the application '/test/app1_test/' in browser to test it.
! It should work.
</ol>
- 'WEBAPP_PATH' is the path of the phpWebApp framework and tells the application
- where to find the framework. This constant is used by the file 'application.php'
- to include the framework classes and modules. The developer doesn't have to
- wory about using this constant, just give it the right path.
- </p>
- <p>
- In this example it is set as a relative path, but it can be set as an
- absolute path as well, e.g. '/var/www/html/web_app'
- (or 'c:/www/html/web_app' for Windows). In this case you don't
- have to wory about changing it when moving an application to another
- location.
- </p>
! [<a href="#toc">TOC</a>]
! <br>
<a name="exercise_3"></a>
<h5>3 - Debugging Transitions</h5>
! <p>
<ol>
! <li> Open in editor the file
! <a href="javascript: codeReview('{{APP1_PATH}}config/const.Settings.php','12-14','')"><i>config/const.Settings.php</i></a>
! and set the constant <b>DEBUG_GOTO</b> to <b>true</b>.
! <li> Test the application and notice that each time that you make
! a transition you get an alert about it.
</ol>
- </p>
! [<a href="#toc">TOC</a>]
<br>
-
<a name="exercise_4"></a>
- <h5>4 - Change the Name of the Folder 'event_handlers'</h5>
- <p>
- <ol>
- <li> Change the name of the folder 'event_handlers' to 'events'
- ($ cd test/app1_test/ $ mv event_handlers events)
- <li> Edit the file
- <a href="javascript: codeReview('{{APP1_PATH}}config/const.Paths.php','5','')"><i>config/const.Paths.php</i></a>
- and set the constant EVENTHANDLER_PATH to APP_PATH."events/".
- <li> Try the application. It should work.
- </ol>
- </p>
! [<a href="#toc">TOC</a>]
! <br>
! <a name="exercise_5"></a>
! <h5>5 - Add a New Page to the Application</h5>
! <p>
! <ol>
! <li> Copy 'page1.html' to 'page4.html' and change its title and content
! to 'Page 4'. <br>
! ($ cd test/app1_test $ cp page1.html page4.html)
! <li> Change the links at the bottom of the pages to link to 'page4.html'
! as well. You should link to it using the GoTo() function.
! <li> Test it.
! </ol>
! </p>
! [<a href="#toc">TOC</a>]
! <br>
! <a name="exercise_6"></a>
! <h5>6 - Set the initial page of the application</h5>
! <p>
! <ol>
! <li> Open the file
! <a href="javascript: codeReview('{{APP1_PATH}}event_handlers/on.firstTime.php','8','')"><i>on.firstTime.php</i></a> and set the $targetPage variable
! to 'page2.html'.
! <li> Just for fun, add this line at the end of the function 'on_firstTime():<br>
! print "First Time\n";
! <li> Test the application and press the button 'Home'.
! Notice that "First Time" is printed only when you enter the application.
</ol>
- </p>
! [<a href="#toc">TOC</a>]
<br>
- <a name="exercise_7"></a>
- <h5>7 - Before and after each page</h5>
- <p>
<ol>
! <li> Open the file
! <a href="javascript: codeReview('{{APP1_PATH}}event_handlers/on.beforePage.php','','')"><i>on.beforePage.php</i></a> and add this instruction at the
! end of the function "on_beforePage()": <br>
! print "This function is called before each page.\n";
! <li> Open the file
! <a href="javascript: codeReview('{{APP1_PATH}}event_handlers/on.afterPage.php','','')"><i>on.afterPage.php</i></a> and add this instruction at the
! end of the function "on_afterPage()": <br>
! print "This function is called after each page.\n";
! <li> Test the application and see what happens.
</ol>
- </p>
! [<a href="#toc">TOC</a>]
<br>
- <a name="exercise_8"></a>
- <h5>8 - Put the pages in another folder</h5>
- <p>
- In this exercise you will put all the pages of the application in another
- folder.
<ol>
! <li> Create a new folder named 'pages' ($ mkdir pages)
! <li> Move all the pages to this folder ($ mv page*.html pages)
! <li> Open the file
! <a href="javascript: codeReview('{{APP1_PATH}}config/const.Paths.php','6','')"><i>config/const.Paths.php</i></a> and set the constant TPL_PATH to
! APP_PATH."pages/".
! <li> Test the application. It should work.
</ol>
! </p>
! <p>
! The constant TPL_PATH tells to framework where to look for the pages (in the
! phpWebApp jargon pages are called templates because they may contain
! variables and other extra tags that are reckognized by the framework).
! When you write GoTo('page1.html'), the framework looks for 'page1.html'
! in the TPL_PATH. The constant APP_PATH is a predefined constat and it
! contains the path of the application itself.
! </p>
! <p>
! By convention, the names of the path constants have a "_PATH" extension
! at the end, e.g. MENU_PATH, TUTORIAL_PATH, etc. They
! represent paths in the server, e.g. TPL_PATH may have the value:
! "/var/www/html/test/app1_test/pages/". Their value always has a slash "/"
! at the end (by convention).
! </p>
! <p>
! Another kind of constants used in the framework, the URL constants,
represent paths in the application starting from the DocumentRoot (the
! part of the URL comming after the server name and before the file name).
! By convention, they end with an "_URL" and their value ends with a
! slash "/". E.g. IMG_URL, JS_URL, etc.
! </p>
! [<a href="#toc">TOC</a>]
<hr>
<a name="experiments"></a>
! <h4>Experiments, questions and food for thought</h4>
! <p>
! Try to do these experiments and to answer these questions.
! Don't worry if you are not able to find the answers, you will
! learn them later.
<ol>
! <li> Move the 'external_page.html' to the folder 'pages' and see whether
! the link to it works. How you should change this link to make it work?
! <li> Move the stylesheet 'styles.css' to the folder 'pages' and see whether it
! works. What changes you can do to make the application work?
! <li> Rename the folder 'img' to 'images'. What changes you can do to make
! the application work?
</ol>
- </p>
! [<a href="#toc">TOC</a>]
<hr>
--- 1,352 ----
!
<h3>1 - Transitions</h3>
!
! <p>A very simple application that has 2 or 3 HTML files which have
! transitions to each-other and have some links to external pages.
! Explains what are the transitions and the difference between the
! transitions and the links. Explains how to debug transitions.</p>
! <br>
! <span class="button">
! <a href="{{APP1_URL}}" target="_blank">Test</a>
! </span>
! <span class="button">
! <a href= "{{APP1_URL}}browse.php" target="_blank">Browse</a>
! </span>
! <span class="button">
! <a href= "http://phpwebapp.sourceforge.net/download/app1.tar.gz">Download</a>
! </span>
! <br>
<hr>
!
! <h4><a name="toc">Table of Contents</a></h4>
!
<ul>
! <li><a href="#goto">Transitions by GoTo()</a></li>
!
! <li><a href="#external">External Pages</a></li>
!
! <li><a href="#structure">The Structure of the Application</a></li>
!
! <li>
! <a href="#exercises">Exercises</a>
!
! <ol>
! <li><a href="#exercise_1">Create a new application</a></li>
!
! <li><a href="#exercise_2">Move an application to another location</a></li>
!
! <li><a href="#exercise_3">Debugging Transitions</a></li>
!
! <li><a href="#exercise_4">Add a New Page to the Application</a></li>
!
! <li><a href="#exercise_5">Set the initial page of the application</a></li>
!
! <li><a href="#exercise_6">Put the pages in another folder</a></li>
! </ol>
! </li>
!
! <li><a href="#experiments">Experiments and questions</a></li>
</ul>
<hr>
!
! <p><a name="goto"></a></p>
!
<h4>Transitions by Goto</h4>
!
! <p>The <strong>phpWebApp</strong> thinks of a web application as
! a state machine, where each state is a web page. Each time the browser
! loads something new in its window, you see a snapshot of the application
! in a certain state. Transitions from one state (page) of the application
! to another are done by using the javascript function
! <strong>GoTo('page.html')</strong>. This function is declared by
! the framework itself and is included automatically at the head of
! each page of the application. The parameter given to
! <strong>GoTo()</strong> is the target page, i.e. the next page that
! will be displayed by the framework.</p>
!
! <p>In real applications, usually the link calls a
! <em>JavaScript</em> function, and this function makes the
! transition by calling <strong>GoTo()</strong>. So, the application
! has a chance to make any error checkings, input data validations
! etc. before making the transition to the other page.</p>
!
! <p><a href="javascript:codeReview('{{APP1_PATH}}page1.html','14,40,41')">
! See the code</a> of the first page and notice how the
! <strong>GoTo()</strong> is used.
<br>
! If you have not tested the application yet, please <a href="{{APP1_URL}}"
! target="_blank">test it</a> now and pay attention to
! how the <strong>GoTo()</strong> is used.</p>
!
! <span class="button"><a href="#toc">TOC</a></span>
<hr>
<a name="external"></a>
+
<h4>External Pages</h4>
!
! <p>The external pages are HTML pages that are outside the
application. They are linked as usually in HTML, without using
! transitions and the function <strong>GoTo()</strong>. These pages
! are not part of the application, they are either plain HTML pages
! or pages of other applications.</p>
!
! <p>While in an external page, you cannot go back to a page of the
! application by using the function <strong>GoTo()</strong> because
it is undefined. You can only go back to the same page of the
! application from which you got out by pressing the button
! <strong>back</strong> in the browser (or calling the JS function
! <em>history.back()</em>).</p>
! <p>If you open a page of the application by linking (as an external
! page), not by a <strong>GoTo()</strong> transition, then it will
! not behave as a page of the application (because the
! <strong>GoTo()</strong> function and other framework related things
! are not included in it).</p>
!
! <p>See an
! <a href="javascript:codeReview('{{APP1_PATH}}page2.html','14,15','9-16')">
! example</a> of linking to external pages.</p>
!
! <span class="button"><a href="#toc">TOC</a></span>
<hr>
<a name="structure"></a>
+
<h4>The Structure of the Application</h4>
! <p>Each application build with <strong>phpWebApp</strong> framework
! must have some files that are required by the framework. Besides
! them it should also have its own files. The required files are almost
! the same for every application. The <em>application</em> files and
! folders are created by the application developer and they are different
! for each application.</p>
! <p>If you have not yet browsed the application, then
! <a href="{{APP1_URL}}browse.php" target="_blank">browse it</a> now.</p>
! <p>The files required by the framework are:</p>
! <pre>
! config/ -- configuration files for the application
! const.Paths.php -- constants of paths used in the application
! const.Options.php -- constants that change the behaviour of the app
! const.Debug.php -- constants that are used for debugging the app
+ index.php -- standart framework file
+ webapp.php -- standart framework file
</pre>
! <br>
!
! <p>The application files and folders are:</p>
<pre>
img/
back.png
home.png
+ state_diagram.png
page1.html
page2.html
page3.html
styles.css
</pre>
! <br>
!
! <p>The file <em>browse.php</em> is not required by the framework
! and is almost the same for each application. It is usually
! used during the development of the application to preview how the
! templates and weboxes look like. The file <em>external_page.html</em>
! does not belong neither to the framework nor to the application; it
! just happens to be in the folder of the application.</p>
!
! <p>The files <em>index.php</em> and <em>webapp.php</em> are the same
! for each application, you don't need to modify them and usually they
! should not be touched. In the <em>config</em> files, there are three
! constants that must be set for each new application, and the rest of
! them are optional. These constants are: <strong>WEBAPP_PATH</strong>
! and <strong>TPL_PATH</strong> in
! <a href="javascript:codeReview('{{APP1_PATH}}config/const.Paths.php','3,4')">const.Paths.php</a>,
! and <strong>FIRSTPAGE</strong> in
! <a href="javascript:codeReview('{{APP1_PATH}}config/const.Options.php', '9-13', '1-21')">const.Options.php</a>
</p>
! <span class="button"><a href="#toc">TOC</a></span>
<hr>
<a name="exercises"></a>
+
<h4>Exerxises</h4>
!
! <p>To be able to try the exercises you have to instal the
! framework and the sample applications in your computer or somewhere
! where you can make changes.</p>
!
<a name="exercise_1"></a>
+
<h5>1 - Create a new application</h5>
!
! <p>In this exercise you will create another application which is
! identic with <strong>app1</strong> but has a different name,
! <strong>app1_test</strong>. Follow these steps:</p>
!
<ol>
! <li>Copy the folder <em>app1</em> to the folder <em>app1_test</em>:<br>
! <kbd>$ cp -R app1 app1_test</kbd></li>
!
! <li>That was all, open the application <em>/app1_test/</em> in browser
! to test it. It should work.</li>
</ol>
! <span class="button"><a href="#toc">TOC</a></span>
<br>
<a name="exercise_2"></a>
+
<h5>2 - Move an application to another location</h5>
!
! <p>In this exercise you will move the application <em>app1_test</em> to
! <em>test/app1_test</em>.</p>
!
<ol>
! <li>Create the folder <em>test</em> and move <em>app1_test</em> to it: <br>
! <kbd>$ mkdir test <br> $ mv app1_test test</kbd></li>
!
! <li>Edit the file <em>test/app1_test/config/<a href="javascript:codeReview('{{APP1_PATH}}config/const.Paths.php','3')">const.Paths.php</a></em>
! so that the constant <strong>WEBAPP_PATH</strong> is set to
! <strong>UP_PATH."../web_app/"</strong>.</li>
!
! <li>Open the application <em>/test/app1_test/</em> in browser to test
! it; it should work.</li>
</ol>
! <p><strong>WEBAPP_PATH</strong> is the path of the phpWebApp framework
! and tells the application where to find the framework. This constant
! is used by the file <strong>webapp.php</strong> to include the
! framework classes and modules. The constant <strong>UP_PATH</strong>
! which is defined in <strong>webapp.php</strong>, contains the parent
! folder of the application (app1_test) folder</p>.
+ <p>In this example it is set as a relative path, but it can be set
+ as an absolute path as well, e.g. <em>/var/www/html/web_app/</em> (or
+ <em>c:/www/html/web_app/</em> for Windows). In this case you don't have to
+ wory about changing it when moving an application to another
+ location.</p>
+
+ <span class="button"><a href="#toc">TOC</a></span>
+ <br>
<a name="exercise_3"></a>
+
<h5>3 - Debugging Transitions</h5>
!
<ol>
! <li>Edit the file
! <a href="javascript:codeReview('{{APP1_PATH}}config/const.Debug.php','6-10')">
! <em>config/const.Debug.php</em></a> and set the constant
! <strong>DEBUG_GOTO</strong> to <strong>true</strong>.</li>
!
! <li>Test the application and notice that each time that you make
! a transition you get an alert about it.</li>
</ol>
! <span class="button"><a href="#toc">TOC</a></span>
<br>
<a name="exercise_4"></a>
! <h5>4 - Add a New Page to the Application</h5>
! <ol>
! <li>Copy <em>page1.html</em> to <em>page4.html</em> and change its
! title and content to <em>Page 4</em>. <br>
! <kbd>$ cd test/app1_test <br> $ cp page1.html page4.html</kbd></li>
! <li>Change the links at the bottom of the pages to link to
! <em>page4.html</em> as well. You should link to it using the
! <strong>GoTo()</strong> function.</li>
! <li>Test it.</li>
</ol>
! <span class="button"><a href="#toc">TOC</a></span>
<br>
+ <a name="exercise_5"></a>
+
+ <h5>5 - Set the initial page of the application</h5>
<ol>
! <li>Open the file <em>config/<a href=
! "javascript:codeReview('{{APP1_PATH}}config/const.Options.php','9-13')">const.Options.php</a></em>
! and set the <strong>FIRSTPAGE</strong> variable to
! <strong>page2.html</strong>.</li>
!
! <li>Test the application and press the <em>Home</em> button.</li>
</ol>
! <span class="button"><a href="#toc">TOC</a></span>
<br>
+ <a name="exercise_6"></a>
+
+ <h5>6 - Put the pages in another folder</h5>
+
+ <p>In this exercise you will put all the pages of the application
+ in another folder.</p>
<ol>
! <li>Create a new folder named <em>pages</em>: <br>
! <kbd>$ mkdir pages</kbd></li>
!
! <li>Move all the pages to this folder: <br>
! <kbd>$ mv page*.html pages</kbd></li>
!
! <li>Open the file <em>config/<a href=
! "javascript:codeReview('{{APP1_PATH}}config/const.Paths.php','4')">const.Paths.php</a></em>
! and set the constant <strong>TPL_PATH</strong>
! to <strong>APP_PATH."pages/"</strong>.</li>
!
! <li>Test the application. It should work.</li>
</ol>
!
! <p>The constant <strong>TPL_PATH</strong> tells to framework where to
! look for the pages (in the phpWebApp jargon pages are called
! <em>templates</em> because they may contain <em>variables</em> and
! other <em>extra tags</em> that are reckognized by the framework). When
! you write <strong>GoTo('page1.html')</strong>, the framework looks for
! <em>page1.html</em> in the <strong>TPL_PATH</strong>. The constant
! <strong>APP_PATH</strong> is a predefined constat and it contains the
! path of the application itself.</p>
!
! <p>By convention, the names of the path constants have a
! <strong>_PATH</strong> extension at the end, e.g. MENU_PATH,
! TUTORIAL_PATH, etc. They represent paths in the server, e.g. TPL_PATH
! may have the value: <em>/var/www/html/test/app1_test/pages/</em>. Their
! value always has a slash <strong>/</strong> at the end (by convention).</p>
!
! <p>Another kind of constants used in the framework, the URL constants,
represent paths in the application starting from the DocumentRoot (the
! part of the URL comming after the server name and before the file
! name). By convention, they end with an <strong>_URL</strong> and their
! value ends with a slash <strong>/</strong>. E.g. IMG_URL, JS_URL, etc.</p>
! <span class="button"><a href="#toc">TOC</a></span>
<hr>
<a name="experiments"></a>
!
! <h4>Experiments and questions</h4>
!
! <p>Try to do these experiments and to answer these questions.</p>
!
<ol>
! <li>Move the <em>external_page.html</em> to the folder
! <em>pages</em> and see whether the link to it works. How you should
! change this link to make it work?</li>
!
! <li>Move the stylesheet <em>styles.css</em> to the folder
! <em>pages</em> and see whether it works. What changes you can do to
! make the application find the stylesheet?</li>
!
! <li>Rename the folder <em>img</em> to <em>images</em>. What changes
! you can do to make the application work?</li>
</ol>
! <p><br>
! <br>
! <span class="button"><a href="#toc">TOC</a></span>
! </p>
<hr>
|