- Issue created by @safetypin
- πΊπΈUnited States safetypin Memphis, Tennessee
I've also just noticed that I'm missing several tabs on group entities: I'm missing at least the Members tab.
- πΊπΈUnited States caesius
I don't believe there is an upgrade path from 2.x to 3.x, so an upgrade should not be expected to work. The project page states the following:
2.x.x Drupal 9 / 10 Upgrade path from 8.x-1.x
3.x.x Drupal 9 / 10 For fresh installsVersion 3 does not have an upgrade path from version 2 or version 1 as it requires a migration.
- πΊπΈUnited States caesius
This looks like a duplicate of β¨ Document experiences for manual Group 2.x to 3.x update Active
- πΊπΈUnited States safetypin Memphis, Tennessee
Ah, thanks for pointing that out. I don't think I realized there wasn't an upgrade path from 2->3. Unfortunately, this error doesn't appear to be specific to 3.x, as I reverted my database, reapplied the patch, ran the database updates again, and I'm still seeing this error.
I've edited the summary and title, and replaced the old error with the new just to be sure.
- πΊπΈUnited States safetypin Memphis, Tennessee
I'm continuing to experience this when attempting to viewing group members. I'm also just noticing that this is a views error, and I don't see any reference to Group code in this error.
- πΊπΈUnited States safetypin Memphis, Tennessee
I'm also experiencing this error when saving any node on the site, regardless of whether the node is related to a group:
Error: Class "Drupal\group\Entity\GroupContent" not found in gnode_tokens() (line 63 of modules/contrib/group/modules/gnode/gnode.tokens.inc). gnode_tokens('node', Array, Array, Array, Object) call_user_func_array(Object, Array) (Line: 426) Drupal\Core\Extension\ModuleHandler->Drupal\Core\Extension\{closure}(Object, 'gnode') (Line: 405) Drupal\Core\Extension\ModuleHandler->invokeAllWith('tokens', Object) (Line: 433) Drupal\Core\Extension\ModuleHandler->invokeAll('tokens', Array) (Line: 359) Drupal\Core\Utility\Token->generate('node', Array, Array, Array, Object) (Line: 241) Drupal\Core\Utility\Token->doReplace(1, '[node:group:url:path]/[node:menu-link:parents:join-path]/[node:title]', Array, Array, Object) (Line: 191) Drupal\Core\Utility\Token->replace('[node:group:url:path]/[node:menu-link:parents:join-path]/[node:title]', Array, Array, Object) (Line: 228) Drupal\pathauto\PathautoGenerator->createEntityAlias(Object, 'update') (Line: 381) Drupal\pathauto\PathautoGenerator->updateEntityAlias(Object, 'update') (Line: 93) pathauto_entity_update(Object) call_user_func_array(Object, Array) (Line: 426) Drupal\Core\Extension\ModuleHandler->Drupal\Core\Extension\{closure}(Object, 'pathauto') (Line: 405) Drupal\Core\Extension\ModuleHandler->invokeAllWith('entity_update', Object) (Line: 433) Drupal\Core\Extension\ModuleHandler->invokeAll('entity_update', Array) (Line: 251) Drupal\Core\Entity\EntityStorageBase->invokeHook('update', Object) (Line: 900) Drupal\Core\Entity\ContentEntityStorageBase->invokeHook('update', Object) (Line: 598) Drupal\Core\Entity\EntityStorageBase->doPostSave(Object, 1) (Line: 781) Drupal\Core\Entity\ContentEntityStorageBase->doPostSave(Object, 1) (Line: 523) Drupal\Core\Entity\EntityStorageBase->save(Object) (Line: 804) Drupal\Core\Entity\Sql\SqlContentEntityStorage->save(Object) (Line: 339) Drupal\Core\Entity\EntityBase->save() (Line: 270) Drupal\node\NodeForm->save(Array, Object) call_user_func_array(Array, Array) (Line: 114) Drupal\Core\Form\FormSubmitter->executeSubmitHandlers(Array, Object) (Line: 52) Drupal\Core\Form\FormSubmitter->doSubmitForm(Array, Object) (Line: 597) Drupal\Core\Form\FormBuilder->processForm('node_page_edit_form', Array, Object) (Line: 325) Drupal\Core\Form\FormBuilder->buildForm(Object, Object) (Line: 73) Drupal\Core\Controller\FormController->getContentResult(Object, Object) call_user_func_array(Array, Array) (Line: 123) Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 580) Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 124) Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97) Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 169) Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 81) Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 58) Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 106) Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85) Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23) Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 718) Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
Hi everyone. Any one of you has resolve this problem please? I have the same erroer after upgrading the version of group module from 1.6 to 2.2.2
- πΊπΈUnited States gintass
I get the same error. Downgraded to Group 8.x-1.6
- Status changed to Postponed: needs info
10 months ago 1:17pm 15 January 2024 - π§πͺBelgium kristiaanvandeneynde Antwerp, Belgium
Could any of you please answer the questions in:
Please read this carefully before posting
I am missing steps to reproduce on a clean install, whether you used any invasive patches, ...
- πΊπΈUnited States adriancotter
Seems like there might be a few different things being listed in this issue:
-
For the general access issues tabs and actions available -- this I think is related to the fact that User1 no longer has automatic access to Group content. More info here: https://www.drupal.org/project/group/issues/3315050 π¬ Sitewide Administrator permissions not working Closed: works as designed
-
Given SafteyPin's errors list involving gnode token, I am wondering if people are using the patch for tokens and have not updated that patch to the relevant version?
https://www.drupal.org/project/group/issues/2774827 π¬ Get a token of a node's parent group to create a pathauto pattern Needs work -
Regarding the views errors - I did have a couple of views that I had tweaked in 1.5 that I had to fix after updating. I think i had to fix (remove and replace) either something in the relationship or context to resolve the error. I don't have the specifics of the fix but the views were group_members and group_content_manager
-
This is because the name of the group_content entity has changed to group_relationship and now the default views are broken.
- Edit the view.
- replace the broken relationship
- replace the fields that depend on that relationshipsHere is a fixed group_nodes view
uuid: 4c27da85-1f92-4a05-a203-c51b64d562f4 langcode: en status: true dependencies: module: - gnode - group - node _core: default_config_hash: gaGmFmRD44_m6vknBrbshxFCgsNUoxifIJvjd2Q-d5I id: group_nodes label: 'Group nodes' module: gnode description: 'Lists all of the nodes that have been added to a group.' tag: '' base_table: node_field_data base_field: nid display: default: id: default display_title: Master display_plugin: default position: 0 display_options: title: Nodes fields: title: id: title table: node_field_data field: title relationship: none group_type: group admin_label: '' entity_type: node entity_field: title plugin_id: field label: Title exclude: false alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: false ellipsis: false more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true click_sort_column: value type: string settings: link_to_entity: true group_column: value group_columns: { } group_rows: true delta_limit: 0 delta_offset: 0 delta_reversed: false delta_first_last: false multi_type: separator separator: ', ' field_api_classes: false type: id: type table: node_field_data field: type relationship: none group_type: group admin_label: '' entity_type: node entity_field: type plugin_id: field label: 'Content type' exclude: false alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true click_sort_column: target_id type: entity_reference_label settings: link: false group_column: target_id group_columns: { } group_rows: true delta_limit: 0 delta_offset: 0 delta_reversed: false delta_first_last: false multi_type: separator separator: ', ' field_api_classes: false status: id: status table: node_field_data field: status relationship: none group_type: group admin_label: '' entity_type: node entity_field: status plugin_id: field label: Status exclude: false alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true click_sort_column: value type: boolean settings: format: custom format_custom_false: Unpublished format_custom_true: Published group_column: value group_columns: { } group_rows: true delta_limit: 0 delta_offset: 0 delta_reversed: false delta_first_last: false multi_type: separator separator: ', ' field_api_classes: false changed: id: changed table: node_field_data field: changed relationship: none group_type: group admin_label: '' entity_type: node entity_field: changed plugin_id: field label: Updated exclude: false alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true click_sort_column: value type: timestamp settings: date_format: short custom_date_format: '' timezone: '' tooltip: date_format: '' custom_date_format: '' time_diff: enabled: false future_format: '@interval hence' past_format: '@interval ago' granularity: 2 refresh: 60 group_column: value group_columns: { } group_rows: true delta_limit: 0 delta_offset: 0 delta_reversed: false delta_first_last: false multi_type: separator separator: ', ' field_api_classes: false view_group_relationship: id: view_group_relationship table: group_relationship field: view_group_relationship relationship: group_relationship group_type: group admin_label: '' entity_type: group_relationship plugin_id: entity_link label: View exclude: false alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true text: view output_url_as_text: false absolute: false edit_group_relationship: id: edit_group_relationship table: group_relationship field: edit_group_relationship relationship: group_relationship group_type: group admin_label: '' entity_type: group_relationship plugin_id: entity_link_edit label: Edit exclude: false alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true text: edit output_url_as_text: false absolute: false delete_group_relationship: id: delete_group_relationship table: group_relationship field: delete_group_relationship relationship: group_relationship group_type: group admin_label: '' entity_type: group_relationship plugin_id: entity_link_delete label: Delete exclude: false alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true text: delete output_url_as_text: false absolute: false edit_node: id: edit_node table: node field: edit_node relationship: none group_type: group admin_label: 'Edit node link' entity_type: node plugin_id: entity_link_edit label: 'Link to edit Content' exclude: true alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true text: 'Edit node' delete_node: id: delete_node table: node field: delete_node relationship: none group_type: group admin_label: 'Delete node link' entity_type: node plugin_id: entity_link_delete label: 'Link to delete Content' exclude: true alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true text: 'Delete node' dropbutton: id: dropbutton table: views field: dropbutton relationship: none group_type: group admin_label: '' plugin_id: dropbutton label: Operations exclude: false alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true destination: true fields: view_group_content: view_group_content edit_group_content: edit_group_content delete_group_content: delete_group_content edit_node: edit_node delete_node: delete_node title: '0' type: '0' status: '0' changed: '0' pager: type: full options: offset: 0 items_per_page: 50 total_pages: null id: 0 tags: next: βΊβΊ previous: βΉβΉ first: 'Β« First' last: 'Last Β»' expose: items_per_page: false items_per_page_label: 'Items per page' items_per_page_options: '5, 10, 25, 50' items_per_page_options_all: false items_per_page_options_all_label: '- All -' offset: false offset_label: Offset quantity: 9 exposed_form: type: basic options: submit_button: Apply reset_button: false reset_button_label: Reset exposed_sorts_label: 'Sort by' expose_sort_order: true sort_asc_label: Asc sort_desc_label: Desc access: type: group_permission options: group_permission: 'access group_node overview' cache: type: tag options: { } empty: area_text_custom: id: area_text_custom table: views field: area_text_custom relationship: none group_type: group admin_label: '' plugin_id: text_custom empty: true content: 'No content available.' tokenize: false sorts: { } arguments: gid: id: gid table: group_relationship_field_data field: gid relationship: group_relationship group_type: group admin_label: '' entity_type: group_content entity_field: gid plugin_id: numeric default_action: 'access denied' exception: value: all title_enable: false title: All title_enable: true title: '{{ arguments.gid|placeholder }} nodes' default_argument_type: fixed default_argument_options: argument: '' default_argument_skip_url: false summary_options: base_path: '' count: true override: false items_per_page: 25 summary: sort_order: asc number_of_records: 0 format: default_summary specify_validation: false validate: type: none fail: 'not found' validate_options: { } break_phrase: false not: false filters: status: id: status table: node_field_data field: status relationship: none group_type: group admin_label: '' entity_type: node entity_field: status plugin_id: boolean operator: '=' value: '1' group: 1 exposed: true expose: operator_id: '' label: 'Published status' description: '' use_operator: false operator: status_op identifier: status required: true remember: false multiple: false remember_roles: authenticated: authenticated anonymous: '0' administrator: '0' group_admin: '0' is_grouped: true group_info: label: 'Published status' description: '' identifier: status optional: true widget: select multiple: false remember: false default_group: All default_group_multiple: { } group_items: 1: title: Published operator: '=' value: '1' 2: title: Unpublished operator: '=' value: '0' type: id: type table: node_field_data field: type relationship: none group_type: group admin_label: '' entity_type: node entity_field: type plugin_id: bundle operator: in value: { } group: 1 exposed: true expose: operator_id: type_op label: Type description: '' use_operator: false operator: type_op identifier: type required: false remember: false multiple: false remember_roles: authenticated: authenticated anonymous: '0' administrator: '0' group_admin: '0' reduce: false is_grouped: false group_info: label: '' description: '' identifier: '' optional: true widget: select multiple: false remember: false default_group: All default_group_multiple: { } group_items: { } style: type: table options: grouping: { } row_class: '' default_row_class: true columns: title: title type: type status: status changed: changed view_group_content: view_group_content edit_group_content: edit_group_content delete_group_content: delete_group_content edit_node: edit_node delete_node: delete_node dropbutton: dropbutton default: changed info: title: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' type: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' status: sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' changed: sortable: true default_sort_order: desc align: '' separator: '' empty_column: false responsive: '' view_group_content: sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' edit_group_content: sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' delete_group_content: sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' edit_node: sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' delete_node: sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' dropbutton: sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' override: true sticky: true summary: '' empty_table: true caption: '' description: '' row: type: fields options: default_field_elements: true inline: { } separator: '' hide_empty: false query: type: views_query options: query_comment: '' disable_sql_rewrite: false distinct: false replica: false query_tags: { } relationships: group_relationship: id: group_relationship table: node_field_data field: group_relationship relationship: none group_type: group admin_label: 'Content group relationship' entity_type: node plugin_id: group_relationship_to_entity_reverse required: true group_relation_plugins: { } header: { } footer: { } display_extenders: { } cache_metadata: max-age: -1 contexts: - 'languages:language_content' - 'languages:language_interface' - route.group - url - url.query_args - user.group_permissions - 'user.node_grants:view' tags: { } page_1: id: page_1 display_title: Page display_plugin: page position: 1 display_options: display_extenders: { } path: group/%group/nodes menu: type: tab title: Nodes description: '' weight: 25 enabled: true expanded: false menu_name: main parent: '' context: '0' cache_metadata: max-age: -1 contexts: - 'languages:language_content' - 'languages:language_interface' - route.group - url - url.query_args - user.group_permissions - 'user.node_grants:view' tags: { }
- π§πͺBelgium kristiaanvandeneynde Antwerp, Belgium
This is because the name of the group_content entity has changed to group_relationship and now the default views are broken.
Not in 2.x.x, which this issue is about :)
- π³π΅Nepal lalustine
Hi all, i am also facing issues like after running "drush updb" command, its not listing all the groups and when you view groups, lots of tabs are missing.
- πΊπΈUnited States safetypin Memphis, Tennessee
@lalustine, the issues I was experiencing were due to integrating the (unsupported) patch that allowed group to support config entities, such as menus. Are you also using that config entities patch?
- π³π΅Nepal lalustine
@safetypin i am not using any kind of patches. Can it be due to permission issues?
- πΊπΈUnited States safetypin Memphis, Tennessee
That is the most likely issue since you're not using patches. The newest version of Group does not allow User 1 (root/admin) any special permissions by default. You must create an admin role for the group type, and synchronize permissions from the group Role to the Drupal role.
Each Group Type has its own permissions system with its own unique roles, separate from Drupal roles. You must synchronize the permissions between the group type role and the core drupal role in order to have full permissions inside the group. Also, you may want to keep your admin account outside of each group, and setup an 'outside administrator' role for the group type so you won't need to add yourself as a member to every single group but you can still administer every single group from a single account.
The big picture is: the group module takes security very seriously, and has a "Trust No One" attitude in order to create a more secure system. You must work inside the group type permissions to give permissions for those groups to any administrative account (inside or outside the groups). This may be explained better in the documentation.