I am polishing a step by step script for myself to migrate a Drupal 7 site to Backdrop. I had all this working previously, but progress was chaotic and I don't know what I am doing different this time. When I try to access the configuration for the Content Access module, I get this error:
Indeed, I do not have cron jobs enabled as this is a temporary site. But it seems I should be able to do this manually. I have been to the Status Report page and have clicked Rebuild Permissions for the Node Access Permissions, with no improvement. It seems it's looking for a content_access_node_access_rebuild table in the database, which I can confirm does not exist.
Suggestions?
Comments
This seems to be a problem with an update hook that did not run when you upgraded your site from D7. The hook in question is
content_access_update_1004
, which should have run during upgrade. Or perhaps it did run, but failed to create that table.Try to manually run update.php again, as in
https://example.com/core/update.php
Inspect the database again to be sure that the table
content_access_node_access_rebuild
indeed does not existCheck the
system
table and look for the row that hascontent_access
in the module column - then check theschema_version
for that row. It should say 1005. If not, you have a problem. Check that you have the latest version ofcontent_access
(1.x-1.3.1)After running Update again, I get:
content_access_node_access_rebuild
still does not exist.schema version for that row is 7103.
Yes, the version is 1.x-1.3.1.
So with the schema version, what sort of problem do I have?
Note this previous question. I upgraded to the dev version as recommended.
https://forum.backdropcms.org/forum/drupal-7-migration-contentaccess-issue
Hi.
So, the update for content_access is not running. Otherwise you wouldn't have schema version 7103, and you would have that missing table.
One aspect of the latest version of the Backdrop version of the content_access module is that (unfortunately) it assumes that your D7 site had the dev version of content_access, instead of the latest version (7.x-1.3). This has been reported, but hasn't been fixed in the Backdrop version.
So, you could go back and install the dev version in your D7 site, then try the upgrade again.
Or, you could try and modify
content_access.install
in your Backdrop site, by changingreturn 7104;
toreturn 7103;
inside the functioncontent_access_update_last_removed()
, and then run update.php one more time. This last approach may be a bit risky, but you can give it a try and see what happens.As the link to the previous support question shows, I already upgraded to the dev version. And this failure is the result of that. A different failure than NOT having the dev version.
But my content_access needs are simple, so what I've now done is uninstall it, then reinstall it for a fresh start.
But now I see other problems: I have no admin access to existing content/basic pages. Nor the user list, for that matter. I am pretty sure I did on my first go 'round in figuring out the migration. I have ALL permission boxes checked for Administrators in the Permissions page.
What I DO have is links to Add Content, either an Article or a Basic Page. But no ability to edit them. For that matter, it's the same for users. /admin/content and /admin/people both show:
If this isn't a simple question I'll open another thread here.
Does backdrop have a super admin that's different than users assigned the administrator role? I am using a regular user assigned to the administrator role, not the "admin" account per se. This is because I am using the OpenID module I converted from the old Core OpenID module. Which is working pretty well FWIW.
Sort of. Backdrop has an administer role that can be granted specific permissions just like any other role with the exception of user/1. User/1 has access to every permission, whether or not other administrators do.
I believe this is a fail safe to make sure that an administrator does not accidentally lock themselve out of their own site, but removing an important adminstrator permission accidentally. Only user/1 can do everything, all the time. While we don't officially call this an account a Super Admin, effectively it is one.
https://docs.backdropcms.org/documentation/users-roles-and-permissions
OK, my ability to help here is pretty limited as the details are sparse, and your questions/problems keep shifting.
Content and User lists are both Views that get installed automatically into your active config folder when you run the Drupal upgrade. If something went really wrong with your upgrade, then you'll end up without those Views. Or if you somehow messed up the
files/config_XXX/active
folder of your installation (for example by deleting files in there) then you will lose the ability to see users and contents.You can reinstall those Views files by manually copying the file
views.view.node_admin_content.json
from the original pre-installation location (core/modules/node/config
) into yourfiles/config_XXXXX/active
folder. Same for theviews.view.user_admin.json
file. (Notice that the XXXX are typically a long hashed code unique to your installation).As for your question about super admin: no, Backdrop (or Drupal) do not have that.
I have no experience with the OpenID module, and do not know what that may do to your installation, your users, or your permissions.
Maybe someone else can help here. (We are all contributors to Backdrop typically during our spare time, not a support desk).
Thanks, that's really helpful. I never used Views in Drupal, so it was disabled when I started the latest migration cycle. I'll try your suggestion. The question about the super admin was a guess as to why I wasn't seeing content and people, but you've answered that question.
No, both those .json files are extant in the
files/config_XXXXX/active
folder.Views UI wasn't enabled. I did so, and now I can manage content and people.
Thanks!