The Joomla subform field type has many uses. For xbBooks and related components I needed to populate a link table joining books and people (people may be authors, editors, mentioned in a book, or fictional characters in a book). Since a person may take on more than one role for a particular book, or between books, the link table needs to have an additional field to hold what role the link represents as well as the two id fields: book_id and person_id.

From the admin point of view the user needs to either be able to specify who the author(s) (a book may have several authors) are when creating/editing the book entry, or be able to specify what books the person is associated with when creating/editing the person entry.

Subfrom fields make this a doddle.


So since the last post here I have spend most of my tech-time working on a suite of new Joomla Components to replace the flat-file catalogue of books and films that I have read or seen which exists only on my ageing Macbook using a no-longer-supported (or compatible with the latest macos) database app called Bento.



Last post June 2019 - WTF? Have I been asleep or just dreaming?

Truth is I haven't done any Joomla development since last June, and what time I have spent messing about with code has been more to do with configuring and organising tools used by other groups.

This has involved a bit of tinkering with two new-to-me systems - Discourse forum software and Nextcloud cloud storage. Both are written using large chunks of modern stuff I don't really understand and don't really want to get to grips with. Both are also tricky to hack around with as they require compiling, and in the case of Nextcloud which does at least have a php core it is very locked down - so it detects if any files have changed since it was compiled and barfs - often fatally.

Still I have managed to produce some 'Theme Components' for discourse, and do a fair bit of CSS based customisation for Nextcloud both of which I might get round to writing about.

Actually I used to have an OwnCloud instance running on a hard drive attached to my dsl modem/router for sharing files between devices in the house, and Nextcloud is built on Owncloud and so I have installed my own version on my web host.

And that's another thing that has eaten time over the past months - I finally decided to migrate away from TsoHost for webhosting and get myself a VPS package which gives a lot more flexibility - at the expense of having to brush up my very rusty Linux sysadmin skills. Possibly something else to write about.


There is (as of Joomla 3.9...) an annoying bug in Joomla core with the JHtml Helper function TruncString()

This bug was reported in j2.5 and still hasn't been fixed.
If the truncate point is between a tag pair, then string.truncate closes the hanging tag but puts the ellipsis after the tag closure.