zfcampus / zf-apigility

BSD 3-Clause "New" or "Revised" License
258 stars 52 forks source link

ZF 3.0.0 Compatibility - progress monitoring #167

Closed AGmakonts closed 7 years ago

AGmakonts commented 8 years ago

I'm creating this issue to have a central place for tracking the progress of migration to ZF 3 series components. Checkboxes mark open PRs, strikethrough is meant to represent merged module.

Also, because I'm not 100% convinced by the test suites I want to finish all components that are required to run skeleton application and test it more carefully by hand.

/cc @weierophinney

pavkatar commented 8 years ago

Any updates, when we should expect the new version, which support ZF3? :)

AGmakonts commented 8 years ago

Recently I don't have much free time but I hope next two weeks will be more productive.

DannyvdSluijs commented 8 years ago

@AGmakonts Please find a pull request for the zend-http-cache here: https://github.com/zfcampus/zf-http-cache/pull/13

AGmakonts commented 8 years ago

@DannyvdSluijs to do updated :)

DannyvdSluijs commented 8 years ago

@AGmakonts I was playing around a bit when I actually found out my PR is incorrect and leads to an composer.json which can't be installed. As I was assuming that something like

{
    "zendframework/zend-eventmanager": "~2.3|~3.0",
}

would be allowed. However that only seems to work for php versions and not for actual installable packages not event with the double pipe symbols (~2.3 || ~3.0). I've checked you PR's and can see you dropped support for ZF2 all together.

Is my assumption correct that it only has to be compatible with ZF3 ? Let me know and I'll update my PR.

I'm also wondering what the vision of the ZFCampus dev's is? (@weierophinney, @TomHAnderson, @ezimuel, @corentin-larose)

AGmakonts commented 8 years ago

@DannyvdSluijs yes, I didn't plan to support ZF2, but now I'm starting to wonder if that's ok with everybody. Input from maintainers would be useful.

TomHAnderson commented 8 years ago

@DannyvdSluijs use ~2.3 || ^3.0

I would like to see a 5.6 || ^7.0 version of Apigility which does not move to ZF3 then a PHP 7.0 version which uses ZF3 exclusively.

Development of zf-apigility-doctrine is dependent on DoctrineModule, DoctrineORMModule and ODM. Work is moving forward in those: https://github.com/doctrine/DoctrineModule/pull/564

A game plan for Apigility in ZF3 is not yet created for the whole project.

weierophinney commented 8 years ago

@DannyvdSluijs

However that only seems to work for php versions and not for actual installable packages not event with the double pipe symbols (~2.3 || ~3.0)

It works fine for any packages; we've used it successfully for all the ZF packages that have dependencies on either v2 or v3 components, and it has worked well so far in the Apigility module migration.

@TomHAnderson —

A game plan for Apigility in ZF3 is not yet created for the whole project.

We do actually have a plan:

After that, we will start evaluating a new major version and/or parallel project that builds on top of Expressive. However, the above is planned and in motion (in large part due to the efforts of @AGmakonts — many, many thanks for the PRs!).

weierophinney commented 8 years ago

@DannyvdSluijs — with regards to this comment:

I've checked you PR's and can see you dropped support for ZF2 all together.

When I've been merging, I've been updating these to allow both v2 and v3 versions of components, and adding CI build matrices to allow testing both to ensure both backwards and forwards compatibility. Rest assured that you'll be able to continue using Apigility against ZF2 components for the foreseeable future.

weierophinney commented 8 years ago

I'm currently blocked by three things:

  1. Travis has a queue issue currently, and my jobs for the swagger and apiblueprint modules are not running. While I've tested against both PHP 5.6 and PHP 7, with lowest and latest dependencies, I'd really like the verification.
  2. zf-apigility depends on rwoverdijk/assetmanager, which currently has a dependency on zend-stdlib v2. While there is a pull request for v3 support, that version will only allow v3 components, making it impossible to use as an upgrade path. I've put in a request for them to use the same strategy we're using, but I have no idea what the maintainers will decide.
  3. I'm on vacation next week, as is Enrico.

Finally, I have pretty much zero working knowledge of the doctrine-related modules, and may need assistance updating those to ensure they work correctly. Fortunately, DoctrineORMModule 1.0 released today, with v3 support, which should make those easier.

weierophinney commented 8 years ago

Updates:

To allow leapfrogging the hurdle of when rwoverdijk/assetmanager will be updated, I've created zfcampus/zf-asset-manager as a Composer plugin that essentially replaces the functionality we actually use in Apigility. This will allow me to complete the zf-apigility PR, as well as work on the admin and admin-ui pull requests.

@webimpress has indicated he's working on the Doctrine-related Apigility modules, as he is the author of PRs against the various official Doctrine ZF modules. As such, these will be updated as those PRs are merged, which may occur after we complete the modules officially included in the Apigility skeleton.

michalbundyra commented 8 years ago

@weierophinney I wish I work on Doctrine-related Apigility modules zf-apigility-doctrine has a lot of dependencies:

We need to have first at least fully working zf-apigility-admin compatibility PR, I've started it yesterday, it seems to be a lot of work to do... Please have a look https://github.com/zfcampus/zf-apigility-admin/pull/346

weierophinney commented 8 years ago

The zf-apigility-admin patch is finally complete, and being reviewed. I'm going to be testing it with the skeleton to make sure everything works — which should have the side effect of a pull request once integration testing looks good.

Huge props to @webimpress for the huge amounts of feedback and review the past couple weeks!

weierophinney commented 8 years ago

zf-apigility 1.5.0 is tagged, and I've started a PR for the skeleton at this time.

This means that you can upgrade NOW and get what will become Apigility 1.4. If you do, please read the zf-apigility-admin 1.5.0 release notes.

weierophinney commented 8 years ago

I've just released Apigility 1.4! (https://framework.zend.com/blog/2016-08-15-apigility-1.4-released.html)

I'm leaving this open, however, until the Doctrine-related modules are released.

Huge thanks to @AGmakonts for kicking off this effort, and @webimpress for his massive assistance the last few weeks in getting the last patches ready and reviewed.

viyirenov commented 8 years ago

@weierophinney - Is there any update on the doctrine modules for this new version?

michalbundyra commented 8 years ago

@viyirenov WIP https://github.com/zfcampus/zf-apigility-doctrine/pull/267

viyirenov commented 8 years ago

@webimpress - Thank you very much.

mrVrAlex commented 7 years ago

For last check point (zf-doctrine-querybuilder) I created pull request https://github.com/zfcampus/zf-doctrine-querybuilder/issues/31 I will wait https://github.com/zfcampus/zf-apigility-doctrine/pull/267 and continue work on it. /cc @AGmakonts @webimpress @weierophinney

AGmakonts commented 7 years ago

@shandyDev thanks, I have updated the list

michalbundyra commented 7 years ago

@AGmakonts it can be closed now. zf-apigility-doctrine and zf-doctrine-querybuilder are compatible with ZF3 already. Thanks!