<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- Filled in by Paraskevi(Vivian) Synteta, 08/07/99 -->
<!--
<!DOCTYPE project SYSTEM "http://tecfa2.unige.ch/staf/staf-e/staf18/project.dtd">
<!DOCTYPE project SYSTEM "project.dtd">
-->



<project status="final" mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06" id="proj5b">
	<title>Manipulation of an XML file via an HTML form (with PHP)</title>
	<planning man-days="34" completion="100" end-year="1999" end-month="07" end-day="06" start-year="1999" start-month="05" start-day="31"/>
	<group>
		<person>
			<ldap-id dn="uid=paraskev,ou=staf,o=tecfa.unige.ch" host="tecfa2.unige.ch"/>
			<contact-info mod-year="1999" mod-month="06" creation-year="1999" creation-month="06" email="synteta8@etu.unige.ch" work-url="http://tecfa.unige.ch/staf/staf-e/paraskev/" home-url="http://tecfa.unige.ch/~paraskev" role="student" family-name="Synteta" first-name="Paraskevi (Vivian)"/>
		</person>
	</group>
	<specifications mod-year="1999" mod-month="07" creation-year="1999" creation-month="06">
		<specification approval="ok" mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
			<main-goal>
				<title>Create/Edit/Load  "project.xml"</title>
				<content>
					<para>Via a form through a web page of TECFA campus to be 
able to edit a specific xml file or create a new one according to the reffering DTD.
		</para>
					<para> More specificaly, create an online
form through which a STAF student will be able to edit his own xml file
for the management of project staf18 by just filling the fields of the form.
		</para>
					<para>Like that, the student doesn't have to bother using 
specific software and, the professor can be assured (or at least control)
that each student has filled in the right way his project's file. So, I would
say that it makes things easier and less time-consuming. 
		</para>
				</content>
				<after-thoughts>In the beginning it sounded really nice, the worst came later :) </after-thoughts>
			</main-goal>
			<objectives mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
				<goal mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
					<title>Creation/Loading/Editing</title>
					<content>
						<para>Construct an ergonomic HTML form, in a way that 
it's fields will be able to describe completely an xml file based on the 
project.dtd (DTD).   
		</para>
						<para>Facilitate creation/editing on-line of the proj*.xml 
file. That is, filling the spaces between the xml tags with the data
provided through the HTML form, creating a well-formed XML file and also 
validated according to it's DTD.
		</para>
						<para>Ability to visualize an XML file (among the ones created with the same application) by loading it's data on the same form. Like that,
it will be possible to edit again the file and make any corrections/addings etc.
		</para>
						<para>The names given to the files created will 
