README Coli Python Course Online Submission System

For the operation of the website it is important that the server application has the appropriate rights 
to read/write files, create new folders and files within the Website folder otherwise the system will no work.


Files and folder structure neccessary for the operation of the website:
	( '+' denotes a folder, '*' denotes files where the files not in '<>' must have that name)
	
	+ WebsiteFolder
		+ course
			* <exerciseSheetFile.xml>
			* <passwordFile>
			* users.xml
		* index.php
		* overview.php
		* admin.php
		* logout.php
		* sheetHandling.php
		* userHandling.php
		* simplexml.class.php	


File Documentation:
	users.xml
		In this file all users and admins as well as the password file are specified
		
		Tags:
			* <users> file enclosing tag
			* <password> used to specify the password file 
				Attributes:
					* "file" relative path to the password file starting from the directory the users.xml is in
			* <user> defines a user or admin
				Attributes:
					* "uname" the username of the user
					* "mtrknr" the matriculation number of the user
					* "email" the email address of the user
					* "realname" the real name of the user
				optional Attribute:
					* "admin" set to true if the user should be an admin and therefore should have access to the admin area of the website
				
				Subtags:
					* <result> defines the result of an exercise sheet for a user
						Attributes:
							* "sheetnr" the number of the exercise sheet, has to be the same as the number defined in the sheets xml file
							* "points" the points the user has achieved for this sheet
		
		Sample:
			<users>
				<password file="pw.txt" />
				<user uname="oschmidt" mtrknr="1794754" email="oschmidt@coli.uni-saarland.de" realname="Otto Schmidt">
					<result sheetnr="1" points="36"/>
					<result sheetnr="2" points="49"/>
				</user>
				<user uname="admin" mtrknr="42" email="admin@stud.uni-saarland.de" realname="Administrator" admin="true">
				</user>
			</users>

			
	Password file
		In this file the passwords for the users are defined. The filename of this file is arbitrary and has to be set in the users.xml
		The format is one user per line, username:<md5 hash of the password>
		
		Sample:
			oschmidt:f2a0ffe83ec8d44f2be4b624b0f47dde
			admin:21232f297a57a5a743894a0e4a801fc3
			

	Exercise sheet xml file:
		In these files the exercise sheets are defined. The filename of these files is arbitrary but the must end with .xml and must not be named users.xml.
		
		Tags
			* <sheet> file enclosing tag that also defines basic settings for this exercise sheet
				Attributes:
					* "number" the number of the exercise sheet has to be unique among all the defined exercise sheets in the course directory
					* "name" the name for this exercise sheet
					* "pdf" an url to the exercise sheet pdf, if set a html link will be displayed for the user
					* "points" the max reachable points for this exercise sheet
			
			* <deadline> defines the deadline for this sheet after which no user can submit solutions for this sheet
				Attributes:
					* "year" the year of the deadline
					* "month" the month of the deadline
					* "day" the day of the deadline
					* "hour" the hour of the deadline
					
			* <exercise> defines an exercise for this sheet
				Attributes 
					* "number" the number of the exercise, has to be unique among all the defined exercises in this sheet
					* "name" the name for this exercise
					* "submitable" optional argument that if set to true lets the user submit a solution for this exercise
				
				Subtags
					* <description> defines a description for this exercise, only needed when exercise is submitable
					* <subproblem> defines a subproblem for an exercise
						Attributes 
							* "number" the number of the subproblem, has to be unique among all the defined subproblem in this exercise
							* "name" the name for this subproblem
							
						Subtags
							* <description> defines a description for this subproblem
							
		Sample:
			<sheet number="1" name="First exercise sheet" pdf="http://www.coli.uni-saarland.de/courses/python1-10/uebungen/Ue1.pdf" points="100">
				<deadline year="2011" month="1" day="28" hour="13">
				</deadline>
				<exercise number="1" name="First exercise" submitable="true">
					<description>
						The first exercise of the sheet
					</description>
				</exercise>
				<exercise number="2" name="Second exercise">
					<subproblem number="a" name="First subproblem ex 2">
						<description>
							Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
						</description>
					</subproblem>
					<subproblem number="b" name="Second subproblem ex 2">
						<description>
							Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
						</description>
					</subproblem>
				</exercise>
			</sheet>