On the other hand the need for dotLRN has risen to provide an assessment solutions that allows (automated) tests as well with the possibility to score the test results and store them in an easy retrievable way.
Last but not least a new demand has risen for the possibility to give and store ratings on objects within the system as part of a knowledge management solution.
The documents on these page will provide a solution that is flexible to meet ababove needs but still be focused enough to apply for special clients demands.
Each assessment consists of various sections, that allow for the split up of the assessment (so it will be displayed to the respondee on multiple pages) and give the possibility for branching depending on previous answers of the respondee. Questions are always added into the question database first, then added to a specific section and thus made available to the assessment. A detailed description of the Sections can be found here.
The backend for the test processing, that enables the automatic tests is described in a separate document as it will be parsed while the respondee answers the test, not manually. In addition this document describes how the grades are calculated (automatically or manually) for each question. The result is being stored in the grading package.
In addition to the possibility to enter scores/rates, the grading package allows for automatic aggregation of scores. This holds especially true for tests and classes. A test result will depend on the result of all the answers (aggregated). A class result will depend on the result of all the tests a respondee did in addition to any manual grades the professor can come up with. Providing a clean UI for this is going to be the challenge.
Furthermore, the grading package offers to transfer scores (which are stored as integer values) into a grade (e.g. the american A-F scheme, or the German 1-6). This is where it gets the name from I'd say ;). Grading schemes are flexible and can be created on the fly. This allows us to support any grading scheme across the world's universities. In addition in the area of Knowledge Management, grades could be transferred into incentive points, that can be reused to reward employees for good work done (where they got good ratings for).
Last but not least, maybe embedded with the workflow system, is the possibility to execute actions based on the grade. An example would be the adding of the student to the advanced class if his grade or score reaches a certain level. Alternatively this looks like a good thing for the curriculum module to achieve.
Additionally you can use the assessment system to collect user information. When signing up to a site the user could be asked to fill out an assessment where part of the questions will be stored in the acs_users table, some other questions in other tables and the rest in the assessment package. This way a quick view can be given about the user (aggregating user information in a flexible way). Best explanation would be to treat the /pvt/home page as a collection of assessment data and the "change basic information" as one assessment among many.
With a little bit of tweaking and the possibility to add instant gratification, aka aggregated result display, it could include the poll package and make it redundant.
Last but not least with the ability to display questions in a multi dimensional way to the user, the assessment system is useful for quality assurance (how important is this feature / how good do you think we implemented it). And as you might have guessed, for anything the current survey module has been used for as well (e.g. plain and simple surveys).
The grading system on it's own would be useful for the OpenACS community as it would allow the handing out of "zorkmints" along with any benefits the collection of mints gives to the users. As mentioned earlier, this is also very important in a Knowledge Management environment, where you want to give rated feedback to users.
Question Catalogue
Assessment Creation
Sections
Tests
Test Processing
User Experience