have the format "uid".xml, that is the LDAP-uid that corresponds to the author
of each file. 
		</para>
					</content>
					<after-thoughts>Fianlly, I gave the opportunity to the user to choose his own name (that means that I should check whether a file exists already with the same name, which I don't check :) I have to be honest, no?</after-thoughts>
					<teacher-comments mod-year="1999" mod-month="06" creation-year="1999" creation-month="06">
						<teacher-comment comment-status="old" mod-year="1999" mod-month="06" mod-day="14" creation-year="1999" creation-month="06">
							<title>ok</title>
							<content>But this is IMHO a second priority (since it can be done quite easily with and XSL servlet</content>
						</teacher-comment>
						<student-answer comment-status="closed" mod-year="1999" mod-month="6" mod-day="21" creation-year="1999" creation-month="6">
							<title>Misunderstood</title>
							<content>
								<para>Now that I joined the workpackages Creation/Editing/Loading I hope that it's more clear what I mean by visualization. I mean to load the file again to the same form, otherwise of course the XSL servlet will do the work :)
			</para>
							</content>
						</student-answer>
					</teacher-comments>
				</goal>
				<goal mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
					<title>Student authentication</title>
					<content>Based on the student's login name, and being authenticated via LDAP server with the given password, personal data will be filled in automatically and modification of a file will be possible only for the author/owner of the file (the rest will be able only to visualize it through the XSL servlet) and the super user that will be the professor.</content>
					<after-thoughts>I didn't implement this one except from the login through LDAP just for practical reasons...</after-thoughts>
					<teacher-comments mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
						<!-- one of (evaluation teacher-comment) -->
						<teacher-comment comment-status="old" mod-year="1999" mod-month="06" mod-day="14" creation-year="1999" creation-month="06">
							<title>ok</title>
							<content>Just to make sure: The password is NOT part of the XML data, just the LDAP id. Your php application will simply ask the students to supply a password and ask the LDAP server if it's ok.</content>
						</teacher-comment>
						<student-answer comment-status="closed" mod-year="1999" mod-month="6" mod-day="21" creation-year="1999" creation-month="6">
							<title>Ok, got it!</title>
							<content>Ok, as you can see from my latest staf14 I understood quite well now :) how LDAP works.</content>
						</student-answer>
					</teacher-comments>
				</goal>
				<after-thoughts></after-thoughts>
				<teacher-comments mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
					<!-- one of (evaluation teacher-comment) -->
					<teacher-comment comment-status="old" mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
						<title></title>
						<content></content>
					</teacher-comment>
				</teacher-comments>
			</objectives>
			<context mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
				<para>For the first year project staf18 of STAF students at TECFA. It will be reached from a web page through Tecfa Virtual Campus. This, I hope, that will facilitate the manipulation of their project management file.   
		</para>
			</context>
			<workpackages update-day="jeudi" update-freq="une fois par semaine" mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
				<workpackage mod-year="1999" mod-month="06" creation-year="1999" creation-month="06">
					<title>Gathering of ressources</title>
					<planning man-days="2" completion="100" end-year="1999" end-month="06" end-day="01" start-year="1999" start-month="05" start-day="31"/>
					<content>Books for XML, relevant sites, guidelines from Daniel, PHP manual, LDAP info</content>
					<misc-info>Of course, I will continue to gather resources during the whole project...</misc-info>
					<after-thoughts>That was the easy part, at least for all apart from XML...</after-thoughts>
				</workpackage>
				<workpackage mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
					<title>Study the schemas of DTD</title>
					<planning man-days="3" completion="100" end-year="1999" end-month="06" end-day="4" start-year="1999" start-month="06" start-day="2"/>
					<content>Read relevant books and study examples but more specificaly
to study the project.dtd and realize which are the problems that I have to focus my attention. 
	  </content>
					<misc-info>I wish I could have found more books...</misc-info>
					<after-thoughts>In fact, at this level I didn't realize which were the problems exactly ...</after-thoughts>
				</workpackage>
				<workpackage mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
					<title>PHP code for edition</title>
					<planning man-days="10" completion="100" end-year="1999" end-month="07" end-day="04" start-year="1999" start-month="06" start-day="10"/>
					<content>Write the PHP code to create and edit the xml file via an HTML form. My first attempt was to use the simplest form that could be, in order to work on the code and in the end to work on the final form.</content>
					<misc-info>I decided in the end to work in parallel the workpackages that start from this one, up to the next 2 because they are linked together and affect each other.
	  </misc-info>
					<after-thoughts>From this very moment started all my troubles...</after-thoughts>
					<teacher-comments mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
						<!-- one of (evaluation teacher-comment) -->
						<teacher-comment comment-status="new" mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
							<title></title>
							<content></content>
						</teacher-comment>
					</teacher-comments>
				</workpackage>
				<workpackage mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
					<title>Ergonomic form</title>
					<planning man-days="03" completion="100" end-year="1999" end-month="07" end-day="05" start-year="1999" start-month="06" start-day="09"/>
					<content>Try to find the best way to present the HTML form. This means that I will have to create a form with an interface that will be user-friendly and ergonomic but also to deal with several problems that exist (see problems). 
	  </content>
					<misc-info></misc-info>
					<after-thoughts>The fields that the form has are awfully a lot, and it was a nightmare dealing with them and try not to forget any (which I didn't succeed in the end - I think I forgot "misc-info" :)</after-thoughts>
					<teacher-comments mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
						<!-- one of (evaluation teacher-comment) -->
						<teacher-comment comment-status="new" mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
							<title></title>
							<content></content>
						</teacher-comment>
					</teacher-comments>
				</workpackage>
				<workpackage mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
					<title>PHP code to load an xml file inside the form</title>
					<planning man-days="10" completion="100" end-year="1999" end-month="06" end-day="26" start-year="1999" start-month="06" start-day="10"/>
					<content>Write the PHP code in order to be able through the web page to load an already created file with this form and edit it. That means parsing the xml file with the PHP parser and show the non-markup data at the according fields of the form.</content>
					<misc-info></misc-info>
					<after-thoughts>Thanks to the path (of tags parsed) I create, I can find the depth of each non-markup data and get distinguish every workpackage for example.</after-thoughts>
					<teacher-comments mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
						<!-- one of (evaluation teacher-comment) -->
						<teacher-comment comment-status="old" mod-year="1999" mod-month="06" mod-day="14" creation-year="1999" creation-month="06">
							<title>Not XSL</title>
							<content>No, you have to do it "by hand" with the XML parser OR use just the XSL translator servlet I installed. See the examples in the PHP example directory for a PHP stream-based parsing solution.</content>
						</teacher-comment>
						<student-answer comment-status="closed" mod-year="1999" mod-month="6" mod-day="21" creation-year="1999" creation-month="6">
							<title>Ok</title>
							<content>I have also cleared this thing out so far, so consider it as a stupid question I have just made :)
		</content>
						</student-answer>
					</teacher-comments>
				</workpackage>
				<workpackage mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
					<title>Student authentication</title>
					<planning man-days="2" completion="100" end-year="1999" end-month="07" end-day="03" start-year="1999" start-month="06" start-day="18"/>
					<content>Use the LDAP server to authenticate the login (name+password) of the user in order to proceed to the edition of a file. That means that edition will be possible only for the author/owner of each file and of course the professor to enter his comments that appear immediately after every possible field ready to be filled :)</content>
					<misc-info></misc-info>
					<after-thoughts>That was an easy part of the project which I didn't exactly implemented thoroughly as I explain elsewhere.</after-thoughts>
					<teacher-comments mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
						<!-- one of (evaluation teacher-comment) -->
						<teacher-comment comment-status="new" mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
							<title></title>
						</teacher-comment>
					</teacher-comments>
				</workpackage>
				<workpackage mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
					<title>Testing - Uploading to TECFA server - Evaluation</title>
					<planning man-days="3" completion="100" end-year="1999" end-month="07" end-day="06" start-year="1999" start-month="07" start-day="03"/>
					<content>Test everything if it works the way I was thinking about it.</content>
					<misc-info>Of course, I will test every phase (workpackage) while I will work on it separately also...</misc-info>
					<after-thoughts>Although it was a dirty job, I knew I had to do it in order my work to be complete and now I am proud to say that works quite well...</after-thoughts>
				</workpackage>
				<workpackage mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
					<title>Report</title>
					<planning man-days="1" completion="100" end-year="1999" end-month="07" end-day="07" start-year="1999" start-month="07" start-day="06"/>
					<content>Make the last corrections possible and fill in the after-thoughts. I will try to write the report immediately as I finish while I will have still fresh everything on my mind...</content>
					<misc-info></misc-info>
					<after-thoughts>This seemed in the end to be the most difficult part, after all stress I have been through but I took a deep breath and Tada! here it is... </after-thoughts>
				</workpackage>
				<teacher-comments mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
					<!-- one of (evaluation teacher-comment) -->
					<teacher-comment comment-status="old" mod-year="1999" mod-month="06" mod-day="14" creation-year="1999" creation-month="06">
						<title>OK</title>
						<content>but concentrate on the editing WP. This is the only really difficult thing :)</content>
					</teacher-comment>
					<student-answer comment-status="closed" mod-year="1999" mod-month="6" mod-day="21" creation-year="1999" creation-month="6">
						<title>Ok</title>
						<content>Ok, I agree that editing is quite difficult or maybe quite boring :) considering the amount of data that each xml file will have to deal with...  
		</content>
					</student-answer>
				</teacher-comments>
				<audits>
					<audit mod-year="1999" mod-month="06" mod-day="23" creation-year="1999" creation-month="06" eval="ok">
						<title>There is some difficulty ahead</title>
						<content>Finding a general solution for editing XML contents via an HTML form is not easy. In particular, adding new elements is probably "casse tête". I gave modification (not adding elements) of elements a try. It's a general solution and you can look at it: <a href="http://tecfa2.unige.ch/staf/staf-e/staf18/edit-tree.php">http://tecfa2.unige.ch/staf/staf-e/staf18/edit-tree.php </a>. In any case you got to finish your project. If you get too much stuck, get in touch and negociate</content>
					</audit>
				</audits>
			</workpackages>
			<stories mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
				<story mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
					<title>Editing project.xml file</title>
					<content>
						<para>A student of TECFA in order to fill in the project.xml file for STAF18 he can go to Tecfa Campus and fill in a form with all the data needed. When he will submit the form immediately it will be created the corresponding xml file. 
		</para>
						<para>The fields that refer to his personal data like name, email, etc will be automatically filled in to correspond to his login name for the campus. 
		</para>
						<para>Once his file has been created, he will be able to load it again from the same page inside campus and modify it or edit it again. But, only the owner of each file will be able to edit it, the rest students will be able only to load a file and see it's content (probably through the XSL servlet) in order to avoid the deletion of a file by mistake by another student.
		</para>
					</content>
					<after-thoughts></after-thoughts>
					<teacher-comments mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
						<!-- one of (evaluation teacher-comment) -->
						<teacher-comment comment-status="new" mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
							<title></title>
							<content></content>
						</teacher-comment>
					</teacher-comments>
				</story>
				<story mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
					<title>Loading project.xml files</title>
					<content>Every student will be able to go to a page inside campus and choose from a list of all the proj*.xml files created for staf18. When he chooses a file from the list he will be able to see it's content and get ideas. Later, he can create his own file or modify  his existing file.</content>
					<after-thoughts></after-thoughts>
				</story>
				<story mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
					<title>Editing proj*.xml file</title>
					<content>The professor of staf18 will be able to go and check the proceeding of all the proj*.xml files and edit his comments to each one. Here, we could add a different view for the professor that could be an overview of all the projects by a specific field etc.
	  </content>
					<after-thoughts></after-thoughts>
				</story>
				<after-thoughts></after-thoughts>
			</stories>
			<resources mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
				<resource mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
					<title>Online resources</title>
					<content>
						<para>Daniel Schneider's resources, existing parsers on the web, PHP similar examples from TECFA server, LDAP server.
		</para>
						<list type="ul">
							<item>
								<a href="http://tecfa.unige.ch/guides/xml/pointers.html">XML Ressources @ TECFA</a>
							</item>
							<item>
								<a href="http://tecfa.unige.ch/guides/php/">TECFA's PHP Page</a>
							</item>
							<item>
								<a href="http://www.xmlsoftware.com/">XMLSOFTWARE site</a>,</item>
							<item>
								<a href="http://tecfa.unige.ch/guides/php/examples/simple-xml/">Examples at TECFA</a> by D.Schneider,</item>
							<item>
								<a href="http://tecfa2.unige.ch/staf/staf-e/staf18/proj-itemste1.php">Liste de projects STAF-18 (EVA) deposees (proj-liste1.php)</a>,</item>
							<item>
								<a href="http://tecfa2.unige.ch:8080/develop/jhtml-ex/xml-validator.jhtml">XML Validation Service</a> at TECFA,</item>
							<item>
								<a href="http://tecfa.unige.ch/tecfa-people/ldap-form.php">People search at TECFA (ldap_form.php)</a>
							</item>
							<item>
								<a href="http://www.OpenLDAP.org/">LDAP site</a>,</item>
							<item>
								<a href="http://tecfa.unige.ch/guides/php/php3/manual.pdf">PHP3 Manual</a>, 1997,98 by the PHP Documentation Group,</item>
							<item>"XML, A PRIMER", by Simon St. Laurent, MIS PRESS, ISBN 1-5682-8592-X,</item>
							<item>
								<a href="http://tecfa.unige.ch/guides/xml/slides/xml.html">XML et DOM</a> by D.Schneider.</item>
							<item>
								<a href="http://www.software.ibm.com/xml/education/tutorial-prog/overview.html">IBM XML Web Site, Education - XML Tutorials for Programmers</a>
							</item>
						</list>
