«В моем случае много взаимодействий между людьми».
Это самый простой способ построить. Это просто транзакции.
Каждый этап процесса представляет собой простое веб-приложение.
Получить все предметы, которые ожидают в этом состоянии. Показать их в списке. Пользователь выбирает один.
Показать этот кусок работы. Пользователь вносит изменения. Сохраняет это. Некоторое изменение переместит его в следующее состояние. Это все еще только обновление.
Вот и все. Ничего фантастического.
Вам просто нужно очень, очень четко определить каждое состояние.
У вас должен быть простой запрос, который находит работу в этом состоянии.
У вас должно быть простое обновление, которое переводит работу в следующее состояние.
Состояния должны быть очень, очень ясными и простыми определениями. Например, один столбец с именем штата.
Однако правила перехода состояний могут быть сложными. Если работа выполняется вручную, это может быть просто раскрывающийся список доступных состояний.
Если переходы состояний являются сложными, то, возможно, вам нужно что-то более сложное, чтобы воплотить правила перехода. Но так как это руководство, вам не нужно много.
Нужен ли отдельный экземпляр рабочего процесса для каждого созданного приложения?
Я не знаю, что это может означать. Каждое «приложение», которое движется по конвейеру этапов ручной обработки, имеет «состояние» - шаг конвейера, на котором оно ожидает, прямо сейчас.
Каждое приложение также имеет полную историю каждого изменения состояния. Я не знаю, какой из этих «рабочих процессов» может иметь экземпляр. Они просто состояния бытия объекта.
Это веб-приложение. Так что у него будет какая-то другая логика, такая как просмотр приложения, навигация и т. Д. Нужно ли включать это в рабочий процесс?
Да и нет. Да, на каждом этапе обработки, который показывает приложение, чтобы пользователь на этом этапе мог делать все, что он делает с добавленной стоимостью. Они добавляют информацию или утверждают информацию.
Каждый этап рабочего процесса - это место, где какой-то человек принимает решение и предпринимает действие. Таким образом, каждый этап отображает всю информацию, необходимую человеку для принятия решения. Дополнительного просмотра не требуется.
Навигация не очень интересна. Люди переходят на страницы, чтобы увидеть свои очереди необработанных работ. Я полагаю, вам придется создать страницу с некоторыми URL-адресами, но в этом нет ничего особенного.
Было бы нормально иметь только часть приложения, основанную на рабочем процессе.
Конечно. Почему бы и нет? Я не уверен, что понимаю вопрос.
Ваши веб-приложения просто запрашивают очередь материала из базы данных и представляют эту очередь материала человеку. Человек может запросить информацию и внести изменения в определенный элемент в очереди. Одно из изменений, которое может сделать человек, - это переместить материал из своей очереди в чужую очередь.
Это не очень сложно. Так не должно быть. Трудно определить допустимые изменения состояния.