Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added source/img/LTI13dynregactivate.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added source/img/LTI13dynregshow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added source/img/codiolti13settingsDyReg.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added source/img/editmodemoodle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added source/img/moodlepastedynreg.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions source/instructors/admin/integration/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,13 @@ Integrating with your LMS system (Canvas etc.)
lti-keys-and-urls-information
lti-course-copy
commoncartridge
moodle
lti1-3
lti1-3Blackboard
lti1-3BS-D2L
lti1-3Canvas
lti1-3DynReg

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Remove unnecessary extra blank line.

Line 29 creates a double blank line after the toctree (both lines 29 and 30 are blank). RST conventions require only a single blank line after directives.

Proposed fix
    lti1-3DynReg
-   
 
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
lti1-3DynReg
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@source/instructors/admin/integration/intro.rst` at line 29, Remove the extra
blank line following the toctree directive so only a single blank line remains
after the toctree block; specifically edit the intro.rst content around the
toctree directive (the toctree directive instance) and delete the redundant
empty line that causes a double blank line (currently lines 29–30), leaving just
one blank line to conform to RST conventions.


Learning Tools Interoperability (LTI) is a standard for passing user, organization, and course information between learning management systems (tool consumers) and learning tools and tool providers, such as Codio.

Expand Down
148 changes: 41 additions & 107 deletions source/instructors/admin/integration/lms-systems/moodle.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,48 +6,10 @@
Moodle
======

Please be sure to check out the :ref:`Codio LTI App <lti-app>` which allows for an easy way to integrate and to map Codio course assignments to your LMS system. Moodle added support for LTI™ apps in version 2.2. The `following page <https://docs.moodle.org/32/en/External_tool_settings>`__ explains how to set up external apps in Moodle.

Setup and Configuration
------------------------


.. important::
Codio needs the User Role, Email Address and Name of the Moodle user in order to work. It is important that you access the LTI security settings and ensure that these three fields are enabled. If they are not available, contact Moodle support who can help you enable this. If enabled after you have mapped Codio content to Moodle, you may need to re publish for the changes to be implemented.

**Video: Connect Moodle to Codio using the LTI Integration URL**

.. raw:: html

<script src="https://fast.wistia.com/embed/medias/awib5ehvj0.jsonp" async></script><script src="https://fast.wistia.com/assets/external/E-v1.js" async></script><div class="wistia_responsive_padding" style="padding:56.25% 0 0 0;position:relative;"><div class="wistia_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;"><div class="wistia_embed wistia_async_awib5ehvj0 videoFoam=true" style="height:100%;position:relative;width:100%"><div class="wistia_swatch" style="height:100%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;transition:opacity 200ms;width:100%;"><img src="https://fast.wistia.com/embed/medias/awib5ehvj0/swatch" style="filter:blur(5px);height:100%;object-fit:contain;width:100%;" alt="" aria-hidden="true" onload="this.parentNode.style.opacity=1;" /></div></div></div></div>

Common Cartridge
----------------

If using the Common Cartridge file you should first set up an External Tool in Moodle with the :ref:`LTI Key's and URL's <lti-keys-and-urls-information>` for your organization.
Then in the Moodle course you have created:

- Go to the course settings and **Restore**.
- Select the **.ismcc** to upload it and proceed to restore.
- **Restore into this Course**.
- Proceed through the steps.


.. note::
Restore is required as Moodle currently does not support importing of **.imscc** files.



To confirm your setup, just click on any assignment available in Moodle. If all configurations are correct, you will be redirected straight to the Teacher view of that assignment in Codio.

Authentication and Account Creation
------------------------------------

To add students/teachers see :ref:`Users account creation <lms-users>`






LTI 1.3 Dynamic Registration
Expand All @@ -59,99 +21,71 @@ Dynamic Registration simplifies the setup process by automatically sharing confi
Adding the Tool in Moodle
~~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: /img/lti/moodlepastedynreg.png
.. image:: /img/moodlepastedynreg.png
:alt: Where you paste your Dynamic Registration URL in Moodle
:align: right
:width: 500px
:class: img-responsive

1. Navigate to the **Manage Tools** section of your Site Administration and select the Plugins tab.
2. Paste the value you copied in the Tool URL field and click **Add LTI Advantage**.
3. It will present you with the Codio Organizations you are associated with, likely just one choice, but if there is more than one, select the organization you want to associate this tool with and click continue. It should be the organization that contains the courses you want to connect to the LMS system.
4. It will ask you to confirm that you want to register Codio as an external tool in the organization you selected. Click **Yes**. You will receive a confirmation from Codio that the action was completed.
5. The tool will appear at the bottom of the screen, click the Activate button.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Remove extra blank line in image directive.

Line 27 adds an unnecessary blank line within the image directive block, creating inconsistent spacing.

Proposed fix
      :alt: Where you paste your Dynamic Registration URL in Moodle
      :width: 500px
-     
 
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@source/instructors/admin/integration/lms-systems/moodle.rst` at line 27,
Remove the extra blank line inside the image directive in the Moodle RST
document: locate the ".. image::" directive block in
source/instructors/admin/integration/lms-systems/moodle.rst (around the image
directive that currently spans line 27) and delete the stray empty line so the
directive and its options (caption/alt/ :width: etc.) are contiguous with no
blank line between them.

1. Log in to your Codio account and follow the steps on this page to retrieve your :ref:`Dynamic Registration <lti1-3DynReg>` URL.
2. In a new tab go to Moodle.
3. Navigate to the **Manage Tools** section of your Site Administration and select the Plugins tab.
4. Paste the Dynamic Registration URL and click **Add LTI Advantage**.
5. It will present you with the Codio Organizations you are associated with, likely just one choice, but if there is more than one, select the organization you want to associate this tool with and click continue. It should be the organization that contains the courses you want to connect to the LMS system.
6. It will ask you to confirm that you want to register Codio as an external tool in the organization you selected. Click **Yes**. You will receive a confirmation from Codio that the action was completed.
7. The tool will appear at the bottom of the screen, click the Activate button.


.. image:: /img/LTI13dynregactivate.png
:alt: Where you activate the tool
:width: 500px

Activating the Tool You are Creating

.. image:: /img/lti/LTI13dynregactivate.png
:alt: Where you activate the tool

Return to Codio and refresh the **Integrations** page, you will see the integration you created in the bottom section if everything has been set up properly.
Return to Codio and refresh the **Integrations** page. You will see the integration you created in the bottom section of **LTI 1.3 Configurations** if everything has been set up properly.

Using the Tool in Moodle
~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: /img/lti/LTI13dynregshow.png
:alt: Toggling on show in activity chooser for the Codio tool.
:align: right
:width: 500px
:class: img-responsive

1. Navigate to your **My Courses** page and select the course you want to use.
2. Turn on **Edit Mode**.
2. Click the **More** tab.
3. From the **More** dropdown select **LTI External Tools**.
4. You will see the Codio tool, toggle **Show in activity chooser** on.
5. Go to your course and click on **Add an activity or resource**.
6. Click on the **All** tab to show all the tools and select Codio.
7. Click **Select Content** and that will bring up your list of Codio courses, select the course and assignment you want to connect.



LTI Version 1.3
----------------

LTI version 1.3 improves upon version [LTI-1.1] by moving away from the use of OAuth 1.0a-style signing for authentication and towards a new security model, using OpenID Connect, signed JWTs, and OAuth2.0 workflows for authentication.


For more information, see `Learning Tools Interoperability Core Specification <https://www.imsglobal.org/spec/lti/v1p3/>`__

The deep linking url is : ``https://apollo.codio.com/lti/resource_selection``



How to Configure lti1.3 Tool in Moodle Manually
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. raw:: html

<script src="https://fast.wistia.com/embed/medias/24smkegju4.jsonp" async></script><script src="https://fast.wistia.com/assets/external/E-v1.js" async></script><div class="wistia_responsive_padding" style="padding:56.25% 0 0 0;position:relative;"><div class="wistia_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;"><div class="wistia_embed wistia_async_24smkegju4 seo=false videoFoam=true" style="height:100%;position:relative;width:100%"><div class="wistia_swatch" style="height:100%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;transition:opacity 200ms;width:100%;"><img src="https://fast.wistia.com/embed/medias/24smkegju4/swatch" style="filter:blur(5px);height:100%;object-fit:contain;width:100%;" alt="" aria-hidden="true" onload="this.parentNode.style.opacity=1;" /></div></div></div></div>




Connecting/Mapping Assignments in Moodle
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. image:: /img/LTI13dynregshow.png
:alt: Toggling on show in activity chooser for the Codio tool.
:width: 600px
:class: img-responsive

There are a number of ways you can connect/map assignments. Check out the following videos to see the option that best suits you.
5. Go to your course and toggle **Edit Mode** on in the top-right corner of the screen.

How to Connect Assignment by lti Integration url
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. image:: /img/editmodemoodle.png
:alt: Toggling on edit mode.
:width: 200px

.. raw:: html
6. Navigate to the module where you want to add an activity, then click the plus icon.
7. Click **Add an activity or resource**.
8. Click on the **All** tab to show all the tools and select Codio.
9. Click **Add**.
10. Click **Select Content** to open your Codio courses, then choose the course and assignment you want to connect.

<script src="https://fast.wistia.com/embed/medias/u6r8zfk9nc.jsonp" async></script><script src="https://fast.wistia.com/assets/external/E-v1.js" async></script><div class="wistia_responsive_padding" style="padding:56.25% 0 0 0;position:relative;"><div class="wistia_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;"><div class="wistia_embed wistia_async_u6r8zfk9nc seo=false videoFoam=true" style="height:100%;position:relative;width:100%"><div class="wistia_swatch" style="height:100%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;transition:opacity 200ms;width:100%;"><img src="https://fast.wistia.com/embed/medias/u6r8zfk9nc/swatch" style="filter:blur(5px);height:100%;object-fit:contain;width:100%;" alt="" aria-hidden="true" onload="this.parentNode.style.opacity=1;" /></div></div></div></div>

How to Connect Assignment by Resource Selection Preview
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Common Cartridge
----------------

.. raw:: html
If you are using a Common Cartridge file, you’ll first need to configure an External Tool in Moodle using your organization’s :ref:`LTI Keys and URLs <lti-keys-and-urls-information>`.

<script src="https://fast.wistia.com/embed/medias/e7jx2wdpyq.jsonp" async></script><script src="https://fast.wistia.com/assets/external/E-v1.js" async></script><div class="wistia_responsive_padding" style="padding:56.25% 0 0 0;position:relative;"><div class="wistia_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;"><div class="wistia_embed wistia_async_e7jx2wdpyq seo=false videoFoam=true" style="height:100%;position:relative;width:100%"><div class="wistia_swatch" style="height:100%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;transition:opacity 200ms;width:100%;"><img src="https://fast.wistia.com/embed/medias/e7jx2wdpyq/swatch" style="filter:blur(5px);height:100%;object-fit:contain;width:100%;" alt="" aria-hidden="true" onload="this.parentNode.style.opacity=1;" /></div></div></div></div>
Once the External Tool is set up, you can proceed with importing your :ref:`Common Cartridge <common-cartridge>` file by following the instructions provided on that same page.

How to Connect Assignment by Endpoint url
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Then in the Moodle course you have created:

.. raw:: html
1. Go to your course and click the **More** tab.
2. From the **More** dropdown select **Course reuse**.
3. Click **Restore**.
4. Select the **.imscc** to upload it and proceed to restore.
5. Click **Restore**.
6. Proceed through the steps.

<script src="https://fast.wistia.com/embed/medias/g10ydg4cs2.jsonp" async></script><script src="https://fast.wistia.com/assets/external/E-v1.js" async></script><div class="wistia_responsive_padding" style="padding:56.25% 0 0 0;position:relative;"><div class="wistia_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;"><div class="wistia_embed wistia_async_g10ydg4cs2 seo=false videoFoam=true" style="height:100%;position:relative;width:100%"><div class="wistia_swatch" style="height:100%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;transition:opacity 200ms;width:100%;"><img src="https://fast.wistia.com/embed/medias/g10ydg4cs2/swatch" style="filter:blur(5px);height:100%;object-fit:contain;width:100%;" alt="" aria-hidden="true" onload="this.parentNode.style.opacity=1;" /></div></div></div></div>

How to Connect Assignment with Custom Param
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. note::
Restore is required as Moodle currently does not support importing of **.imscc** files.

.. raw:: html
To confirm your setup, click on any assignment available in Moodle. If all configurations are correct, you will be redirected straight to the Teacher view of that assignment in Codio.

<script src="https://fast.wistia.com/embed/medias/493c2q31t5.jsonp" async></script><script src="https://fast.wistia.com/assets/external/E-v1.js" async></script><div class="wistia_responsive_padding" style="padding:56.25% 0 0 0;position:relative;"><div class="wistia_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;"><div class="wistia_embed wistia_async_493c2q31t5 seo=false videoFoam=true" style="height:100%;position:relative;width:100%"><div class="wistia_swatch" style="height:100%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;transition:opacity 200ms;width:100%;"><img src="https://fast.wistia.com/embed/medias/493c2q31t5/swatch" style="filter:blur(5px);height:100%;object-fit:contain;width:100%;" alt="" aria-hidden="true" onload="this.parentNode.style.opacity=1;" /></div></div></div></div>

If you require any assistance, please don't hesitate to :ref:`contact us <codio-support>`
6 changes: 2 additions & 4 deletions source/instructors/admin/integration/lti1-3DynReg.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ LTI 1.3 Dynamic Registration


Dynamic Registration simplifies the setup process by automatically sharing configuration information between Tools and LMS systems. For LMS platforms that are compatible with this standard, you can enable it by following these steps. Please refer to the appropriate LMS page for detailed platform-specific steps.

- :ref:`Moodle <moodle>`
- :ref:`Canvas <lti1-3Canvas>`
- :ref:`Blackboard <lti1-3Blackboard>`
Expand All @@ -20,10 +19,9 @@ Access LTI Integration Settings in Codio
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


.. image:: /img/lti/codiolti13settings.png
.. image:: /img/codiolti13settingsDyReg.png
:alt: LTI 1.3 settings in Codio
:align: right
:width: 350px
:width: 450px
:class: img-responsive


Expand Down