<div dir="ltr"><div>Hello Marc,</div><div><br></div><div>Thanks for reviewing my suggestions!</div><div><br></div>1. Most libraries use Semantic Versioning [1] which assures that incompatible API changes can be introduced only when the major version is incremented. For example, we currently use TCPDF 6.2.3 and there would be no problem in updating it to the latest version (6.2.6), because only the patch version has been incremented from 3 to 6. In fact, any 6.*.* version newer than the current one should be compatible with phpMyAdmin. In `composer.json` this dependency would be represented as `"<a href="http://tecnick.com/tcpdf">tecnick.com/tcpdf</a>": "^6.2.3"`.<br><div><br></div><div>2.1. The edits brought to the mechanism that produces the downloadable kits would be minimum. The new one should call `composer install` before creating the downloadable package. </div><div><br></div><div>2.2. I thought that Git version is considered unstable and it is only used by developers who already make use of Composer.</div><div><br></div><div>As a fix for issues 2.1 and 2.2 we could keep the `vendor` folder in the repository.</div><div><br></div><div><div style="font-size:12.8000001907349px">Best regards,</div><div style="font-size:12.8000001907349px">Dan Ungureanu</div></div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">[1] <a href="http://semver.org/">http://semver.org/</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 14, 2015 at 3:31 PM, Marc Delisle <span dir="ltr"><<a href="mailto:marc@infomarc.info" target="_blank">marc@infomarc.info</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dan Ungureanu a écrit :<br>
<div><div class="h5">> Hello,<br>
><br>
> In about two months, the first PHP 7 release candidate will be delivered<br>
> [1] and by then, I think that phpMyAdmin should be able to run on this new<br>
> version without any problems. At this moment, some tests fail on the latest<br>
> PHP nightly build because of the libraries phpMyAdmin uses.<br>
><br>
> Looking through the `libraries` folder I realized that most of those<br>
> libraries have not been updated for a long time. I consider it a priority<br>
> to update the broken libraries, but other libraries would benefit from an<br>
> update as well.<br>
><br>
>  - bfShapeFiles - Causes some tests to fail (uses old-style constructors).<br>
> Project is no longer maintained. [2]<br>
>  - php-gettext - Causes some tests to fail (uses old-style constructors).<br>
> Project is no longer maintained. [3]<br>
>  - phpseclib - Works fine. Project is maintained and a new version is<br>
> available. [4]<br>
>  - tcpdf -  Works fine. Project is maintained and a new version is<br>
> available. [5]<br>
>  - recaptcha - Works fine. Project is maintained and a new version is<br>
> available. [6]<br>
><br>
> Those libraries that are not maintained anymore will require forking and<br>
> very little maintenance to get them working with the latest PHP version.<br>
><br>
> Another suggestion I have is to use Composer for managing these<br>
> dependencies, instead of adding them directly to phpMyAdmin's repository.<br>
> This way, it will be much easier to update those libraries and keep the<br>
> repository clean.<br>
><br>
> Best regards,<br>
> Dan Ungureanu<br>
><br>
> [1] <a href="https://wiki.php.net/rfc/php7timeline" target="_blank">https://wiki.php.net/rfc/php7timeline</a><br>
> [2] <a href="https://sourceforge.net/projects/bfshapefiles/" target="_blank">https://sourceforge.net/projects/bfshapefiles/</a><br>
> [3] <a href="https://launchpad.net/php-gettext/" target="_blank">https://launchpad.net/php-gettext/</a><br>
> [4] <a href="https://sourceforge.net/projects/phpseclib/" target="_blank">https://sourceforge.net/projects/phpseclib/</a><br>
> [5] <a href="https://sourceforge.net/projects/tcpdf/" target="_blank">https://sourceforge.net/projects/tcpdf/</a><br>
> [6] <a href="https://github.com/google/recaptcha" target="_blank">https://github.com/google/recaptcha</a><br>
<br>
</div></div>Dan,<br>
thanks for the suggestions. About Composer, I have a few issues:<br>
<br>
1. Usually when we upgrade an external library, we test the new version<br>
to ensure everything goes smoothly. How would this test be done if the<br>
upgrade is done via Composer?<br>
<br>
2. Not everyone is using Composer, so<br>
<br>
2.1 The mechanism that produces downloadable kits would have to be modified<br>
<br>
2.2 How about people directly using the git version who don't have Composer?<br>
<br>
--<br>
Marc Delisle (phpMyAdmin)<br>
<br>
------------------------------------------------------------------------------<br>
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT<br>
Develop your own process in accordance with the BPMN 2 standard<br>
Learn Process modeling best practices with Bonita BPM through live exercises<br>
<a href="http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual-" target="_blank">http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual-</a> event?utm_<br>
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF<br>
_______________________________________________<br>
Phpmyadmin-devel mailing list<br>
<a href="mailto:Phpmyadmin-devel@lists.sourceforge.net">Phpmyadmin-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel</a><br>
</blockquote></div><br></div>