Pull to refresh
4
Александр Щетинин@Alxdhere

User

9
Subscribers
Send message
А если я и пользователь, и сотрудник, как быть?! Как насчет «бест практик», когда разработчик сам пользуется тем, что написал? :)
Убрать их оплаченного хаба?
Я так и думал, что примут за антирекламу, а не объективную оценку. Ну хорошо, убрал бы я в статье упоминания об elma и easla.com — это было бы политкорректно, но неинформативно?
Я подошел к написанию статьи как программист, который внедрял систему elma, отгреб шишек и перешел на другую, которую, кстати, сам и написал. Показал объективные причины перехода. Недостатки предыдущего решения. Преимущества нынешнего инструмента.
P.S. Скажем так, я в составе команды разработчиков easla.com, поэтому в платном блоге. Это важно?
О! Я так понял, разработчики elma решили меня отхабрить…
Из всех критикующих комментариев складывается впечатление, как будто Yii всей своей сущностью и натурой заставляет программиста писать неэффективный/буксующий код, а все остальные фреймворки — нет. По-моему все зависит от программиста, его компетенции в PHP в целом и в Yii в частности!
Как говорится, нечего на зеркало кивать, коли рожей не вышел.
Зачем же так категорично. Лично мне пришлось такую задачу решать. Банальный экспорт данных. Их может быть много и их надо тащить на сторону PHP.
Сперва пробовал CActiveDataProvider, таскал по 100 записей. Получилось невыносимо медленно. Переделал на CArrayDataProvider и все зашевелилось.
Если запросы из приложения на Yii будут возвращать десятки записей, т.е. фреймворку придется создавать только десятки AR, то вполне сопоставимы. Скажем так, конечный пользователь не заметит разницу.
Но если вы имеете ввиду, что запросы будут возвращать 100500+ записей, то от AR надо отказаться.
Разработчик старается, делает интерфейс как можно проще, стандартнее, я бы сказал, использует для этого стандартные компоненты, скрипты, поведения (bootstrap, jquery и т.п.), вылизывает странички, чтобы ничего никуда не налазило, а потом приходит пользователь и критикует:
Опять bootstrap, опять FontAwesome? Причём практически в неизменном виде. Мне бы хотелось увидеть более продуманный и самостоятельный стиль проекта.

И разработчик весь такой в непонятках:
— Блин, хотел как проще! Че за...?! Дилемма!
Благодарю за рекомендацию.
Честно, мелькала такая мысль, но настораживало, что вся статья будет в спойлерах — как-то некрасиво. Три строчки текста — спойлер, пять строчек текста — спойлер. Когда сам читал статьи с большим числом спойлеров, раздражался.
Спасибо.
Я тоже недоволен, что получился такой большой объем, но разделить статью на две тоже было бы неразумно. Все-таки описывается один объект. Как говорится, из песни слов не выкинешь.
Дело в том, что в момент принятия решения о выборе easla.com, у меня уже был опыт ее использования, на что я указал в статье. Система молодая и неизвестная, но очень гибкая, благодаря своей «скриптовости».
Кстати, за свои 15-16 лет работы с разными системами документооборота (AutoManager, Lotsia PDM Plus, TDMS, Elma, Sharepoint и др.) мне удалось выработать у себя нулевую реакцию на внешний вид как самой системы, так и ее рекламных материалов, в том числе и сайтов. Предпочитаю изучать систему изнутри. Не на примитивных примерах, которые порой демонстрирует продавец/интегратор, а на своих собственных. Вот так было и с easla.com. Я развернул на ней простой, с точки зрения «айтишных» возможностей, процесс управления инцидентами, в котором реализовал и прием инцидентов от пользователей, и уведомление сотрудников отдела ИТ о поступлении/переназначении инцидентов, и классификацию, и приоритезацию, и назначение плановых сроков устранения в рабочих часах в соответствии с категорией и срочностью, и извещение пользователей о процессе устранения инцидентов. Этого оказалось достаточно, чтобы поверить в возможности easla.com.
P.S. Взгляните, скажем, на сайт elma. Он отлично рекламирует свой продукт. И про BPMN 2.0 написано, и про блок-схемы, с помощью которых можно построить бизнес-процессы. Все так здорово, что в 2013 году я тоже на это купился. Но так от нее устал за год эксплуатации…
Спасибо. Дальше будет еще интереснее. Исходящий документ — это целая эпопея.
Где гарантия, что вы завтра не закроетесь?

Очевидный риск для любого решения, даже развернутого локально или «присыпанного 10 годами разработки платформы».
Мой жизненный опыт показывает, что самыми ненадежными являются решения созданные политической волей. Политической же волей они и закрываются. Примеров из жизни масса.
Решения же созданные по объективным причинам более живучи и не закрываются просто так. Только при появлении соответствующих объективных причин. Отсюда возникает вопрос ответственности и мотивации.
В части ответственности, юр. лицо несущее ныне на себе бремя ответственности за easla.com существует на рынке 10 лет и причин для его ликвидации нет. Обязательства, которые юр. лицо берет на себя все это время выполняются. На его счету ни единого судебного разбирательства или претензии.
В части мотивации, когда решение приносит моральное удовлетворение, финансовую прибыль, чашку чая к столу и т.д, никто даже не подумает о том, чтобы душить «курицу несущую золотые яйца». В настоящий момент easla.com успешно работает в разных организациях, в некоторых даже платно. Система находится на стадии самоокупаемости, тем более, что затраты на ее поддержку невелики. Какой смысл ей закрываться?
Если же вы хотите кивнуть на необходимость создания автономной версии easla.com, то решение двигаться в этом направлении уже принято, но приоритет остается за SaaS решением. Именно SaaS решение дает те самые преимущества, которые так нужны российским компаниями находящимся в условиях жесткой экономии и конкуренции.
Рассмотрим, скажем, небольшую проектную организацию, человек на 20-25, которая еще 1-2 года назад не знала финансовых трудностей, обладала полноценным портфелем заказов и с уверенностью смотрела в будущее. Руководители таких организаций в зависимости от уровня своей компетенции по-разному смотрели на организацию действующих бизнес-процессов. Но одно их объединяет (с помощью ментальности), при рентабельности выше 15% мало кто заботится о каких-то усовершенствованиях: платят сотрудникам достойную зарплату и себя не забывают утешить. Сейчас многие такие компании в лучшем случае «выживают» и единственный способ выйти на прежний уровень рентабельности — автоматизация. Но для этого, помимо знаний и кадров, нужно «железо» и «софт», которые обходятся порой очень дорого. Системы, которые ничего не стоят требуют значительных кадров. Системы которые вроде бы «умеют все из коробки» требуют значительных инвестиций. Именно потому и появилась easla.com, которая по своим возможностям не уступает многим известным Sharepoint, TDMS, Elma, Documentum, Lotsia PDM Plus и одновременно является бесплатной в плане начальных инвестиций. Не нужно покупать «железо». Не нужно покупать «софт». Регистрируйся, заимствуй процессы или создавай свои и работай. В плане «создавай свои», конечно, опять всплывает кадровый вопрос, но, нанять PHP программиста «средней руки» «по зубам» многим компаниями.

А если да, сколько будет стоить саппорт (и будет ли он возможен)?

Если возникнет объективная причина закрыть проект, то как ответственный руководитель проекта могу обещать его размещение на github или подобном ресурсе. Собственно, он и сейчас размещен на таком ресурсе, но приватно. Открыть к нему полный доступ — минутное дело.

Стоимость кастомизации проекта под бизнес нужды конкретного предприятия?

Я не совсем понял. Вы хотите «кастомизировать» easla.com (движок) под нужды конкретного предприятия? Но в чем смысл? Идеологически система построена так, чтобы не изучая ее исходный код и обладая только знанием PHP, можно было легко построить свои бизнес-процессы. При этом, один из акцентов, на возможности доработки процессов «на лету», прямо в режиме реального времени.
Собственно, лично я полтора года назад запустил процессы созданные в easla.com в крупной проектной организации (об этом еще расскажу в отдельной статье) и был очень удовлетворен тем, как оперативно могу вносить изменения в действующий процесс в соответствии с возникающими требованиями (ранее использовали elma и изменение процесса или атрибутов объекта приводило к полной остановке работы компании).
У каждой системы есть свои преимущества и недостатки. Если с вашей точки зрения «Тезис» подходит для ваших задач, я даже не будут вас отговаривать :)
Именно этот обзор и ни в коем случае не последующие статьи, разместил в хабе «Sharepoint», чтобы пользователи Sharepoint обратили на easla.com внимание. На самом деле, easla.com может быть достойной заменой Sharepoint. Навскидку, вот основные преимущества easla.com:
1. Нет разделения на сайты. Связь между списками (объектами) может быть любой. Доступность определяется ролями.
2. Объект обладает динамически изменяемой формой, логика которой описывается в объекте и его атрибутах. Не нужен Sharepoint Designer.
3. Бизнес-процесс описывается кодом, не имеющим ограничений по сложности, в отличие от конструктора в Sharepoint Designer.
4. Скорость работы значительно выше (при равноценном оборудовании).
и т.д.
P.S. В свое время я делал ставку на WSS/Sharepoint и пожалел об этом.
P.P.S. Только не в обиду пользователям Sharepoint, есть задачи, которым он подходит оптимально.
А какой смысл «изобретать велосипед» для оформления проекта? Ноу-хау — это движок сайта, а не оформление.
Мы поправили немного настройки почты после вашего сообщения. Надеемся, такое больше не повторится.
Как я понял, проблема разрешилась сама собой. Но техподдержка все равно начеку.
Именно так и есть. Наметанный глаз?
ABOUT, равно как и Manual, не переведены на англ. язык. Их переводят в настоящий момент. Именно поэтому обзор опубликован на русском сайте, в расчете на пользователей в русском сегменте.
ALL PROCESSES в англ. сегменте пустой не потому, что «неподготовленный», а потому, что нет ни одного опубликованного процесса. В русском сегменте их уже несколько. Предлагаю вам создать первый процесс на англ. языке и опубликовать для всех!
Жаль, что не указали в статье, как Вы создаете транзакцию класса DbTransaction. Выражение вида:
$transaction = $model->getDbConnection()->beginTransaction();

не объясняет появление транзакций нового класса.

Кроме этого, предлагаю в функции rollback выполнять не foreach для возврата состояний моделей, а for с обратным перебором массива:
$cnt = count($this->_models);
for ($i = $cnt - 1; $i >= 0; $i--)
    $this->_models[$i]->restoreState();

По-моему это более правильно, вернуть состояние моделей в порядке, обратном порядку их сохранения.

В целом, спасибо за статью. Пригодилось.

Information

Rating
Does not participate
Location
Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
Date of birth
Registered
Activity