{"id":69963,"date":"2023-01-03T09:01:42","date_gmt":"2023-01-03T09:01:42","guid":{"rendered":"https:\/\/www.cryptocabaret.com\/?p=69963"},"modified":"2023-01-03T09:01:42","modified_gmt":"2023-01-03T09:01:42","slug":"document-with-bookstack-an-open-source-confluence-alternative","status":"publish","type":"post","link":"https:\/\/www.cryptocabaret.com\/?p=69963","title":{"rendered":"Document with BookStack, an open source Confluence alternative"},"content":{"rendered":"<p><span class=\"field field--name-title field--type-string field--label-hidden\">Document with BookStack, an open source Confluence alternative<\/span><br \/>\n<span class=\"field field--name-uid field--type-entity-reference field--label-hidden\"><a title=\"View user profile.\" href=\"https:\/\/opensource.com\/users\/ssddanbrown\" class=\"username\">ssddanbrown<\/a><\/span><br \/>\n<span class=\"field field--name-created field--type-created field--label-hidden\">Tue, 01\/03\/2023 &#8211; 03:00<\/span><\/p>\n<div class=\"clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item\">\n<p>BookStack is an open source, web-based documentation system, that allows you to create a structured knowledge store for personal, team, or company use. BookStack focuses on ease-of-use and design to provide an experience suitable for an audience with, potentially, mixed skills in technology. It&#8217;s built upon the PHP framework Laravel, with MySQL or MariaDB used as a datastore.<\/p>\n<p>I built BookStack after attempting to find a documentation or wiki system for my workplace. <a href=\"https:\/\/opensource.com\/article\/20\/9\/open-source-alternatives-confluence\">Confluence<\/a> was the closest option to suit my requirements but the user-based pricing introduced a barrier. The closed nature of Confluence also raised questions to the longevity of the documentation I&#8217;d be building. In the end, I decided to build my own platform to suit my needs. I released it under the MIT license to give back to the open source community that I&#8217;d come to love and benefit from over the years.<\/p>\n<h2>Content hierarchy and organization options<\/h2>\n<p>To keep things familiar and intuitive, BookStack makes use of real-world book terms to describe its organization structure. Documentation content is created as a &#8220;Page&#8221;:<\/p>\n<ul>\n<li>Pages belong to a specific &#8220;Book&#8221;.<\/li>\n<li>Within a Book, Pages can optionally be grouped up into &#8220;Chapters&#8221;.<\/li>\n<li>As your documentation grows, you can then use &#8220;Shelves&#8221; to categorize Books, with Books being able to be part of multiple shelves if needed.<\/li>\n<\/ul>\n<p>This structure sits at the heart of BookStack, and can often be the love-it-or-hate-it deciding aspect of whether BookStack is suitable for your use case.<\/p>\n<figure><figcaption aria-hidden=\"true\">\n<article class=\"align-center media media--type-image media--view-mode-default\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2023\/01\/bookstack.bookview.png\" width=\"3520\" height=\"1986\" alt=\"IImage of a view of a \" book in bookstack with child chapters and pages shown within.><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p>(Dan Brown, CC BY-SA 4.0)<\/p>\n<\/div>\n<\/article>\n<\/figcaption><\/figure>\n<\/p>\n<div class=\"embedded-resource-list callout-float-right\">\n<div class=\"field field--name-title field--type-string field--label-hidden field__item\">More open source alternatives<\/div>\n<div class=\"field field--name-links field--type-link field--label-hidden field__items\">\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/business\/16\/3\/top-project-management-tools-2016?intcmp=7013a000002D4iFAAS\">Open source project management tools<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/alternatives\/trello?intcmp=7013a000002D4iFAAS\">Trello alternatives<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/article\/18\/4\/new-state-video-editing-linux?intcmp=7013a000002D4iFAAS\">Linux video editors<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/life\/12\/6\/design-without-debt-five-tools-for-designers?intcmp=7013a000002D4iFAAS\">Open source alternatives to Photoshop<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/alternatives?intcmp=7013a000002D4iFAAS\">List of open source alternatives<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/tags\/alternatives?intcmp=7013a000002D4iFAAS\">Latest articles about open source alternatives<\/a><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<p>Upon this core hierarchy, BookStack also provides tagging, user favorites, and advanced search capabilities to ensure content remains discoverable.<\/p>\n<h2>Writing documentation<\/h2>\n<p>The primary method of writing documentation in BookStack is through the use of its what-you-see-is-what-you-get (WYSIWYG) editor, which makes use of the open source <a href=\"https:\/\/github.com\/tinymce\/\" target=\"_blank\" rel=\"noopener\">Tiny<\/a> project. This editor provides a range of content formats including:<\/p>\n<ul>\n<li>Various header levels<\/li>\n<li>Code blocks<\/li>\n<li>Collapsible blocks<\/li>\n<li>Tables<\/li>\n<li>Images<\/li>\n<li>Links<\/li>\n<li>iFrame embeds<\/li>\n<li>Alert callouts<\/li>\n<li>Bullet, numbered and tasks lists<\/li>\n<li>Drawings (through intregration with the open source <a href=\"https:\/\/www.diagrams.net\/\">diagrams.net<\/a>)<\/li>\n<\/ul>\n<figure><figcaption aria-hidden=\"true\">\n<article class=\"align-center media media--type-image media--view-mode-default\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2023\/01\/bookstackpage_wysiwyg_editor.png\" width=\"2640\" height=\"1569\" alt=\"An image of editing a \" page using the wysiwyg editor.><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p>(Dan Brown, CC BY-SA 4.0)<\/p>\n<\/div>\n<\/article>\n<\/figcaption><\/figure>\n<p>If you prefer <a href=\"https:\/\/opensource.com\/article\/19\/9\/introduction-markdown\">Markdown<\/a>, you can use the built-in Markdown editor, which provides a live preview and supports the same feature set as the WYSIWYG editor. If permission allows, you can even jump between these editor options depending on the page you&#8217;re editing.<\/p>\n<h2>How your data is stored<\/h2>\n<p>Documentation is stored within a <a href=\"https:\/\/opensource.com\/downloads\/mariadb-mysql-cheat-sheet\" target=\"_blank\" rel=\"noopener\">MySQL or MariaDB<\/a> database in a relatively simple HTML format, in addition to the original Markdown content if Markdown was used. A lot of design and development decisions have been made to keep this HTML format simplistic. It uses plain standard HTML elements where possible, to ensure raw documentation content remains open and portable.<\/p>\n<p>Uploaded images, attachments, and created drawings are saved on the local filesystem but can optionally be stored in an s3-compatible datastore like the open source <a href=\"https:\/\/github.com\/minio\/\" target=\"_blank\" rel=\"noopener\">MinIO<\/a>.<\/p>\n<p>To keep your content accessible, there are built-in options to export content as PDF, HTML, plain text, or Markdown. For external consumption, there&#8217;s a HTTP REST API and a webhook system. In terms of extension, a &#8220;logical theme system&#8221; allows running of custom PHP code upon a wide range of system events.<\/p>\n<h2>Ready for business<\/h2>\n<p>BookStack comes with a range of features to support business environments. Support for a range of authentication options are built-in, including SAML2, OpenID Connect, and LDAP allowing easy single-sign-on usage with platforms such as <a href=\"https:\/\/www.keycloak.org\/\">KeyCloak<\/a>. MFA options are available and can be mandated based upon role. An audit log provides full visibility of modification activities across an instance.<\/p>\n<figure><figcaption aria-hidden=\"true\">\n<article class=\"align-center media media--type-image media--view-mode-default\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2023\/01\/booksack.audit_log_view.png\" width=\"3520\" height=\"1632\" alt=\"\u200bimage of the BookStack audit log activity list.\"><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p>(Dan Brown, CC BY-SA 4.0)<\/p>\n<\/div>\n<\/article>\n<\/figcaption><\/figure>\n<p>A full role-based permission system provides administrators full control over create, view, update, and delete actions of system content. This allows per-role system defaults, with options to set custom permissions on a per-hierarchy item basis.<\/p>\n<h2>A community of support<\/h2>\n<p>After being active for over 7 years, the community for BookStack has grown with various avenues for discussion and support. We now have:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.bookstackapp.com\/docs\/\">Our documentation site<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/c\/BookStackApp\">Video guides on YouTube<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/bookstack\">A subreddit<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/BookStackApp\/BookStack\/issues\">An active GitHub issues list<\/a><\/li>\n<li><a href=\"https:\/\/www.bookstackapp.com\/support\">Paid-for business support<\/a><\/li>\n<\/ul>\n<p>If you want to play with BookStack, you can try it out <a href=\"https:\/\/demo.bookstackapp.com\/books\/bookstack-demo-site\/page\/logging-in-to-the-demo-site\">on our demo site<\/a>. To learn how to set up your own instance, visit the <a href=\"https:\/\/www.bookstackapp.com\/docs\/admin\/installation\/\">installation page of our documentation<\/a>.<\/p>\n<\/div>\n<div class=\"clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item\">\n<p>BookStack is an open source, web-based documentation system, that allows you to create a structured knowledge store for personal, team, or company use.<\/p>\n<\/div>\n<div class=\"field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item\">\n<article class=\"media media--type-image media--view-mode-caption\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2023\/01\/books_read_list_stack_study.png\" width=\"1041\" height=\"585\" alt=\"Stack of books for reading\" title=\"Stack of books for reading\"><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p>Opensource.com<\/p>\n<\/div>\n<\/article>\n<\/div>\n<div class=\"field field--name-field-tags field--type-entity-reference field--label-hidden field__items\">\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/tags\/alternatives\" hreflang=\"en\">Alternatives<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/tags\/documentation\" hreflang=\"en\">Documentation<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/tags\/business\" hreflang=\"en\">Business<\/a><\/div>\n<\/p><\/div>\n<div class=\"hidden field field--name-field-listicle-title field--type-string field--label-hidden field__item\">What to read next<\/div>\n<div class=\"field field--name-field-default-license field--type-list-string field--label-hidden field__item\"><a rel=\"license\" href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/4.0\/\"><br \/>\n        <img decoding=\"async\" alt=\"Creative Commons License\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2023\/01\/cc-by-sa-4-4.png\" title=\"This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.\"><\/a>This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.<\/div>\n<section class=\"field field--name-field-comments field--type-comment field--label-hidden comment-wrapper\">\n<div class=\"comments__count\">\n<div class=\"login\"><a href=\"https:\/\/opensource.com\/user\/register?absolute=1\">Register<\/a> or <a href=\"https:\/\/opensource.com\/user\/login?destination=\/feed&amp;absolute=1\">Login<\/a> to post a comment.<\/div>\n<\/p><\/div>\n<\/section>\n<p class=\"wpematico_credit\"><small>Powered by <a href=\"http:\/\/www.wpematico.com\" target=\"_blank\" rel=\"noopener\">WPeMatico<\/a><\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Document with BookStack, an open source Confluence alternative ssddanbrown Tue, 01\/03\/2023 &#8211; 03:00 BookStack is an open source, web-based documentation system, that allows you to create a structured knowledge store for personal, team, or company use. BookStack focuses on ease-of-use and design to provide an experience suitable for an audience with, potentially, mixed skills in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":69964,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[307],"tags":[],"class_list":["post-69963","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-open-source"],"_links":{"self":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/posts\/69963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=69963"}],"version-history":[{"count":0,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/posts\/69963\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/media\/69964"}],"wp:attachment":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=69963"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=69963"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=69963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}