Александр писал(а):и получается что WorkFlow (для решения данной задачи в рамках одного алгоритма) опять не в кассу
хм... это как посмотреть..
с п.1-3 и ps согласен. все именно так и можно сделать.
нужен ли воркфлоу?
если будет объект в дереве, по которому кто то будет время от времени тыкать и запускать "процесс" в рамках которого просто придет задача другому юзеру, юзер ее выполнит и на этом процесс закончится - то может быть и не нужен воркфлоу

хотя юзера же надо как то известить, что у него появилась работа. это можно сделать и простым сообщением, в принципе. тем более, если факт его новой работы будет записан в атрибуте объекта.
другое дело, что вряд ли все так просто, что достаточно будет одной задачи. скорее всего должны инициироваться более длинные цепочки, каждая из которых должна дойти до конца, пройдя все нужные этапы, двигаясь вперед-назад (с доработками и перепроверками/пересогласованиями). и процессов по объекту может быть куча, и в атрибуты каждый чих просто замучаешься записывать, а потом еще и анализировать это..
и вот тут уже воркфлоу пригодится

стандартный контроль исполнения полезен, когда нужно детально посмотреть на какой то конкретный процесс. наблюдать за кучей процессов через него будет нереально.
а вот в какой то общей справке (не в контроле исполнения)по всем таким процессам показать текущих исполнителей этих процессов - это более удобно.
скорее всего будет какой то комбинированный способ контроля - и по атрибутам, и по данным процессов. например, хранить конкретных текущих исполнителей и даты старта задач у них в виде атрибутов вряд ли целесообразно - эта инфа есть в таблицах воркфлоу.
общее число процессов по конкретному объекту и число завершенных можно хранить в атрибутах объекта, обновляя их по мере запуска/завершения процессов. а можно вытаскивать из тех же таблиц (хотя это вроде сложнее).
объект в итоге все равно пригодится и будет играть роль связующего звена между всеми процессами, запущенными по этому объекту (по таблицам можно быстро собрать все задачи и переменные по картам, в которые вложен конкретный объект)
про ходы и камни сложно быстро рассказать.. могу только сказать то, что сделано у нас.
1. есть отчет, в который попадают объекты с атрибутами, для каждого объекта показываются текущие исполнители и дата старта задачи у них. по нему видно, какие объекты еще не дошли до конца (не обросли нужными атрибутами), при этом видно, по каким из них запущены процессы и в каком состоянии они находятся
2. есть самодельный контроль исполнения, который показывает все текущие процессы для текущего объекта, даже если они не вложенные
3. есть подсистема хранения основных данных о завершенных процессах. по сути это данные из таблиц воркфлоу, но они остаются доступными после удаления карт процессов
кстати, вспомнил, что есть пара запросов, которые анализируют значения переменных в процессах (это пока только запросы, а не отчеты для юзеров), так что вытащить переменные тоже реально.
вот как то так...