Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE REQUEST] Status / Review Workflow #473

Open
noxify opened this issue Aug 16, 2017 · 31 comments
Open

[FEATURE REQUEST] Status / Review Workflow #473

noxify opened this issue Aug 16, 2017 · 31 comments

Comments

@noxify
Copy link

noxify commented 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
Copy link

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
Copy link

Dayflare commented 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
Copy link

That will be a great feature. Is it currently on the roadmap?

@ssddanbrown
Copy link
Member

@janliskaretel No, this is currently not on the roadmap.

@nikkwong
Copy link

nikkwong commented 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
Copy link
Member

@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
Copy link
Author

noxify commented 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
Copy link

aswgxf commented Aug 13, 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:

  • Review Schedule: This is how often the page needs reviewed. Possible values may include: yearly, semesterly, quarterly, monthly, weekly, daily, none
  • Reviewers: A list of emails that will receive email notifications that the page needs reviewed
  • Needs Review: A boolean flag that indicates if the page is overdue for review
  • Last Review: The date that the page was last reviewed

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
Copy link
Member

@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
Copy link

alanmcseveney commented 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
Copy link

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.

Ditto. Looking to migrate from Wordpress to this in a medical setting with education materials that needs to be moderated before publishing

@gdeflaux
Copy link

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
Copy link

forceco commented Feb 6, 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
Copy link

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
Copy link

I would also like to see this feature added, as it would come in handy for our business use.

@francescostanziola
Copy link

I am planning to use BookStack for my thesis project and this feature is something I am specifically looking for.

@wgaulke
Copy link

wgaulke commented 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
Copy link

@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
Copy link

wokawoka commented Apr 2, 2023

I would also be very interested in the implementation of this feature

@fbesanger
Copy link

Pleeaaassseee, can you add a workflow feature in Bookstack. It will be great !!!
Thanks in advance ;)

@babolab
Copy link

babolab commented 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
Copy link

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
Copy link

acremonezi commented Sep 6, 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
Copy link
Member

Please just add a 👍 reaction to the original post instead of padding this out with +1 comments. Any such comments will be removed.

@BookStackApp BookStackApp deleted a comment from blt950 Oct 30, 2023
@BookStackApp BookStackApp deleted a comment from arpitkamboj Oct 30, 2023
@BookStackApp BookStackApp deleted a comment from LittleBennos Oct 30, 2023
@BookStackApp BookStackApp deleted a comment from maxlk96 Oct 30, 2023
@BookStackApp BookStackApp deleted a comment from topazb Oct 30, 2023
@BookStackApp BookStackApp deleted a comment from deelite Oct 30, 2023
@asaglam76
Copy link

asaglam76 commented Nov 12, 2023

[Admin Edit: Removed quote of entire original post]

Think, its the Most Missing Feature to make it professionell

@racquemis
Copy link

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
Copy link

HorithC commented 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
Copy link

Even if it was as simple as a permission for being able to publish vs being able to only create drafts, that would help.

@fantasy0x1
Copy link

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
Copy link

dhcpy commented Jul 20, 2024

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.

How were you able to add headers and footers to store the ISO documents? I'm struggling with this issue too..

@Hallsie
Copy link

Hallsie commented 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests