I would like to create a recipe (a module) that provides a user guide for site editors using the book module. One of the main requirements of this recipe or module would be that the content (book pages) is only visible to authenticated users.
I can't think of anyway to do this in core alone and there are 4 different content access contrib modules. (See my suggestion to add this ability to core -- and comment on the issue if you think it's a good idea): https://github.com/backdrop/backdrop-issues/issues/5634
Until that happens, I think I'll need to make my recipe dependent upon contrib module and configure that module in the module.install file.
I'm looking for suggestions:
1) Is there a way to accomplish my tasks in core using layouts and visibility rules (without a context access module)? I tried this, but I don't think it works.
2) If I need a content access module and my only need is make a single content type inaccessible to unauthenticated users, which one is the best (least overkill)?
3) Could or should I be doing this with a little custom code without a contrib module? Maybe add a boolean field to book pages that when "true" hides them from unauthenticated users and make it "true" by default. If I had such a setting, would it be easy enough to write code to hide these nodes? (Tips on what that code might look like would be appreciated).
"Content View Access" seem to provide exactly the permissions you need.
If you're looking for a solution without other contributed modules, you may set your Book content type to "Hide path display", show the content in a Views block and restrict access using visibility conditions.