Sharing Cart: Difference between revisions

From MoodleDocs
m (→‎Maintainers: clean up, typos fixed: github → GitHub)
 
(131 intermediate revisions by 6 users not shown)
Line 1: Line 1:
*Block: Sharing Cart 1.9     release 1 - 2008.10.15
{{Infobox plugin
*Block: Sharing Cart 1.9     release 2 - 2009.02.19
|type = Block
*Block: Sharing Cart 1.9     release 3 - 2009.03.16
|entry = https://moodle.org/plugins/view.php?plugin=block_sharing_cart
*Block: Sharing Cart 1.9     release 4 - 2009.04.14
|tracker = https://github.com/donhinkelman/moodle-block_sharing_cart
*Block: Sharing Cart 1.9     release 5 - 2009.04.24
|discussion = https://moodle.org/mod/forum/discuss.php?d=87044
*Block: Sharing Cart 1.9     release 6 - 2009.06.18  (upload/download to a Moodle Repository)
|maintainer = [[User:Tue Korsgaard|Tue Korsgaard]]; [[User:Don Hinkelman|Don Hinkelman]]
|float = right
}}[[File:SharingCart-greycartplus.png|330px|right]]
==Version History==
New >> Sharing Cart for 3.10 release 8 is recommended, uploaded 2021.09.29
*Block: Sharing Cart 1.9 release 1 - 2008.10.15
*Block: Sharing Cart 1.9 release 2 - 2009.02.19
*Block: Sharing Cart 1.9 release 3 - 2009.03.16
*Block: Sharing Cart 1.9 release 4 - 2009.04.14
*Block: Sharing Cart 1.9 release 5 - 2009.04.24
*Block: Sharing Cart 1.9 release 6 - 2009.06.22 (upload/download to the Moodlelang.org Repository)
*Block: Sharing Cart 1.9 release 8 - 2009.09.18 (update for Moodle ver. 1.9.5+)
*Block: Sharing Cart 1.9 release 9 - 2009.11.30 (adds a bulk delete/empty cart feature)
*Block: Sharing Cart 1.9 release 10 - 2009.12.28 (update for Moodle ver. 1.9.7, help revised)
*Block: Sharing Cart 1.9 release 11 - 2010.01.26 (common module settings are now retained, icons follow theme)
*Block: Sharing Cart 1.9 release 12 - 2010.02.12 (fixes a missing file bug introduced in release 11, tested OK on Moodle 1.9.9)
*Block: Sharing Cart 1.9 release 14 - 2010.09.30 (fixes a minor bug where the Sharing Cart would strip the Grade Category from a graded module)
*Block: Sharing Cart 1.9 release 15 - 2012.05.29 (supports Postgres)
*Block: Sharing Cart 1.9 release 16 - 2012.12.05 (supports sticky blocks)
*Block: Sharing Cart 2.1 beta release - 2011.07.31
*Block: Sharing Cart 2.2 release 1 - 2012.04.26 (fixes a bug where multiple items copied into the SC, only the first item would copy out of the SC)
*Block: Sharing Cart 2.2 release 2 - 2012.09.04 (this version is now also compatible with Moodle 2.3)
*Block: Sharing Cart 2.3 release 1 - 2012.09.13 (new options: moving user data in glossary, forum, wiki and database activities)
*Block: Sharing Cart 2.4 release 1 - 2012.12.05 (recommended update because new API in Moodle 2.4 hides Sharing Cart 2.3 admin settings)
*Block: Sharing Cart 2.5 (Emma Richardson reports Sharing Cart 2.4 works in Moodle 2.5 with no problems)
*Block: Sharing Cart 2.6 release 1 - 2014.01.07 (New backup format in Moodle 2.6 must be unchecked. Sharing Cart copies made with this new format should be deleted and recreated.)
*Block: Sharing Cart 2.6 release 1, patch 2 - 2014.02.14 (no need to uncheck new backup format)
*Block: Sharing Cart 2.6 release 1, patch 3 - 2014.02.24 (fixed AMOS parsor error)
*Block: Sharing Cart 2.6 release 1, patch 5 - 2014.06.06 (solved AJAX error message)
*Block: Sharing Cart 2.6 release 1, patch 6 - 2014.09.12 (later tested OK in Moodle 2.8.5+)
*Block: Sharing Cart 2.9 release 1 - 2015.06.25 (fixed function change to test_core) ... +more changes over next four years
*Block: Sharing Cart 3.6 release 1 2019.06.25 to release 11 2020.0310 (many changes, including section copy, copy with data)
*Block: Sharing Cart 3.8 release 1 - 2020.03.15 (many interface improvements—listed below)
*Block: Sharing Cart 3.8 release 2 - 2020.03.31 (fixed a bug where Firefox would not show icons properly)
*Block: Sharing Cart 3.8 release 3 - 2020.04.15 (fixed a bug where section copy was not consistent)
**UI improvements in 3.8:
    **Icons converted to font-awesome.
    **Dropzones for moving are just empty white spaces.
    **Match dropzones when copying activity to section.
    **When expanding folders, it's easier to see which files belong there.
    **Labels with images now resize and just add the fullsize image.
    **Alerts/Confirm boxes should be modals.
    **Bulkdelete has a layout overhaul.
    **Loading boxes match moodle better


    **Bug fix for: When changing groupmode, or duplicating activity, the sharing cart icons disappear.
    **Bug fix for: PHP warning when adding activity to a subfolder, of an empty folder.
    **Bug fix for: Sometimes unable to delete folders, due to duplicate names and no user check.
    **Feature: Copy section dropdown in the block, due to some course formats preventing sharing cart from adding icons.
* Block: Sharing Cart 3.10 release 6 - 2021.07.22 (improved section copy and tested in 3.11)
* Block: Sharing Cart 3.10 release 8 - 2021.09.29 (tested and passed fix for Issue #101)
==Purpose==
==Purpose==
The Sharing Cart is a block that enables easy sharing of Moodle content (resources, activities) between multiple courses on your site. You can share among teachers or among your own courses.  It copies and moves single course items without user data—similar to the “Import” function in Course Administration. Items can be collected and saved on the Sharing Cart indefinitely, serving as a library of frequently used course items available for duplication. It is viewable only by teachers, course creators and administrators. For further information, see [http://moodle.org/mod/forum/discuss.php?d=87044 General Developer Forum postings].  Release 6 also allows upload/download to a Moodle Repository.
The Sharing Cart is a block for duplicating course items into a personal library and an easy way to move those Moodle resources and activities between multiple courses on your site. With just three clicks, the Sharing Cart copies and moves a single course item from one course to another. It copies without user data—similar to the “Import” function in Course Administration. From version 2.3, user content in Forums, Wikis, Glossaries and Databases can optionally be included. In addition, items can be collected and saved on the Sharing Cart indefinitely, serving as a library of frequently used course items available for duplication. The Sharing Cart is viewable only by teachers, course creators and administrators.
 
==Requirements==
==Requirements==
# Moodle version 1.9
# Moodle version 3.6 or greater. Previous versions for 3.5 are also available.
# Topic, Weekly or Project Course Format:  The Sharing Cart now works with three formats. Topics and Weekly format are now supported as well as Project course format.  
# Javascript/AJAX: A browser with JavaScript and AJAX turned on in Moodle is required.
# Javascript: The Sharing Cart needs a browser with JavaScript enabled even if you are not using AJAX.  AJAX turned on is recommended but not required.
# MySQL 5.1, PostgreSQL 8.4, SQL Server 2008 (= MSSQL10): Postgres now supported.
 
==Translations available ==
* German (de)
* Hebrew (he)
* Spanish - Mexico (es_mx)
* Chinese
* Japanese
==Installation==
==Installation==
# download latest release from [http://download.moodle.org/download.php/plugins/blocks/sharing_cart.zip CVS Contrib]
# now available for automatic download/upgrades from [https://moodle.org/plugins/view.php?plugin=block_sharing_cart moodle.org plugins directory]
# or download latest 2.3--3.10 release from [https://github.com/donhinkelman/moodle-block_sharing_cart Github]
# unzip the package
# unzip the package
# using FTP, open your blocks folder in your moodle program folder on your site
# using FTP, open your blocks folder in your moodle program folder on your site
# place the folder "sharing_cart" into the blocks folder
# place the folder "sharing_cart" into the blocks folder
# go to "Notifications" in your site admin area, database tables will be automatically generated
# go to "Notifications" in your site admin area, by clicking the button, you will enable the repository plugin, and automatically generate database tables
# inside any course, "Turn editing on", go to Blocks "Add...", and you should see "sharing cart" in the list of blocks in the menu.
# inside any course, "Turn editing on", go to Blocks "Add...", and you should see "sharing cart" in the list of blocks in the menu.
# if you are going to share Quiz Questions, you may need to add a new system role called Question Creator (see note below in 'Roles')
# if you are going to share Quiz Questions, you may need to add a new system role called Question Creator (see note below in 'Roles')
# if you are going to upload/download from the Moodle for Language Teaching Repository, go to (5) Setup Respository Connection.
==Operation==
==Operation==
# '''Turning On and Off''': With editing on, add the Sharing Cart block from the block menu. After adding the Sharing Cart block, you will notice the block stays "on" and follows you whereever you roam courses across a site. Click the "X" icon to turn "off" the Sharing Cart, although the contents of the Sharing Cart will remain there when you turn it on again.
# '''Turning On and Off''': With editing on, add the Sharing Cart block from the '''"Add a Block"''' menu at the lower left of the screen. After adding the Sharing Cart block, you will notice the block stays "on" the next time you enter that course. When you go to another course, add the Sharing Cart block to that new course. Then you can see your Sharing Cart as you roam courses across a site. Click the "X" icon to turn "off" the Sharing Cart, although the contents of the Sharing Cart will remain there when you turn it on again.
# '''Copying to the Sharing Cart''': You will notice a small "Copy to Sharing Cart" icon which appears after each resource or activity in the center column of a Moodle course. Click on that icon to send a copy of that resource/activity into the Sharing Cart. User data will be removed, only the activity itself will be cloned.
# '''Copying to the Sharing Cart''': You will notice a small "Copy to Sharing Cart" icon which appears after each resource or activity in the center column of a Moodle course. Click on that icon to send a copy of that resource/activity into the Sharing Cart. User data will be removed, only the activity itself will be cloned.
#  '''Copying from the Sharing Cart''': Click "Copy to course" icon in Sharing Cart, then the resource/activity is copied into the first section of current course. And the page transits to module placing mode directly.  So, if you want to cancel copying completely, the module copied into the first section needs to be removed manually.
#  '''Copying from the Sharing Cart''': Click the "Copy to course" icon in Sharing Cart, then you will see many dotted boxes appear in the center column. Choose the location you wish to place your item, and it will be copied there directly.
#  '''Making folders inside the Sharing Cart''': Click the "move" icon on a course content item and an input box will appear. Input the name of the target folder there. To move an item into a folder, click the "Move to folder" icon in the Sharing Cart, then a drop-down list appears, and select the target folder. If you click the “Edit” button, you will replace the drop-down list with an input box.
#  '''Making folders inside the Sharing Cart''': Click the "move" icon on a course content item and an input box will appear. Input the name of the target folder there. To move an item into a folder, click the "Move to folder" icon in the Sharing Cart, then a drop-down list appears, and select the target folder. If you click the “Edit” button, you will replace the drop-down list with an input box.
 
==Setup Repository Connection==
(new in release 6)   
# '''Make an account on the Moodle for Language Teaching Repository site:  http://moodlelang.org
# '''Install the Sharing Cart block on your home site--download from CVS: http://download.moodle.org/download.php/plugins/blocks/sharing_cart.zip
# '''Click the "hammer tool" icon on your Sharing Cart to setup a connection to the Repository.
# '''Type this Repository URL: http://ept3.sgu.ac.jp  along with the Username and Password of your Repository account.
# '''Put an item from your home site into your Sharing Cart
# '''Click on the Repository icon next to that item
# '''Fill in the metadata information, and click "Register".
# '''You have uploaded your first contribution to the Repository and will receive 100 points registration bonus and 20 points for each item you upload.
# '''To download ("buy") items, you first view an item then click the "Buy" button.  Normally it will "cost" you 10 points. 
# '''Then go to your home site's Sharing Cart and click the "Download from Repository" button, located at the bottom of the cart.
 
==Roles==
==Roles==
Generally, the Sharing Cart will duplicate any activity in any course that a teacher has access to. However, quiz questions have another set of permissions independent of site roles. Therefore, we recommend if you wish to share questions, make the following changes:
Generally, the Sharing Cart will duplicate any activity in any course that a teacher has access to. However, quiz questions have another set of permissions independent of site roles. Therefore, if you experience difficulty sharing questions in Moodle 1.9 (i.e. students cannot view embedded audio or images), we recommend making a new role within your site:
#  '''Add a new role--Question Creator:''' Make this role in Site Admin >> Users >> Permissions >> Define roles, and assign all teachers to this role (in addition to other roles they already have). This role should be given at least the following rights (set permissions to "Allow") under "Course": Manage Activities, Manage Files,Add new questions, Edit all questions, Edit question categories, Move all questions, Use all questions, View all questions.  
#  '''Add a new role—Question Creator:''' Make this role in Site Admin >> Users >> Permissions >> Define roles, and assign all teachers to this role (in addition to other roles they already have). This role should be given at least the following rights (set permissions to "Allow") under "Course": Manage Activities, Manage Files,Add new questions, Edit all questions, Edit question categories, Move all questions, Use all questions, View all questions.
#  '''Set questions to System Question Category:''' If you set questions to course or activity level categories, you may not be able to share them.  
#  '''Set questions to System Question Category:''' If you set questions to course or activity level categories, you may not be able to share them.
''TIP 1:'' ...'''Possibly add another role--Question User:''' If students are unable to view questions, make this role and assign all students to this role. Set to "Allow" the following permissions: Use all questions, View all questions.
''TIP 1:'' ...'''Possibly add another role—Question User:''' If students are unable to view questions, make this role and assign all students to this role. Set to "Allow" the following permissions: Use all questions, View all questions.
 
''Tip 2:'' ...'''Give teachers a System Role:''' Alternatively, we found that some teachers still cannot move their items freely from course to course.  By making them a 'system-role teacher', this solved the problem.  However, now their name appears as a teacher in every course. We are working on a long-term solution to this issue.
 
==Known Issues, Changelog & Roadmap==
* Works well with Moodle standard modules (activities and resources) including Hotpot.  Tested OK with the Feedback Module. Please test it and tell us if your third party module does not work.
* Media files are copied (not moved) to each instance of a new duplicate file.  This solves many troublesome issues of permissions to access the files.  However, for sites with restricted hard disk space, it may fill up space quickly.
* When AJAX course editing is enabled on your site, dragging the Sharing Cart block to a new location in the blocks area may cause trouble temporarily—all blocks may freeze or all the folders freeze (this is a bug in Moodle core).  To unfreeze the folders, reload the page.
* On 2009.03.16, several minor bugs were resolved [http://tracker.moodle.org/browse/CONTRIB-1086 CONTRIB-1086], [http://tracker.moodle.org/browse/CONTRIB-1089 CONTRIB-1089], [http://tracker.moodle.org/browse/CONTRIB-1090 CONTRIB-1090]).  Please update your version from CVS contrib.
* From summer 2009, a new version of Sharing Cart 1.9 will be able to move content across sites.  This is now available for testers. Contact Don Hinkelman
* For a future version, depending on funding, we plan to implement multiple versions of similar items (version control) with partial bonuses for those who improve works not their own. Also, we hope to build a locking mechanism to prevent the Sharing Cart from copying commercial works or items that the author does not want copied.


These additional roles are likely not needed in Moodle 2.x, because of more robust ways to save media files.
==Known Issues & Roadmap==
* It seems that two capabilities are required by a user in order to use the plugin in the most basic scenario (copying an item): 1) Restore activities (moodle/restore:restoreactivity); 2) Restore courses (moodle/restore:restorecourse). Therefore, programmers and administrators must be aware of this when granting permission to using the Sharing Cart. Currently there is an open issue of an exception thrown when a user does not have these two capabilities.
* Some third party modules with incomplete backup/restore will not work with the Sharing Cart and may produce fatal errors. Here is what to do.[[Sharing Cart/Project Format Errors]]
* If you make an administrator setting to enable "split restore" (Admin block>>Miscellaneous>>experimental>>split restore), the Sharing Cart will not work properly. To make it work, turn off split restore.
* For future versions, depending on funding, we wonder if there is interest to build a locking mechanism to prevent the Sharing Cart from copying commercial works or items that the author does not want copied.
==Issues to Consider==
==Issues to Consider==
* Moodle 1.9 has a sophisticated system of permissions for the Question Bank. Question categories can be limited to certain teachers. The Sharing Cart operates on the assumption that sharing of questions is desirable and little control is needed. We do not know all possible results that may happen if questions are copied and duplicated. If the question was originally limited to a "Course" category, will it share perfectly to other courses and students? Please report to us any problems you find concerning this question. At the moment, we are recommending sharing questions with the "System" level question category.  
* The Sharing Cart uses core code in 3.x that has had significant issues, which we expect will be fixed in Moodle 4.0 and 4.1. The legacy issues are: MDL-12403: Minimize questions in Question Bank-original “Backup/Import of single quiz includes all questions in database” Bug—critical; MDL-41924: Minimize questions in Question Bank-new; MDL-19721: Put Sharing Cart into core. Voting for these issues may help the Sharing Cart provide better performance and user satisfaction. These issues are likely resolved in the roadmap for Moodle 4.0, due in late 2021.
* Moodle has a sophisticated system of permissions for the Question Bank. Question categories can be limited to certain teachers. The Sharing Cart operates on the assumption that sharing of questions is desirable and little control is needed. We do not know all possible results that may happen if questions are copied and duplicated. For example, if the question was originally limited to a "Course" category, will it share perfectly to other courses and students? Please report to us any problems you find concerning this question. Before, we were recommending sharing questions with the "System" level question category because the philosophy of Moodle of collaboration and sharing. However, due to a long-standing bug in Moodle core, if you keep thousands of questions at the System level, it will slow down all sharing of quizzes, even to the point of crashing backup/restore.
* Finally, if your administration wishes to have a high degree of control of questions and activities, the Sharing Cart may be too easy-to-use. In terms of site user policies, we believe sharing permissions should be broadly applied not just to administrators, but to all teachers. Your policy on sharing depends on your institutional culture and values.
* Finally, if your administration wishes to have a high degree of control of questions and activities, the Sharing Cart may be too easy-to-use. In terms of site user policies, we believe sharing permissions should be broadly applied not just to administrators, but to all teachers. Your policy on sharing depends on your institutional culture and values.
 
==Legacy Repository Connection in Moodle 1.9==
[[Setup Repository Connection]]
A custom repository for Moodle 1.9 was created in 2009 and connected with Sharing Cart 1.9, release 6--this was only set up for one repository—Moodle for Language Teaching. With the advent of the Moodle Hub in version 2.x, the custom repository of 1.9 was no longer needed. The link shows legacy instructions for connecting the Repository with Sharing Cart in 1.9
==Maintainers==
==Maintainers==
This block was programmed by Akio Ohnishi and Tomonori Maruyama at [http://www.ver2.jp/ Version2] Educational Web Development and released under GPL. The designers and maintainers of this block are Don Hinkelman and Andy Johnson. Funding is provided by Sapporo Gakuin University and we welcome other contributors. For issues and suggestions, please contact Don on the Sharing Cart forums or directly (hinkel at sgu.ac.jp).
Moodle Partner Praxis of Denmark is now the primary maintainer of the Sharing Cart, with continuing support by Don Hinkelman, Alex Bias and others. The designers of this block were Don Hinkelman and Andy Johnson of the Moodle Association of Japan. This block was originally programmed by Akio Ohnishi and Tomonori Maruyama at [http://www.ver2.jp/ Version2] Educational Web Development and released under GPL. Ponlawat Weerapanpisit contributed the section copy feature in 2017–2018. Tue Korsgaard and the programming staff of Praxis became a maintainer from November 2019. Funding has been provided by Sapporo Gakuin University, the University of Ulm, the Japan Association of Language Teaching—CALL SIG, and the Moodle Association of Japan. We welcome other contributors and especially thank Praxis for donating their time and doing a long-needed overhaul. For issues and suggestions, please contact Don and Tue on the Sharing Cart GitHub here (https://github.com/donhinkelman/moodle-block_sharing_cart) or directly (hinkelman at mac.com).
 
==See also==
==See also==
* [https://github.com/donhinkelman/moodle-block_sharing_cart Issues and Feature Requests]
* [[Project Course Format|Project Course Format: a format for moving sections of a course]]
* [[Project Course Format|Project Course Format: a format for moving sections of a course]]
* [http://tracker.moodle.org/browse/CONTRIB-907/ Moodle Tracker CONTRIB-907]
* [http://tracker.moodle.org/browse/CONTRIB-907/ Moodle Tracker CONTRIB-907]
Line 72: Line 110:
* [http://moodle.org/mod/forum/discuss.php?d=87044 Forum discussions]
* [http://moodle.org/mod/forum/discuss.php?d=87044 Forum discussions]
* [http://moodle.org/mod/data/view.php?d=13&rid=2150 Modules and Plugins database]
* [http://moodle.org/mod/data/view.php?d=13&rid=2150 Modules and Plugins database]
 
[[Category:Contributed code]]
[[Category: Contributed code]]
[[Category:Block]]
[[Category: Block]]
[[es:Carrito para Compartir]]
[[Category: Teacher]]
[[Category: Administrator]]

Latest revision as of 15:15, 2 June 2022

SharingCart-greycartplus.png

Version History

New >> Sharing Cart for 3.10 release 8 is recommended, uploaded 2021.09.29

  • Block: Sharing Cart 1.9 release 1 - 2008.10.15
  • Block: Sharing Cart 1.9 release 2 - 2009.02.19
  • Block: Sharing Cart 1.9 release 3 - 2009.03.16
  • Block: Sharing Cart 1.9 release 4 - 2009.04.14
  • Block: Sharing Cart 1.9 release 5 - 2009.04.24
  • Block: Sharing Cart 1.9 release 6 - 2009.06.22 (upload/download to the Moodlelang.org Repository)
  • Block: Sharing Cart 1.9 release 8 - 2009.09.18 (update for Moodle ver. 1.9.5+)
  • Block: Sharing Cart 1.9 release 9 - 2009.11.30 (adds a bulk delete/empty cart feature)
  • Block: Sharing Cart 1.9 release 10 - 2009.12.28 (update for Moodle ver. 1.9.7, help revised)
  • Block: Sharing Cart 1.9 release 11 - 2010.01.26 (common module settings are now retained, icons follow theme)
  • Block: Sharing Cart 1.9 release 12 - 2010.02.12 (fixes a missing file bug introduced in release 11, tested OK on Moodle 1.9.9)
  • Block: Sharing Cart 1.9 release 14 - 2010.09.30 (fixes a minor bug where the Sharing Cart would strip the Grade Category from a graded module)
  • Block: Sharing Cart 1.9 release 15 - 2012.05.29 (supports Postgres)
  • Block: Sharing Cart 1.9 release 16 - 2012.12.05 (supports sticky blocks)
  • Block: Sharing Cart 2.1 beta release - 2011.07.31
  • Block: Sharing Cart 2.2 release 1 - 2012.04.26 (fixes a bug where multiple items copied into the SC, only the first item would copy out of the SC)
  • Block: Sharing Cart 2.2 release 2 - 2012.09.04 (this version is now also compatible with Moodle 2.3)
  • Block: Sharing Cart 2.3 release 1 - 2012.09.13 (new options: moving user data in glossary, forum, wiki and database activities)
  • Block: Sharing Cart 2.4 release 1 - 2012.12.05 (recommended update because new API in Moodle 2.4 hides Sharing Cart 2.3 admin settings)
  • Block: Sharing Cart 2.5 (Emma Richardson reports Sharing Cart 2.4 works in Moodle 2.5 with no problems)
  • Block: Sharing Cart 2.6 release 1 - 2014.01.07 (New backup format in Moodle 2.6 must be unchecked. Sharing Cart copies made with this new format should be deleted and recreated.)
  • Block: Sharing Cart 2.6 release 1, patch 2 - 2014.02.14 (no need to uncheck new backup format)
  • Block: Sharing Cart 2.6 release 1, patch 3 - 2014.02.24 (fixed AMOS parsor error)
  • Block: Sharing Cart 2.6 release 1, patch 5 - 2014.06.06 (solved AJAX error message)
  • Block: Sharing Cart 2.6 release 1, patch 6 - 2014.09.12 (later tested OK in Moodle 2.8.5+)
  • Block: Sharing Cart 2.9 release 1 - 2015.06.25 (fixed function change to test_core) ... +more changes over next four years
  • Block: Sharing Cart 3.6 release 1 2019.06.25 to release 11 2020.0310 (many changes, including section copy, copy with data)
  • Block: Sharing Cart 3.8 release 1 - 2020.03.15 (many interface improvements—listed below)
  • Block: Sharing Cart 3.8 release 2 - 2020.03.31 (fixed a bug where Firefox would not show icons properly)
  • Block: Sharing Cart 3.8 release 3 - 2020.04.15 (fixed a bug where section copy was not consistent)
    • UI improvements in 3.8:
   **Icons converted to font-awesome.
   **Dropzones for moving are just empty white spaces.
   **Match dropzones when copying activity to section.
   **When expanding folders, it's easier to see which files belong there.
   **Labels with images now resize and just add the fullsize image.
   **Alerts/Confirm boxes should be modals.
   **Bulkdelete has a layout overhaul.
   **Loading boxes match moodle better
   **Bug fix for: When changing groupmode, or duplicating activity, the sharing cart icons disappear.
   **Bug fix for: PHP warning when adding activity to a subfolder, of an empty folder.
   **Bug fix for: Sometimes unable to delete folders, due to duplicate names and no user check.
   **Feature: Copy section dropdown in the block, due to some course formats preventing sharing cart from adding icons.
  • Block: Sharing Cart 3.10 release 6 - 2021.07.22 (improved section copy and tested in 3.11)
  • Block: Sharing Cart 3.10 release 8 - 2021.09.29 (tested and passed fix for Issue #101)

Purpose

The Sharing Cart is a block for duplicating course items into a personal library and an easy way to move those Moodle resources and activities between multiple courses on your site. With just three clicks, the Sharing Cart copies and moves a single course item from one course to another. It copies without user data—similar to the “Import” function in Course Administration. From version 2.3, user content in Forums, Wikis, Glossaries and Databases can optionally be included. In addition, items can be collected and saved on the Sharing Cart indefinitely, serving as a library of frequently used course items available for duplication. The Sharing Cart is viewable only by teachers, course creators and administrators.

Requirements

  1. Moodle version 3.6 or greater. Previous versions for 3.5 are also available.
  2. Javascript/AJAX: A browser with JavaScript and AJAX turned on in Moodle is required.
  3. MySQL 5.1, PostgreSQL 8.4, SQL Server 2008 (= MSSQL10): Postgres now supported.

Translations available

  • German (de)
  • Hebrew (he)
  • Spanish - Mexico (es_mx)
  • Chinese
  • Japanese

Installation

  1. now available for automatic download/upgrades from moodle.org plugins directory
  2. or download latest 2.3--3.10 release from Github
  3. unzip the package
  4. using FTP, open your blocks folder in your moodle program folder on your site
  5. place the folder "sharing_cart" into the blocks folder
  6. go to "Notifications" in your site admin area, by clicking the button, you will enable the repository plugin, and automatically generate database tables
  7. inside any course, "Turn editing on", go to Blocks "Add...", and you should see "sharing cart" in the list of blocks in the menu.
  8. if you are going to share Quiz Questions, you may need to add a new system role called Question Creator (see note below in 'Roles')

Operation

  1. Turning On and Off: With editing on, add the Sharing Cart block from the "Add a Block" menu at the lower left of the screen. After adding the Sharing Cart block, you will notice the block stays "on" the next time you enter that course. When you go to another course, add the Sharing Cart block to that new course. Then you can see your Sharing Cart as you roam courses across a site. Click the "X" icon to turn "off" the Sharing Cart, although the contents of the Sharing Cart will remain there when you turn it on again.
  2. Copying to the Sharing Cart: You will notice a small "Copy to Sharing Cart" icon which appears after each resource or activity in the center column of a Moodle course. Click on that icon to send a copy of that resource/activity into the Sharing Cart. User data will be removed, only the activity itself will be cloned.
  3. Copying from the Sharing Cart: Click the "Copy to course" icon in Sharing Cart, then you will see many dotted boxes appear in the center column. Choose the location you wish to place your item, and it will be copied there directly.
  4. Making folders inside the Sharing Cart: Click the "move" icon on a course content item and an input box will appear. Input the name of the target folder there. To move an item into a folder, click the "Move to folder" icon in the Sharing Cart, then a drop-down list appears, and select the target folder. If you click the “Edit” button, you will replace the drop-down list with an input box.

Roles

Generally, the Sharing Cart will duplicate any activity in any course that a teacher has access to. However, quiz questions have another set of permissions independent of site roles. Therefore, if you experience difficulty sharing questions in Moodle 1.9 (i.e. students cannot view embedded audio or images), we recommend making a new role within your site:

  1. Add a new role—Question Creator: Make this role in Site Admin >> Users >> Permissions >> Define roles, and assign all teachers to this role (in addition to other roles they already have). This role should be given at least the following rights (set permissions to "Allow") under "Course": Manage Activities, Manage Files,Add new questions, Edit all questions, Edit question categories, Move all questions, Use all questions, View all questions.
  2. Set questions to System Question Category: If you set questions to course or activity level categories, you may not be able to share them.

TIP 1: ...Possibly add another role—Question User: If students are unable to view questions, make this role and assign all students to this role. Set to "Allow" the following permissions: Use all questions, View all questions.

These additional roles are likely not needed in Moodle 2.x, because of more robust ways to save media files.

Known Issues & Roadmap

  • It seems that two capabilities are required by a user in order to use the plugin in the most basic scenario (copying an item): 1) Restore activities (moodle/restore:restoreactivity); 2) Restore courses (moodle/restore:restorecourse). Therefore, programmers and administrators must be aware of this when granting permission to using the Sharing Cart. Currently there is an open issue of an exception thrown when a user does not have these two capabilities.
  • Some third party modules with incomplete backup/restore will not work with the Sharing Cart and may produce fatal errors. Here is what to do.Sharing Cart/Project Format Errors
  • If you make an administrator setting to enable "split restore" (Admin block>>Miscellaneous>>experimental>>split restore), the Sharing Cart will not work properly. To make it work, turn off split restore.
  • For future versions, depending on funding, we wonder if there is interest to build a locking mechanism to prevent the Sharing Cart from copying commercial works or items that the author does not want copied.

Issues to Consider

  • The Sharing Cart uses core code in 3.x that has had significant issues, which we expect will be fixed in Moodle 4.0 and 4.1. The legacy issues are: MDL-12403: Minimize questions in Question Bank-original “Backup/Import of single quiz includes all questions in database” Bug—critical; MDL-41924: Minimize questions in Question Bank-new; MDL-19721: Put Sharing Cart into core. Voting for these issues may help the Sharing Cart provide better performance and user satisfaction. These issues are likely resolved in the roadmap for Moodle 4.0, due in late 2021.
  • Moodle has a sophisticated system of permissions for the Question Bank. Question categories can be limited to certain teachers. The Sharing Cart operates on the assumption that sharing of questions is desirable and little control is needed. We do not know all possible results that may happen if questions are copied and duplicated. For example, if the question was originally limited to a "Course" category, will it share perfectly to other courses and students? Please report to us any problems you find concerning this question. Before, we were recommending sharing questions with the "System" level question category because the philosophy of Moodle of collaboration and sharing. However, due to a long-standing bug in Moodle core, if you keep thousands of questions at the System level, it will slow down all sharing of quizzes, even to the point of crashing backup/restore.
  • Finally, if your administration wishes to have a high degree of control of questions and activities, the Sharing Cart may be too easy-to-use. In terms of site user policies, we believe sharing permissions should be broadly applied not just to administrators, but to all teachers. Your policy on sharing depends on your institutional culture and values.

Legacy Repository Connection in Moodle 1.9

Setup Repository Connection A custom repository for Moodle 1.9 was created in 2009 and connected with Sharing Cart 1.9, release 6--this was only set up for one repository—Moodle for Language Teaching. With the advent of the Moodle Hub in version 2.x, the custom repository of 1.9 was no longer needed. The link shows legacy instructions for connecting the Repository with Sharing Cart in 1.9

Maintainers

Moodle Partner Praxis of Denmark is now the primary maintainer of the Sharing Cart, with continuing support by Don Hinkelman, Alex Bias and others. The designers of this block were Don Hinkelman and Andy Johnson of the Moodle Association of Japan. This block was originally programmed by Akio Ohnishi and Tomonori Maruyama at Version2 Educational Web Development and released under GPL. Ponlawat Weerapanpisit contributed the section copy feature in 2017–2018. Tue Korsgaard and the programming staff of Praxis became a maintainer from November 2019. Funding has been provided by Sapporo Gakuin University, the University of Ulm, the Japan Association of Language Teaching—CALL SIG, and the Moodle Association of Japan. We welcome other contributors and especially thank Praxis for donating their time and doing a long-needed overhaul. For issues and suggestions, please contact Don and Tue on the Sharing Cart GitHub here (https://github.com/donhinkelman/moodle-block_sharing_cart) or directly (hinkelman at mac.com).

See also