mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-05 00:29:48 +03:00
[FEATURE REQUEST] Status / Review Workflow #403
Open
opened 2026-02-04 19:32:18 +03:00 by OVERLORD
·
45 comments
No Branch/Tag Specified
development
l10n_development
further_theme_development
release
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
No Label
🔨 Feature Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#403
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @noxify on GitHub (Aug 16, 2017).
Hi,
i would like to ask you, what you're thinking about a possibility to decide, who can publish a book/chapter/page directly and who can set only a status like "pending review" or something like that.
Current Situation
As a normal user with the permission to create new book/chapters/pages, I have the possibility to create a lot of records without any content.
For pages, there is the possibility to save it as draft, but not for books and chapters, they are immediately visible.
For a internal wiki, this handling is ok - but what if you want to keep control over the generated content?
Future situation / Idea
Like in other application (e.g. confluence), you have the possibility to decide, who can do what.
To keep it transparent, i had the idea to integrate something like a status workflow.
Symfony has a workflow component, which could help to make the possible transitions configuable based on your needs.
There is also a package for laravel: https://github.com/brexis/laravel-workflow
Maybe a bit overkill, but with this you, as admin, can decide, which status transitions are allowed in which area ( books / chapters / pages ).
Permissions
I think this is the hardest part of the (possible) implementation. I didn't found any documenation, how to setup a "security layer" inside the workflow engine.
My idea was to use the existing role/permission implementation. Maybe with an CLI command, we can read the config file and creating the permissions in a dynamic way.
The name of the permission could be: workflow__<transition_name>
With this, we can identify the already generated permissions (to delete not used permissions, in case that the workflow has been changed)
Based on the laravel example (as example), we could extend the Trait, which checks not only the next allowed transition but also the user permission.
Unknown
I haven't checked the code how the search engine is checking the page status or the visibility.
But if there is also a status on book / chapter level, we have to change this logic to ensure that non published records are not shown in the search result or via direct link.
Discussion
I know there are many other solutions to solve this, but instead of static status values, we can create a dynamic way to which allows us, to define our own status workflows without customizing.
Thanks!
Regards,
Marcus
@markchitty-bi commented on GitHub (Feb 13, 2018):
I'd like to second this request for a workflow feature!
does this seem like something that may be considered in the future? or is it a step away from your vision for the project?
@Dayflare commented on GitHub (Jul 1, 2019):
i would simplify this request a bit. I would create a group, put some users in it and there should be a permission to publish posts. Only users with this permission in a group can publish the created posts from the other users.
A supervisor is then able to check through the posts and publish them (display a list with all drafts?). Maybe he can also decline drafts with a comment visible for the original author to rework his post.
@janliskaretel commented on GitHub (Feb 14, 2022):
That will be a great feature. Is it currently on the roadmap?
@ssddanbrown commented on GitHub (Feb 14, 2022):
@janliskaretel No, this is currently not on the roadmap.
@nikkwong commented on GitHub (Jul 9, 2022):
What's the best workaround to achieve this since it doesn't currently exist? I have a wiki that I'm editing with a friend and we would like to be able to review changes to pages between us before they go live.
@ssddanbrown commented on GitHub (Jul 9, 2022):
@noxify I guess you could use BookStack webhooks, trigged upon page update/create, linked up with a system like Zapier to handle the webhook and add the page to a "To Review" list/spreadsheet. Could even append to some kind of "Review List" bookstack page using the BookStack REST API. Just throwing out ideas though.
@noxify commented on GitHub (Aug 13, 2022):
Yeah, webhooks could be a solution - since the request is 5 years old and based on the comments on other related issues, I'm not sure if it will be implemented.
I'm fine if the issue will be closed as "won't do" - or are there plans to implement something like that?
@aswgxf commented on GitHub (Aug 14, 2022):
I have a similar need for a review system, though mine is more of an ongoing review, and not a review before publishing need. My current plan is to use the tagging system to set certain tags on pages, and then write a script to check the pages for items needing review.
This would just be a cron job that runs every day that evaluates the review status of every page based on tags applied to the pages. Since the tags are in a key=value format this allows configuring the review requirements directly via the tags.
Tags:
I think it should also be possible to use the theming system to add a header to pages that are past due for review, though I haven't explored how to implement that yet.
@ssddanbrown commented on GitHub (Aug 14, 2022):
@noxify For now I'd rather keep this open, since it's something that pops up now and again, and we'll just end up with a new issue lacking historical context. Feel free to unsubscribe from notifications though if they are annoying.
@aswgxf If it helps, it's possible to define custom commands using our logical theme system, which you could then call from cron.
@alanmcseveney commented on GitHub (Sep 23, 2022):
I would like to upvote this request. We want moderation/editorial review of articles prior to publication for our internal Wiki. We employed a specific person to curate and manage Bookstack content, but we want other people to write their new or modificed articles “in place”, then submit for review.
Without editorial review, redundant data creeps in, obsolete data isn’t removed, and (the worst) unfinished articles are left in plain sight for others to stumble across.
@thefury24 commented on GitHub (Oct 18, 2022):
Ditto. Looking to migrate from Wordpress to this in a medical setting with education materials that needs to be moderated before publishing
@gdeflaux commented on GitHub (Jan 25, 2023):
Hi,
I suppose that the ability to create draft edits of a page, that can later be reviewed and published by an "approver" would be great.
Thanks for your consideration.
Cheers,
@forceco commented on GitHub (Feb 7, 2023):
Just wanted to leave a quick note of support on this as well. Same use case as others, wiki for a business, and would like to have managers approve edits before they become visible to everyone.
@A9G-Data-Droid commented on GitHub (Feb 9, 2023):
I am reviewing this software and I can't use BookStack without the ability to have draft edit and draft approve roles. We need some version control while also allowing users to submit drafts to approvers.
To me, this issue is related to #3440 and #776
@rokkondic commented on GitHub (Feb 27, 2023):
I would also like to see this feature added, as it would come in handy for our business use.
@francescostanziola commented on GitHub (Mar 3, 2023):
I am planning to use BookStack for my thesis project and this feature is something I am specifically looking for.
@wgaulke commented on GitHub (Mar 9, 2023):
We are using BookStack for a lot of internal documentation in our company. Amongst many other things, we document workflows and processes. Typically, such a documentation starts in a drafting phase and has multiple iterations util it reflects aspects of all involved shareholders sufficiently.
After that stage is reached the process should be marked as "stable". Future changes should put the document back in "drafting state"until it is marked as "stable" again.
It could be tricky to decide which version is displayed actually (always latest draft or only latest stable) when a user visits the site. For our purpose it would be sufficient if some kind of banner would notify the user that he is looking at a draft and not the official stable version. But that would be up for discussion.
In summary, having a status / review workflow would greatly support such kind of documentation work :)
@A9G-Data-Droid commented on GitHub (Mar 9, 2023):
@wgaulke The approved version is always displayed first. There would be a bright red PENDING DRAFT button on the side near the previous versions button that would light up when a draft is available.
It would be beneficial if there was also a Deprecated state to remove an approved document that has a dangerous error. This is the only situation where the draft would be shown first, with the DRAFT banner at the top. The deprecated document would be found in previous versions with the Deprecated mark on it.
This allows you to "redline" a document that has a safety issue it in. There are times when you need to pull dangerous instructions before the next draft is approved. This makes it clear to everyone that there is a problem and they need to proceed with caution.
If the draft showed in a diff view then it would be clear what dangerous passage was removed because it would be shown with a red line crossing it out and the new passage. This allows the reader to see what the problem was, and ask about it if needed.
This feature is safety critical in my industry. This is also the reason that I can't use Bookstack for certain document types. I can only use it for documents that don't have a mandatory approval process.
@wokawoka commented on GitHub (Apr 3, 2023):
I would also be very interested in the implementation of this feature
@fbesanger commented on GitHub (May 9, 2023):
Pleeaaassseee, can you add a workflow feature in Bookstack. It will be great !!!
Thanks in advance ;)
@babolab commented on GitHub (Jul 18, 2023):
Hi,
+1 on this request : my organisation is choosing a way to share knowledge among all her users. Reviewing and approving creations and modifications of pages by a moderator role is mandatory to ensure that no error will take place inside knowledge base
@cactus264 commented on GitHub (Jul 31, 2023):
Good afternoon.
We also really need a feature in which the moderator could publish the page after verification. So that employees can adhere to a single standard for creating pages.
Could you tell me how soon we can expect this implementation
@acremonezi commented on GitHub (Sep 7, 2023):
@ssddanbrown
This feature would make bookstack better to store ISO9001 business process documentation for example.
Should be fantastic to have approval workflow implemented in any anyway.
Best regards!
@ssddanbrown commented on GitHub (Oct 30, 2023):
Please just add a 👍 reaction to the original post instead of padding this out with +1 comments. Any such comments will be removed.
@asaglam76 commented on GitHub (Nov 12, 2023):
Think, its the Most Missing Feature to make it professionell
@racquemis commented on GitHub (Nov 15, 2023):
Several users within my organization have been asking about this feature. It would absolutely make bookstack the perfect tool for us. I hope this feature request will make it on the roadmap soon.
@HorithC commented on GitHub (Jan 11, 2024):
Our organization is currently using the system and finds it invaluable. We greatly appreciate the functionalities that the system provides, contributing significantly to our daily operations.
This enhancement would not only improve the overall reliability of our documentation but also contribute to the effectiveness of our ISO 27001 compliance efforts.
Please consider including the feature in future releases, thanks.
@SteveMCIW commented on GitHub (Apr 16, 2024):
Even if it was as simple as a permission for being able to publish vs being able to only create drafts, that would help.
@exorcize commented on GitHub (May 15, 2024):
I'm also looking into using BookStack as a knowledge base for the company I'm currently working for, and the lack of a workflow/change approval feature is being an impediment. I'm going to try to do something using the functions of the Logical Theme System, but having this feature in the core of BookStack would be a great help and a plus point when choosing a knowledge base/wiki for various companies that need this type of workflow :)
@dhcpy commented on GitHub (Jul 20, 2024):
How were you able to add headers and footers to store the ISO documents? I'm struggling with this issue too..
@Hallsie commented on GitHub (Jan 2, 2025):
I came here to submit this exact thing and low and behold it is here already. The one thing I am concerned with that is needed anyway is that there should be a way to flag to editors when an article/page is referenced with an include. It could be dangerous to possibly break something else or worse, accidentally give information to someone that isn't supposed to have it due to an include.
@Buecky commented on GitHub (Feb 12, 2025):
Hello everyone,
BookStack is really great. We would like to use this solution in our company as well. Unfortunately, the software does not meet the requirements for ISO 27001. I would love to have an approval process for newly created documents, as this would really help us.
@Sinitronics commented on GitHub (Feb 23, 2025):
+1 on this, the ocmpany I work for is implementing this for our supprot team documentation where all teams will be able to read and write to all documentation in a full open collabarative way. What we would like is just a way to flag modified content as needing review by our librarians (SME's for each of our technology streams), just to make sure what's been written is valid and has been created in a the correct location. We dont want the new content to be hidden just that there's a flag on the page that it's awaiting review so if any bad information is present the users can refer to the previous revision or speak to the person who made the edits.
@rlljorge commented on GitHub (Mar 14, 2025):
+1 please add Review Workflow
@SmEdD86 commented on GitHub (May 13, 2025):
I would like to also +1 this feature, a review/approval system would be a great addition. We love using Bookstack in a collaborative method (anyone can fix errors or improve the documentation), but we want to ensure it is approved before committing it for all to see.
@amaruzzo commented on GitHub (May 14, 2025):
I believe that equipping Bookstack with a review system — even a minimal one — before publication is essential.
Collaboration, but above all control over what gets published, is not only a requirement of various ISO standards (particularly ISO 27001), but also of any Bookstack implementation that requires a sufficient level of publication quality.
I am currently trying to implement a script that modifies Bookstack (and adds new entries to the database) to achieve this goal. However, it’s not straightforward — especially because these changes may stop working properly with each update.
@Hallsie commented on GitHub (May 14, 2025):
I agree 100%. I made a request on here a while ago with some huge things but ones that I thought would really just turn BookStack into that must have piece because it is already so good. I've used others in this space and it is far better than the others that I have tried that are in this space by far.
If I remember correctly though, the dev isn't interested really in any of the "corporate/business" uses and doesn't want to inflate the platform too much just due to how it would be supporting and bug fixing etc.
A review/approval system along with a private notes area (to have internal discussions about a book/chapter/page(s) etc. would be amazing.
@eglyn commented on GitHub (May 23, 2025):
Need this feature too !
@b-v-d-e-v commented on GitHub (May 28, 2025):
Same here - we would love to prepare the next version of a page, review and work on it and THEN publish it / set it as current version.
Anyhow - thanks for this awesome tool!
@chrisrueger commented on GitHub (Jul 29, 2025):
+1 for this feature. Also need it for compliance work (ISO-27001)
@kasdkuls commented on GitHub (Nov 14, 2025):
Would love to see that on bookstack
@Col4711 commented on GitHub (Jan 7, 2026):
We would very much appreciate this feature as well.
As a workaround, copying pages into a separate Draft or “To Review” book is often suggested, but this approach is really practical. When a page is copied and later moved back to the original (publicly visible) book, the revision history is lost, which breaks traceability and auditing.
Manually copy-pasting the reviewed content back into the original page is also time-consuming, error-prone, and poorly accepted by both authors and reviewers. This significantly reduces user acceptance of the review process.
A native review/publish workflow that preserves page history and avoids content duplication would therefore be highly valuable.
@lmm-git commented on GitHub (Jan 7, 2026):
We would like to have such a feature as well. However, I see that this feature is mainly required by organizations. And for that I think it would be fair that those organizations might get together and finance such implementation and even better maintenance afterwards.
But before going ahead with this, I would like to ask the main maintainer @ssddanbrown whether he would like to give a time and money estimation required, or, whether he is open to allow for (maybe an external) bug bounty in this case.
@ssddanbrown commented on GitHub (Jan 7, 2026):
@lmm-git Thanks for the offer but no on both accounts, as I don't like those with money to be a decider/driver in what efforts/development/maintenance are focused on. More in the project FAQ here.
@chrisrueger commented on GitHub (Jan 7, 2026):
@ssddanbrown I can understand that. But at the same time it is a bit of a pity that there seems to be no visible path to how such a feature could make its way into bookstack. What about using this Review-Workflow-idea here as a first usecase for a Plugin-System as in https://github.com/BookStackApp/BookStack/issues/127 ?