learnweb / moodle-block_groups Goto Github PK
View Code? Open in Web Editor NEW:family: A moodle block that displays the groups in which a user is enrolled
:family: A moodle block that displays the groups in which a user is enrolled
Currently, if no groups are defined, the block is displayed empty to teachers and students.
However, for teachers, it would be convenient if the "modify groups" link would always show, so that teachers can easily access the group/grouping management page.
Which one is better / encouraged by Moodle?
https://github.com/learnweb/moodle-block_groups/blob/master/block_groups.php#L135 vs. https://github.com/learnweb/moodle-block_groups/blob/master/block_groups.php#L92
I am not sure which one should be used, but I'd suggest not to use both.
Currently, the title of the block reads "Groups and Groupings". For most people, only their groups are displayed, but not groupings.
Currently, I would suggest renaming the block title, e.g. into "Groups" or "My Groups".
(The latter would also be suitable for display to teachers: It is their own course, therefore every group is "their" group ๐ )
There are some changes to the moodle API in moodle 3.1.
Have a look here: https://docs.moodle.org/dev/Moodle_3.1_release_notes#For_developers
Interesting could be:
MDL-51700 - Ajax service should clean the return values of the external functions
MDL-46891 - Upgrade to behat 3.x
The database block_groups_hide is currently not created by the upgrade script. However, some moodle installations might have an old version block installed.
Test instructions:
containing
Hi there,
at the moment (Release v3.1-r1) all the groups are hidden in the Block when adding it to a course. The only way I found to set each group visible is by manually selecting each group and then clicking on the eye icon.
This is okay if I've got only a few groups in my course. However, in our university there are a lot of courses that have several hundred students enrolled and therefore also a whole bunch of groups. For this use case it's not such a good solution to manually activate each group.
I would suggest to make the groups visible as default by addding the block.
And then a function that enables to hide / show all groups with one click would be a nice feature.
[Edit:]
Further ideas:
Cheers,
Kathrin
Currently when the Groups and Groupings block is added to a course all groups are hidden.
This is suitable for the default behaviour since it prevents to unintentionally show groups to students.
However in some cases the teacher might be aware of that and wants to change the default behaviour, since he only wants to create visible groups.
Possible licence comment:
// This file is part of Moodle - http://moodle.org/
//
// Moodle 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.
//
// Moodle 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 Moodle. If not, see http://www.gnu.org/licenses/.
In its applicable_formats()
, the block correctly declares not to be used on personal dashboards. IIRC, there is no need to declare the capability block/groups:myaddinstance
then. It makes it only confusing.
Currently the visibility of groups can merely be changed for individual groups or for all groups.
Since the block also displays groupings it would be consequential to additionally change the visibility by selecting groupings. Then all groups belonging to one grouping could be changed with one click.
Remove
/**
Created by IntelliJ IDEA.
User: nina
Date: 16.03.16
Time: 09:31
*/
and add something like
/**
Prints a particular instance of ratingallocate
You can have a rather longer description of the file as well,
if you like, and it can span multiple lines.
@Package block_groups
@copyright 2016 N Herrmann
@license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
Teachers might want to use groups (or even groupings) for internal purposes only. In that case it is not desirable to communicate all groups to students.
Consequently, enable teachers hide groups, e.g. by creating settings that display a checkbox list of groupings. Disabling a grouping in the settings would indicate that all groups of that grouping should be hidden for students.
Currently groups that are deleted stay in the block_groups_hide table.
Now that we have a block which displays a student's groups, the following feature would be a nice addition:
For each group, display all (other) members that are also in that group. There could be one line per group member, displaying the member's name as well as a link ๐ง to send a message to that member.
This can become rather complex though; consider the following scenarios:
ad 2.: For example, each student might be assigned to two groups: One small exercise group, comprising people that collaborate on tasks and hand in assignments together, and one large attendance group, specifying e.g. a room & date, in which exercises are discussed in public. This scenario is rather common at our university. In this scenario, the teacher might want users to be able to see members of the former, since they are collaborating anyway, but not of the latter.
The string reads $string['brackets'] = ' ({$a})';
Although this may work for English, other translations made via AMOS at lang.moodle.org will not be able to have such whitespace. The code should never rely on a heading/trailing whitespace in Moodle strings.
The method build_grouping_array()
has the SQL query inside a foreach loop. It is generally considered as a very bad practise due to performance degradation on bigger scales. It is recommended to have constant amount of SQL queries.
In this example, there should be a single query that returns number of users per grouping for all groupings at once.
Hi,
I'm testing your plugin right now. However, every time, when I want to set a group to visible / invisble I get the error message "The required change was not possible".
When I reload the page the change was appllied though.
I'm operating on Moodle 3.1 and we're using Postgres.
Cheers,
Kathrin
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.