Code Monkey home page Code Monkey logo

moodle-enrol-ilios's Introduction

Ilios: Curriculum Management from UCSF

About

The Ilios Curriculum Management System addresses the needs of the Health Professions educational community by providing a user-friendly, flexible, and robust web application to collect, manage, analyze and deliver curricular information.

Ilios creates a comprehensive view of curricula by tracking events, learning content and activities over time. The system facilitates day-to-day administration and the delivery of information to learners; enhances curricular development, review and innovation; and reduces overhead for internal and accreditation reporting. The end result is a powerful tool creating complete and accurate pictures of complex, integrated, multi-year curricula.

Ilios manages learners and instructors and their relationships to curricular materials and activities, enabling the tracking of educational hours, roles and role transitions for participants both internal and external to an institution. Ilios also provides a robust, scalable delivery mechanism for user-centric calendar and scheduling information, with direct access to critical course information, materials, and other educational systems and services.

Ilios leverages the power of your existing online learning. With its comprehensive API, Ilios allows you to integrate with external data sources and systems. For schools using online learning systems such as Moodle or Canvas, Ilios provides a backbone of curricular information to make that deployment more robust and to complement the rich online tools, activities and materials already in use.

More Information and user documentation is available at iliosproject.org

Install and Update Instructions

Instructions for a new Install

Update Ilios

Upgrading From Ilios 2.x

Frontend Theming

For information about customizing the look and feel of the Ilios frontend for your respective institution, please visit docs/custom_theming.md for more information.

API Information

If you want to connect to the Ilios API a good place to start is docs/ilios_api.md.

Interacting with Ilios from the command line

Ilios provides a command line interface, see docs/custom_cli_commands.md for a list of available commands and how to use them.

Get Ilios

Download the latest distribution or clone the codebase.

Contact

For more information on Ilios please contact:

The Ilios Project * UCSF School of Medicine * 530 Parnassus Avenue * Box 0840 * San Francisco, CA 94143

Email: [email protected]

Development of Ilios

To get a development instance of Ilios up and running quickly, please review the steps in our Quick Setup Guide for Ilios for what is recommended and required.

moodle-enrol-ilios's People

Contributors

ctam avatar dartajax avatar stopfstedt avatar

Stargazers

 avatar  avatar

Watchers

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

moodle-enrol-ilios's Issues

PHP warning: Trying to get property of non-object

When I ran the sync from Moodle's scheduled task, I will get these 'notice' messages (multiple ones), but no such 'notice' on second run.

Enrolling instructors to Course ID 2754 with Role ID 11 through Ilios Sync ID 16222.


Notice:  Trying to get property of non-object in /var/www/html/enrol/ilios/locallib.php on line 135

  enrolling with 0 status: userid 21004 ==> courseid 2754

Make the School, Program, Cohort, Learner Group, Sub-Group fields editable

From Valentina,

One thing I noticed however, is that it is not possible to update or correct a sync that has already been created.

For instance, if I find out that I mistakenly am syncing the wrong learner group from Ilios, I cannot simply update it; the fields I want to change are not editable. To fix it, I must delete that sync method entirely and recreate another one.

Can this be fixed?

API key will never get renewed when running in cron (scheduled task in Moodle)

When enrol_ilios_plugin::sync() is evoked by Moodle scheduled task, it calls the global function enrol_ilios_sync(), which will create another instance of enrol_ilios_plugin, which again has its own copy of ilios_client. This second instance of ilios_client is running fine, and renewing the API key all that. And when the second instance of enrol_ilios_plugin is done and calls its destructor, it is saving the new API key correctly. Unfortunately, when the outer (first) instance of enrol_ilios_plugin is being destroyed, its destructor will override the new API key with the old one that comes from its own copy of ilios_client.

I would just get rid of the file locallib.php and the global function enrol_ilios_sync(). Then move the logics in enrol_ilios_sync() into enrol_ilios_plugin::sync().

suspend enrollment for disabled ilios users

With SIS enrollment, if a student's enrollment is inactivated on the SIS side, then the enrollment in the corresponding Moodle could is automatically suspended. This is a good thing.

This doesn't currently occur with the Ilios sync enrollment plugin.

There have been a few instances in the past (one just a couple weeks ago), where an SOM or SOP student has withdrawn from UCSF. And the ed/tech folks in these schools have asked that we suspend the student's Moodle account ASAP so they can't access course materials, since any deactivation that takes place on the Ilios side doesn't change the enrollment status on Moodle.

Addendum 9/24/19
Per CLE team discussion, the scope should be expanded to allow for three options on how to deal with existing enrollments for suspended ilios users in moodle.

  1. suspend enrollment
  2. unenroll
  3. do nothing (default)

Add the necessary options to the enrollment instance configuration form.

Addendum 10/16/19

no additional config needed. instead, suspend active enrollments of disabled Ilios user accounts.

Subgroup is not displayed on edit page and while saving it, it mistakenly saved as no subgroup

From Valentina:

I am trying to confirm that I have correctly implemented the sync on the forum page.

When I go to any of the entries that I used the Ilios à CLE tool for, I cannot see the listing of the sub-group. This is a big problem, because it means that there is no way for me to check my work.

unknown

I did set them up to bring in sub groups from Ilios and I believe it is still doing that since it shows me that there are only 17 users enrolled.

unknown-1

However, I need to verify that I have associated the right sub-groups and they don’t show up on the interface.

Scheduled task failed: Ilios enrolment sync (enrol_ilios\task\ilios_sync_task),Attempt to assign property "instructors" on null

Seeing this error in the Moodle cron output:

[410688] Scheduled task failed: Ilios enrolment sync (enrol_ilios\task\ilios_sync_task),Attempt to assign property "instructors" on null
[410688] Backtrace:
[410688] * line 275 of /enrol/ilios/lib.php: call to enrol_ilios_plugin->getGroupData()
[410688] * line 57 of /enrol/ilios/classes/task/ilios_sync_task.php: call to enrol_ilios_plugin->sync()
[410688] * line 259 of /lib/cronlib.php: call to enrol_ilios\task\ilios_sync_task->execute()
[410688] * line 120 of /lib/cronlib.php: call to cron_run_inner_scheduled_task()
[410688] * line 73 of /lib/cronlib.php: call to cron_run_scheduled_tasks()
[410688] * line 178 of /admin/cli/cron.php: call to cron_run()
[410688]

Deleting an Ilios Sync instance does not un-enroll user

After I deleted an Ilios Sync instance in a course, I could still find those users with role assigned under 'Other users'. They do not show up under 'Enrolled users' list, though, which is correct.

Technical note: These users need to be removed from both user_enrolments and role_assignments tables, depending on Unenrolaction value.

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.