пятница, 5 марта 2010 г.

DocsVision 4.0: попытка открыть пользователем карточку заблокированную им же

Есть такая проблема: DocsVision версии 4.0 не всегда стабилен и любит порой убивать Internet Explorer, оставляя пользователю проблему с блокировками карточек и файлов. Точно также проблемы могут возникнуть, если пользователь не закрыв старую сессию, откроет новую. А вот проблемы могут посыпаться самые разные.
Так вот, если надо обработать эту ситуацию, а именно, что пользователь пытается открыть карточку, которую он сам же и блокирует (напомню, что система в таком случае позволяет пользователю "переписать" блокировку в текущую сессию), то достаточно проверить в QueryActivate на наличие блокировки карточки данным пользователем. Но не проверять ILockable.LockStatus на вполне резонное, как кажется, LockStatusEnum.STATUS_OWNER_LOCKED, а проверять на наличие блокировки вообще и то, что владелец блокировки - текущий пользователь:

IsCardHasCorruptedLockByCurrentUser =
lockedObject.LockStatus == LockStatusEnum.STATUS_LOCKED &&
lockedObject.OwnerName == Session.Properties["AccountName"].Value.ToString();


Далее, если QueryActivate вернул всё необходимое для открытия карточки, то в промежутке между ним и Activate, пользователю будет выдан запрос на то, хочет ли он открыть её на редактирование или нет. Результат мы можем узнать непосредственно в Activate по установленному флагу ActivateFlagEnum.ACTIVATE_EDIT в ActivateMode.
Теперь мы знаем практически всё о ситуации и можем её обработать :)

понедельник, 8 февраля 2010 г.

Zope и code-completion в eclipse

Так уж исторически сложилось, что на моей новой бесплатной и кошерной операционке, появился зоопарк самых разных интересных зверей: так изначально стоял python 2.6, с ним был поставлен eclipse с pydev'ом. Несколько позже были установлены ещё куча версий питончиков и zope3 c python 2.4. Но вот беда PyDev ну никак не хотел предлагать автоматическое заполнение и прочие полезные фичи для зоповских пространств имён. Верней zope.interface видит, а вот уже zope.schema - нет.
Ясное дело - проблема в настройках. И вот сегодня наконец, в мою светлую голову пришло решение:
1. идем в настройки pydev'а (Window/Preferences/ и далее в дереве PyDev/Interpreter - Python)
2. в спиcок интерпретеров добавляем python 2.4
3. поднимаем свежедобавленный интерпретатор вверх

Есно, шаг 2 надо делать, если у вас его в списке обнаружено не было, если он был там изначально - то этот пост не для вас.
По поводу шага третьего - он тоже спорный. Лично когда я только выполнил 2-й шаг и увидел, что pydev начал активно изучать содержимое его библиотек, так сильно порадовался, что тут же побежал сюда публиковать новость :) а когда вернулся - то желаемого результата не увидел, но не расстроился, а перезапустил эклипс и сделал шаг №3. После чего могу наслаждаться падевом в полной мере :) Почти... из zope.schema он отказывается видеть классы, вот с zope.app - всё в порядке, а со схемой не очень.

понедельник, 19 октября 2009 г.

проблемы с mkzopeinstance

Хотел создать новый инстанс Zope3. Запускаю mkzopeinstance с параметрами или без оных - а в ответ полнейшая тишина консоли (действие происходит под Виндой). Многочисленные попытки хоть как-то заставить его работать или хоть что-нибудь вывести в консоль ни к чему не привели. Помогла консоль самого питона:

from zope.app.server import mkzopeinstance
mkzopeinstance.main()

В результате выполнения оного стало ясно, что вся проблема заключается в том, что не может быть обнаружен скелет zopeskel по пути, в котором его действительно нет.
Как хорошо, что для всего есть исходники - пару минут и в коде mkzopeinstance появляется нужный путь к скелету, после чего все успешно создается, но только из консоли питона. Скрипт из командной строки все также молчит. В чем причина, никто случайно не знает?

среда, 18 марта 2009 г.

Рабочий трэш-угар креатифф

Вот тут такое посередь рабочего дня в рабочей обстановке выдалось

BP says: ну вот тебе и надо отобрать у всех и оставить только создателю, я тебе об этом и говорю
BP says: остальное за БПшкой уже
me says: оставь право создателю - звучит :)
BP says: можно песню такую написать =)
me says: аха, пгавославный блэк-трэш-шансон-транс
BP says: оставь право создателююююю.... оооуууооо...
кто ты такой, чтобы решать за негоооо.... ооуууооо...
BP says: на блюз больше тянет
BP says: карточка создана... ааалилуйа... ааалилуйа...
бизнес процесс создан... ааалилуйа... ааалилуйа... =)
me says: это уже на концептуальный альбом тянет
BP says: назавем его "Внедрение в АДу"
BP says: =)
me says: где-то трек четвертый-пятый "Возвращение на доработку"
me says: такая грустная пестня должна быть


Имена изменены, все герои вымышлены :)

Ну а так приятно работать с людьми не теряющими чувство юмора даже по ходу самых жостких проектов с великими проблемами, которые (люди имеются ввиду :)) могут уделить 5 минут идиотизму

суббота, 14 марта 2009 г.

Аська маст дай!

Прощаюсь со своей аськой, всем советую тоже.
Ищите меня в джаббере bashak@jabber.ru или скайпе ivan_bashak

среда, 25 февраля 2009 г.

Добавил в блоги, которые я читаю, некоего ankstoo. В окне параметров слежения за блогом было сказано следующее:
"Станьте постоянным читателем, чтобы автор блога и другие пользователи узнали о том, что вы его поклонник." Едрить твою мать, я - его поклоннег :)
Первынах