[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> |