The quiz is based on a design by Brandon Clark detailed at
customized with added functionality in order to meet client
The quiz is currently an InfoPath. Some users have trouble using
InfoPath in certain environments. Also, the lack of business
continuity services precludes SharePoint from getting test results
from an outside environment.
The quiz web application is originally written with SharePoint
Designer without any custom code entirely in the SharePoint
environment. After the quiz web application is built, customized
code is added (an event receiver, a visual web part, and a
PowerShell script) to help with additional requirements and the
management of the various lists.
The synchronous Item Adding method of the event receiver deletes
previous entries in the Answers list in case the user hits the previous
The asynchronous Item Added method adds the username to the Trained
Admins list if that user passed this particular quiz. It updates the date if
the username has already been added to this list.
A custom web part or aspx page shows the missed questions, the user’s
answers, and a hyperlink for more information for each missed question.
Correct answers are displayed if the user missed any questions but still
The event receiver also sends an email to the user if the exam was passed.
The components of the email are provided by the Email Information list.
A PowerShell script deletes the items in the Answers list older than a
given number of days provided as a parameter. It is run as a scheduled
The Site Administration Reports are currently
provided by third party software on the Site Settings
pages in the intranet farm. The software as well as
Web Analytics are not delivered in the extranet farm.
A feature event receiver adds a custom site permissions
list as well as a link to an application page with a XSLT
list view web part.
After an item is added to a list, an asynchronous Item
Added method in an event receiver adds a CSV
attachment. This attachment is the Site Permissions