Collaborative book writing is the single most important thing that drew me to Drupal.

As our intranet DrupalSite grows, we quickly outgrow the book and moderation permissions. What is needed:

  • Fine-grained book permissions, especially with multiple books. We currently have two books, with several more in the works. Each of these books requires a different set of "editors," with almost no overlap. People with the ability to edit one book should not have the ability to edit another. Also with approving changes: the site administrator should be able to give "administer book" privileges to different people based on the book. People allowed to view and rollback changes in one book should not be able to do it for another.
  • "Moderate book pages" permission. I'm not ready yet to enable moderation on the whole site wrt stories, comments, and the like, but book content definitely needs moderation. Page changes made by authors needs reviewed before it goes in to the book proper, but i don't want these same people to have to moderate everything, just book revisions.
  • Better book revisioning. To make it easier for editors to review book changes, revisions need listed side-by-side (or top-to-bottom) with changes clearly marked. Ideally this could be combined, for example marking new content in red and old content with strikethrough. It is difficult for some editors to review changes to book pages, particularly large ones, when all they have is a "view revision" link that opens the older version as a node.
CommentFileSizeAuthor
#5 drupal_14.02 KBTheLibrarian
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

moshe weitzman’s picture

Great suggestions eafarris. Your request for Moderation of just books and
not other content types will be available in 4.2. Everything else sounds
good, but isn't currently implemented.

Permissions for each book seems as easy as expanding the _perm() hook to add
read/write/administer permissions for each book and then add access checking
checking for these particular permissions in the _access() hook.

I'll bet that their are freely available php diff tools which will make
revision comparison a snap.

killes@www.drop.org’s picture

Looks as you might be interested in testing my groups module in contrib/sandbox/killes/groups for your first point. Only local images are allowed. ing" alt="Smil
ing" />

eafarris’s picture

There's a patch to book.module that attempts to implement per-book permissions in my sandbox:
http://cvs.drupal.org/viewcvs/contributions/sandbox/eafarris/book/?cvsroot=contrib

It's been tested, but not nearly enough.

ax’s picture

TheLibrarian’s picture

Assigned: Unassigned » TheLibrarian
FileSize
4.02 KB

Since this appears to have stagnated, I took the liberty of picking this up. Here's an updated version that applies to the current cvs. It also has a few improvements over the old version (doesn't throw SQL errors).

Dries’s picture

Using the book title in the permission name is prone to errors. I'd rather not proceed that way and wait for a (the) new permission system to be implemented.

Donovan’s picture

I am building a v4.4.0 site and would like to include the enhanced book controls discussed in this thread. How do I go about modifying the book module to include the code uploaded by "The Librarian"? Thx.

Crell’s picture

Version: » 6.x-dev
Status: Postponed » Fixed

I think the new book module overhaul includes better permissions. If not, the concepts and code here wouldn't come close to applying anymore anyway.

webchick’s picture

Version: 6.x-dev » 7.x-dev
Status: Fixed » Active

@Crell: Please quit marking features fixed that aren't. :P

"Fine-grained book permissions, especially with multiple books. We currently have two books, with several more in the works. Each of these books requires a different set of "editors," with almost no overlap. People with the ability to edit one book should not have the ability to edit another. Also with approving changes: the site administrator should be able to give "administer book" privileges to different people based on the book. People allowed to view and rollback changes in one book should not be able to do it for another."

We definitely do *not* have such a thing in the core book module. But, if we in the future abstract book outlines to generic content containers and provide access permissions on those, it would be a huge win.

Pushing to 7.x.

Crell’s picture

I thought that was added? Or was it considered and didn't make it? Bah, my bad. :-(

mechler’s picture

I'm trying very hard to find something that adds the features discussed here. I'm willing to work with Drupal 5 or 6 as I have virtual machines set up to test both along with which modules are available for each that suit my organization's needs. Books are currently the best way to lay out information hierarchically that I can find and the absence of the ability to define editors based on role (or even user list) is frustrating.

mdupont’s picture

Version: 7.x-dev » 8.x-dev
Issue tags: +access permissions
kattekrab’s picture

3 years ago bumped from 7 to 8 - one of the oldest feature requests in the queue.

Time to review, and move to 8.1 or 9?

I've been using book on a project recently, it's a rich and powerful feature. One challenge we've hit is how it interacts with workflow and revisions - so might be good to look at this again early in the next cycle.

kattekrab’s picture

Version: 8.0.x-dev » 8.1.x-dev
Assigned: TheLibrarian » Unassigned

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.0-beta1 has been released, which means new developments and disruptive changes should now be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

kattekrab’s picture

Does anyone still use book?

What do our stats show?

This is officially the oldest issue in our queue.

Perhaps the new work flow initiative might have some impact here too?

kattekrab’s picture

Version: 8.3.x-dev » 8.4.x-dev

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.0-alpha1 will be released the week of July 31, 2017, which means new developments and disruptive changes should now be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.0-alpha1 will be released the week of January 17, 2018, which means new developments and disruptive changes should now be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

dddbbb’s picture

@kattekrab I've been using Drupal since D6 and today I tried the book module in D8 for the first time ever. Right now it's the best fit for part of the project I'm currently working on. I'm currently swatting up on book related issues to get a feel for support & development of the module. I get the overwhelming feeling that it's not as popular as it once was!

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta was released on March 20, 2020. 8.9.x is the final long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

gagarine’s picture

Status: Active » Closed (outdated)

This is supported in contrib: https://www.drupal.org/project/book_access

We can close this issue, it's definitely outdated. If someone want to add this in core, it would be better to open a new one at this point. Especially as this issue is not granular enough and ask for multiple things.