Coder Social home page Coder Social logo

scormcloud_moodlemodule's Introduction

License

Copyright 2010-2012 Rustici Software.

The SCORM Cloud Module is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The SCORM Cloud Module is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the SCORM Cloud Module. If not, see http://www.gnu.org/licenses/.

SCORM Cloud Module for Moodle

This is the source code repository for the SCORM Cloud Module for Moodle.

Installation

  • Obtain a copy of the module (this repository).
  • Upload/copy the directories in the module to the installation directory of your Moodle instance.
    • module files --> mod/scormcloud folder in Moodle
  • Log in with an administrator account and Moodle will show you a list of modules to be upgraded/installed. Click upgrade.
  • To use and configure the module, you'll need to sign up for a SCORM Cloud account.
  • When prompted to configure the SCORM Cloud Module, enter the information available on your 'Apps' page on the SCORM Cloud website.

Usage

Create a course as usual in Moodle, but select the Single activity format option and then the SCORM Cloud activity option. After you finish the standard Moodle course configuration, the SCORM Cloud module will display a form for you to upload your SCORM course to the Cloud.

You can also use SCORM Cloud courses within other Moodle course formats like "weekly" by selecting "SCORM Cloud Course" from the "Add an activity" dropdown on the course outline page.

Contributing

While we at Rustici Software have developed the initial version of this Moodle module and welcome questions and suggestions, it is intended to be a community resource. If you'd like to help us make it better, send us a bug report or some code (whether that be by GitHub pull request or a patch over email).

Help

If you have any questions or comments about the Moodle module or SCORM Cloud itself, please don't hesitate to contact us at [email protected].

scormcloud_moodlemodule's People

Contributors

brianrogers avatar bscscorm avatar danmarsden avatar edwinp-catalyst-eu avatar tseabrooks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

scormcloud_moodlemodule's Issues

updates for SCORM Cloud plugin

Dan,
Are there plans to update and maintain the Rustici SCORM Cloud plugin for Moodle (currently certified for Moodle 3.1 on the Moodle plugin site)? The plugin certainly makes using SCORM Cloud much easier than uploading SCORM packages to SCORM Cloud, creating a Dispatch and downloading the Dispatch.
Thanks,
Floyd Saner

importcallback invalid use of optional_param

optional_param uses 3 vars - this line only has 2

$title = optional_param('title', PARAM_RAW);

should be a required_param or like this:
$title = optional_param('title', '', PARAM_RAW);

version.php using old $module syntax - causes failure to install in 3.0 branch

Unsupported $module syntax detected in version.php of the mod_scormcloud plugin.

line 322 of /lib/classes/plugin_manager.php: call to debugging()
line 348 of /lib/classes/plugin_manager.php: call to core_plugin_manager->load_present_plugins()
line 217 of /lib/classes/plugininfo/base.php: call to core_plugin_manager->get_present_plugins()
line 143 of /lib/classes/plugininfo/base.php: call to core\plugininfo\base->load_disk_version()
line 97 of /lib/classes/plugininfo/base.php: call to core\plugininfo\base::make_plugin_instance()
line 408 of /lib/classes/plugin_manager.php: call to core\plugininfo\base::get_plugins()
line 368 of /lib/classes/plugin_manager.php: call to core_plugin_manager->get_plugins_of_type()
line 1131 of /lib/classes/plugin_manager.php: call to core_plugin_manager->get_plugins()
line 1112 of /admin/renderer.php: call to core_plugin_manager->missing_dependencies()
line 212 of /admin/renderer.php: call to core_admin_renderer->missing_dependencies()
line 662 of /admin/index.php: call to core_admin_renderer->upgrade_plugin_check_page()

Plugin mod_scormcloud does not declare valid $plugin->component in its version.php.

line 328 of /lib/classes/plugin_manager.php: call to debugging()
line 348 of /lib/classes/plugin_manager.php: call to core_plugin_manager->load_present_plugins()
line 217 of /lib/classes/plugininfo/base.php: call to core_plugin_manager->get_present_plugins()
line 143 of /lib/classes/plugininfo/base.php: call to core\plugininfo\base->load_disk_version()
line 97 of /lib/classes/plugininfo/base.php: call to core\plugininfo\base::make_plugin_instance()
line 408 of /lib/classes/plugin_manager.php: call to core\plugininfo\base::get_plugins()
line 368 of /lib/classes/plugin_manager.php: call to core_plugin_manager->get_plugins_of_type()
line 1131 of /lib/classes/plugin_manager.php: call to core_plugin_manager->get_plugins()
line 1112 of /admin/renderer.php: call to core_plugin_manager->missing_dependencies()
line 212 of /admin/renderer.php: call to core_admin_renderer->missing_dependencies()
line 662 of /admin/index.php: call to core_admin_renderer->upgrade_plugin_check_page()

