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

User

Send message
Спасибо. Дальше будет еще интереснее. Исходящий документ — это целая эпопея.
Где гарантия, что вы завтра не закроетесь?

Очевидный риск для любого решения, даже развернутого локально или «присыпанного 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();

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

В целом, спасибо за статью. Пригодилось.
Это все из-за санкций! Теперь Хьюлет не будет продавать принтеры в Россию, а Паккард будет. Или наоборот. :) :) :)
Верно подмечено!
Решаемо:

function numToLetter($num)
{
	$f = '';
	do 
	{
		$f = chr(64 + $num % 26) . $f;
		$num = floor($num / 26);
	}
	while ($num > 0);
	return $f;
}

echo '<br/>letters: ',numToLetter(1905); //return BUG


Спасибо за замечание.
Ой, простите. Моя вина.
Deaddy указал на то, что в предыдущем сообщений Вы написали XLS, а не XLSX. Если это не опечатка, то надо понимать, что это разные форматы. То, что подходит для XLSX не подойдет для XLS.
1. Разместил файл template.xlsx на Gitub. Можете им воспользоваться.
2. Верно-верно. Но публикация ведь про мой опыт, а мне нужны были только указанные мной форматы.

Однако, нет ничего проще использовать и другие форматы. Попробую описать по пунктам:
a. Открыть template.xlsx
b. Ввести в какую-нибудь ячейку тестовое значение и отформатировать его так, как вам нужно
c. Стереть введенное значение (можно не стирать, но ...)
d. Сохранить template.xlsx
e. Переименовать xlsx в xip.
f. Распаковать.
g. Найти файл /xl/styles.xml.
h. Открыть его в каком-нибудь приложении для просмотра, например, в Internet Explorer.
i. Найти тэг cellXfs, в нем и будут содержаться все стили, включая новый.
Рекомендую проделать эти операции на копии template.xlsx, чтобы в п.i сравнить исходный styles.xml и конечный styles.xml. Обращаю внимание еще и на тот факт, что ссылка на стиль осуществляется по порядковому номеру стиля.

3. Именно так, ведь простой экспорт подразумевает экспорт именно значений, а не форматов. Хотя, справедливости ради, укажу на тот факт, что в функции appendCellString учитывается установка флага isBold, который позволяет сделать строковые значения жирным шрифтом.

Про fputcsv знаю, но значения сохраненные в csv формате при открытии в Excel рискуют быть искаженными. Уж очень любит Microsoft Excel «догадываться» какой формат надо установить для значения и превращает все подряд в даты. Кроме этого, обычному современному пользователю csv формат неизвестен, ну или вызывает замешательство и депрессию. В общем, такой простенький экспорт в формате xlsx оправдан тем, что сокращает количество обращений пользователей с вопросом: «Что делать с CSV?»
Кстати, про команду «Данные» — «Из текста» в Excel знает тоже не каждый пользователь.

Смысл публикации именно в том, чтобы поделиться опытом и позволить другим программистам, коллегам, не ломать голову при решении подобных задач. Написание класса для экспорта в XLSX у меня отняло примерно пару дней. Сперва разбирался с шаблоном. Потом со строками и датами. Потом оформлял в класс. Если кто-то другой прочитав эту публикацию сэкономит пару дней я буду только рад!
Конечно, никто не заставляет и в начале этого года, когда мы обычно оформляем подписку на продукты Autodesk была составлена соотв. служебная записка на имя генерального директора с указанием на то, что нет никакой технической необходимости ее продлевать и оплачивать. В новых версиях продуктов нет ничего для нас полезного.
После ее прочтения, генеральный директор вызвал меня на обсуждение этого вопроса и в результате пришли к тому, что нам выгоднее продолжать оплачивать подписку из финансовых соображений каждый год, чем отказаться от нее и пользоваться теми продуктами, которые у нас есть.
Политика Autodesk такая, что через 3 года продукты морально устареют и начнутся проблемы с открытием файлов новых версий (они даже сейчас уже есть), потом продукты снимут с поддержки, в общем, когда через 5-7-9 лет мы захотим получить новые версии продуктов, придется платить в 10 раз больше и одним разом! И за что? За точно такие же продукты «изнутри», видоизмененные «снаружи», очередным логотипом и «шильдиком» новой версии сверху?

Таким образом, фактически, ничего не отдавая взамен нам «выкручивают руки» заставляя оплачивать подписку, которая только лишь дает нам право использовать то, что у нас уже есть. Мы ее вынуждены оплачивать как налог! Хотя даже налоги должны идти на улучшение жизни, а в случае с подпиской даже это не получается!

По-моему это неправильно!
Лично у меня, как у давнего пользователя AutoCAD и «вертикальных» продуктов на его основе, последние лет 5 складывается устойчивое мнение, что Autodesk перенял политику Microsoft в части разработки ПО. Меняется только внешний вид продукта и добавляются редкие интерфейсные фишки, которые, зачастую, пользователи выключают сразу после установки. Никаких реально прорывных улучшений нет.
Почему так? Ответ банален. Деньги! Если внести полезные улучшения в «движок» AutoCAD и не сделать ни одного заметного изменения в интерфейсе, непонятно за что просить денег 15 марта каждого года?! Такие изменения заметят только гики и программисты, которых 10% от общего числа потребителей ПО.
Лично меня такое положение дел не просто расстраивает, а уже начинает бесить. «Шитое белыми нитками» высасывание денег из пользователей не получающих практически ничего полезного в обмен.

В общем, как в той шутке:
Раньше, когда запускали новую версию продукта первая мысль была: «Ну-ка, что тут новенького!?»
Теперь, когда запускаем новую версию продукта первая мысль: «Херня! Привыкнем!»
Очень вовремя, лично для меня :)
Спасибо!
Ждем выпуска Microsoft Word 2015 с новым анимированным и видео интерфейсом, который будет тормозить даже на AMD Radeon R9 295X2! :)))
Следующий шаг «законописателей»:
Пользуешься услугами иностранного сайта? Подай заявку на его использование, иначе это незаконно!
При рассмотрении заявки, в использовании иностранного сайта может быть отказано и предложено использование другого «аналогичного» ресурса (скорее всего российского и государственного), с мощным лобби.

Information

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