I just ran into something new. I was going to enable the Antibot module on an existing site that has been working fine for the last year. When I clicked on the Save Configuration button, I got the following message:

The entity_token module is missing, so the following modules will be disabled: rules_admin, rules.
Would you like to continue with the above?

Any ideas why I would be getting this message on an existing stable site. I suppose the easy thing to do would be to simply add the entity token module, but I'm curious about what is going on here? If Entity Token is required, how come I'm only getting this message now. 

Is this related to recent module or core updates?

Any thoughts?

Accepted answer

I agree with @oadaeh - this probably happened when Rules was upgraded without using the UI, or perhaps someone removed the file accidentally.

As a side note: Drupal (a few years ago) incorporated a check for missing module files and it currently shows a persistent message in all pages: 

User warning: The following module is missing from the file system

That never made it into Backdrop. The only time backdrop checks for missing files is when you open the module installer form. Perhaps that would be a good addition? I've been bitten by this a few times in the past. If your site doesn't need any of the missing file functions, you won't get any errors and the site will be functioning normally, even with the missing ones, which seems to be the case with yours.

Most helpful answers

This is definitely an issue that should be addressed. Your particular case (updating modules by pushing code via git) is pretty common. In this case, Rules did not require a database update, so Backdrop missed this dependency in the two places that this is being checked: when updating the database, or when installing via UI.

You were lucky that you did not have a rule that required Entity Token. Otherwise your sites would have failed.

Comments

I agree with @oadaeh - this probably happened when Rules was upgraded without using the UI, or perhaps someone removed the file accidentally.

As a side note: Drupal (a few years ago) incorporated a check for missing module files and it currently shows a persistent message in all pages: 

User warning: The following module is missing from the file system

That never made it into Backdrop. The only time backdrop checks for missing files is when you open the module installer form. Perhaps that would be a good addition? I've been bitten by this a few times in the past. If your site doesn't need any of the missing file functions, you won't get any errors and the site will be functioning normally, even with the missing ones, which seems to be the case with yours.

Thanks. We don't update the site through the UI. Our practice is to push the updated code via git and then run update.php.

Maybe we somehow missed this, although Backdrop is not asking for a database update now?

I'll just go ahead and add the required module now.

This is definitely an issue that should be addressed. Your particular case (updating modules by pushing code via git) is pretty common. In this case, Rules did not require a database update, so Backdrop missed this dependency in the two places that this is being checked: when updating the database, or when installing via UI.

You were lucky that you did not have a rule that required Entity Token. Otherwise your sites would have failed.

I also updated a site today, a work-in-progress site, so it's been a few months since I visited where the Update stalled and needed the Entity Token module installed.

I normally update sites via the UI... With it being a WIP site I never looked at the modules which needed updating, just updated (after a backup)... But I do remember Rules being one of them.

Hope this helps.