Copy link to clipboard
Copied
Hello,
For the past few years I have been working on a project that delivers on-screen training to hospital staff. Initially this was just for Doctors, but the project has grown and now covers many more staff groups such as Nurses, Consultants, Admin staff... etc.
At the start of the project I used a ‘hard coded’ menu system that was simple and manageable for just Doctors, but as the project expands to other types of staff the menu system is becoming difficult to manage as updates and enhancements have to be made to each staff group menu. (See diagram 1)
What I am thinking of creating is a ‘Lookup Table / Database’ that will create training menus based upon the role of the staff. This way I can simply update the Lookup Table and the training menus will be updated. (See diagram 2)
My question is, has anyone tried this type of thing and how well did it work?
Thank you
Peter.
I once had to create a safety course where there were three different roles that would access the content (Manager, Supervisor, Employee). Similar to your concept, the first module established their role type and stored this as a user variable that was picked up by each successive module and that variable altered the slides that the learner was shown.
Captivate does most of this out of the box, but the persistence of the variable from one module to the next had to be done via a special widget.
...Copy link to clipboard
Copied
I once had to create a safety course where there were three different roles that would access the content (Manager, Supervisor, Employee). Similar to your concept, the first module established their role type and stored this as a user variable that was picked up by each successive module and that variable altered the slides that the learner was shown.
Captivate does most of this out of the box, but the persistence of the variable from one module to the next had to be done via a special widget. Nowadays similar things can be achieved with JavaScript.
I didn't use a database as you propose. Captivate doesn't currently have the functionality to allow you to easily query databases. But if you are using LAMP then you should also have PHP on your web server and you could perhaps code some simple PHP pages that could do all of this.
However, for my money, if your requirements are already getting this complex, I would be looking at installing an LMS (e.g. Moodle) that would make it possible to assign users with roles when they are set up in the system. Then you can easily have the system ONLY show them the courses that would apply to their needs. An LMS is almost ALWAYS going to be better in the long run than trying to do all this yourself.
Copy link to clipboard
Copied
Rod,
Thank your for the comments and ideas.
I have stayed away from using an LMS such Moodle for a whole of host reasons, so I think any solution I come up with will be based on a PHP script.
I already use PHP in combination with the Captivate projects, so I will cobble together some more code.
If I get a solution working I will post back here.
Cheers
Peter
Copy link to clipboard
Copied
Peter,
It looks like it might be time to refactor your old code!
I once built a simple database that turned into a global pilot to support HR employees distributed globally,for a certain four-letter automotive company.
I'd be inclined to externalize the roles into individual (XML) files, and consider polling the directory to determine how many roles should appear on the menu. The external files can easily be duplicated, and the editing can be managed by another, or a tool built (as Rod can attest) to simplify the task to an administrative level.
Also, I'd encourage building a template that is JavaScript enabled to allow page level access, so individual pages can be indexed and accessed for reference beyond the initial training experience.