and so many more ...
	  </content>
					<after-thoughts></after-thoughts>
					<teacher-comments mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
						<teacher-comment comment-status="new" mod-year="1999" mod-month="06" creation-year="1999" creation-month="06">
							<title></title>
						</teacher-comment>
					</teacher-comments>
				</resource>
				<after-thoughts></after-thoughts>
			</resources>
			<deliverables mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
				<deliverable mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
					<title>A PHP code that works</title>
					<content>I will try to write a code that works and gives at least the minimum of my expectations. That is, I will create a quite ergonomic form and write the code for creation/editing the xml file. Student authentication seems trivial now I found out how it can be done, so I take it for granted :) But I cannot guarantee that I will create the complete form for all the fields needed
because the proj*.xml file is quite huge :)
	  </content>
					<after-thoughts>In the end, I manage to provide almost all the possible fields... ouf! </after-thoughts>
				</deliverable>
				<after-thoughts></after-thoughts>
				<teacher-comments mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
					<teacher-comment comment-status="new" mod-year="1999" mod-month="06" creation-year="1999" creation-month="06">
						<title></title>
					</teacher-comment>
				</teacher-comments>
			</deliverables>
			<problems mod-year="1999" mod-month="06" creation-year="1999" creation-month="06">
				<problem problem-status="open" mod-year="1999" mod-month="06" creation-year="1999" creation-month="06">
					<title>HTML form</title>
					<content>
						<para>I have to decide how am I going to make the form, either everything at the same page (problem: huge form), either split to many pages (problem: user lost inside navigation). But if I decide to make everything at the same page I have an extra problem with fields that might be more than one. For example, if the user wants to put more "GOALS" than one I HAVE to provide extra windows for these fields, which means having many smaller forms. Can you think of a better solution?   
		</para>
					</content>
					<solution></solution>
					<after-thoughts>The problem is solved, frames!</after-thoughts>
				</problem>
				<problem problem-status="open" mod-year="1999" mod-month="06" creation-year="1999" creation-month="06">
					<title>LDAP server</title>
					<content>
						<para>How we can get the personal data for a student through LDAP? For the moment I got only the LDAP dn.
		</para>
					</content>
					<solution></solution>
					<after-thoughts>This is still an open question :)</after-thoughts>
				</problem>
				<misc-info></misc-info>
				<after-thoughts></after-thoughts>
			</problems>
			<after-thoughts></after-thoughts>
			<teacher-comments mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
				<teacher-comment comment-status="new" mod-year="1999" mod-month="06" creation-year="1999" creation-month="06">
					<title></title>
					<content></content>
				</teacher-comment>
				<teacher-comment comment-status="new" mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
					<title></title>
				</teacher-comment>
				<teacher-comment comment-status="new" mod-year="1999" mod-month="06" mod-day="07" creation-year="1999" creation-month="06">
					<title></title>
					<content></content>
				</teacher-comment>
			</teacher-comments>
		</specification>
		<misc-info></misc-info>
		<after-thoughts></after-thoughts>
	</specifications>
	<problems mod-year="1999" mod-month="06" creation-year="1999" creation-month="06">
		<problem problem-status="open" mod-year="1999" mod-month="06" creation-year="1999" creation-month="06">
			<title>Technical</title>
			<content>I have still emacs without validation, I am still waiting for 
