Calling Developers!
We are reenergizing our code contribution process! Learn More

What are the Slack Archives?

It’s a history of our time together in the Slack Community! There’s a ton of knowledge in here, so feel free to search through the archives for a possible answer to your question.

Because this space is not active, you won’t be able to create a new post or comment here. If you have a question or want to start a discussion about something, head over to our categories and pick one to post in! You can always refer back to a post from Slack Archives if needed; just copy the link to use it as a reference..

(Untitled)

Options
«1

Comments

  • UQ958DA4U
    UQ958DA4U Posts: 232 🧑🏻‍🚀 - Cadet
    Options

    I would love this come to fruition!

  • Unknown
    Options

    unfortunately, that would require an entirely different implementation of the state machine 😕

  • Unknown
    Options

    but for sure an interesting concept

  • Andriy Netseplyayev
    Andriy Netseplyayev Domain Lead Solution Architecture Sprykee Posts: 519 🧑🏻‍🚀 - Cadet
    Options

    Let’s have a discussion in the comments! I also added my 5 cents. I do like state machine, and I don’t always like step engine implementation, but I’m afraid state machine won’t help here, although sounds temting

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    can just be steps that declare dependencies

  • Andriy Netseplyayev
    Andriy Netseplyayev Domain Lead Solution Architecture Sprykee Posts: 519 🧑🏻‍🚀 - Cadet
    Options

    regarding the implementation - it could be implemented as a separate spryker-shop module, but yes - current state machine is a “zed” module

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    no need to integrate into the existing state machine(s)

  • Unknown
    Options

    do you have a use case?

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    edited May 2020
    Options

    any checkoutout procedure that branches based on user choices / quote (there are lots in the wild)

  • Andriy Netseplyayev
    Andriy Netseplyayev Domain Lead Solution Architecture Sprykee Posts: 519 🧑🏻‍🚀 - Cadet
    Options

    state machine in it’s current implementation will bring lots of redundancies into the process, with it’s timeouts, cron jobs, state history and so on.. Probably, you would need another state machine there..

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    edited May 2020
    Options

    but not off hand 😄 only the relatively trivial example in the idea and vague recollections of writing a VoIP checkout 10 years ago 😄

  • Unknown
    Options

    the question is: how complex can this really get in real life scenarios

  • Unknown
    Options

    the more i think about it, the less.i think it is a good idea 😄

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    a step "engine" should be modelled as a graph - you have steps that depend on other steps

  • Unknown
    Options

    validation complexity simply explodes when you have many ways that can lead to the current state and you allow to randomly visit prior states

  • Unknown
    Options

    sounds like a bug engine 😄

  • UQ958DA4U
    UQ958DA4U Posts: 232 🧑🏻‍🚀 - Cadet
    Options

    "randomly visit prior states" is not required here. Defined paths but just more complex paths.

  • Unknown
    Options

    why not start different step engines then?

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    because you could branch at arbitrary points

  • Unknown
    Options

    exactly

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    so you can't just choose a correct linear progression to start with

  • Unknown
    Options

    anyway

  • Unknown
    edited May 2020
    Options

    this would make for a fun whiteboard session and maybe even a hacknight topic

  • U01470E4XTJ
    U01470E4XTJ Posts: 12 🧑🏻‍🚀 - Cadet
    Options

    I think we would need to discuss an exact checkout flow example cause you can achieve quite a lot by manipulating Step postConditions and just skip steps you do not require

  • Unknown
    edited May 2020
    Options

    a little bit of cheating in the step factory can also allow dynamic configuration

  • Unknown
    Options

    but would be a bit hacky

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    edited May 2020
    Options

    the original point is that you can't skip steps. You have to run through them, so I think at least the possiblity of disabling steps would be a start, anyway - but a graph based system would seem to fit closer to real life (depending on use case) but the linear flow fits into the graph flow anyway.

  • Unknown
    edited May 2020
    Options

    how hard can that be? (famous last words 😂)

  • U01470E4XTJ
    U01470E4XTJ Posts: 12 🧑🏻‍🚀 - Cadet
    Options

    the only thing I am missing is checking for postCondition at Spryker\Yves\StepEngine\Process\StepCollection.php::getNextStep() so you do not need to go to next step if the postCondition is already met and skip to next one

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    it will redirect to that step before checking it though