[Bug 26381] New: Koha should provide Koha plugins with a template to use with Template::Toolkit WRAPPER
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26381 Bug ID: 26381 Summary: Koha should provide Koha plugins with a template to use with Template::Toolkit WRAPPER Change sponsored?: --- Product: Koha Version: master Hardware: All OS: All Status: NEW Severity: enhancement Priority: P5 - low Component: Plugin architecture Assignee: koha-bugs@lists.koha-community.org Reporter: dcook@prosentient.com.au QA Contact: testopia@bugs.koha-community.org At the moment, Koha plugins have to built their own templates from scratch. I'm proposing that Koha provides a BLOCK or a template file that Koha plugins can then use with the Template::Toolkit WRAPPER directive to minimize the amount of boiler plate they have to use. Here is an example of a very simple "plugin_wrapper" [% BLOCK plugin_wrapper %] [% INCLUDE 'doc-head-open.inc' %] <title>Koha: [% name %]</title> [% INCLUDE 'doc-head-close.inc' %] </head> <body> [% INCLUDE 'header.inc' %] [% INCLUDE 'cat-search.inc' %] <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/plugins/plugins-home.pl">Plugins</a> › [% breadcrumb %]</div> <div id="doc3"> [% content %] [% INCLUDE 'intranet-bottom.inc' %] [% END %] Then, in my report-step1.tt file, all I need to include is the following: [% WRAPPER plugin_wrapper name = 'My Plugin' breadcrumb = 'My Plugin' %] <div>Plugin content</div> [% END %] I've already tested this a little bit, and it's beautiful. -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26381 --- Comment #1 from David Cook <dcook@prosentient.com.au> --- This could make it easier to support Koha plugins across multiple versions, since the different Koha versions would provide their own wrappers. (I admit that this could maybe create compatibility issues if the Koha plugin HTML isn't written well or somehow conflicts with the mainstream Koha wrapper.) -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26381 --- Comment #2 from David Cook <dcook@prosentient.com.au> --- I think that I could also be happy with Koha plugin specific wrappers, so long as they could be reusable within the same plugin. I need to play with the INCLUDE directive a bit to see whether or not Koha needs to be patched to add include directories for plugins... -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26381 --- Comment #3 from David Cook <dcook@prosentient.com.au> --- (In reply to David Cook from comment #2)
I think that I could also be happy with Koha plugin specific wrappers, so long as they could be reusable within the same plugin.
I need to play with the INCLUDE directive a bit to see whether or not Koha needs to be patched to add include directories for plugins...
Here's a solution: MyPlugin.pm: my $template = $self->get_template({ file => 'report-step1.tt' }); my $wrapper = $self->mbf_path('wrapper.tt'); $template->param( plugin_wrapper => $wrapper, ); report-step1.tt: [% WRAPPER $plugin_wrapper name = 'My Plugin' breadcrumb = 'My Plugin' %] <div>Plugin content</div> [% END %] Excellent! There's other ways we could do this, but that worked pretty well. -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26381 David Cook <dcook@prosentient.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |In Discussion Assignee|koha-bugs@lists.koha-commun |dcook@prosentient.com.au |ity.org | -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26381 Marcel de Rooy <m.de.rooy@rijksmuseum.nl> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |m.de.rooy@rijksmuseum.nl -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26381 --- Comment #4 from David Cook <dcook@prosentient.com.au> --- Actually, here is a more modern wrapper for a report plugin I think... [% INCLUDE 'doc-head-open.inc' %] <title>Koha: [% name %]</title> [% INCLUDE 'doc-head-close.inc' %] </head> <body> [% INCLUDE 'header.inc' %] [% INCLUDE 'cat-search.inc' %] <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/plugins/plugins-home.pl">Plugins</a> › [% breadcrumb %]</div> <div class="main container-fluid"> <div class="row"> <div class="col-sm-10 col-sm-push-2"> <main> [% content %] </main> </div> <div class="col-sm-2 col-sm-pull-10"> <aside> [% INCLUDE 'reports-menu.inc' %] </aside> </div> </div> [% INCLUDE 'intranet-bottom.inc' %] -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26381 Fridolin SOMERS <fridolin.somers@biblibre.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fridolin.somers@biblibre.co | |m -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26381 David Cook <dcook@prosentient.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |DUPLICATE Status|In Discussion |RESOLVED --- Comment #5 from David Cook <dcook@prosentient.com.au> --- This is really a duplicate of bug 30289. *** This bug has been marked as a duplicate of bug 30289 *** -- You are receiving this mail because: You are watching all bug changes.
participants (1)
-
bugzilla-daemon@bugs.koha-community.org