The purpose of this web application is to create text documents and save in XML-files. The text need to be version controlled and during writing a security copy will be saved using AJAX.
The purpose of this web application is to create text documents and save in XML-files. The text need to be version controlled and during writing a security copy will be saved using AJAX. Bids will be considered on the following criteria: 1. What is your solution for the version control? 2. Price. 3. Time to deliver. Technical specifications The application should be built using: • Visual Studio 2008 • ASP.NET 3.5 (C#) • SQL Server 2008 • Object-oriented, clean code • Comments where needed. The application should work in the following browsers: • Firefox 3.x • Internet Explorer 7 and newer • Opera 9 and newer • Chrome • Safari Deliverables: • A Visual Studio 2008 solution with a working demo • SQL scripts to create the database • Documentation Workflow The steps for creating the documents are as follows: 1. A Binder is created. This is a container for an undefined number of documents. The information needed for a Binder is; Name, Description, CreatedDate (auto). The Binder information is to be saved into the SQL Server database. 2. A Document is created in the Binder by entering the following information; Name, SortOrder, CreatedDate (auto). The sort order is preferably set by dragging the documents in a list using AJAX. The Document information is to be saved into the SQL Server database. 3. The text content of the document is written. During writing the text is auto saved to an XML-file every n minute. 4. The text is saved to an XML-file containing all versions of the document. 5. An existing text can be opened and changed. When saved a new version is saved and the previous version is still available. N number of versions is to be saved in the XML-file. 6. Each document has its own XML-file containing all saved versions. Version Control The most important part is the version control. I see three possibilities; 1. Use existing free version control components. However, it is not possible to register any COM-objects or GAC any dll. 2. Come up with your own solution using delta changes. 3. Save complete text in every version. Interface There should be an interface for the following: • Create/Edit a binder • Binder overview with the following o Binder information o Documents in the binder. Drag and drop functionality to change sort order • Create/Edit a document in selected binder. A new document is added last in the sorted list. • Document overview o Document information o List of versions ? Possibility to view a version ? Possibility to select a version as the current o Text area for writing ? Auto save functionality to save while writing. The auto save version is listed with the other versions but with a flag identifying it as an auto save. Timestamp for last save is displayed. ? Session needs to be kept alive while writing so if authentication is used the writer is not logged out. ? The text area may be plain text. If an editor, i.e. FCKEditor, is used functionality for removing formatting when pasting from HTML or Word documents must be added. As much functionality as possible should be using AJAX.