install.xml

in install.xml is depreceated - uses log.php now (looks like you've already done this but haven't removed the stuff from install.xml yet)

rollupregistration.php - no auth checks

rollupregistration can be called without logging in or any capability checks - it also writes directly to a log file which could allow a malicious user to fill up diskspace with multiple calls.

scormcloud/reports

the various files in scormcloud/reports need to check if the user is logged in and can see the reports.

Possible installation issue

Hi,
We are using the scorm cloud plugin and getting an error when totara is setting up plugin tables (totara is a modified moodle 1.9 but I have been informed a similar issue occurred in moodle as well):

admin/report/scormcloud plugin needs upgrading
Duplicate entry 'report/courseoverview:view' for key 'mdl_capa_nam_uix'

INSERT INTO mdl_capabilities ( NAME, CAPTYPE, CONTEXTLEVEL, COMPONENT, RISKBITMASK ) VALUES ( 'report/courseoverview:view', 'read', 10, 'report/scormcloud', 8 )

line 1565 of lib/dmllib.php: call to debugging()
line 3363 of lib/accesslib.php: call to insert_record()
line 154 of lib/adminlib.php: call to update_capabilities()
line 468 of admin/index.php: call to upgrade_plugins()

The version we're using is not completely clear to me. I will need to speak again with the person in our sydney office because I think we were given a zip/tarball rather than cloning from git.

Missing periodic RollupRegistration

In converting the plugin over to 2.x, I left out the rollupregistration.php page which is called on a 30s interval by launch.php to do registration rollup on the Moodle data.

scormcloud db instance can be changed without logging in/check

this file doesn't check if the user is logged in or has the ability to modify a scormcloud instance and allows an anonymous user to modify the title,courseid of any entry in the scormcloud table in moodle.

/importcallback.php?moodleid=7&mode=new&appid=APPID&courseid=2&success=true&title=CHANGETITLE&message=Import+Successful&imported=true

SCORM Cloud ID should be separate from Moodle ID

Currently, the id field in the scormcloud table is used for the ID for the course on the Cloud as well. This works, but can lead to weird issues. During testing after reseting my local Moodle instance DB but using the same AppID, for example, when creating a new SCORM Cloud activity in Moodle, it would already be "attached" to a Cloud course because the auto-incrementing local ID (now starting back at 1) matched an existing Cloud ID.

need new scormcloud_supports() function in mod/scormcloud/lib.php

The scormcloud module doesn't use a standard intro field so when saving/updating you get the errors:
Output buffer: Notice: Undefined property: stdClass::$intro in /home/dan/www/moodle-r2/course/modedit.php on line 146 Notice: Undefined property: stdClass::$introformat in /home/dan/www/moodle-r2/course/modedit.php on line 147 Notice: Undefined property: stdClass::$introeditor in /home/dan/www/moodle-r2/course/modedit.php on line 320 Notice: Undefined property: stdClass::$introeditor in /home/dan/www/moodle-r2/course/modedit.php on line 322 Notice: Undefined property: stdClass::$introeditor in /home/dan/www/moodle-r2/course/modedit.php on line 323

To fix it you need to create the function scormcloud_supports() and inside it need to set:
case FEATURE_MOD_INTRO: return false;

launch.php allows userid to be passed in url

launch.php doesn't appear to force auth and it allows a user to pass userid, courseid and mode as params

Should launch allow the userid to be passed? - shouldn't it use the Currently logged in users id?

to get current userid use $USER->id

also - as this page allows an anonymous user to create a "scorm_registrations" entry it allows that user to sit the SCORM package and save grades for a user other than themselves via courseexit.php

I think courseexit.php should also check if $reg->userid == $USER->id and if it doesn't match fail completely and prevent saving of results.

Activity creation should be "Moodle-y"

Current SCORM Cloud activity creation is a little clunky and confusing to users. The new activity form is unused (confusing for users) and the uploadpif form is clunky (and not very Moodle-y with it's upload form). The new activity form should accept the package PIF using Moodle's standard file picker UI and import/update the course along with the form submission.

Directview option for launch from course view

Hi -

I'm doing an enhancement of mod/scormcloud for a client that enables the SCORM object to be (pseudo) launched directly from the course view. This isn't so much an issue, as asking the question of whether the project maintainers would be interested in reviewing the modification for possible inclusion. At the moment this has been done for 1.9 and will be done for 2.x some time next year when the client upgrades.

Cheers,
Piers Harding.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.