the XML books I ordered and I still have the same old computer to work :)
      </content>
			<solution>Have to live without :))) and accept it!</solution>
			<after-thoughts></after-thoughts>
		</problem>
		<misc-info></misc-info>
		<after-thoughts></after-thoughts>
	</problems>
	<resources mod-year="1999" mod-month="06" creation-year="1999" creation-month="06">
		<resource mod-year="1999" mod-month="06" creation-year="1999" creation-month="06">
			<title></title>
			<content></content>
			<after-thoughts></after-thoughts>
		</resource>
		<after-thoughts></after-thoughts>
	</resources>
	<misc-info></misc-info>
	<results mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
		<result mod-year="1999" mod-month="07" mod-day="08" creation-year="1999" creation-month="06">
			<title>The application (Le dispositif)</title>
			<content>This application is formed from all of the following: 
	<list type="ol">
					<item>
						<a href="http://tecfa.unige.ch/staf/staf-e/paraskev/staf18/welcome.html">welcome.html</a>, the welcome page to the application for the authentication by login to LDAP server</item>
					<item>
						<a href="http://tecfa.unige.ch/staf/staf-e/paraskev/staf18/new/ldap.php">ldap.php</a>, that dynamically creates a web page through which a student can create a new file by giving the name of the file in a form field, and generates a sorted list of the xml files available for editing ...</item>
					<item>
						<a href="http://tecfa.unige.ch/staf/staf-e/paraskev/staf18/new/frames.php">frames.php</a>, the main page of the project that has 2 frames, one with the menu of all the sections available of the project management and links to staf18 and to the welcome page and the other one with the first section of the project management with the general info</item>
					<item>
						<a href="http://tecfa.unige.ch/staf/staf-e/paraskev/staf18/new/parsexml.php">parsexml.php</a>, the procedure for parsing an xml file respecting the according DTD. Parsing has been made with the use of a path being created from the xml tags each time in order to give the depth of data inside the xml file.</item>
					<item>
						<a href="http://tecfa.unige.ch/staf/staf-e/paraskev/staf18/new/writexml.php">writexml.php</a>, the procedure to write the xml file.</item>
					<item>
						<a href="http://tecfa.unige.ch/staf/staf-e/paraskev/staf18/new/variables.php">variables.php</a>, the file that includes all the main variables in order to diminish the size of the paths I use for parsing</item>
					<item>
						<a href="http://tecfa.unige.ch/staf/staf-e/paraskev/staf18/new/files/">files/</a>, the directory where there are the xml files that are available for parsing and also where the new files will be stored that will be created. Here, I have to note down that in order to work, I had to change the permission to the xml files in order someone to be able to write and edit them, and also to change the permission of the directory so as to allow someone to create a new file in it...</item>
					<item>
						<a href="http://tecfa.unige.ch/staf/staf-e/paraskev/staf18/new/files/new.aaa">new.aaa</a>, empty xml file that includes all the sections of one time respecting the DTD. Every time that a student wants to create a new xml file, I copy this file with the name that the student has given to the initial form after the LDAP authentication.</item>
					<item>Couples of programs like: <a href="http://tecfa.unige.ch/staf/staf-e/paraskev/staf18/new/goals.php">goals.php</a> + <a href="http://tecfa.unige.ch/staf/staf-e/paraskev/staf18/new/Wgoals.php">Wgoals.php</a>, where the first file parses the data from the file asked and the second writes the new data by creating a new xml file from the very beginning... So these coupled files go on like that:
( form.php + Wform.php ), ( Mgoal.php + WMgoal.php ), ( delivs.php + Wdelivs.php ) etc.....</item>
				</list>
			</content>
			<after-thoughts>
				<para>We are talking for a source code of approximately 4000 lines (!!!) 99% error-free (I spent quite some time debugging :) and testing (of course, a professional programmer might have done it better and may be smaller in certain parts, but no one is perfect :)))</para>
				<para>I used a "homemade" server made by Vlachoudis Vassilis (my husband :) that made my life easier working and testing everything at home before uploading everything to TECFA server for the final debugging, corrections and testing LDAP login... </para>
				<para>I didn't implement the part to parse the personal data of the members of the group for each project from LDAP server basically for 2 funny reasons: first, I didn't know the names of the variables that LDAP uses for such data and second, I asked Daniel, but I didn't get an exact answer (probably I wasn't clear enough) and I didn't get in trouble asking him again (I was really tired to go on with this and I just let this go :)) So, I don't check whether someone is the owner of a file in order to permit writing on it (thing that makes the authentication useless :))) for the moment... Both of the above are really easy to implement but I don't know in a way I didn't have the courage to finish them also... :)</para>
				<para>Things that are missing although I would liked to have included also are: a nicer interface (nicer buttons, colours, tables, etc), well-formed messages (to inform the user for every action),  reload after submission(automaticaly of every page sumbitted in order to see how it looks like the xml file with new data) and some more that I forget right now :)</para>
				<para>I don't use anymore the tags PARA and LIST-ITEM because if a student uses my form to edit his xml file I don't think that they make any sense(ok, maybe the items but... :) and I don't include the new tags that were added later on like AUDITS...</para>
				<para>In conclusion, I under-estimated the difficulty that was ahead (eventhough Daniel warned about :) Without the coaching of Daniel and my husband I would have never have finished it. I worked from morning till night for almost a month, the most time spending to understand how everything works and how I should organize my work... The result is 4000 !!! lines of code (the biggest I ever wrote, and I am very proud about it :) But during this project I lived moments of enormous stress :( that made me realize that I should be more reasonable next time...</para>
			</after-thoughts>
		</result>
	</results>
  <teacher-comments mod-year="1999" mod-month="06" creation-year="1999" creation-month="06">
    <!-- one of (student-answer evaluation teacher-comment) -->
    <teacher-comment comment-status="new" mod-year="1999" mod-month="07" creation-year="1999" creation-month="07">
      <title>Ambitieux</title>
      <content>Comme tu le dis toi-même, ton projet était très ambibiteux et t'as découvert quelques limites des formes HTML :). Le code marche bien effectivement (je n'ai pas trouvé d'erreurs). Une stratégie alternative (si t'as quelques semaines) serait d'écrire un parseur DTD (ou XSchéma) qui permettrait d'écrire un outil plus flexible :)</content>

    </teacher-comment>
    <evaluation mod-year="1999" mod-month="06" creation-year="1999" creation-month="06">
      <title>Good work</title>
      <content>Your program works according to the specifications. Editing a structure like a typical project XML-file is indeed difficult....</content>
      <mark></mark>
    </evaluation>

  <teacher-comment comment-status="new" mod-year="1999" mod-month="07" mod-day="12" creation-year="1999" creation-month="07">
<title>Les remarques de Sylvère - Projet 5b - Programmation: Outil de type "Tecfa campus" </title>
<content>
 
<para>L'analyse de faisabilité, les spécifications, le projet et le rapport sont présents.</para>
<para>Le travail effectué correspond aux spécifications préalables.</para>
<para>Le projet est assez proche du travail que l'on pensait faire avec une Java Applet. L'utilisation de PHP est toutefois plus efficace s'il s'agit de traiter un DTD spécifique. J'ai un doute quant à la manière dont tu as approché la programmation du code. Un DTD peut être récursif et un projet pourrait par exemple contenir des projets. Placer un menu (frame du haut) pour éditer les différents éléments du projet ne permet pas facilement d'insérer un sous projet dans un projet. Il aurait mieux valu une seule fenêtre avec des boutons pour pouvoir ajouter ou supprimer un élément… un peu à la manière des formulaires Javascript vus dans les cours précédents. Quoi qu'il en soit c'était un travail courageux pour un projet difficile.</para>
 
</content>
</teacher-comment>


  </teacher-comments>
</project>
