Problem/Motivation

Group has been implelmented in Port l10n_groups (3292197), it must now be tested to confirm groups are isofunctional against D7 version.

Test roadmap:

Create users and test they have the correct permissions
- Outsider
- Member
- Translation self-moderator
- Translation community moderator
- Translation community manager 


Test Results:

Group roles :

Anonymous

Test permissions group i’m not member:

add story > no
make suggestions > no
moderate suggestion > no
self moderate > no

Outsider

see Test permissions group i’m not member tests of each role

Member

Note : The user is automatically accepted in group hence he can create group stories right after join), i think stories creation might be limited either by an higher group role or by a people role eg. confirmed (i guess we could eventually rely on community validation as it’s used on drupal.org to confirm. people are not spammers).

Test permissions in my group:

add story > yes
make suggestions > yes
moderate suggestion > no
self moderate > no

Test permissions group i’m not member:

add story > no
KO make suggestions > yes
moderate suggestion > no
self moderate > no

Translation self-moderator

Test permissions in my group:

add story > yes
make suggestions > yes
KO moderate suggestion > no
KO self moderate > no

Test permissions group i’m not member:

add story > no
KO make suggestions > yes
moderate suggestion > no
self moderate > no

Translation community moderator

Test permissions in my group:

add story > yes
make suggestions > yes
KO moderate suggestion > no
KO self moderate > no

Test permissions group i’m not member:

add story > no
KO make suggestions > yes
moderate suggestion > no
self moderate > no

Translation community manager

Test permissions in my group:

add story > yes
make suggestions > yes
KO moderate suggestion > no
KO self moderate > no

Test permissions group i’m not member:

add story > no
KO make suggestions > yes
moderate suggestion > no
self moderate > no

Admin

Test permissions in my group:

add story > yes
make suggestions > yes
moderate suggestion > yes
self moderate > yes

Test permissions group i’m not member:

add story > no
KO make suggestions > yes
moderate suggestion > no
self moderate > no

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

ericdsd created an issue. See original summary.

ericdsd’s picture

Issue summary: View changes
ericdsd’s picture

Title: Test group implementation » Test l10n groups implementation
Issue summary: View changes
Parent issue: » #3363374: [META] Localize server 3.0.x roadmap
ericdsd’s picture

Issue summary: View changes
ericdsd’s picture

Issue summary: View changes
ericdsd’s picture

Issue summary: View changes
ericdsd’s picture

Issue summary: View changes
ericdsd’s picture

Issue summary: View changes
ericdsd’s picture

Issue summary: View changes
fmb’s picture

Eric, can you test again? I pushed new permissions, so that group admins no longer can delete their own group (but global admins will be able to delete groups even when they are not members).

ericdsd’s picture

I'll test it asap

ericdsd’s picture

New round of tests during Perpignan Barcamp :

Outsider

see Test permissions group i’m not member tests of each role

Member

Note : The user is automatically accepted in group hence he can create group stories right after join), i think stories creation might be limited either by an higher group role or by a people role eg. confirmed (i guess we could eventually rely on community validation as it’s used on drupal.org to confirm. people are not spammers).

Test permissions in my group:
add story > yes OK

Can create stories in his groups but cannot edit or delete those is it normal ?

make suggestions > yes Ok
moderate suggestion > no OK
self moderate > no OK

Test permissions group i’m not member:
add story > no OK
make suggestions > no OK

moderate suggestion > no OK

self moderate > no OK

Translation self-moderator

Test permissions in my group:
add story > yes OK

make suggestions > yes OK

moderate suggestion > yes OK

self moderate > yes OK

Can create stories in his groups but cannot edit or delete those is it normal ?

Test permissions group i’m not member:
add story > no OK

make suggestions > no OK

moderate suggestion > no OK

self moderate > no OK

Translation community moderator

Test permissions in my group:
add story > yes OK

make suggestions > yes
 OK
moderate suggestion > yes OK

self moderate > no OK ?

Can create stories in his groups but cannot edit or delete those is it normal ?

Test permissions group i’m not member:
add story > no OK

make suggestions > no OK

moderate suggestion > no OK

self moderate > no OK

Translation community manager

Test permissions in my group:
add story > yes OK

make suggestions > yes OK

moderate suggestion > no KO

self moderate > no KO


Maybe it's ok not to allow moderation and is intended to be used alonside with Translation community moderator when needed (which would make sense imho), can you confirm ?

Can create stories in his groups and edit or delete any stories in his groups OK

Test permissions group i’m not member:
add story > no OK
make suggestions > yes OK

moderate suggestion > no OK

self moderate > no OK

Admin

Test permissions in my group:
add story > yes OK

make suggestions > yes OK

moderate suggestion > no KO ?

self moderate > no KO ?

Test permissions group i’m not member:
add story > no OK

make suggestions > no OK

moderate suggestion > no OK

self moderate > no OK
Can edit his groups > OK
Can manage groups members OK

Can create stories in his groups and edit or delete any stories in his groups OK

Questions :
NOTE: a group member doesn't have a link to leave a group is it normal ?

Any authentificated user has import tab avalilable on all groups (even when not in this group) bu the import trigger the following error
The website encountered an unexpected error. Try again later.

TypeError: Drupal\file\Upload\FileUploadHandler::handleExtensionValidation(): Return value must be of type string, null returned in Drupal\file\Upload\FileUploadHandler->handleExtensionValidation() (line 431 of core/modules/file/src/Upload/FileUploadHandler.php).
Drupal\file\Upload\FileUploadHandler->handleFileUpload(Object, Array, 'temporary://', Object, ) (Line: 660)
file_save_upload('file', Array, 'temporary://', 0) (Line: 143)
Drupal\l10n_community\Form\ImportForm->submitForm(Array, Object)

fmb’s picture

Issue tags: +BarCampPerpignan2025
fmb’s picture

@ericdsd thanks! Could you please review #3437137: Translation suggestion creation and moderation don't provide group permission first, and perhaps amend your report, as I fear there might be interferences between both issues?

For the record, you will need to configure group permissions at /admin/group/types/manage/translation/permissions#module-l10n_groups (since the MR is not merged yet, I cannot provide the corresponding configuration, which is stored in another repo).

fmb’s picture

NOTE: a group member doesn't have a link to leave a group is it normal ?

No, it is not. I created #3547963: Incomplete block.

fmb’s picture

Any authentificated user has import tab avalilable on all groups (even when not in this group) bu the import trigger the following error
The website encountered an unexpected error. Try again later.

TypeError: Drupal\file\Upload\FileUploadHandler::handleExtensionValidation(): Return value must be of type string, null returned in Drupal\file\Upload\FileUploadHandler->handleExtensionValidation() (line 431 of core/modules/file/src/Upload/FileUploadHandler.php).
Drupal\file\Upload\FileUploadHandler->handleFileUpload(Object, Array, 'temporary://', Object, ) (Line: 660)
file_save_upload('file', Array, 'temporary://', 0) (Line: 143)
Drupal\l10n_community\Form\ImportForm->submitForm(Array, Object)

We are currently investigating on this one.

fmb’s picture

Member

Note : The user is automatically accepted in group hence he can create group stories right after join), i think stories creation might be limited either by an higher group role or by a people role eg. confirmed (i guess we could eventually rely on community validation as it’s used on drupal.org to confirm. people are not spammers).

This is how it is currently configured. Now, how relevant this is, we may wonder.

Test permissions in my group:

add story > yes OK

Can create stories in his groups but cannot edit or delete those is it normal ?

I added the edit permission, but deletion is currently not allowed, maybe for good reason.

Translation community moderator

Test permissions in my group:

add story > yes OK


make suggestions > yes
 OK

moderate suggestion > yes OK


self moderate > no OK ?

Can create stories in his groups but cannot edit or delete those is it normal ?

Now they should be able to edit stories (but not to delete them).

Translation community manager

Test permissions in my group:

add story > yes OK


make suggestions > yes OK


moderate suggestion> no KO


self moderate > no KO


Maybe it's ok not to allow moderation and is intended to be used alonside with Translation community moderator when needed (which would make sense imho), can you confirm ?

You are right, this is the job of the translation community moderator.

Admin

Test permissions in my group:

add story > yes OK


make suggestions > yes OK


moderate suggestion > no KO ?


self moderate > no KO ?

I have just added this permission.

  • fmb committed b8d69380 on 3.0.x
    [#3395640] fix: turn permission into group permission
    
fmb’s picture

Any authentificated user has import tab avalilable on all groups (even when not in this group)

This should now be fixed.

  • fmb committed 98812822 on 3.0.x
    [#3395640] fix: restrict import file uploads to .po extension
    
    See https...
fmb’s picture

the import trigger the following error
The website encountered an unexpected error. Try again later.

TypeError: Drupal\file\Upload\FileUploadHandler::handleExtensionValidation(): Return value must be of type string, null returned in Drupal\file\Upload\FileUploadHandler->handleExtensionValidation() (line 431 of core/modules/file/src/Upload/FileUploadHandler.php).
Drupal\file\Upload\FileUploadHandler->handleFileUpload(Object, Array, 'temporary://', Object, ) (Line: 660)
file_save_upload('file', Array, 'temporary://', 0) (Line: 143)
Drupal\l10n_community\Form\ImportForm->submitForm(Array, Object)

So should this one (related to #3403253: Simplify how 'allow all extensions' file upload validation works). We now only allow .po file, I hope this is not too restrictive.

fmb’s picture

Status: Active » Needs review
guiu.rocafort.ferrer’s picture

guiu.rocafort.ferrer’s picture

Issue summary: View changes

I performed the test on the 3.0.x development branch, and those are the results:

Anonymous member

Add story NO
Make suggestions NO
Moderate suggestions NO
Self Moderate NO

Outsider

Add story NO
Make suggestions NO
Moderate suggestions NO
Self Moderate NO

Group Member

Permissions in my group

Add Story YES
Make suggestions YES
Moderate suggestions NO
Self Moderate NO

Permissions in another group

Add Story NO
Make suggestions NO
Moderate suggestions NO
Self Moderate NO

Translation self-moderator

Permissions in my group

Add Story YES
Make suggestions YES
Moderate suggestions NO
Self moderate YES

Permissions in another group

Add Story NO
Make suggestions NO
Moderate suggestions NO
Self moderate NO

Translation community moderator

Permissions in my group

Add Story YES
Make suggestions YES
Moderate suggestions YES
Self moderate NO

Permissions in another group

Add Story NO
Make suggestions NO
Moderate suggestions NO
Self moderate NO

Translation community manager

Permissions in my group

Add Story YES
Make suggestions YES
Moderate suggestions NO
Self moderate NO

Permissions in another group

Add Story NO
Make suggestions NO
Moderate suggestions NO
Self moderate NO

Admin

Permissions in my group

Add Story YES
Make suggestions YES
Moderate suggestions YES
Self moderate YES

Permissions in another group

Add Story NO
Make suggestions NO
Moderate suggestions NO
Self moderate NO

guiu.rocafort.ferrer’s picture

Assigned: guiu.rocafort.ferrer » Unassigned
fmb’s picture

Status: Needs review » Fixed
Issue tags: +Vienna2025

Thanks for the recap!

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.