Current workflow is based on Roles only, but we can make it based on Email(Link with user or Email Field), DocField and Role based. For Instance:
We can add one more Select field(email_based_on) in Workflow Document State Table with three select option:
1. If value is Email:
Then user can enter email address value in email field.
2. If value is Role:
It’s already selected allow_edit field.
3. If value is DocField:
Then user can select Doctype DocField for which He’s creating the workflow.
With the Email notification feature we can also enable the feature of ToDo assignment so that user can check assigned document in ToDo list.
Checklist based approval:
User should also be able to link checklist in Workflow Document State Item, which can be popup to the user while approving the document.
Users can also have the option of hooks to call the process workflow actions function.