#pubdate 2020-07-03 #title Version 2.4 #teaser Introducing nodes, ACME2 support, improved support for binary uploads, express publishing, custom category types (not limited to authors/topics), bookbuilder improvements, **security fix** #cat releases ** Overview *** Parent-children relationship between texts You can now use the =#parent= directive in a text, which will become its child. A child text will not be listed in the categories listing and will inherit them from the parent. {{{ #title Example #parent my-other-text-uri }}} The infobox will link to the parent, and the parent will have a box pointing to the children. *** Binary uploads The support for attached files has been extended. You can now upload audio and video files (you will probably need to tweak the max upload size in the admin) and create pages to display them without the infobox. Example source: {{{ #ATTACH t-t-test-1.webm t-t-test-2.pdf t-t-test-4.mp3 t-t-test-3.mp4 #title File Gallery #blob 1 }}} Resulting in such page: [[a-v-nodes-9.png]] *** Express publishing A new option has been added in the admin, "Speed up the publishing process", which will skip the revision page if you have the permission to publish and there are no conflicts. Also when the publishing is complete, you will be redirected automatically to the target page. This makes sense if you are the only one working on the site and the publishing procedure seems too long and kind of gratuitous (it's not, really!) to you. *** Let's Encrypt The version 1 of the ACME protocol is going away soon, so Amusewiki is now using the version 2, thanks to [[https://metacpan.org/pod/Net::ACME2][=Net::ACME2=]]. Unofficial Debian packages are available for Stretch and Buster at [[https://packages.amusewiki.org/][packages.amusewiki.org]] *** Custom category types You may need more flexibility than just authors and topics. For that you can now create your own category type, e.g. publisher or location (You can find the admin console at =/settings/categories=). [[a-v-cat-1.png]] Then you would add to the header: {{{ #title test custom formats (all) #publisher My publisher #location Zagreb Text... }}} And they would appear in the text infobox. [[a-v-cat-2.png]] On =/category/location= you have the listing of the locations. [[a-v-cat-5.png]] And the location page =/category/location/zagreb= [[a-v-cat-3.png]] *** Introducing nodes The development for Amusewiki 2.4 started in the late spring 2019 developing a new feature, the "nodes", to overcome the limitation of the single level author/topic structure and to gain the ability to build arbitrary trees of texts. Sometimes this approach can be better than having the category hardcoded into the text, but it's your choice. You can use this or the classical system, or both. The feature is still marked as experimental, but it can be accessed under [[/node]] A quick demo would probably give you a better idea of what is about. [[a-v-nodes-1.png f][Create the initial node]] [[a-v-nodes-2.png f][Add a title and an optional body, and attach texts]] [[a-v-nodes-3.png f][Overview of the tree, you can add a child node]] [[a-v-nodes-5.png f][An attached text will carry the breadcrumbs]] [[a-v-nodes-6.png f][The updated sitemap]] [[a-v-nodes-7.png f][The node page with texts and children nodes]] [[a-v-nodes-8.png f][When adding a text, you can attach it to a node right away]] ** Changes *** 2.459 (2020-07-03) - Store the feed teaser in the Xapian DB to improve Meta output *** 2.458 (2020-06-22) - Permit multiple addresses in notification [[https://github.com/melmothx/amusewiki/issues/346][GH#346]]) - Show fixed categories in listings as labels *** 2.457 (2020-06-18) - New themes: robotojournal and purplejournal *** 2.456 (2020-06-12) - Updated i18n: DE, PL, MK - New feature: grant read access to private sites, git and mirror via IP whitelisting. The feature is accessible via the admin panel and with a new script, =amusewiki-whitelist-ip= *** 2.455 (2020-05-31) - Updated i18n (added PL) - Support the use of a stripped down TeX Live installation (packaged as =amusewiki-texlive=). Now the debian package depends on that OR on texlive-full, but this is the supported solution. - Update jquery to current 3.5.1 - Add opt-in to generate a named toc instead of =toc1=, =toc2=, etc. - Remove modal ToC (which was not working as expected) and replaced with navbar dropdown - Improved cover handling for mobile *** 2.454 (2020-05-07) - Fix redundant/harmful pagination on publish/all - Update i18n (tr) *** 2.453 (2020-05-01) - Add /site-admin/users route for site administrators for user management. ([[https://github.com/melmothx/amusewiki/issues/340][GH#340]]) *** 2.452 (2020-04-18) - Implement robots.txt override from the database (new option in the admin panel) [[https://github.com/melmothx/amusewiki/issues/338][GH#338]] *** 2.451 (2020-04-13) - Adjustments to tests and migration from amusewiki-cgit service *** 2.450 (2020-04-12) - Bump ckeditor version. Users are advised to upgrade it with =./script/install_js.sh --clean= - Remove the need for an external service for cgit ([[https://github.com/melmothx/amusewiki/issues/245][GH#245]]) - Simplify the setup for using the offline editing with git ([[https://github.com/melmothx/amusewiki/issues/336][GH#336]]) *** 2.442 2020-02-25 - Enable ipv6 ports on nginx - Bump dependency on Text::Amuse to bring in the short form of headings - Improve messages for git pulling ([[https://github.com/melmothx/amusewiki/issues/331][GH#331]] and [[https://github.com/melmothx/amusewiki/issues/332][GH#332]]) - Add site option no_autoassign_pubdate ([[https://github.com/melmothx/amusewiki/issues/330][GH#330]]) *** 2.441 2020-01-17 - Fix bug with arbitrary pagination size in the pagination widget (the current size was not displayed if not a standard one) - Fix crash on /opds/search with non-latin1 characters *** 2.440 2020-01-08 - Introduce an experimental feature for parent-children relationships between texts ([[https://github.com/melmothx/amusewiki/issues/208][GH#208]]) *** 2.431 2019-12-23 - Logging tuning *** 2.430 2019-12-23 - Include deferred texts in search results for logged in ([[https://github.com/melmothx/amusewiki/issues/327][GH#327]]) - Replace cronjob with unit file for nginx reloading on demand ([[https://github.com/melmothx/amusewiki/issues/326][GH#326]]) - Upgrade the encryption of user passwords - Refactor the password resetting feature asking ([[https://github.com/melmothx/amusewiki/issues/328][GH#328]]) *** 2.420 2019-12-04 - Refactor the static indexes ([[https://github.com/melmothx/amusewiki/issues/325][GH#325]]) - Keep the custom formats name stable across migrations ([[https://github.com/melmothx/amusewiki/issues/321][GH#321]]) *** 2.412 2019-12-01 [SECURITY] - Restrict remote repositories set in the web interface to git/http. In some configurations with hostile users, having local gits could lead to information disclosure of other repositories (setting the remote path to a known local git, the merge will not happen, but the commit summary would be listed). *** 2.411 2019-11-29 - Extend the use of datatables and localize them ([[https://github.com/melmothx/amusewiki/issues/324][GH#324]]) *** 2.410 2019-11-28 - Use datatables.net Javascript for large tables in the admin (users, sites and jobs) instead of monolithic tables and/or pagination. - Permit the creation of custom category types beside the predefined authors/topics ([[https://github.com/melmothx/amusewiki/issues/311][GH#311]]) - Use Text::Unidecode instead of the custom code - List and allow to use existing custom formats in the BookBuilder as preloaded settings. ([[https://github.com/melmothx/amusewiki/issues/320][GH#320]]) - List and allow to use existing images as cover in the BookBuilder ([[https://github.com/melmothx/amusewiki/issues/314][GH#314]]) - Allow custom format selection in the header ([[https://github.com/melmothx/amusewiki/issues/310][GH#310]]) - Add binary attachments to the infobox ([[https://github.com/melmothx/amusewiki/issues/309][GH#309]]) - When a text is not published, redirect it to /console/unpublished instead of a 404 for logged in users ([[https://github.com/melmothx/amusewiki/issues/316][GH#316]]) To take advantage of the new BookBuilder features with images, you may want to reindex the site with amusewiki-bootstrap-archive --refresh. This step is however optional and doesn't prevent the normal functioning of the sites (you're just not going to see the images as available on the BookBuilder until you reindex the affected texts). *** 2.401 2019-11-01 - Add CLI options to control the jobber polling interval and parallelization. - Add id attributes where missing in the top bar, for better styling *** 2.400 2019-10-27 - Upgraded RU localization - Improved express publishing *** 2.392 2019-08-23 - Upgraded HR and IT localization *** 2.391 2019-08-15 - Migrate from =Protocol::ACME= to =Net::ACME2= to get Let's Encrypt certificate using the new protocol, given that the old one is getting sinked soon. - New site option: express_publishing. If in effect, the publishing procedure is speeded up and if no conflict is found, the text will be published right away. This is useful if there are no external contributions. - Add List-Id to our mails, so clients have a chance to pick it up. - Support per-format template files via newest Text::Amuse::Compile *** 2.390 2019-07-25 - Added experimental node system. It's accessible to logged in users under =/node=. The basic functionality is there. Probably needs refinement with locale-aware sorting. This permits to create arbitrary category trees. - Added experimental feature for adding binary files like video/audio. Available in the configuration panel.