Blog entries should be just another type of node¶
Sunday, November 5, 2023
Here is my summary after having played a full week with #5193 (Blog entries should be just another type of node).
Visible changes in publisher: Hierarchical pages now have previous/next links. Blog entries now have the same layout as hierarchical pages.
After my playing I think that we actually do not want previous/next links on blog entries. In the admin view yes, there we want to navigate also in display mode “detail”, but not on a publisher link. Such links are meant to be shared in social media where people get quickly distracted by every useless detail.
The lino.modlib.publisher plugin is now used as menu group for
the three other CMS-specific plugins (blogs, pages and albums).
The new setting lino.modlib.publisher.locations replaces the
PublisherViews choicelist.
A bug caused the “Start now” button on a background task to not work. We can now run these tasks manually.
TODO: Think about #5204 (About Site.user_linod, checkdata, checksummaries & Co)
I reviewed the __init__() method of lino.modlib.linod.Procedure.
Now it takes just the func object. That’s much easier to remember for
application developers. This optimization revealed an issue in
lino.core.choicelists: the deconstruct() method of a
ChoiceListField must remove the choices keyword because the list of
choices of a ChoiceListField does not influence whether we need a
migration or not. As a side effect, Choice no longer needs to be
@deconstructible. (See Friday, November 3, 2023 for details)
Removed duplicate definition of requests.BaseRequest.obj2url().
lino.modlib.users.User is now lino.modlib.publisher.Publishable
lino_xl/lib/pages/fixtures/demo2.py shows how to run a background
task from a script.
I changed Plugin._active to Plugin.hidden and renamed
Plugin.deactivate() to Plugin.hide(). You can now hide a plugin in
the get_plugin_configs. I
removed the obsolete Plugin.disables_plugins attribute.
The lino_xl.lib.topics plugin is now more easy to integrate because the
InterestsByController slave panel becomes invisible when the plugin
gets hidden.
The add_interest action is no longer needed since
InterestsByController has an insert button in the slave summary.
The files utils.py and views.py in lino_xl.lib.pages were
no longer used. I removed them.
When the plugin specified as the menu group of another plugin has itself
a menu_group, then get_menu_group() now returns the menu_group of the menu
group.