Hello Marc,
Thanks for reviewing my suggestions!
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 `"tecnick.com/tcpdf": "^6.2.3"`.
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.
2.2. I thought that Git version is considered unstable and it is only used by developers who already make use of Composer.
As a fix for issues 2.1 and 2.2 we could keep the `vendor` folder in the repository.
Best regards, Dan Ungureanu
On Tue, Apr 14, 2015 at 3:31 PM, Marc Delisle marc@infomarc.info wrote:
Dan Ungureanu a écrit :
Hello,
In about two months, the first PHP 7 release candidate will be delivered [1] and by then, I think that phpMyAdmin should be able to run on this
new
version without any problems. At this moment, some tests fail on the
latest
PHP nightly build because of the libraries phpMyAdmin uses.
Looking through the `libraries` folder I realized that most of those libraries have not been updated for a long time. I consider it a priority to update the broken libraries, but other libraries would benefit from an update as well.
- bfShapeFiles - Causes some tests to fail (uses old-style
constructors).
Project is no longer maintained. [2]
- php-gettext - Causes some tests to fail (uses old-style constructors).
Project is no longer maintained. [3]
- phpseclib - Works fine. Project is maintained and a new version is
available. [4]
- tcpdf - Works fine. Project is maintained and a new version is
available. [5]
- recaptcha - Works fine. Project is maintained and a new version is
available. [6]
Those libraries that are not maintained anymore will require forking and very little maintenance to get them working with the latest PHP version.
Another suggestion I have is to use Composer for managing these dependencies, instead of adding them directly to phpMyAdmin's repository. This way, it will be much easier to update those libraries and keep the repository clean.
Best regards, Dan Ungureanu
[1] https://wiki.php.net/rfc/php7timeline [2] https://sourceforge.net/projects/bfshapefiles/ [3] https://launchpad.net/php-gettext/ [4] https://sourceforge.net/projects/phpseclib/ [5] https://sourceforge.net/projects/tcpdf/ [6] https://github.com/google/recaptcha
Dan, thanks for the suggestions. About Composer, I have a few issues:
- Usually when we upgrade an external library, we test the new version
to ensure everything goes smoothly. How would this test be done if the upgrade is done via Composer?
- Not everyone is using Composer, so
2.1 The mechanism that produces downloadable kits would have to be modified
2.2 How about people directly using the git version who don't have Composer?
-- Marc Delisle (phpMyAdmin)
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ Phpmyadmin-devel mailing list Phpmyadmin-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel