Coder Social home page Coder Social logo

learnweb / moodle-block_groups Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 5.0 306 KB

:family: A moodle block that displays the groups in which a user is enrolled

PHP 68.19% CSS 1.28% JavaScript 14.66% Gherkin 15.87%
collaboration groups moodle organization students

moodle-block_groups's People

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

moodle-block_groups's Issues

Adjust the name that is displayed as the block title

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 ๐Ÿ˜‰ )

Upgrade Script for creation of block_groups_hide table

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:

  • git checkout 188e3d6
  • Drop database and reinstall moodle
  • Add at least one instance of block_groups
  • git checkout master
  • Update moodle and view block_groups

Add a simple README.md file

containing

  • TravisCI badge
  • name, authors, and purpose of the block
  • (missing) link to Moodle plugin directory
  • Screenshots comparing teachers' and students' views
  • Installation instructions

Adding possibility to set all groups visible or invisible with one click

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:

  • It would be nice if the admin and / or teacher could set the default behaviour if groups should be hidden or shown initally.
  • Make it possible to hide / show groupings and with it also show / hide all existent and future new groups that belong to that grouping.

Cheers,
Kathrin

Add Lizenz to the project and all files

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/.

No need for block/groups:myaddinstance

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.

Nice-to-have: Enable teachers to hide certain groups or groupings

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.

Nice-to-have: Group communication features

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:

  1. The teacher does not want students to be able to see other members of their groups.
  2. The teacher wants students to be able to see other members, but only for selected groups or only for groups that are in selected groupings.

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.

Heading whitespace in $string['brackets']

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.

SQL query inside foreach loop body

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.

Error Message every time setting a course to visible / invisible

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

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.