====== IK0602 Conference Management System ====== ===== XML Configuration Tools ===== We would like to allow the user to customize the system easily through the use of XML. We are currently developing a XML parser and related automation tools that make use of the XML's flexibility to let user make changes to the system easily. ==== Basic Idea ==== We allow the user to customize many different aspect of the system (eg. information to be included for each user, paper submission system, reviewer bidding/ paper assignment, paper rating, accounting, etc.). Each of these setting will refer to a particular XML configuration file. During system installation, the user will be asked to upload XML files. The system will then create database table and configuration file on the server. Therefore, the user can modify the system behaviour without changing the code of the system. They can do so by simply use an XML editor, following the XML schema, save it and upload it to the system, the system will then know what to do! ==== XML Schema ==== The detailed XML schema of each type of configuration is yet to be finalized. A preliminary version of it for user information is roughly as follows: === User Information === It will consist of 2 XML files, one for defining the user's attributes, one for configurating how these information will be displayed to the end user. == Display information == **Style information** - It defines the appearence of the text / controls. - Font - FontSize - TextAlignment - DisplayWidth - DisplayHeight - Alignment - etc. **Structural information** - It defines how each attribute is arranged on a page. - Form (Top level element) - Grouping (A group of attributes with similar properties) - Field (The attribute) An example structure will be as follows:
== User Attributes == **Types of attributes** - It defines the type of an attribute. - String - Number - Select - DropDownMenu - Email - Password - TextBox - FileUpload - etc. **Attributes Details** - It defines the detail information of an attribute. Data validation will be based on these information. 1. Common Attributes Information: - DB_Name (Compulsory) - DisplayName (Compulsory) - Unique (True/False, Default False) - DefaultValue - Example - Compulsory (True/False, Default False) - ReadOnly (True/False, Default False) - Hidden (True/False, Default False) 2. Type Specific Attributes Information: 1. String - MinLength - MaxLength 2. Number - MinValue - MaxValue 3. Select - MinSelect - MaxSelect - NumOfMemberInARow - MemberList (DisplayName, DB_Name) 4. DropDownMenu - Country (True/False, Default False) - MemberList (DisplayName) 5. Email - N/A 6. Password - MinLength - MaxLength - Confirmation (name of the confirmation field, eg. this field should be the same as the confirm password field) 7. TextBox - MinCharacters - MaxCharacters 8. FileUpload - MaxSize - AcceptedFileExtensionList == Sample XML Configuration File for User Attributes == * eg. Display: userInformationDisplay.xml