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

workflow feature #539

Open
nolotz opened this issue Jan 6, 2024 · 2 comments
Open

workflow feature #539

nolotz opened this issue Jan 6, 2024 · 2 comments

Comments

@nolotz
Copy link

nolotz commented Jan 6, 2024

Hi all,

I have been using Bileto and find it immensely useful. I'm reaching out to suggest a new feature that I believe could enhance its functionality: a workflow feature for managing ticket statuses.

This feature would allow users to define and manage custom workflows for ticket statuses. The implementation would be based on the Symfony workflow component, with the workflow definitions stored in the Bileto settings.

I would love to hear your thoughts on this feature. Does it align with the current roadmap for Bileto? Are there any specific considerations or requirements you would want for such a feature?

Thank you for considering this proposal. I am looking forward to your feedback and the possibility of contributing to Bileto.

@nolotz
Copy link
Author

nolotz commented Jan 7, 2024

I have successfully implemented a proof of concept. However, during the implementation, I encountered a few issues that need to be addressed:

  1. Hardcoded Status in LifecycleSubscriber::processAssignedTicket: The current implementation hardcodes the ticket status. This is a critical point as it could lead to conflicts or unintended behavior in the workflow. The code snippet is as follows:
if ($assignee !== null && $status === 'new') {
    $ticket->setStatus('in_progress');
    $this->ticketRepository->save($ticket, true);
}

This hardcoding might not align well with a dynamic workflow system where statuses could be more fluid and based on different criteria.

To address the above issue and to enhance the workflow feature, I believe a business rule engine #279, similar to how Jira implements this, could be beneficial.

@marien-probesys
Copy link
Member

Hi @nolotz, glad you find Bileto useful!

I had in mind to manage the workflow of tickets' statuses with the business rule engine (#279). The business rules are the next big thing we want to work on, so it's perfectly in line with our roadmap ;) Note that this workflow feature is strategic for us so I'll probably take the lead on it if it takes too long to implement, or if it doesn't go the way we want.

Also, right now we are focused on releasing a stable version that we can use internally and with our customers.

For the context: I've hardcoded our current workflow into the LifecycleSubscriber class, as you noticed. We would indeed need to modify this part. I have no experience with the Symfony workflow component, but a colleague also suggested I use it for this feature. So I could use some help with this!

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

2 participants