I've been working on BookStack for over 6 years now, learning a lot about open source project maintainership during that time. Originally developed it while looking for a documentation system for my mixed-technical-skill workplace. Wanted something easy to use without having to get finance involved when increasing our user count.
With Confluence backing away from their self-hosted offerings, hopefully many will find BookStack useful. It's not supposed to be a direct replacement, and the design & content structure is quite opinionated, but it can serve many of the same use-cases as Confluence had served.
That's cool. I recently built MFA into the access flow, with a sight to extend methods where needed, although any instance using the SAML/LDAP/OIDC auth options could enforce MFA on the identity provider side.
Bookstack looks like an amazing feat of engineering — it’s overwhelmingly the wiki I want to deploy given other F/OSS options. just today I was showing it to a friend and it is impressive how clean and considered it is. Thanks for maintaining and improving this project
Happy to help! I will say that I would in no way present it as an example of a clean codebase. 6 years of weekend and night development, while having significant code understanding/learning during that time, has lead to somewhat of a mix of ideas and approaches. Constantly trying to re-align things though!
Impressive that you've stuck to it for more than six years. I remember testing an early version. Looks like you've made a lot of improvements in that time.
Thanks! I've learnt a lot in that six years. I've been quite proud of our constant, yet steady, pace of development while retaining upgrade compatibility (where possible).
Thank you, thank you, thank you. I use started using bookstack when I realized that I wanted a place for long form / long term storage of documents separates from my Notes / To dos. I love it and I deeply appreciate your hard work.
For others that haven't tried it, here's what clicked for me:
- An opinionated hierarchy of Book -> Chapter (Optional) -> Page
- Great search
- WYSIWYG OR Markdown supported
- Great integration into Diagrams.net
Thank you! I love to hear about the specific features people enjoy.
> WYSIWYG OR Markdown
I will state that switching between them is pretty flaky at the moment, is done at instance level and can cause HTML in markdown. Is designed to be choose-once-and-leave. That said, in rebuilding the editor I am aiming for easy and instant Markdown & WYSIWYG switching within editor.
Definitely not off topic. I do not use Obsidian but while Obsidian is a knowledge base software, I can absoslutely see the appeal of being able to organize your thoughts and notes into a full-fledged article and then push to something like Bookstack for public/team consumption.
Just on a practical level, you might as well just disable the option to convert, especially if you're going to swap it out anyway. Sometimes just flipping the switch on a task opens up a little cognitive space for the rest of your work. :)
Funny to stumble on this thread just days after we started evaluating BookStack for internal use! Thanks for this piece of software. I'm really enjoying it so far and am looking forward to integrating it into our daily processes.
Impressive. I'm definitely going to give this a look. Right now, we've got our technical docs in Sharepoint (yeah, that Sharepoint), mixing its built-in docs and Word docs, and I'd really like to get rid of that.
Thanks! My original scenario was a mix of gist code snippets and word docs. The horror is when those word docs are version by file name (server_docs_final-v2.docx). It definitely helps to get things aligned into a platform that people understand how to use.
I'd say that simplicity can very much depend on audience, use-case and opinion. The design and content structure between platforms appears quite different.
BookStack does support Markdown content editing although it is WYSIWYG or Markdown, jumping between the two isn't really supported (Yet, Hoping to achieve this later this year).
One of the benefits of Counfluence is that it is one of the only Wikis where I've seen non-technical people being able to create content on a daily basis. Linking pages, inserting graphs and images just works. I have yet to see that in anything based on markdown.
Yeah, non-technical folk were one of my key audiences for BookStack which most other popular open-source offerings, at the time, seemed to lack focus for. People do love their markdown input though.
I'm currently rebuilding the editor; My goal is it have an easy WYSIWYG editor that allows instance back-and-forth switching to Markdown. One of the tricker parts is avoiding obscure/custom markdown syntax for non-common/custom content blocks, as one of my main principals is to ensure user content is portable/non-proprietary.
I've been looking for something just like this. Does it support migration from Confluence? I glanced over the features section and didn't see mention of that, but perhaps I missed it?
Unfortunately no readily available migration path from Confluence. I'm not familiar enough with Confluence myself to understand the formats and options that we'd need to carry across & support.
Our API [1] has recently matured to now support the different content types so that could be utilised for such a migration job although the API is still growing to cover more actions/models.
Have recently been thinking about possibly offering some form of paid service support service to help the process and help fund the project.
Oh, prepare for some fun with ADF (atlassian document format) if you ever do try to build migration from confluence. On the positive side you’ll have to deal with only one flavor, but I swear they have like 10 different ways to present/format their documents across all their products.
Fortunately, a lot of the handling is open sourced in atlaskit.
I'm not sure how Confluence permissions work. Within BookStack pages (Main content) is generally within a hierarchy of Shelves > Books > Chapters > Pages. Both shelves and chapters are optional parts of the hierarchy,and Books can be members of multiple shelves.
General permissions (Edit/Create/Delete) can be controlled per-role, and multiple roles can be assigned to a user. Permissions can then be overridden per hierarchy item. Permissions for Books and Chapters will cascade to child items unless they're overridden.
I came across your software a few weeks ago when I was looking for some kind of locally hosted collaborative documentation suite for internal use, basically, a wiki that can be used by people who aren’t programmers. I was a bit incredulous when I found that it is basically expected to use markdown if you want to have a wiki. This really raises the barrier to entry and restricts users to ones that are technically proficient and have the time to learn and deal with markdown. Wysiwyg is a necessity.
Easy content insertion is also necessary. We haven’t yet integrated bookstack, but I don’t see any alternatives (sticking with the locally hosted requirement)
Not sure if this fully fits your needs but you might want to look at Wiki.js. You can self host it, has WYSIWYG editor available (as well as HTML and markdown). I'm not associated, just use it for some time.
Yeah, wiki.js is in the same space and seems to be pretty great. BookStack and wiki.js have taken quite different design & structure choices though so I usually advise trying out the demos of both to see what best fits.
Sorry this is nothing like Confluence. On Bookstack you click a link and get a new page instantly. This is nothing like Confluence where you need to wait 5-8 seconds for each page.
And no, I will never not shit in Atlassian products until they fix performance. Trello is the standout. Thanks for not trashing it.
I hear this a lot from people switching from Confluence. I watched a colleague using Confluence once and was surprised how much time was spent looking at those text-placeholder blocks while content was presumably loading in the background.
My favorite is when elements jump around while they load, so you're guaranteed to misclick on links. So then you'll have to wait again (when going back), because of course the cache hasn't been invented yet.
Yeah, this has been requested a few times. I don't come from a hosting background (Outside of managing my own VPSs) so I don't feel it's something I can personally do (at a level of service I'd be happy with) but the idea of partnering with someone that has experience is something I've though about; The tricky part is finding someone I can trust enough to send users to.
For sure. Honestly, I would love to have an established open-source respecting company like RedHat come along and say "We'll be your official hosting partner, we'll handle hosting, payments and offer these services, we'll need x hours from you per week for support, otherwise focus on the project, we'll give you £x per month, You retain ownership and other revenue streams."
A bit idealist and of course the contract would be more complicated, but to focus on the project while having established support would be ideal.
I think this isn't a good strategy for the project, at a commercial level. They currently have a well define niche. Competing in a much larger market without a clear competitive advantage won't work.
We actually moved from Confluence to Bookstack last year, mainly because the EOL for the Atlassian server-licenses. Sure, it has less features, but the main function, maintaining content by non-tech people works great!
The only issue I have with many Confluence alternatives is that they don't support multiple people editing the same document, at the same time, à la google docs. Does this? I can't tell from the landing page.
Does not support this at the moment. Currently rebuilding the editor with a vision to potentially support that in the future although there'd be some hurdles to jump over to get to that point.
It is extremely offputting that Saga doesn't show a single actual product view, the site design makes me think the product is equally ugly, and they require signing up to see a demo?
When a company hides the product that much and forces you to only experience it with a tour guide, it's tacit admission the product sucks.
I agree that it's frustrating when a company hides their product, but I think the saga website design is really nice and they do have an actual video of the platform front and center (Instead of one of those fake simplified "representations" that may companies use).
I just ran into this problem with Notion earlier this week. It was really disappointing how bad the experience was with even just two people trying to work on the same document. I quickly gave up.
Personally I managed to run Outline using a standard OIDC software like Keycloak. While more troublesome it should work just fine without external tools
Another option I've been considering for a change away from Confluence is Gitbook. Curious to hear if anyone has done an in-depth comparison of these two.
This can really depend on your use-case and audience.
Things like gitbook (& docusaurus) can often be better for focused topics or when serving product documentation to users.
BookStack tends to work better as a mixed-topic, mixed-user platform. Along the lines of an internal wiki shared by different teams. I've seen people attempt to use BookStack as a replacement for GitBook but struggle due to the structure being different.
Thanks for creating and maintaining BookStack. My company has used it for around three years, and recently integrated it with Okta for SSO. It’s fast, simple to use, and the recent search improvements have really made it an excellent product.
Awesome to hear. Especially happy to hear good feedback regarding the search improvements, I spent a good amount of time on those and this is the first feedback I've had since.
Out of interest, does your company support the author via sponsorship or other means?
I’m curious… I wondered what the red tape is like in organisations that use open source projects like this in order to setup a GitHub sponsorship or similar.
In a previous role at a cash-strapped startup I used open source software within my team and have to admit I never arranged any contributions to the OSS projects - though if I had my time again in that role I’d be more mindful about trying to do this. Especially I think when the project is a very small or “one person” team.
Great comment and very interesting to read your perspective on it.
Really if we’re honest, any company using Bookstack should be able to afford to chuck you $20/month or something (barring perhaps one-person bootstrapped startups). It’s likely red tape, bureaucracy and the internal culture that prevents this more than financial means.
And especially so if support demands are being made of you!
Yeah. The reason we’re running a lot of our own open source stacks is that getting anything officially approved has to go through multiple layers of bureaucracy and approvals.
Getting approval to throw an open source project some money is likely to be even crazier (probably not a concept they ever imagined).
Can anyone with experience with multiple wiki platforms compare this with XWiki and/or MediaWiki.
I may be asked to update $WORK's wiki, which is currently MoinMoin (IIRC), and am looking for anyone with more experience so I don't have to start testing from scratch. I've run MediaWiki before, but am not beholden to using it just because of past/current familiarity.
Importing from MoinMoin would be nice, but not absolutely required. LDAP integration (at least for authentication/LDAP binds) is mandatory, but LDAP group integration (authorization/permissions/roles) isn't mandatory: that can be internal to the app. Wouldn't mind it though: either Unix-style or AD-style (memberOf).
Future XWiki employee (should start in March!). Feel free to reach out to XWiki [1] [2], they'll be happy to answer your question and address your specific needs. They are nice. Feel free to contact me if you'd prefer but I'll be less competent than them for obvious reasons.
I don't know many things about XWiki yet, but the main difference between MediaWiki and XWiki is probably the X in XWiki (eXtensible). XWiki is more like a development platform to build a website, a blog, or a collaborative platform (internal or public) that you can tailor to your needs. What you put as contents is highly customizable / scriptable and several Wiki syntaxes are supported. The XWiki syntax can be extended to support your custom features if needed. There are a lot of apps [3] to extend XWiki (some are paid, but open source anyway so you can compile them yourself). LDAP is supported. XWiki will also provide support or specific developments if needed.
MediaWiki is developed for Wikipedia first. That's what you can read on XWiki's website anyway. But if you don't need anything that MediaWiki doesn't already provide and like its UX, it can't be a wrong decision to go for it. Many people outside Wikimedia use it and the UX is familiar to everybody, and that's huge. Both tools can be self hosted (and MediaWiki is quite easy to install), MediaWiki is mostly in PHP, XWiki is in Java. XWiki can be hosted for you by XWiki SAS. They'll also help handle migrations from Confluence and are currently handling a lot of them, and I'm sure they will be interested by hearing about migrations from other tools too.
I guess WikiMatrix would be a good starting point [4]. XWiki also have comparisons to common collaborative platforms on their websites including MediaWiki. They are obviously biased, but don't lie neither. You might want to check them out.
I hadn't encountered Bookstack, before. The UI seems quite clean. I hope we'll have the pleasure to meet and discuss at some point! The UK is not far, we are neighbors. Hmm, neighbours!
edit: by the way, you might be interested by XWiki's online presentation at FOSDEM on the 5th of February [5], as well as any other presentation in the collaboration and content management devroom, because not everything collaboration is a wiki :-) [6]
There is a "semantic" extension to MediaWiki that makes it easier to support many enterprise use cases with data visualizations, custom queries (potentially referencing information from multiple wiki pages) and the like. It is somewhat widely used for wikis other than Wikipedia, that can simply defer to the Wikidata project for those needs.
SMW works okay but if you have technical ability, I'd recommend Cargo (https://www.mediawiki.org/wiki/Extension:Cargo) instead. It's a somewhat limited SQL wrapper (limited - e.g. subqueries aren't supported, which can be annoying on occasion but tbh I've only missed them maybe 3 or 4 times, wiki queries tend not to be too complicated) which is roughly equivalent to SMW in maybe 50% of use cases I've encountered, inferior in maybe 2%, and significantly better in the rest.
It definitely has a bit of a higher learning curve than SMW, especially for non-developers, and even for developers there's some kinda weird stuff going on with it (e.g. they have this HOLDS syntax sugar and list-type fields as an answer to SMW's ability to express one-to-many relations a bit more naturally than sql can; also there's this cargo_attach parser function that I forget to do 80% of the time and that's why my tables don't rebuild properly).
Anyway if anyone does use MediaWiki and is choosing between these extensions I'm happy to talk to you about them, this is what I do for my job & I have several years experience with both (though my SMW experience is somewhat outdated, since I switched to Cargo several years ago, and only recently have started using SMW again, and that only tangentially).
Mediawiki is page focused, needing a lot of tweaking to make it act like something other than a completely open public page editor. Trying to collect pages is annoying ugly; about the best you can do is with "categories." Mediawiki tries to do too much with document metatags and whatnot. Mediawiki is ugly/outdated looking (IMHO) and requires lots of php config file editing.
Bookstack has a lot more inherent document organization stuff (ie: books>chapters>pages etc), it's easy as hell to administer, and it looks gorgeous out of the box.
> Trying to collect pages is annoying ugly; about the best you can do is with "categories."
With vanilla mediawiki, sure. If you use Cargo or SMW, you can do pretty much anything you want, especially with Cargo. Add in Lua (Scribunto extension) and you have effectively a full extra layer in your stack.
(There's also DPL (Dynamic Page List extension) as an option; if what you're doing is easy enough to express, and you're just trying to build lists of pages, you may be able to get away with just doing DPL queries and nothing else beyond that.)
It might be more technically complex than you want it to be, but it's definitely not limited to categories.
I enjoy Cargo and DPL, they're powerful and great tools for automatically aggregating and filtering content, and I used both of them a lot at a MW that I was an admin on for several years. But it still isn't easy to build an ordered, hierarchical, book-like structure with book-like output, which was a constant request. It wasn't just technically complex (no users wanted to learn how to do it, they wanted one person to do it for them), it also didn't do the one thing most people wanted it to do.
The Collection extension did that, though, but Wikimedia's weird behavior around it and their multiple failed attempts at choosing a tech stack for output — OCG/ZIM, PoD/PediaPress, Electron (not that one)/Proton — much less the next step of building that functionality into a usable feature in MW, turned me off from trying.
I need to dig into BookStack (I imagine like most wiki flavors, it'll lack the templating features in MW that I rely on), but the fact that it's built on the book/chapter paradigm from the ground up instantly catches my eye.
I'm currently helping set up a wiki for students of a STEM faculty, and we've settled on MoinMoin (v2, that is). We're broadly building on a previous MediaWiki setup, which we've found to be too "Wikipedia-oriented".
I've looked at a few very extensible and featureful wikis (XWiki, Tiki Wiki, TWiki, Foswiki), but for our usecase, they seemed overwhelmingly big (I know, I'm not easy to please). They're all almost application development/scripting platforms, which isn't necessarily a bad thing, but it would mean we'd have to learn a lot more if we wanted to modify parts of them. Of the four mentioned, XWiki looked like the most "polished", its conceptual model and code looked maintainable and it has a great number of actively developed plugins. If I'm not mistaken it even allows writing pages in Markdown, which was one of our criteria.
I also looked into taking a very lightweight wiki (LOC in the high thousands) and adapting it to our needs, but found that most of those didn't have a code model that would lend itself well to doing things like swapping out a custom format for Markdown, we'd basically be rewriting half the wiki at that point. Even DokuWiki, a relatively large project, is too blasé about running regexes on page contents for my taste.
We looked into BookStack, but didn't think its content model would work too well for our idea of a wiki as a "social" site. Maybe it's just the terminology, though.
In the end, we ended up running MoinMoin 2. It's in a perpetual beta state, but it is actively maintained. The main reason was its code quality: It's small enough that understanding how it all fits together is quick, and it's structured so that adding functionality or swapping out one part of it is easy (as much as it could be for software that's over a decade old, anyway). We're programmers anyway, so we decided to go with the ability to change the wiki to our liking over initial polish. So far, I've made a new theme, wrote a script for migrating from MediaWiki, changed out the Markdown parser and added SSO with CAS. The changes aren't public yet, but will be soon.
So far I'm happy with our decision, but note that my search was heavily subjective, you very likely have other requirements and preferences.
EDIT: By the way, the criteria were loosely:
- Modifiability (I wanted a custom theme, needed a non-traditional SSO option and could see us
getting ambitious about custom functionality)
- Hierarchy + ideally tags for organising
- Ability to export some pages into a print version (annually published leaflet/book for new students)
- Permission system (which we hopefully won't need to use)
- Storing pages in Markdown (helps with converting for print too)
- Macros (I'm a fan, easy-to-write extensions would be just fine)
> I also looked into taking a very lightweight wiki (LOC in the high thousands) and adapting it to our needs, but found that most of those didn't have a code model that would lend itself well to doing things like swapping out a custom format for Markdown, we'd basically be rewriting half the wiki at that point. Even DokuWiki, a relatively large project, is too blasé about running regexes on page contents for my taste.
Just fyi, MediaWiki does have support for using a different page content mark up languages (Content models in mediawiki speak). In the default that's mostly only used for special purposes like CSS pages (See Special:ChangeContentModel), but the interfaces are relatively clean if you want to add your own.
Maybe BookStack can do fine for a company with a few dozens of employees. But Confluence can handle tens of thousands of employees. So I wouldn't label Bookstack as a Confluence alternative.
Maybe I'm missing something, but BookStack doesn't even have a notion of "teams" only roles. You can't give permission of a file to a user, only to all users who have a certain role.
But I'm certainly biased as I'm building a real Confluence alternative
> Maybe BookStack can do fine for a company with a few dozens of employees. But Confluence can handle tens of thousands of employees. So I wouldn't label Bookstack as a Confluence alternative.
Sure, but there are a lot of people within that range up to tens of thousands. I have had some people mention using BookStack within environments towards to tens of thousands (Although it's likely a lesser portion enganged). Just because it may not achieve that one factor does not discount it as an alternative for significant audience.
> Maybe I'm missing something, but BookStack doesn't even have a notion of "teams" only roles. You can't give permission of a file to a user, only to all users who have a certain role.
Yeah, we don't have the word usage of "Teams" but I'm not sure what that'd offer in addition to roles. Role specific permissions can be applied to any of the hierarchy elements (Including upon page content).
I'm certainly not criticizing BookStack. It actually looks super responsive and have a great set of features to manage knowledge especially for an open source platform.
As for roles. In organizations of a certain size, the concept of role is not organization wide, but team-wide. You will set for example the editor role, for some people of the team "Operations". Don't really see how this can be done on BookStack
Confluence is terrible in all kinds of other ways. To be frank, it's the worst company documentation software I've ever used. Discoverability is terrible and it's easy to end up in a situation with thousands of pages that quickly fall out of maintenance because features for organization are an after thought. Its own markup is terrible and its Markdown import support similarly so.
Most wikis are terrible at evergreen notes: the only one I can think of that might be moving the ball forward is Athens Research though I wasn't able to get their self-hosted beta running and I host dozens of other services with Compose.
Obsidian might be good too, but they don't seem too keen on supporting large business collab usecases even though enterprise is a cashcow.
> Confluence is terrible in all kinds of other ways.
I disagree, Confluence is used by tens of thousands of organizations and they don't have a very good Sales strategy, that means a lot of business choose them when they could have choose something else. So I can't buy that it is terrible everywhere.
Can we do better ? Hell yeah. But I agree with you that most of Confluence competitors are in the SMB space even though money is in large enterprise. (But that's why we are building Dokkument)
That's not wikis that are bad at evergreen notes, that's evergreen notes that are not suitable for sharing with teams. Athens or Roam research, or others works well for one person, but can't work for teams.
> Confluence is used by tens of thousands of organizations and they don't have a very good Sales strategy, that means a lot of business choose them when they could have choose something else. So I can't buy that it is terrible everywhere.
I don't believe the number of users in an enterprise segment buying into a software is at all indicative of the usefulness of a piece of software. Atlassian products are typically sold between people who will not be the primary users of that software.
I have yet to see a SWE missing or desiring an Atlassian product. GitHub and other SaaS products yes but never Atlassian.
I also disagree that evergreen notes aren't suitable for teams. Notes that receive a lot of attention, or are high touch, are by definition evergreen. We need more of these in orgs but most of us don't know how to tend to our companies digital gardens. A huge part of it is wordly digital cruft akin to technical debt that accrues. As it grows in size it compounds the problem of discoverability.
Note-taking is a skill that receives precious little attention, despite being so critical to knowledge work AKA anything SWEs work with daily.
At the end of the day, people need to be able to discover notes if you want these to be useful. Just talking about evergreen notes without offering a way to discover those notes by anyone is useless.
Here's where we agree! I'd love better discoverability built in to these products. It'd be a huge boon, personally, at my workplace (that uses Confluence :-().
That's where Roam Research has a point. Creating a graph is appealing, as it is easier to browse and so discover things. That's also how Wikipedia works. But Wikipedia would never have worked without Google.
In organizations the best thing to do imo is to have everyone follow the same rules. Even bad rules that everyone follow is better than everyone following its own rules. And that's clearly one thing that Confluence sucks at. But the rules can't either be the same for anyone anywhere, so there is some balance to find. The other area that can help discoverability is curation
I would be happy to have a chat with you, don't hesitate to reach out to paul at dokkument com
That's a tricky one to answer! The authentication systems most likely, just because of the different standards and configuration that different people demand. I've had to learn LDAP, SAML2 and OIDC protocols to a level that allows me to confidently add & maintain these systems.
> non technical
Probably issue handling & management, from a mental point of view. Dealing with such a range of ideas and requests with an ever-growing list of features/issues/support-request has been tricky. I've had to learn to change my perspective and goals when dealing with GitHub issues.
In general the social side has been a massive point of learning and challenge to me. I've recently written about many of these more extensively here:
Had a look around, this looks really polished. I would have one remark - please consider making tables a first-class feature.
In my experience with Confluence, the easiest and most comprehensive way to organize information is with tables. Having a quick way to merge, delete, color cells would be great. Right now, coloring and merging are hidden away in some menus, and deleting cells will shift the bottom toolbar with the table upwards, so you can't do it quickly.
Yeah, Tables are a challenge in general. The trouble with them from an editor perspective is the range of desired options and control (Many each at table, row, cell level) is fairly vast.
I'm currently in the process of building a new content editor which I'm hoping would provide better opportunities to make such controls more intuitive.
It doesn't need to be Word or Excel-levels of options and control, less is actually more - for example table cells in Confluence can only have 6 colors, and no fancy border styles etc. which in my opinion provides a more unified look and feel. Just the UX needs to flow smoothly enough, as working with tabular data consists of doing many of the same steps over and over again.
If you're happy with wikijs I'd advise that you probably stay on it to be honest. WikiJS is a great project. They two differ quite a bit in design and structure, if wikijs's structure works well for you already you may find yourself fighting against the BookStack structure/layout. Can always give the demo [1] a go to get an idea.
This looks like a great piece of software. I was never a fan of Confluence, but that is more that Confluence, I feel is backwards. Since confluence, the few opinions is has, is reverse. You typically get some kind of set up like Confluence Space is owned by a person, who then adds approved editors. The default should be open editing, then locking down to specific people. What typically seems to happen in confluence shops is that information ends up being organized by TEAMS not by topic. Which is a terrible way to document. This idea of Books -> Pages seems to be more opinionated that would hopefully get people to not make this mistake.
> What typically seems to happen in confluence shops is that information ends up being organized by TEAMS not by topic
It is usually a better idea to organize information by teams than topics in an organization. The reason is that if the tree structure is unknown to most people, they will not be able to find information easily nor to choose the right place to create information.
You shouldn't expect everyone to browse the whole documentation to understand how it is structured in order to be able to use it
Used confluence in several shops and never seen anything like that happen. Sounds terrible. Spaces are usually few and edit for all. Must have been bad admins and management.
Doesn’t mean it’s a good product though. Especially the cloud version is progressively worse, especially with regards to performance. Glad to see some competition in the area.
I'll trial it out tomorrow. I can see on individual pages (books?) you're tracking changes, e.g. created and last edited. Are these changes tracked in a history page for version control by any chance, ssdanbrown/OP?
> Are these changes tracked in a history page for version control by any chance, ssdanbrown/OP?
Most system changes (Create, Updated, Delete actions) are recorded and displayed in an audit log view for admins. As of the most recentl release, you can trigger webhooks upon any of these; Video example [1].
Changes to pages (where documentation content exists) do have their state changes recorded so you can revert/view/compare across versions of a page. The revision limit is set to 50 by default (I think) but this is configurable.
You can login to the demo as an admin to preview these features if needed [2].
Should also check out MediaWiki. The last year the visual editor is finally included with PHP, making the installation simple:
https://mediawiki.org/wiki/MediaWiki
A visual editor does not solve mediawiki's bloat which is useless for 99% of anyone who isn't Wikipedia or another large organization, nor MediaWiki being entirely organized around pages. Nor does it solve Mediawiki's ugly, Web 1.0 design.
In Bookstack, making the server private is one or two clicks. In mediawiki you have to set at least half a dozen config file variables.
Adding any of a slew of auth methods is trivial in Bookstack. In mediawiki it's finding an extension, figuring out how to configure it, and then worrying about keeping it up to date.
Bookstack is focused on "books", chapters, pages, sections - not "pages."
It's perfect for what most people and projects need, and it looks fucking gorgeous out of the box to boot.
> It's perfect for what most people and projects need, and it looks fucking gorgeous out of the box to boot.
Thank you so much!
> In mediawiki it's finding an extension, figuring out how to configure it, and then worrying about keeping it up to date.
I've always attempted to be "batteries included" with BookStack due to this frustration. Means we have to be more limited in abilities but hopefully provide a better experience for what we do allow.
> In Bookstack, making the server private is one or two clicks. In mediawiki you have to set at least half a dozen config file variables.
This isn't really true. During install process you are asked which you want. If you press the private button when prompted you get a private wiki. If you press public you get public.
If you want to change after you installed, you do have to edit a text based config file. You only have to edit two lines, but i appreciate that text based config file is a turn off for some people.
> Bookstack is focused on "books", chapters, pages, sections - not "pages."
I agree that this is a significant difference from mediawiki. You can do that sort of thing in MediaWiki, but you'll be swimming upstream.
No not really any point in also checking out MediaWiki. Bookstack has surpassed MediaWiki in usability by leaps and bounds. They are not even comparable any more, aside from being able to do wiki edits they are separate use cases by now.
202 comments
[ 0.16 ms ] story [ 330 ms ] threadWith Confluence backing away from their self-hosted offerings, hopefully many will find BookStack useful. It's not supposed to be a direct replacement, and the design & content structure is quite opinionated, but it can serve many of the same use-cases as Confluence had served.
Thanks for making it open so I could learn!
there’s a lot to be learned in any event, since a lot of my projects are night/weekend ones too.
Looks like a good Notion alternative too.
For others that haven't tried it, here's what clicked for me:
I love it. Thank you, thank you, thank you.> WYSIWYG OR Markdown
I will state that switching between them is pretty flaky at the moment, is done at instance level and can cause HTML in markdown. Is designed to be choose-once-and-leave. That said, in rebuilding the editor I am aiming for easy and instant Markdown & WYSIWYG switching within editor.
I looked into the LaTeX support of it for a science editor projectg
https://ui.toast.com/tui-editor
I checked out a bunch of text editors on a past project and this one has worked very well as a WYSIWYG markdown editor.
BookStack does support Markdown content editing although it is WYSIWYG or Markdown, jumping between the two isn't really supported (Yet, Hoping to achieve this later this year).
I'm currently rebuilding the editor; My goal is it have an easy WYSIWYG editor that allows instance back-and-forth switching to Markdown. One of the tricker parts is avoiding obscure/custom markdown syntax for non-common/custom content blocks, as one of my main principals is to ensure user content is portable/non-proprietary.
Our API [1] has recently matured to now support the different content types so that could be utilised for such a migration job although the API is still growing to cover more actions/models.
Have recently been thinking about possibly offering some form of paid service support service to help the process and help fund the project.
[1] https://demo.bookstackapp.com/api/docs
Fortunately, a lot of the handling is open sourced in atlaskit.
How do the permissions work ? Same way as confluence (inherited) ?
I'm not sure how Confluence permissions work. Within BookStack pages (Main content) is generally within a hierarchy of Shelves > Books > Chapters > Pages. Both shelves and chapters are optional parts of the hierarchy,and Books can be members of multiple shelves.
General permissions (Edit/Create/Delete) can be controlled per-role, and multiple roles can be assigned to a user. Permissions can then be overridden per hierarchy item. Permissions for Books and Chapters will cascade to child items unless they're overridden.
Easy content insertion is also necessary. We haven’t yet integrated bookstack, but I don’t see any alternatives (sticking with the locally hosted requirement)
https://js.wiki/
And no, I will never not shit in Atlassian products until they fix performance. Trello is the standout. Thanks for not trashing it.
We're a managed cloud infrastructure business (since 2006), and also run our own public cloud.. Reach out to me via nick at mnx io.
At a minimum, I'd be happy to give you some pointers in this space.
Helping small ISVs turn their software into SaaS offerings.
A bit idealist and of course the contract would be more complicated, but to focus on the project while having established support would be ideal.
I cut and paste the docker compose file, tweaked a few things, and hit the go button. Done.
Thanks for creating this app.
I would add Saga (https://saga.so) to the list of alternatives.
When a company hides the product that much and forces you to only experience it with a tour guide, it's tacit admission the product sucks.
I really like Outline https://www.getoutline.com/ as it is open source, self hosted and free if you don't use the Enterprise features. It really does seem to be a Confluence replacement. https://www.getoutline.com/compare/confluence-alternative
I know I can’t tell them how to build their product, but really?
1-10 people: 10 USD/month
11-100 people: 79 USD/month
101-250 people: 249 USD/month
Things like gitbook (& docusaurus) can often be better for focused topics or when serving product documentation to users.
BookStack tends to work better as a mixed-topic, mixed-user platform. Along the lines of an internal wiki shared by different teams. I've seen people attempt to use BookStack as a replacement for GitBook but struggle due to the structure being different.
I’m curious… I wondered what the red tape is like in organisations that use open source projects like this in order to setup a GitHub sponsorship or similar.
In a previous role at a cash-strapped startup I used open source software within my team and have to admit I never arranged any contributions to the OSS projects - though if I had my time again in that role I’d be more mindful about trying to do this. Especially I think when the project is a very small or “one person” team.
https://www.reddit.com/r/opensource/comments/rwmiwn/recommen...?
Really if we’re honest, any company using Bookstack should be able to afford to chuck you $20/month or something (barring perhaps one-person bootstrapped startups). It’s likely red tape, bureaucracy and the internal culture that prevents this more than financial means.
And especially so if support demands are being made of you!
Getting approval to throw an open source project some money is likely to be even crazier (probably not a concept they ever imagined).
I may be asked to update $WORK's wiki, which is currently MoinMoin (IIRC), and am looking for anyone with more experience so I don't have to start testing from scratch. I've run MediaWiki before, but am not beholden to using it just because of past/current familiarity.
Importing from MoinMoin would be nice, but not absolutely required. LDAP integration (at least for authentication/LDAP binds) is mandatory, but LDAP group integration (authorization/permissions/roles) isn't mandatory: that can be internal to the app. Wouldn't mind it though: either Unix-style or AD-style (memberOf).
I don't know many things about XWiki yet, but the main difference between MediaWiki and XWiki is probably the X in XWiki (eXtensible). XWiki is more like a development platform to build a website, a blog, or a collaborative platform (internal or public) that you can tailor to your needs. What you put as contents is highly customizable / scriptable and several Wiki syntaxes are supported. The XWiki syntax can be extended to support your custom features if needed. There are a lot of apps [3] to extend XWiki (some are paid, but open source anyway so you can compile them yourself). LDAP is supported. XWiki will also provide support or specific developments if needed.
MediaWiki is developed for Wikipedia first. That's what you can read on XWiki's website anyway. But if you don't need anything that MediaWiki doesn't already provide and like its UX, it can't be a wrong decision to go for it. Many people outside Wikimedia use it and the UX is familiar to everybody, and that's huge. Both tools can be self hosted (and MediaWiki is quite easy to install), MediaWiki is mostly in PHP, XWiki is in Java. XWiki can be hosted for you by XWiki SAS. They'll also help handle migrations from Confluence and are currently handling a lot of them, and I'm sure they will be interested by hearing about migrations from other tools too.
I guess WikiMatrix would be a good starting point [4]. XWiki also have comparisons to common collaborative platforms on their websites including MediaWiki. They are obviously biased, but don't lie neither. You might want to check them out.
I hadn't encountered Bookstack, before. The UI seems quite clean. I hope we'll have the pleasure to meet and discuss at some point! The UK is not far, we are neighbors. Hmm, neighbours!
edit: by the way, you might be interested by XWiki's online presentation at FOSDEM on the 5th of February [5], as well as any other presentation in the collaboration and content management devroom, because not everything collaboration is a wiki :-) [6]
[1] https://www.xwiki.org/
[2] https://www.xwiki.com/
[3] https://xwiki.com/en/offerings/products/business-apps
[4] https://www.wikimatrix.org/compare/moinmoin+mediawiki+xwiki+...
[5] https://fosdem.org/2022/schedule/event/collabxwiki/
[6] https://fosdem.org/2022/schedule/track/collaboration_and_con...
https://en.wikipedia.org/wiki/Semantic_MediaWiki
It definitely has a bit of a higher learning curve than SMW, especially for non-developers, and even for developers there's some kinda weird stuff going on with it (e.g. they have this HOLDS syntax sugar and list-type fields as an answer to SMW's ability to express one-to-many relations a bit more naturally than sql can; also there's this cargo_attach parser function that I forget to do 80% of the time and that's why my tables don't rebuild properly).
Anyway if anyone does use MediaWiki and is choosing between these extensions I'm happy to talk to you about them, this is what I do for my job & I have several years experience with both (though my SMW experience is somewhat outdated, since I switched to Cargo several years ago, and only recently have started using SMW again, and that only tangentially).
Bookstack has a lot more inherent document organization stuff (ie: books>chapters>pages etc), it's easy as hell to administer, and it looks gorgeous out of the box.
With vanilla mediawiki, sure. If you use Cargo or SMW, you can do pretty much anything you want, especially with Cargo. Add in Lua (Scribunto extension) and you have effectively a full extra layer in your stack.
(There's also DPL (Dynamic Page List extension) as an option; if what you're doing is easy enough to express, and you're just trying to build lists of pages, you may be able to get away with just doing DPL queries and nothing else beyond that.)
It might be more technically complex than you want it to be, but it's definitely not limited to categories.
The Collection extension did that, though, but Wikimedia's weird behavior around it and their multiple failed attempts at choosing a tech stack for output — OCG/ZIM, PoD/PediaPress, Electron (not that one)/Proton — much less the next step of building that functionality into a usable feature in MW, turned me off from trying.
I need to dig into BookStack (I imagine like most wiki flavors, it'll lack the templating features in MW that I rely on), but the fact that it's built on the book/chapter paradigm from the ground up instantly catches my eye.
I've looked at a few very extensible and featureful wikis (XWiki, Tiki Wiki, TWiki, Foswiki), but for our usecase, they seemed overwhelmingly big (I know, I'm not easy to please). They're all almost application development/scripting platforms, which isn't necessarily a bad thing, but it would mean we'd have to learn a lot more if we wanted to modify parts of them. Of the four mentioned, XWiki looked like the most "polished", its conceptual model and code looked maintainable and it has a great number of actively developed plugins. If I'm not mistaken it even allows writing pages in Markdown, which was one of our criteria.
I also looked into taking a very lightweight wiki (LOC in the high thousands) and adapting it to our needs, but found that most of those didn't have a code model that would lend itself well to doing things like swapping out a custom format for Markdown, we'd basically be rewriting half the wiki at that point. Even DokuWiki, a relatively large project, is too blasé about running regexes on page contents for my taste.
We looked into BookStack, but didn't think its content model would work too well for our idea of a wiki as a "social" site. Maybe it's just the terminology, though.
In the end, we ended up running MoinMoin 2. It's in a perpetual beta state, but it is actively maintained. The main reason was its code quality: It's small enough that understanding how it all fits together is quick, and it's structured so that adding functionality or swapping out one part of it is easy (as much as it could be for software that's over a decade old, anyway). We're programmers anyway, so we decided to go with the ability to change the wiki to our liking over initial polish. So far, I've made a new theme, wrote a script for migrating from MediaWiki, changed out the Markdown parser and added SSO with CAS. The changes aren't public yet, but will be soon.
So far I'm happy with our decision, but note that my search was heavily subjective, you very likely have other requirements and preferences.
EDIT: By the way, the criteria were loosely:
- Modifiability (I wanted a custom theme, needed a non-traditional SSO option and could see us getting ambitious about custom functionality)
- Hierarchy + ideally tags for organising
- Ability to export some pages into a print version (annually published leaflet/book for new students)
- Permission system (which we hopefully won't need to use)
- Storing pages in Markdown (helps with converting for print too)
- Macros (I'm a fan, easy-to-write extensions would be just fine)
Just fyi, MediaWiki does have support for using a different page content mark up languages (Content models in mediawiki speak). In the default that's mostly only used for special purposes like CSS pages (See Special:ChangeContentModel), but the interfaces are relatively clean if you want to add your own.
Maybe I'm missing something, but BookStack doesn't even have a notion of "teams" only roles. You can't give permission of a file to a user, only to all users who have a certain role.
But I'm certainly biased as I'm building a real Confluence alternative
Sure, but there are a lot of people within that range up to tens of thousands. I have had some people mention using BookStack within environments towards to tens of thousands (Although it's likely a lesser portion enganged). Just because it may not achieve that one factor does not discount it as an alternative for significant audience.
> Maybe I'm missing something, but BookStack doesn't even have a notion of "teams" only roles. You can't give permission of a file to a user, only to all users who have a certain role.
Yeah, we don't have the word usage of "Teams" but I'm not sure what that'd offer in addition to roles. Role specific permissions can be applied to any of the hierarchy elements (Including upon page content).
As for roles. In organizations of a certain size, the concept of role is not organization wide, but team-wide. You will set for example the editor role, for some people of the team "Operations". Don't really see how this can be done on BookStack
Good luck with dokkument! Hope you gain that large-scale enterprise segment!
Most wikis are terrible at evergreen notes: the only one I can think of that might be moving the ball forward is Athens Research though I wasn't able to get their self-hosted beta running and I host dozens of other services with Compose.
Obsidian might be good too, but they don't seem too keen on supporting large business collab usecases even though enterprise is a cashcow.
I disagree, Confluence is used by tens of thousands of organizations and they don't have a very good Sales strategy, that means a lot of business choose them when they could have choose something else. So I can't buy that it is terrible everywhere.
Can we do better ? Hell yeah. But I agree with you that most of Confluence competitors are in the SMB space even though money is in large enterprise. (But that's why we are building Dokkument)
That's not wikis that are bad at evergreen notes, that's evergreen notes that are not suitable for sharing with teams. Athens or Roam research, or others works well for one person, but can't work for teams.
I don't believe the number of users in an enterprise segment buying into a software is at all indicative of the usefulness of a piece of software. Atlassian products are typically sold between people who will not be the primary users of that software.
I have yet to see a SWE missing or desiring an Atlassian product. GitHub and other SaaS products yes but never Atlassian.
I also disagree that evergreen notes aren't suitable for teams. Notes that receive a lot of attention, or are high touch, are by definition evergreen. We need more of these in orgs but most of us don't know how to tend to our companies digital gardens. A huge part of it is wordly digital cruft akin to technical debt that accrues. As it grows in size it compounds the problem of discoverability.
Note-taking is a skill that receives precious little attention, despite being so critical to knowledge work AKA anything SWEs work with daily.
In organizations the best thing to do imo is to have everyone follow the same rules. Even bad rules that everyone follow is better than everyone following its own rules. And that's clearly one thing that Confluence sucks at. But the rules can't either be the same for anyone anywhere, so there is some balance to find. The other area that can help discoverability is curation
I would be happy to have a chat with you, don't hesitate to reach out to paul at dokkument com
That's a tricky one to answer! The authentication systems most likely, just because of the different standards and configuration that different people demand. I've had to learn LDAP, SAML2 and OIDC protocols to a level that allows me to confidently add & maintain these systems.
> non technical
Probably issue handling & management, from a mental point of view. Dealing with such a range of ideas and requests with an ever-growing list of features/issues/support-request has been tricky. I've had to learn to change my perspective and goals when dealing with GitHub issues.
In general the social side has been a massive point of learning and challenge to me. I've recently written about many of these more extensively here:
https://www.reddit.com/r/opensource/comments/qrksgh/bookstac...
In my experience with Confluence, the easiest and most comprehensive way to organize information is with tables. Having a quick way to merge, delete, color cells would be great. Right now, coloring and merging are hidden away in some menus, and deleting cells will shift the bottom toolbar with the table upwards, so you can't do it quickly.
I'm currently in the process of building a new content editor which I'm hoping would provide better opportunities to make such controls more intuitive.
[1] https://demo.bookstackapp.com/
It is usually a better idea to organize information by teams than topics in an organization. The reason is that if the tree structure is unknown to most people, they will not be able to find information easily nor to choose the right place to create information.
You shouldn't expect everyone to browse the whole documentation to understand how it is structured in order to be able to use it
Doesn’t mean it’s a good product though. Especially the cloud version is progressively worse, especially with regards to performance. Glad to see some competition in the area.
I'll trial it out tomorrow. I can see on individual pages (books?) you're tracking changes, e.g. created and last edited. Are these changes tracked in a history page for version control by any chance, ssdanbrown/OP?
Most system changes (Create, Updated, Delete actions) are recorded and displayed in an audit log view for admins. As of the most recentl release, you can trigger webhooks upon any of these; Video example [1].
Changes to pages (where documentation content exists) do have their state changes recorded so you can revert/view/compare across versions of a page. The revision limit is set to 50 by default (I think) but this is configurable.
You can login to the demo as an admin to preview these features if needed [2].
[1] https://www.youtube.com/watch?v=_zIp1ruGpoI [2] https://demo.bookstackapp.com/login?email=admin@example.com&...
In Bookstack, making the server private is one or two clicks. In mediawiki you have to set at least half a dozen config file variables.
Adding any of a slew of auth methods is trivial in Bookstack. In mediawiki it's finding an extension, figuring out how to configure it, and then worrying about keeping it up to date.
Bookstack is focused on "books", chapters, pages, sections - not "pages."
It's perfect for what most people and projects need, and it looks fucking gorgeous out of the box to boot.
Thank you so much!
> In mediawiki it's finding an extension, figuring out how to configure it, and then worrying about keeping it up to date.
I've always attempted to be "batteries included" with BookStack due to this frustration. Means we have to be more limited in abilities but hopefully provide a better experience for what we do allow.
This isn't really true. During install process you are asked which you want. If you press the private button when prompted you get a private wiki. If you press public you get public.
If you want to change after you installed, you do have to edit a text based config file. You only have to edit two lines, but i appreciate that text based config file is a turn off for some people.
> Bookstack is focused on "books", chapters, pages, sections - not "pages."
I agree that this is a significant difference from mediawiki. You can do that sort of thing in MediaWiki, but you'll be swimming upstream.
[Dislaimer: im a mediawiki developer]