Version 2.4

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:

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 Net::ACME2. Unofficial Debian packages are available for Stretch and Buster at 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).

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.

On /category/location you have the listing of the locations.

And the location page /category/location/zagreb

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.

Create the initial node

Add a title and an optional body, and attach texts

Overview of the tree, you can add a child node

An attached text will carry the breadcrumbs

The updated sitemap

The node page with texts and children nodes

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 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. (GH#340)

2.452 (2020-04-18)

Implement robots.txt override from the database (new option in the admin panel) 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 (GH#245)

Simplify the setup for using the offline editing with git (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 (GH#331 and GH#332)

Add site option no_autoassign_pubdate (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 (GH#208)

2.431 2019-12-23

Logging tuning

2.430 2019-12-23

Include deferred texts in search results for logged in (GH#327)

Replace cronjob with unit file for nginx reloading on demand (GH#326)

Upgrade the encryption of user passwords

Refactor the password resetting feature asking (GH#328)

2.420 2019-12-04

Refactor the static indexes (GH#325)

Keep the custom formats name stable across migrations (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 (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 (GH#311)

Use Text::Unidecode instead of the custom code

List and allow to use existing custom formats in the BookBuilder as preloaded settings. (GH#320)

List and allow to use existing images as cover in the BookBuilder (GH#314)

Allow custom format selection in the header (GH#310)

Add binary attachments to the infobox (GH#309)

When a text is not published, redirect it to /console/unpublished instead of a 404 for logged in users (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.