dotProject Recipe: add a “Complete this task” checkbox to todo list

completionCheckbox.jpg

To allow one-click completion of a task, we added a checkbox to each row of the task “to-do” lists in dotProject.

Usually I try to borrow functions from other places in the application and adapt them to the new location. In this case the completion function was borrowed from the “progress” drop-down menu, on the add-edit Task screen.

The check box submits the same values as if 100% were selected from the drop-down menu.

Continue reading

Implementing search using indexing services and asp

I wanted to add a search function to the learning modules housed in our learning management system. These modules are of several types, most are HTML/javascript-based modules, but there are also flash, pdf, and MS producer ones as well. Many of them are meant to be viewed while under SCORM control, so it is important that the search feature not interfere with SCORM communication by allowing the user to navigating away from the current module or by removing the surrounding frameset.

When under SCORM control, the script must be able to detect which module is current, and search only within that directory. When not under SCORM control, the user can have the option of searching all content on the server.

It is also important to be able to hold obsolete or private items out of the search.

Continue reading

Explanation of relative, absolute, network and web paths

Paths can be one of the most confusing aspects of web development. Most web designers are familar with absolute paths and relative paths:

Absolute paths point to files that can be anywhere on the internet. They don’t assume any relative location to the current document. An absolute path to a file will always be the same, no matter where the link to it is located.

Example of an absolute path:

http://yourdomain.com/directoryname/otherfile.htm

Continue reading

Rescuing a corrupt Captivate File

If you do any work with Adobe Captivate, you probably have experience with Captivate’s tendency to corrupt files. The last Captivate project I worked on gave me a chance to get reaquainted with this feature, so I am posting the solution which saved my work:

First, you must know the exact size of the old project. If you are using an odd size, be sure to note it down. Create a new, blank project at that size. Select “File>Import Slides/Objects” and import all the slides and their objects from the corrupted project. If you don’t see any slides to import, you are probably out of luck.

The knowledgebase article on adobe.com does not seem to be available anymore, but the cached version is still available on Google:

Google cache of the article

Continue reading

Limiting number of tries on Perception Quizzes under SCORM control

When Questionmark Perception is launched from an LMS using SCORM, Perception’s built-in user management system can’t be used. Perception receives user data from the LMS, and although it stores that data with the results of the quizzes, it can’t use the data for purposes of scheduling and limiting access to quizzes.

Unfortunately, our LMS, SumTotal 6.5, does not have a good way to limit attempts on a learning activity either. There is a rather inflexible option: If you set any learning activity to “allow access upon completion,” after the activity has been completed once, the user will only be able to launch the activity for purposes of browsing, but never take it again for credit. In other words, the user can not enroll again.

This isn’t always the best solution. For example, we wanted to allow two or three tries, depending on the quiz, and we never allow users to browse old quizzes.

Continue reading