We have a couple of Course Delivery modules which I need to have altered, visit our website to understand clearly what I am describing here.
1. Go to [url removed, login to view]
2. Click on the "Courses" tab, then click "Sample Courses" on the left of the courses list.
3. Click on any sample course with a price of $[url removed, login to view], then click "Add To Cart" and "Proceed to Checkout"
4. Complete the checkout screens and follow the on-screen directions which will ultimately take you to the "My Courses" screen, where you will see the sample course listed. Click on the Sample Course, then Click on the first lesson, a popup window will appear.
This popup Window is where most of the work needs to be done...
On the left side of the window will be listed a number of "Topics", which are all hyperlinked, currently you can click on any topic in any order you choose. On the right hand side of the window, there is the "Topic Content" which is just HTML being pulled from a database table. At the bottom of the Topic Content there is a "Next" and "Back" button. The underlying code for the next button updates a database table to keep track of which topics have been looked at and which ones haven't.
1. We need to change this form so that all of the Topic Hyperlinks below the "current" topic are disabled and all previously visited topics are hyperlinked.
2. We need an optional timer installed on the page which prevents the user from clicking the next button (and provides a visual countdown) until the timer runs out. The timer length is calculated based on some numbers readily available in the database (clock hours of the course divided by the total number of topics). Once the timer reaches 0, the Next button should be enabled, and when the user clicks it, the form proceeds to the next topic (this navigation code already is there and working, the only new functionality is the timer and the disabling/enabling of the hyperlinks) ALSO, If the user visits a previously visited topic, the timer should NOT be enabled. It should only be enabled for the newest current topic. If a user navigates backwards before the current timer reaches 0, then the next time the user is back on the newest current topic the timer should reset to it's full normal value.
2.1 - There is a configuration module for the course, where I would like a checkbox added which enables/disables the course timer for the selected course and writes that value into the database. This option should be looked at to determine whether or not the timer is enabled or disabled, but irregardless of the timer, the topics below the current topic should still be disabled essentially preventing the user from skipping ahead.
3. We need code added to this form so that the last topic that the user visited in the previous session, is the topic that is displayed in the next session. (currently it always starts at the first topic)
4. Depending on the complexity and cost, I would like to put the list of Topics on this form in an I-Frame or other scrollable container so it doesn't move when there are a lot of topics going off the page. (currently the topics and the topic content are all on the same "surface" so they move together)
5. On the MyCourses screen the default view is "expanded descriptions", I would like that changed so the default view is "collapsed" (there is a link on the screen, so the code is already there, just need the default changed)
I will send you a zip file with the source code, and a database which is compilable, development will need to be done in Visual Studio 2008 and Dot Net Nuke 4.9 and SQL Server