Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is it still in development. #92

Open
Vahanerevan opened this issue Dec 11, 2019 · 12 comments
Open

Is it still in development. #92

Vahanerevan opened this issue Dec 11, 2019 · 12 comments

Comments

@Vahanerevan
Copy link

Vahanerevan commented Dec 11, 2019

Hi ,
I am big fan of Propel and use it for many projects.
Thank you guys it's just ideal for any project , flexible and ide friendly.
I can see last commits 5 month ago and silence everywhere .
I would like to ask if project still in development ?

@rybakit
Copy link

rybakit commented Dec 12, 2019

@Vahanerevan #86

@guilhermeaiolfi
Copy link

Is it alpha now? Beta? Dead? What to expect from it? Is there anyone using it?

@cristianoc72
Copy link
Member

I'm working on it but afaik I'm the only one, by now.
The project is in development state: my next PR should fix all agnostic tests, which means that the project works on Sqlite, at least. After that,I'll work on mysql, postgres and so on.
By now, it's not usable: I'm doing it php 7.4+ and I'm introducing Twig to increase maintainability and simplify code generation.

To be honest, I don't know how long it could take: I'm giving it all my free time, but it's not more than a couple of hours a day.

To easily show the progresses, I'll change the todo list into issues and milestones and I'll add some badges, to show which tests are green.

@stevleibelt
Copy link
Contributor

@cristianoc72 thanks for your work man. but it's not more than a couple of hours a day - this is by far more than average, don't get lost!

@e1himself
Copy link

e1himself commented Oct 21, 2020

@cristianoc72

Wow! I'm surprised to see that there's still someone working on Propel 3. Props! 💪

So what's the plan with this project? You say that it's not usable. Are you working towards a specific milestone so then someone (you?) can start using it?

I'm asking because I'm slowly working on another fork (of Propel1): https://github.com/propeller-orm/propeller-orm

But my philosophy is different: instead of completely rewriting it, we're doing small incremental changes, making sure everything keeps working. That's because we use it on a real mature up-and-running application being in active development. Thus the strategy. The overall pace is slow, but the advantage is that it's actually improving a real working project from day 1 and does not take months/years to get to a usable state.

I wanted to suggest my help here, but I'm afraid that it's practically impossible for me to work on this, unless it's actually used in our application.

@nymo
Copy link
Contributor

nymo commented Oct 21, 2020

@e1himself would have been a better choice to migrate to propel 2 and contribute to it instead of working alone on such an old legacy code. The migration from 1 to 2 wasn't so hard.

@cristianoc72
Copy link
Member

@e1himself the current status is: I complete the refactor of Propel3 builder system, which now uses Twig as template engine. It allows to move some render logic into templates and increase the maintainability.
By now, I'm becomeing crazy to adjust the test suite 😄
After that, I'll create a list of issues and a milestone (I'm slow as a snail but it's muuuch work).

The problem I encountered in refactor Propel is that it's based on large peaces of old code and all its parts are closely coupled each other, so it's quite difficult to refactor small pieces of code without crashing almost everything.
This is the reason why @marcj started Propel 3, rewriting most parts from scratch.

I agree with @nymo : migrate and contribute to Propel2! Propel 1 has an almost totally unmaintainable architecture and this is the reason why we started Propel 2, some years ago. Migrating from 1.7 to 2 version is (I suppose) very easy:

  1. understand the Propel 2 configuration system and adjust the configuration.
  2. remove all your Peer classes and execute all your queries via Query classes (which are still present since Propel 1.5, if I remember correctly)
  3. leave the schema.xml as is except for the validation system, which has a new way http://propelorm.org/documentation/behaviors/validate.html . Imho you should remove the validation from the schema at all, because validating data isn't an orm business and you could perform it with an external library before you save the data.

Propel 2 is based on the same patterns as Propel 1 (active record) so there's no "logical" change of mind to do.

Propel 3 is a complete change because it implements the data mapper pattern (well, to be honest we could still use active record as a layer on data mapper) which brings Propel 3 closer to Doctrine then to Propel 2 (aaarrrghhh 😱 )

@e1himself
Copy link

would have been a better choice to migrate to propel 2 and contribute to it instead of working alone on such an old legacy code. The migration from 1 to 2 wasn't so hard.

@nymo Thanks! I will check the option to upgrade to Propel2.


@cristianoc72

Got it. Thanks!

A couple more questions:

  • Will there be a realistic migration path between Propel2 and Propel3 to upgrade existing applications?
  • Do you pull updates from Propel2 upstream into Propel3? (i.e. will Propel2 contributions benefit to the future Propel3 impelmentation?)

@DarkAxi0m
Copy link

Though I would pipe up 2 years later, and ask how it's going?

@cristianoc72
Copy link
Member

I'm afraid the project is dead: I have no time at the moment and all other Propel contributors are on Propel2 (they're doing a terrific work).

@stevleibelt
Copy link
Contributor

@cristianoc72 thanks for all your work and being so honest with us.

@netbrothers-tr
Copy link

netbrothers-tr commented Dec 14, 2022

Thank you @cristianoc72 for your work! 🥇

Since Propel2 is still active, would it be okay, to mention this in the README.md and/or in the project description? Currently it says "Version 3 of Propel ORM replaces Propel2, which is not maintained anymore." which apparently seems to be the other way around. 😉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants