abgreeve / moodle-block_stash Goto Github PK
View Code? Open in Web Editor NEWThis project forked from fmcorz/moodle-block_stash
Engage your students! Gamify your courses by hiding objects for your students to find.
This project forked from fmcorz/moodle-block_stash
Engage your students! Gamify your courses by hiding objects for your students to find.
Hello,
to enhance collaboration among students it would be great if items could be exchanged between users. That way, they could have the need to combine various sources of items for a "great whole".
Kind regards
Hi @abgreeve,
Following on the comments left on moodle.org.
"As of PHP 8.1.0, when a method using static variables is inherited (but not overridden), the inherited method will now share static variables with the parent method. This means that static variables in methods now behave the same way as static properties."
Ref: https://www.php.net/manual/en/language.variables.scope.php#language.variables.scope.static
The core persistent was fixed in:
https://tracker.moodle.org/browse/MDL-73420
We should ditch that bad idea of mine to use a copy of persistent. I'm happy to help migrating away from it.
Maybe there already is a way to do this. If not: it would be great to export the items and trades one made in one couser to use it in other courses as well (without exporting the whole course because the other courses might have a totally different template they are created from).
Best regards Simon
Issue from cborn in annother repository: We have a course using the Tiles Course Format, and the Stash items are not reacting to button clicks when a section is open in the overlay mode. Is there a workaround for this?
I´m using Tiles Course format too and have the same "problem". Would be happy about a solution :)
Your plugin is fantastic, but I think that it would even better if we could add or delete items manually to/from the stash of a particular user. Thnaks for your work
In some cases a teacher does not want the students to be able to share or exchange items with other users. So a setting to enable or disable sharing/exchanging might be an interesting feature.
It'ld like to see the possibility to restrict the access to an activity by "consuming an item". It would be similar to restrict the access by "having a specific item" (e.g. "key-for-second-attemt-of-activity-xy" and "key-for-second-attemt-of-activity-yz") but it would require the student actively to decide that he wants access to a specific activity by giving away a more generic item (e.g. use "key-of-second-attemps" with activity xy or yz).
The reason to request this feature is to provide the students with more meaningful choises for their learning process and reducing the workload teacher would have if they want to say: there is neither a master key that opens every activity forever nor am I willing to create a unique key for every activity and building a huge tradecenter where you can get all the keys.
As one possible solution a shortcode
was mentioned here. This shortcode
would have to be placed somewhere near to the locked activity.
Another posibility might be something like this availability plugin that works with a global credit field. One would have to alter the link to the credit so a field that holds the quantity of an item chosen during the restriction process.
Even less work for teachers would emerge in the following scenario: the shortcode
would toggle the reopen attemt on a specific assignment / activity (like the teacher could do manually). In this case there would be no need to have copies of activities that you can restrict access to.
A little more work would (but maybe more safe / easier <-- dunno if a shortcode set up by the teacher has the permission to change the state of the assignment; has the executed short code the rights of the student, teacher, or something else?) be the following: The student asks the teacher for reattempt and the teacher checks for a key in studends Stach. Then the teacher subtracts one item and opens the reattempt. This needs the feature from this request.
Similar to #7
When trade snippet is added into a "Page" activity within the moodle course, the Accept buttons are disabled and students are unable to trade.
Going to the tradecenter and clicking "select an item" fails with a console error.
Further debugging shows that this is due to a "non existing database" table, because of a hard coded database prefix in classes/swap_handler.php
in method get_swappable_items()
.
My experience using this plugin is being fantastic. For me, it is a mandatory plugin if you want to use gamification in Moodle. After using it, I have realized that it would be ver interesting to have a report containing all the operations (object achievement and trade) searchable for date and user. This woud help a lot when an user claim no to have received an object.
Thanks in advance
First time I am using stash in my course. Wow! It's fantastic!
I hope I did not miss something... well, is there a way to download ALL the stash reports for all the students? i.e., at the end of the course, I'd like to grade them according to it. I mean only to the final counters of each "coin" every student acquire
Thank you!
It appears following unit tests are broken, I ran the tests on 4.1 Moodle
core_privacy\privacy\provider_test::test_userdata_provider_implements_userlist with data set "block_stash" ('block_stash', 'block_stash\privacy\provider')
Failed asserting that false is true.
privacy/tests/privacy/provider_test.php:213
lib/phpunit/classes/advanced_testcase.php:80
vendor/phpunit/phpunit/phpunit:97
Hello!
I LOVE your great block stash.
Now I have a lot of items in the block and would at least like to transfer the setup to other courses with sharing cart.
Is there a way to implement this?
Saving the course and restore doesn´t work either.
Dear developer,
thanks for your great gamification plugin.
One tiny issue: It should not be possible for users to add stash blocks to course categories. This leads to an error that makes it impossible to use the concerning category unless the conflicting database entry is deleted.
Best regards
Andreas
Originally reported here: FMCorz#26
I am trying out this great plugin along with the availability plugin, and I cannot work out how to use a pick up in one course to unlock an activity in another course. Is this or is this not possible? Since at the moment only being able to "unlock" the activities in the same course works the same as unlocking once completing an activity, but I was hoping to be able to differentiate activity completion and item pick up so that they have different rewards so to speak.
Similarly I thought that it would be possible to be able to collect components from multiple courses which would then combine to become the single item, but this also only appears to be possible within in a single course, not from one course to another?
If it helps, an alternative could be to allow for users to be enrolled in courses once they have collected certain items, but I don't think that is possible as yet?
Please let me know what you think about the above. Thank you
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.