Ticket #10804 (closed PLIP: wontfix)
include workflow manager
Reported by: | vangheem | Owned by: | vangheem |
---|---|---|---|
Priority: | n/a | Milestone: | 5.0 |
Component: | Unknown | Version: | |
Keywords: | Cc: | plip-advisories@… |
Description (last modified by tkimnguyen) (diff)
Proposer: Nathan Van Gheem
Seconder: T. Kim Nguyen (tkimnguyen)
Motivation
Plone's workflow capabilities are one of it's most powerful features; however, the ZMI does not provide an adequate mechanism to customize workflows. A workflow management UI that makes it easy for new users to create, edit and assign new workflows and manage workflow transitions through with content rules would be ideal.
Assumptions
- Since the interfaces make manipulating Plone's workflows very easy, users would be restricted from manipulating Plone's default workflows through the interface.
Proposal & Implementation
Merge plone.app.workflowmanager into plone core.
Feature overview
- provide functionality for manipulating most user concerning options of workflows
- integrate with content rules so users can easily provide transition actions that are not python scripts
- be integrated with Plone's UI
- provide an "advanced" mode for users that want potentially more complicated options
Deliverables
- plone.app.workflowmanager package
- Unit tests
- some sort of javascript testing
- Localization
- Documentation updates
Risks
There are a minimal amount of risks in implementing this as it's really just a better interface for what we have in the ZMI.
- Might need a more user documentation
- a considerable amount of new javascript code for the interface
- the workflow action implementation is heavily dependent on plone.contentrules implementation
- IE issues
Participants
- Nathan Van Gheem(vangheem)
Progress
plone.app.workflowmanager is done, people have been using it for a while.
Change History
comment:2 Changed 6 years ago by vangheem
- Status changed from new to assigned
Figuring out what to do with the menu system was difficult. It went through many iterations and I settled on where it is now. I open for suggestions for a better way to implement it.
Ideally, all the UI elements will take on the standard styling--right now I had to hack some of it just to make it look decent in Plone 3. Since this would be Plone 4 going forward, I wouldn't have to worry about any of those UI nuances.
comment:3 Changed 6 years ago by esteele
Your PLIP has been accepted for consideration for Plone 4.1.
Framework Team voting on this PLIP was: Alec +1 Craig +1 Elizabeth +.5 Laurence +1 Martijn +0 Matthew +1 Rob +.5 Ross +1
The Framework Team has asked that you work closely with the UI team to ensure that the implementation maintains a consistency in UI patterns with the existing Plone core.
The initial implementation deadline for your PLIP is October 1st, 2010. The Framework Team would certainly appreciate you finishing beforehand so that they may begin evaluating it as soon as possible. Announce its readiness here once your implementation is ready for review.
comment:6 Changed 5 years ago by rossp
- Status changed from assigned to closed
- Resolution set to wontfix
PLEASE READ THIS AND RE-OPEN VALID PLIPS!
As we launch the new PLIP process we'd like to see which PLIPs:
- are still appropriate/needed
- still have owners/proposers/champions
- still have available implementers
If this PLIP should still be considered for future releases of Plone please do re-open this ticket and assign an appropriate milestone. If it should be considered for the next release of Plone, use the 4.2 milestone. Also be sure to update the PLIP description, requester, owner, etc. and include a comment detailing recent progress and new plans. We will use all these details in the new continuous PLIP process.
comment:7 Changed 4 years ago by vangheem
- Status changed from closed to reopened
- Version set to 4.3
- Resolution wontfix deleted
Let's re-open this sucker and try and get it in plone 4.3
comment:9 Changed 4 years ago by tkimnguyen
You should probably change what's in the Progress section - it's already factored out and has been used in production for quite some time at UW Oshkosh at least.
comment:10 Changed 4 years ago by tkimnguyen
Can I be your seconder on this?
comment:11 Changed 4 years ago by vangheem
- Status changed from reopened to confirmed
- Description modified (diff)
comment:12 Changed 4 years ago by vangheem
Kim, I don't see why you wouldn't be able to be a seconder on this. I think they're looking for more people to get involved in the community.
Can you give the plip a try?
comment:14 follow-up: ↓ 18 Changed 4 years ago by davisagli
Here are some notes from trying out the workflow manager. I haven't reviewed the code yet.
- How come the initial page only lets me create a new workflow, not select one of the ones that ships with Plone? If the goal is to avoid breaking the core workflows, it would be nice if the user could at least look at them ready-only.
- Creating a new workflow should default to cloning the workflow that is set as default.
- The floating toolbar and turning the Save button red after a change are nice touches. (But it stays red if I edited a transition and then jump to states without saving...not sure if clicking now will save what I changed or not...)
- Assigning a workflow to a type is a little wonky. We should probably take the workflow reassignment state thingy out of the Types control panel and make it its own form. Also, I'm thinking it would be good if the initial page of the workflow manager gave an overview of what workflows exist and what types use them. (Something like the table that lists all Dexterity types on the initial page of the Dexterity type editor.)
- It would be good if there were more inline help text to get people oriented in this complicated UI. (For example, the initial page should say something about what workflow is and how to proceed if you want to change the default workflow for a type in Plone.)
- I didn't spend a lot of time trying to break it; I assume it works since it's been available as an add-on for some time.
- Updating security may be "advanced" in a sense, but it's also an important part of editing workflow if you have existing items using the workflow. I think we need a better way to warn people that this is necessary and that it will take a while.
Nitpicky things:
- Should probably have a unique icon in the control panel
- The bootstrap styling looks nice in isolation, but is a bit weird since it's not used elsewhere in Plone. I think if we made the status message and button have their normal Plone styles, it would help.
- The blue boxes labeled Transitions and State are confusing because they look like buttons but aren't. Maybe kill the background color and just have it be bold text with a colon at the end, so it looks more like a label for the list that follows.
- The "Assigned Types: | * denotes initial state of this workflow" line at the bottom is confusing. This is 2 things which should go on separate lines.
comment:15 Changed 3 years ago by davisagli
- Version 4.3 deleted
- Milestone changed from 4.3 to 4.4
Moving to 4.4 since no one's had time to address the feedback.
comment:16 Changed 3 years ago by frapell
Here's a little review for this from me:
- When "inside" a specific state, and you click on a transition, you get instantly redirected to that transition definition, which i find nice, but in some situations, you loose the context where you were. And since this is not a new request, hitting "back" in your browser will take you back to the workflowmanager control panel. It also happens when "inside" a transition you click on a state. This can be confusing, and can make you loose your unsaved work.
- In regards to unsaved work, there's no warning like "you have unsaved work, do you really want to leave?"
- There's no way to edit the workflow's title, description, adding conditions, permissions, roles, etc (everything under the portal_workflow/{wf_name}/manage_properties from the ZMI)
- The permissions part does not provide ways to specify which permissions will be handled, it just provides a fixed list of the most common ones. Also, there's no way to allow or deny the permission to be acquired.
- bug: when you're in the "States" view, and click the blue "Transitions >>" button, you get redirected to the site root. The same happens when in the "Transitions" view, you click on any of the blue "State >>" buttons. It seems like these are not supposed to be buttons, or at least expand the section, like if you would've clicked in the state/transition name.
Overall, i find the product really nice, and is only missing some punctual (and maybe advanced) functionality.
Also a couple of feature requests that i would like in the product:
- It should provide a way to export the workflow, to put it into a product.
- Playing with security settings can be *very* tricky. It would be nice if this tool provides versioning and undo.
- Maybe a way of providing a state diagram with the states and transitions could be a helpful tool ?
comment:17 Changed 3 years ago by tkimnguyen
Thanks for great feedback! A quick reply to one of your points: there is a diagram button if you install the graphviz tools as mentioned on the product page at http://plone.org/products/plone.app.workflowmanager. You can also export the workflow and include it in a product via the uwosh.northstar product though that product assumes you want to match the specified workflow with a PloneFormGen form and/or a Dexterity content type already on the site.
The other item I've been thinking about is that the security (roles, permissions) shown are for the site in question, not necessarily the site where the workflow application will be deployed, and this feature is in the issue tracker; it's perhaps specific to people like us who are letting users develop their workflow applications on one site but deploy them to another.
comment:18 in reply to: ↑ 14 Changed 3 years ago by tkimnguyen
Replying to davisagli:
Here are some notes from trying out the workflow manager. I haven't reviewed the code yet.
- How come the initial page only lets me create a new workflow, not select one of the ones that ships with Plone? If the goal is to avoid breaking the core workflows, it would be nice if the user could at least look at them ready-only.
I thought I'd responded to this, but don't see my comment here, so... yes the goal was to avoid messing up core workflows. :)
comment:19 Changed 3 years ago by MatthewWilkes
Here's some additional feedback from me:
Look and feel
- The control panel navigation sidebar is missing when you go to the workflow manager
- I agree with David that the bootstrappyness looks out of place in Plone
- The states and transitions tabs should look more like the users and groups tabs in that control panel
- If there are too many/long transitions for a state it breaks the layout to such an extent that it's very hard to read the table
- Don't use an asterisk for initial state, we're in a rich UI, we can use some clearer styles
- The front page of the workflow manager doesn't show much info on the workflows, it could do with more summary info
UX
- The advanced > update security workflow strikes me as a little odd, perhaps it should just prompt you to do that when you modify security settings?
- The permission names are understandably truncated, but I'm not sold on the hover, especially with the descriptions of permissions. I haven't read the code as I'm writing this, but I'm concerned where those are coming from.
- The modify state page is quite confusing, I think it'd be better being linear and on its own page (this means back/forward would work right, as frapell mentions)
- The Group Roles and Permissions Roles edit tables I think would be better under a separate edit button, and by default you can show a reduced groups/permissions mapping, which should make it both easier to understand and encourage people to use groups
- I think sanity check should happen automatically on the overview page for a given workflow, with sane workflows passing silently and problematic ones being highlighted.
- The help text for fields in a transition edit aren't very good, they should explain what something's for, not just reword their names
- I think source states on transition edit is just there to be faithful to the ZMI, it's probably not necessary to have this exposed in two places
- There should be better (I don't know how) integration with the types control panel
Code
- permissions.py hard codes short forms of permission names, but this isn't developer extensible
- allowed_guard_permissions seems to do translations of permission names, I haven't followed this through the code paths, but does this break other languages?
Security looks good, as it's all browser views, but I've not checked every possible form for CSRF problems yet.
comment:20 Changed 3 years ago by esteele
- Milestone changed from 4.4 to 5.0
The Framework Team has decided to move on to Plone 5. Updating milestones accordingly.
comment:21 Changed 2 years ago by davisagli
- Status changed from confirmed to closed
- Resolution set to wontfix
Closing this because no one is actively working on it.
I think it's nice to have a tool like this but the current UI in the video introduces some new components which aren't used in the rest of Plone (like the floating menubar).