[Koha-devel] Suggestion: create a deprecated() function in Koha.

Renvoize, Martin martin.renvoize at ptfs-europe.com
Mon Jun 25 17:26:11 CEST 2018


I've seen this sort of thing in a few projects and it works reasonably
nicely.. though I'm not sure how it would work in Koha as we seem to
replace all calls to a function and remove the function at the same time.

If we did switch to this approach I'd suggest adding code to allow it to
report to HEA so we can see the general adoption at the core level before
nuking functions entirely.

Juries out from my end as to whether this is a good or bad idea as a whole
though I'm afraid.

Martin

*Martin Renvoize*

Development Manager




*T:* +44 (0) 1483 378728

*F:* +44 (0) 800 756 6384

*E:* martin.renvoize at ptfs-europe.com

www.ptfs-europe.com



<https://www.ptfs-europe.com>



Registered in the United Kingdom No. 06416372   VAT Reg No. 925 7211 30

The information contained in this email message may be privileged,
confidential and protected from disclosure. If you are not the intended
recipient, any dissemination, distribution or copying is strictly
prohibited. If you think that you have received this email message in
error, please email the sender at info at ptfs-europe.com


On 22 June 2018 at 21:52, Barton Chittenden <barton at bywatersolutions.com>
wrote:

> It would be useful for Koha to have a 'Deprecated' function, which would
> send a warning about the caller() function and the version of Koha where
> the function will be deprecated, and what it will be replaced by... so
> let's say that C4::Adequate::DoEET() is being replaced by
> Koha::Awesome->sauce(). in Koha 18.11.
>
> In versions of koha prior to 18.11, we add a call to
>
> deprecated( "18.11", "Koha::Awesome->sauce()");
>
> at the beginning of C4::Adequate::DoEET().
>
> Then, when C4::Adequate::DoEET() is called, this would generate the
> following message in the logs:
>
> "C4::Adequate::DoEET is deprecated and will be removed in Koha 18.11. It
> will be replaced by Koha::Awesome->sauce()."
>
> This would allow plugin authors to know that they will need to patch their
> plugins before they break on upgrade.
>
> This is a bare-bones implementation of deprecated():
>
> sub deprecated {
>     my ( $version, $replacement ) = @_;
>     my (
>         $package, $filename, $line, $subroutine, $hasargs,
>         $wantarray, $evaltext, $is_require, $hints, $bitmask, $hinthash
>     ) = caller(1);
>     warn(
>         "${subroutine} is deprecated and will be removed"
>          . " in Koha version $version."
>          . defined( $replacement )
>             ? " It will be replaced by ${replacement}."
>             : ""
>     );
> }
>
>
>
> _______________________________________________
> Koha-devel mailing list
> Koha-devel at lists.koha-community.org
> http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
> website : http://www.koha-community.org/
> git : http://git.koha-community.org/
> bugs : http://bugs.koha-community.org/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.koha-community.org/pipermail/koha-devel/attachments/20180625/3353231a/attachment-0001.html>


More information about the Koha-devel mailing list