]> BookStack Code Mirror - website/commitdiff
Completed first pass for v23-12 post
authorDan Brown <redacted>
Thu, 28 Dec 2023 15:35:49 +0000 (15:35 +0000)
committerDan Brown <redacted>
Thu, 28 Dec 2023 15:35:49 +0000 (15:35 +0000)
- Added images
- Reviewed post text
- Added initial translation list

content/blog/2023/bookstack-release-v23-12.md
content/docs/admin/updates.md
static/images/2023/12/book_default_page_template.png [new file with mode: 0644]
static/images/2023/12/button_design_update.png [new file with mode: 0644]
static/images/2023/12/notification_page_context.png [new file with mode: 0644]
static/images/2023/12/references_from_descriptions.png [new file with mode: 0644]
static/images/2023/12/wysiwyg_description_input.png [new file with mode: 0644]

index e888d979aff13c2885738e2f590bd7051bf399c7..56cf978437d1edf3dae9d7b4f258865904942513 100644 (file)
@@ -11,43 +11,42 @@ draft = false
 
 As a little Christmas-time treat we have BookStack v23.12 slipping in as the last
 release of the year. This release focuses on providing a simple WYSIWYG editor 
-for description inputs and default page templates within books, among some other additional gifts.
+for description inputs, along with adding default page templates within books,
+in addition to some other additional gifts.
 
 * [Update instructions](/docs/admin/updates)
 * [GitHub release page](https://github.com/BookStackApp/BookStack/releases/tag/v23.12)
 
 **Upgrade Notices**
 
-TODO - Copy to updates page
-
 - **Page Includes** - The way page include content is fetched & merged has changed significantly in this release,
-   which may in some cases alter how included content appears on the page.
-- **Prior Security Release** - Prior version v23.10.3 was a security release. If you missed this before, further details about that [can be found here](/blog/bookstack-release-v23-10-3/).
+   which in some cases may alter how included content appears on the page.
+- **Prior Security Release** - Prior version v23.10.3 was a security release. If you missed this before, further details about that [can be found on the blog here](/blog/bookstack-release-v23-10-3/).
 
 Video - TODO
 <!-- {{<pt 4YtVndveEVE6GuuGPV3Yn1>}} -->
 
 ### WYSIWYG Editor for Descriptions
 
-In BookStack we have description fields for chapters, books and shelves which allow a little bit of explanation and context to be provided for those items.
+In BookStack we have description fields for chapters, books and shelves which allow a little bit of explanation & context to be provided for those items.
 These have always been simple plaintext fields, but as of v23.12 you'll now see a simple WYSIWYG input box instead with a few formatting controls:
 
-TODO - Image of description field
+![A "description" part of a form, showing a WYSIWYG input box with some content that includes italic, bold and linked content, and a toolbar with 5 formatting buttons at the top of the input box](/images/2023/12/wysiwyg_description_input.png)
 
 Formatting options include, and are limited to: bold, italic, links, bullet lists and numbered lists.
 The formatting is purposefully limited here to keep main content within pages, but allow a little formatting along with linking to relevant pages where required.
 Since links can now be placed within descriptions, references to other items will now be tracked via the existing reference system:
 
-TODO - Image of page references, references by a shelf, chapter and book.
+![View of the "References" for a page, showing four incoming references, one each from a book, chapter, shelf and page](/images/2023/12/references_from_descriptions.png)
 
-For API users, new `description_html` fields now exist on responses and requests to interact with this field in a HTML-aware manner, otherwise the pre-existing `description` fields will continue to work as before.
+For API users, new `description_html` fields now exist on responses & requests to interact with this field in a HTML-aware manner, otherwise the pre-existing `description` fields will continue to work as before.
 
 ### Default Template For New Book Pages
 
-We've long since supported page [templates](/docs/user/page-templates/) within BookStack but to be used the user would have to access the relevant sidebar menu within the page editor, leading to them being easy to miss. Additionally, it would be a common desire to use a template for all pages created within a certain context.
+We've long since supported page [templates](/docs/user/page-templates/) within BookStack but to be used an editing user would have to access the relevant sidebar menu within the page editor, meaning they could be easy to miss or ignore. Additionally, it would be a common desire to use a template for all pages created within a certain context.
 In this release, a new option for books allows you to set a default page template:
 
-TODO - Image of option
+![A view of the form for editing a Book, focused on a "Default Page Template" section with a "Development Plan Template" item selected](/images/2023/12/book_default_page_template.png)
 
 When set, this template page will be used as the default content for all new pages within that book, preventing the need to select the template within the editor each time you create something new. Note though, this is still permission controlled so the template will only be used if the page creator has view access to the template assigned.
 
@@ -56,7 +55,7 @@ A big thanks to [@lennertdaniels](https://github.com/BookStackApp/BookStack/pull
 ### OIDC RP-Initiated Logout
 
 OpenID-Connect authentication in BookStack allows for easy login via an external system, but so far it's lacked any kind of logout support.
-That changes in this release thanks for efforts by [@joancyho](https://github.com/BookStackApp/BookStack/pull/4467) to introduce OIDC RP-Initiated logout support.
+That changes in this release thanks to efforts by [@joancyho](https://github.com/BookStackApp/BookStack/pull/4467) to introduce OIDC RP-Initiated logout support.
 This official [complementary part of the OIDC spec](https://openid.net/specs/openid-connect-rpinitiated-1_0.html) allows an application like BookStack to request logout of the external authentication system as part of the application's logout flow.
 
 BookStack's support of this includes the use of autodiscovery to learn the logout endpoint.
@@ -76,6 +75,9 @@ OIDC_END_SESSION_ENDPOINT=false
 It's likely you'll need to also configure logout/sign-out URIs on your OIDC authentication system for your BookStack application instance.
 Our [OIDC documentation](/docs/admin/oidc-auth/#authentication-system-configuration) has been updated with details of these URIs.
 
+During testing I've validated this system to work with Okta, KeyCloak, Azure, Authentik and Auth0; so support for this part of the 
+standard by authentication services seems pretty widespread.
+
 ### Page Context in Email Notifications
 
 A couple of releases ago we added email notifications for certain page activities, and these notifications would include
@@ -83,7 +85,7 @@ a name and link for the page interacted upon. Sometimes though, it may not be cl
 page name alone since it could be a page name used multiple times, or lacking context without knowing where that page is located.
 To help add that context, notifications will now reflect the page parent book, and chapter if within:
 
-TODO - Image of notification with page parent context including chapter
+![A screenshot of a BookStack notification message, showing a new "Page Path" detail with the text: "Accounts Department > Pension Providers"](/images/2023/12/notification_page_context.png)
 
 A big thanks to [@Man-in-Black](https://github.com/BookStackApp/BookStack/pull/4629) for contributing this functionality.
 
@@ -94,7 +96,7 @@ while potentially coming across somewhat angry via their shouty appearance.
 For this release, the design of buttons has been tweaked a little to better fit them into the current design, rounding the corners
 a little more, tweaking the shadows upon hover and, most importantly, using the casing from the source translation text:
 
-TODO - Image of buttons
+![Four buttons, comparing the old and new design](/images/2023/12/button_design_update.png)
 
 In most cases buttons will now appear as Title Case, although this can now change to suit different languages as needed as it's not forced
 by design.
@@ -144,24 +146,62 @@ a simple find/replace approach, which worked well for the most part but could le
 cases due to nested paragraphs and other oddities, which may cause unpredictable issues in how pages would display
 with include tags.
 
-In this release, the engine for page include tags has been rebuilt to specifically be more content aware
+In this release, the engine for page include tags has been rebuilt to specifically be more content aware,
 avoiding invalid structure where possible by smartly splitting existing blocks or moving included content to
 appropriate locations if needed.
 
 ### Translations
 
-One again a big thanks to all the exceptionally eloquent experts in language who've contributed
+Before the year closes out we have one more new language made available in BookStack, and that is Finnish!
+A big thanks to the [Crowdin user ajnyga](https://crowdin.com/profile/ajnyga/activity) for all their efforts
+translating for Finnish up to the point where we can include it.
+
+Once again a big thanks to all the exceptionally eloquent experts in language who've contributed
 translations since our last feature release:
 
-TODO
+- Eduard Ereza Martínez (Ereza) - *Catalan - 7160 words*
+- Antti-Jussi Nygård (ajnyga) - *Finnish - 6108 words*
+- Guttorm Hveem (guttormhveem) - *Norwegian Nynorsk; Norwegian Bokmal - 2718 words*
+- toras9000 - *Japanese - 1045 words*
+- Vitaliy (gviabcua) - *Ukrainian - 922 words*
+- poesty - *Chinese Simplified - 635 words*
+- Jabir Lang (amar.almrad) - *Arabic - 480 words*
+- Sascha (Man-in-Black) - *German Informal; German - 443 words*
+- pedromcsousa - *Portuguese - 372 words*
+- Jaroslav Koblizek (foretix) - *Czech; French - 365 words*
+- Felipe Cardoso (felipecardosoruff) - *Portuguese, Brazilian - 348 words*
+- SmokingCrop - *Dutch - 324 words*
+- sdhadi - *Persian - 284 words*
+- Indrek Haav (IndrekHaav) - *Estonian - 250 words*
+- Konstantin (kkovacheli) - *Ukrainian; Russian - 246 words*
+- Wiktor Adamczyk (adamczyk.wiktor) - *Polish - 184 words*
+- Maciej Lebiest (Szwendacz) - *Polish - 164 words*
+- Abdulmajeed Alshuaibi (4Majeed) - *Arabic - 114 words*
+- scureza - *Italian - 99 words*
+- m0uch0 - *Spanish - 99 words*
+- HyoungMin Lee (ddokkaebi) - *Korean - 67 words*
+- Dasferco - *Chinese Simplified - 64 words*
+- NotSmartZakk - *Czech - 62 words*
+- TheRazvy - *Romanian - 55 words*
+- Martins Pilsetnieks (pilsetnieks) - *Latvian - 49 words*
+- balmag - *Hungarian - 25 words*
+- Serkan Yardim (serkanzz) - *Turkish - 14 words*
+- LameeQS - *Latvian - 12 words*
+- Marcus Teräs (mteras) - *Finnish - 10 words*
+- Y (cnsr) - *Ukrainian - 7 words*
+- ZY ZV (vy0b0x) - *Chinese Simplified - 6 words*
+- diegobenitez - *Spanish - 4 words*
+- Sorin T. (trimbitassorin) - *Romanian - 3 words*
+- Marc Hagen (MarcHagen) - *Dutch - 1 words*
 
-- User - *Language - x words*
 
 *\* Word counts are those tracked by Crowdin, indicating original EN words translated.*
 
 ### Next Steps
 
-Now we have a simpler WYSIWYG editor, as implemented for descriptions in this release, I'll probably be looking to carry this across to the comments system to provide that with simple WYSIWYG editing, although this will require some breaking changes to the currently supported markdown content of this input. Upon that, over the initial few weeks of this year I'd like to explore some of the new PHP-ecosystem technologies like roadrunner and/or FrankenPHP to understand their potential benefit to BookStack.
+Now we have a simpler WYSIWYG editor, as implemented for descriptions in this release, I'll probably be looking to carry this across to the comments system to provide that with simple WYSIWYG editing, although this will require some breaking changes to the currently supported markdown content of this input. 
+
+Upon that, over the initial few weeks of this year I'd like to explore some of the new PHP-ecosystem technologies like roadrunner and/or FrankenPHP to understand their potential benefit to BookStack.
 
 Over the next few days I'll be putting together a "BookStack in 2023" blogpost, like [done previous years](https://www.bookstackapp.com/blog/bookstack-in-2022/) to look back and assess the progress of the project over the last year.
 
index 1e8ff4bcfb9bf69c1513a43e3da9fcd169a1db87..096cd23d5ef66c15eaa0bc4b059100facde4740e 100644 (file)
@@ -41,6 +41,10 @@ This is primarily a list of breaking changes & security notices.
 Details of updates can be found on [our blog](https://www.bookstackapp.com/blog/) or via 
 the [GitHub releases page](https://github.com/BookStackApp/BookStack/releases).
 
+#### Updating to v23.12 or higher
+
+**Page Includes** - The way page include content is fetched & merged has changed significantly in this release, which in some cases may alter how included content appears on the page.
+
 #### Updating to v23.10.3 or higher
 
 **Security** - v23.10.3 addresses a vulnerability relating to image handling which could be exploited, by users with the ability to create/edit/update page content, to perform server-side requests or read the contents of files on the server system. Additionally, this update addresses a lack of permission check in some image creation actions.
diff --git a/static/images/2023/12/book_default_page_template.png b/static/images/2023/12/book_default_page_template.png
new file mode 100644 (file)
index 0000000..cd9567d
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:32a1993e30c662deb573eec9bf5358fcf56b4c7415f3e3fb3b17b39d44cada0a
+size 23163
diff --git a/static/images/2023/12/button_design_update.png b/static/images/2023/12/button_design_update.png
new file mode 100644 (file)
index 0000000..4fa6c46
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d457a46ffa0645dad7bcfee4233100a091264639223e959c524ec9ee350f5990
+size 10854
diff --git a/static/images/2023/12/notification_page_context.png b/static/images/2023/12/notification_page_context.png
new file mode 100644 (file)
index 0000000..5a9d8f7
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:476550867bc05f4d5490f96110e86cc1e269ba65f8d41f148bdd89b6faf5de7d
+size 21926
diff --git a/static/images/2023/12/references_from_descriptions.png b/static/images/2023/12/references_from_descriptions.png
new file mode 100644 (file)
index 0000000..5804533
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:22d26ff9e6dd16ec01cc0ea049b4e36b07053732791eee307f5f83e667a61867
+size 44436
diff --git a/static/images/2023/12/wysiwyg_description_input.png b/static/images/2023/12/wysiwyg_description_input.png
new file mode 100644 (file)
index 0000000..02666cb
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:aa947ee60a460d7bb5be13dd879ed72d34664a4d4ff8ec39416449c5c9b92bc3
+size 18393