-
Notifications
You must be signed in to change notification settings - Fork 207
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
Future of Workflow gem #177
Comments
seems abandoned. nobody is taking any questions. aasm is much more active. |
Will update travis CI configuration for Rails 4.2 and 5.0 beta in the next days and check for compatibility. Also will have a look at workflow-orchestrator, thanks for the research @duffyjp ! |
Well, we should migrate to the version of @duffyjp ? I found a bug on my MacOs but I don't know if I should migrate. |
@dgmike For what it's worth, I have a large production app happily using workflow, but for a new app I used AASM. I actually built that app with workflow and converted it to AASM. The specific reason was that I couldn't get conditional events to work in workflow. Example: event :delete, transitions_to: :deleted, if: :deletable? In aasm you have to be much more explicit in your workflow states, event :delete do
transitions from: :available, to: :deleted, if: :deletable?
end It works as advertised though. |
I've updated dependencies and ensured Integration with the changed ActiveRecord 5.0 causes some problems though. I'm going through the Rails changelog at the moment. |
Long time, no commits. I very much like workflow, however, it becomes increasingly difficult to stick to it. As it stands, your punchline "like acts as state machine (aasm), but way better" doesn't really hold anymore. I might switch to "aasm" after all, but before that, a question: It's absolutely normal to loose interest in further maintaining a gem, we've all been there I guess. If that's the case, how about asking around whether somebody else would be willing to pick up the torch? (I know, "feel free to fork", but that's exactly the problem: Too many forks out there already. In order to keep workflow afloat, a canonical release via Rubygems is a must – or it will slowly fragment into oblivion like many others have before.) |
Hi Sven, for me, the bad sign is not the number of commits or time since the last commit, but missing support for Rails 5 integration. For previous Rails versions (I have got a couple of legacy applications) Contrary to my original plans, I have not found time to refactor for Rails 5.*. Sorry! If you can provide, or know a well maintained fork with Rails 5 support, please tell me! I'll link it from the top of the README. "Too many forks" is never a problem in my opinion (just example - https://github.com/ansible/ansible/network). But the lack of a fork, where not just problems of one user solved by monkey patching, but problems solved in a generic way (for allmost all users) and in well-maintainable manner (separation of concerns, modularisations), can be a problem. |
Hello Vladimir, fair point there on missing support. Since my current pet projects are very domain specific (aviation), I don't even count on such a thing, but I know it can be frustrating. However, you have to admit that the current README doesn't really sound like a request for support. A clear "co-maintainer wanted" note might help. Or not. At least, it's worth a try. Some people have patched beyond your last commit as per the insight-network chart. Maybe just quick workarounds, then again, one of the forkers might be motivated to work on a more future-proof approach. Why not dropping some of them a quick note asking? |
I so agree with this! Let someone help shoulder the burden. You can remain the BDFL, but leverage the work the OS Community has done and has to offer.
Again, I support this! I've just opened a PR in which I've brought the testing framework up-to-date (ish). What do you say we start getting some of this work merged in, @geekq? Looks like lot's of people are eager to help. Don't let this popular project stagnate (yes, you're correct that lack of commits does not indicate abandonment, and in-fact can indicate stability, however technology inevitably marches on, and we'd be wise to keep up with it). As @svoop has advocated for, a canonical release would be excellent. There is a wealth of improvements sitting in your bank of PRs, waiting for your capitalization :) Thanks again for the great gem/project, and for your contributions to the community. ~ Dale |
Hi Dale, thanks for your support, and for the motivation! ;-) It contains Travis CI and gem configuration update, switches to the minitest etc. But I'm still looking for a sustainable solution regarding Rails integration.
So my plan is to use the new major release Workflow 2.0.0 to also extract the ActiveRecord Also looking for the best naming for the new library/gem like
Will continue tomorrow... Cheers |
No problem, @geekq :) Yea I read the blog post about "moving on from" rails, it's a bit dated, but I lived through the same timeframe/evolution. The author makes some great points. Rails has certainly improved significantly since that post, and I believe the community is finding it's independent voice from Rails. Rails of course is, and will continue to be a very big player in the Ruby community, but it's learning to play nicer too. Anyhow, I digress. I definitely think making a rails-independent gem is a worthwhile cause, and then having an ActiveRecord adapter gem for it as well. You're using the right naming convention too, with As you can see from that PR, it's building successfully across a range of You could continue to release non-breaking changes (despite potential refactors) to Also, correct me if I'm wrong, but a user would only need to reference one library— Looking forward to seeing where you take it all. I think I can speak for anyone engaged here: let us know if and how we can help! |
So, here is the plan for versioning / Rails integration:
Progress so far:
~ Vladimir (@geekq) |
@geekq Very nice. Might I recommend module Workflow
class Railtie < Rails::Railtie
initializer 'workflow.init' do |_app|
# logger.debug "workflow.init" # if you want...
::ActiveSupport.on_load(:active_record) do
# do your include/extend/prepending here
end
end
end
end And then in your require 'workflow/active_record/railtie' if defined?(Rails::Railtie) This seems to be the fairly common/least-invasive pattern I've seen/used in my gems. |
See also the development in https://github.com/geekq/workflow-activerecord/issues |
Merged |
Workflow 2.0 released! Please try it out with your application! If it is a Rails application, please use Note for contributors: looks like github closed all the pull requests after I changes the default branch on 2019-01-12. Please check the new refactored workflow 2.0, complementing workflow-activerecord and recreate your pull request if needed. |
Please report any bugs as a new issue for the relevant of both libraries: |
@geekq hasn't posted to this project for over a year. I wonder if it's time to pass the torch?
The most active fork I've found is here: https://github.com/cthiel/workflow-orchestrator, at 65 commits ahead of geekq.
There is also AASM, from which workflow is based, still under active development: https://github.com/aasm/aasm
The text was updated successfully, but these errors were encountered: