The panopoly_pages module assigns some default permissions in panopoly_pages_modules_enabled(). This means that the installation of a profile fails if not all required modules are installed. In my case with the following notice:
Notice: Trying to get property of non-object in panopoly_pages_modules_enabled() (line 171 of /panopoly_pages/panopoly_pages.module).
Notice: Undefined index: administer panelizer node panopoly_page breadcrumbs in user_role_grant_permissions()
Because I noticed this during a failed site installation (and thus logging wasn't completely available), I haven't been able to troubleshoot this completely yet. So far it looks like 'administer panelizer node panopoly_page breadcrumbs'. means that panels_breadcrumbs is required. Which could mean that panels_breadcrumbs or panopoly_core should be added as a dependency. (Neither are part of my profile's makefiles.)
I'll try to leave a follow-up or patch when I know more.
| Comment | File | Size | Author |
|---|---|---|---|
| #15 | 2008762-panopoly_pages-missing-depedency-15.patch | 403 bytes | mpotter |
| #1 | 2008762-panopoly_pages-missing-depedency-1.patch | 1.08 KB | hefox |
Comments
Comment #1
hefox commentedpanopoly_core is needed for 'editor' role also, so that dependency should defiantly be added
Also need to clear a cache to get new panelizer permissions sometimes, patch attached
Comment #2
hefox commentedComment #3
xgmorkx commentedAny steps on how to reproduce this notice to test/review if it works on the latest code?
Comment #4
hefox commentedWell, it's fixed installing openatrium from install.php for several people, so that's one way to test.
Comment #5
xgmorkx commentedTried with latest code. On the Apps part during install I get a
But looks like a different issue to me. Guess we can close this then!
Comment #6
hefox commentedComment #7
hefox commentedHm, panopoly pages has been covering up for a bug in defaultconfig I think, #2043307: 'features.defaultconfig.inc' file never added during install -- what is 'group' key for?, the features flush cache isn't needed. May update the patch here later.
Comment #8
mpotter commentedStill actually getting this in OA2 even with this patch. So something else is going on. Will review the issue you linked for defaultconfig.
Comment #9
mpotter commentedHmm, I'm getting something slightly different than the original post I guess:
PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'rid' cannot be [error]
null: INSERT INTO {role_permission} (rid, permission, module) VALUES (:db_insert_placeholder_0,
:db_insert_placeholder_1, :db_insert_placeholder_2); Array
(
[:db_insert_placeholder_0] =>
[:db_insert_placeholder_1] => administer panelizer node panopoly_page breadcrumbs
[:db_insert_placeholder_2] => panelizer
)
in user_role_grant_permissions() (line 3076 of
/opt/clients/demo.openatrium.com/drupal/modules/user/user.module).
Comment #10
mpotter commentedAdded some debug statements and it looks like the code in panopoly_pages is running *before* the editor role in panopoly_core is created.
Comment #11
mpotter commentedLooks like this was originally discussed here: #1837312: Troubles Implementing Default Permissions for Panelizer. Not sure what has changed and why panopoly_core is not running first now.
Comment #12
mpotter commentedWondering how this ever worked. Defaultconfig does it's magic in defaultconfig_modules_installed(). So it seems that the 'editor' role would not get created until after modules are enabled. Thus, the panopoly_pages_modules_enabled() running before the roles are created in defaultconfig.
Comment #13
mpotter commentedLooks like this problem was resolved in #2043307: 'features.defaultconfig.inc' file never added during install -- what is 'group' key for? except this patch wasn't being applied to Open Atrium profile if you had an older version of git because it wasn't specifying git as the download method in the .make file. Fixed this and now it's getting past the panopoly_pages problem.
Moving this back to RTBC since panopoly_core is certainly a dependency.
Comment #14
mpotter commented#1837312: Troubles Implementing Default Permissions for Panelizer has a better solution for the cache clear. So all we really need here is the dependency.
Comment #15
mpotter commentedNew patch for just the dependency.
Comment #16
dsnopekAdding the "sprint" tag - we're going to focus on this for the next release!
Comment #17
mrfelton commentedThis has been committed to dev. Thanks.