Fi1osof

Fi1osof

С нами с 05 мая 2014; Место в рейтинге пользователей: #10
Fi1osof
23 августа 2015, 15:25
+1
а на InnoDB modx хоть и заведётся, но никто не гарантирует стабильной работы,
С InnoDB засада… foreach($modx->getIterator($class) as $object){...} уходит в бесконечность. Пока не копал почему, но косяк такой имеется.
Fi1osof
23 августа 2015, 10:42
+2
Вообще, в поисках более фэншуйного подхода для реализации данной задачи правильней было бы использовать метод modProcessor::getInstance, и в зависимости от того, что надо было обновлять, переключаться на тот или иной процессор.
Fi1osof
23 августа 2015, 10:40
+2
Нет, тут проблема в первую очередь именно в принципе расширения. Еще раз уточню: нельзя для работы с одними объектами расширять процессоры, предназначенные для работы с другими процессорами. Если рассматриваемый здесь update.class.php был создан для обновления объектов класса modPropertySet, то расширяющий процессор и должен был использоваться только для обновления объектов этого класса. А здесь же была попытка использовать его для обновления modTemplate, modSnippet и т.п. Это именно проблема самого подхода. А в топике я всего лишь подробней рассказал почему так не стоит делать.

П.С. я не отношусь критически. Я просто объясняю.
Fi1osof
23 августа 2015, 10:06
0
Это все же пример того, как не надо расширять процессоры. Если вы не учтете эти рекомендации и сделаете что-то подобное, то чтобы вы там не обновляли, это будет из той же серии.
Fi1osof
22 августа 2015, 23:03
0
Чессказать хз. Последнее время мало где общаюсь. Райну сообщил.
К слову, у меня пока больше ничего не сломалось. Надеюсь это была последняя бага для меня в этом релизе.
Fi1osof
22 августа 2015, 17:27
+3
Всегда пожалуйста!

Нет, не против.
Fi1osof
22 августа 2015, 16:50
0
Вот ShopMODX (больше ничего похожего на документацию не смог найти)
У ShopMODX пока вообще нет документации :) А это был просто пресс-релиз.
Fi1osof
22 августа 2015, 14:36
+1
Я не буду. Это больше не ругань, а просто яркий пример того, что и почему не следует делать.
Fi1osof
22 августа 2015, 14:33
0
ОК. Спасибо. Тогда сейчас напишу отдельный топик на счет его PR-а в MODX, которое вообще не фэншуйное, и сейчас много проблем доставляет в последних версиях.
Fi1osof
22 августа 2015, 14:26
0
Народ, а кто такой Argnist? Кто знает?
Fi1osof
14 августа 2015, 18:17
+1
Только добрался до компа…
Еще немного рассуждений. На самом деле не понятна такая холодная реакция западных разрабов. Активно разрабатывал и двигал тему я еще почти 3 года назад community.modx-cms.ru/search/topics/?q=modxSmarty (на самом деле в проектах Смарти крутить начал еще в 2011-ом). Так вот, на ранних стадиях эта тема была интересна западу. В частности очень сильно заинтересован был Andrew Smith aka silentworks. Он как раз экспериментировал с твигом. Мы с ним в скайпе не раз общались, ему все очень нравилось, он был в восторге (именно от связки phpTemplates+modxSmarty). Уточню: его именно сама основа радовала, но Смарти его не интересовал, он твиг хотел использовать. Так же я не раз общался с Марком Хамстра, он тоже в деталях знает что и как у меня работает. То есть аргумент «они не разобрались еще что и как работает» — он здесь маловероятен ИМХО. Скорее всего здесь есть какая-то другая причина. Джейсон Ковард радеет в первую очередь за совместимость. Это и понятно. Отдав предпочтение одному шаблонизатору, можно потерять рынок альтернативного шаблонизатора. И затачивая модуль под определенный шаблонизатор, так же есть потери по совместимости. Так что с большой долей вероятности вот эти шаблонизаторы так и останутся 3rd-party, и в ядро никогда не попадут. Но это Джейсон. А вот почему тема затихла на уровне Andrew и прочих? Мне не понятно. В голову лезет только одна мысль — они осваивают другие платформы и технологии.
Fi1osof
13 августа 2015, 22:36
+1
Раз не отдает, значит и не будет. Да, требовать с пользователя. У меня так и работает — если нет емейла — вводи вручную.
Fi1osof
13 августа 2015, 22:28
+1
Совсем не менее. Более того, многие активные MODX-разработчики с запада постоянно читают наши ресурсы с гугл-переводчиком, так как у нас много чего интересного есть постоянно.
Fi1osof
13 августа 2015, 20:48
+1
Видимо это останется тайной.
Fi1osof
13 августа 2015, 20:36
0
В первую очередь для себя я бы фиг стал 2 дня писать эту огромную портянку документации.
Да, я был не корректен.
А я пишу в первую очередь для себя. И документацию как таковую не пишу.
Fi1osof
13 августа 2015, 20:28
0
MODX — это бренд и канал продаж. А продавать можно много что. Я пока не припомню среди своих клиентов таких, которые бы сказали «О нет! Не ставь нам modxSmarty, потому что его нет в ядре MODX-а и мы его не знаем!». Так же и они могут использовать что угодно. Скажу так: достоверно знаю, что некто, чьего имени не буду называть, разрабатывал проект на ларавеле. (пруфы не просите, не дам). Плевался долго, рассказывал как там на его взгляд все плохо и что больше никогда. Но разрабатывал. Just a job.
Fi1osof
13 августа 2015, 20:18
+2
Типа, сам используй свои приблуды.
Ну, на самом деле как бы и правильно. Это нормально, что одни используют одни инструменты, а другие — другие. Здесь еще важно учитывать разницу в самих рынках IT (российском и забугорном). У нас за дни-недели горы надо свернуть, чтобы копейки заработать, а там не торопясь месяцами полудохлые проект делают с огромными бюджетами. Потому и взгляды на эти вопросы разные, потребности отличаются.
Тут же даже далеко ходить никуда не надо. Взять modx.pro и modxlub.ru — у вас одни технологии, у нас другие. Это мы подходы сейчас обсуждаем примерно одни, а технологии разные. Хоть и нет у нас трудностей перевода (на одном языке говорим) и на рынке одном сидим. Но все же сильно отличаемся. Про modxSmarty я уже больше двух лет рассказываю, но аналог вы только сейчас запускаете. Хотя и подключается у нас тоже не на много сложнее.
В общем, я давно уже никому ничего не навязываю. Кто что хочет — тот пусть и юзает. Иногда вот только мнением поделюсь своим, да на вопросы отвечу, но навязывать не буду — пусть каждый сам себе решает что юзать. Вот и ты нервы побереги, не обращай внимания на них. Ведь в первую очередь ты это для себя делаешь. Я вот тоже для себя в первую очередь делаю, и не особо важно будет кто юзать или нет. Для меня главное — что я с этим инструментарием могу разрабатывать проекты для своих клиентов, которые их устраивают.
Fi1osof
13 августа 2015, 20:04
+1
Еще немного интриги в тему шаблонизации… Вот проект, о котором я не раз уже упоминал, но ни разу еще не публиковал ссылку. www.dg-yug.ru/ Покликайте его. На нем 75 000+ статей (именно modDocument, а не отдельные таблицы). С мая уже занимаюсь им не я, так что что-то на нем уже могли изменить, но на момент передачи сайта он отдавал любую страницу (включая главную) за 0.1 — 0.2 сек из кеша и до 0.4 сек не из кеша. А до того, как ввели там комментирование (что в принципе не кешируется), и вовсе страницы отдавал за 0.05 сек. Проводили нагрузочное тестирование 2000 пользователей онлайн. Сервер не смогли положить. Вот отчет. Так вот, на чистой MODX-шаблонизации этого результата нельзя было бы получить. Я использовал Smarty, но совершенно не исключено, что с Fenom тоже можно получить такой результат. Хотелось бы, чтобы в дальнейшем побольше публиковалось подобных рекордов и другими MODX-разработчиками.
P.S. уточню, что на указанном проекте пришлось еще использовать cacheOptimizer для решения проблем с генерацией кеша контекста с большим количеством ресурсов, а так же вот эту свежую технологию. Тем не менее, заслуга системы шаблонизации здесь имела самое главное место.
Так же я обещал написать подробную статью про разработку крупных проектов на MODX, но обрушился большой объем срочной работы, из-за чего я так этого и не сделал (да и вообще по-моему ни одной статьи с того момента нигде не опубликовал). Но вот уже доразгребаюсь и скоро все-таки напишу ее и маякну. Там как раз так же отдельное внимание будет уделено системе шаблонизации и ее роли в вопросе снижения нагрузки на сайт.
Fi1osof
13 августа 2015, 19:35
+1
Именно так.
Но я не думаю, что следует требовать от них этого. К примеру, вряд ли я был бы рад, если бы они феном в ядро пульнули, а ты вряд ли, если бы смарти. Так что лично меня вполне устраивает, что MODX позволяет прикрутить ту систему шаблонизации, которая больше нравится. Это и демонстрирует его силу. Но вот общие навыки и технологии у сообщества развивать следует. Ведь и в феноме, и в смарти, и в твиге и остальных — принципы примерно одинаковые. Синтаксис только отличается. Но эти принципы сильно отличаются от принципов MODX-а. К примеру, я до сих пор некешируемые части шаблона вызываю через некешируемый [[!smarty?tpl=`path...`&params...]] (или {snippet name=smarty params=$params as_tag=1}). Иначе просто никак. И вот все эти тонкости требуют довольно тщательного изучение (то есть порог вхождения все-таки више, чем на чистом MODX-парсере). Но если освоить принципы на одном шаблонизаторе, то тогда уже свободно можно будет разобраться и с другим шаблонизатором. И может даже какие-то стандарты выработать. К примеру, в том же компоненте EdinayaKassa у меня идет папка с шаблонами (хотя в ней всего один шаблон). В конечном шаблоне я подключаю папку шаблонов модуля, а в сниппете идет вызов шаблона модуля без указания папки. Smarty перебирает все папки шаблонов в поисках указанного файла и какой первый найдет — такой и заюзает. То есть можно или другую папку указать, или просто в своей основной папке создать такой шаблон и переопределить базовый. Все это дает огромные возможности для модульности и шблонизации. В общем, забегая далеко вперед (скорее всего в невозможное будущее), можно было бы заложить стандарты, чтобы в компонентах создавались для совместимости и феном, и смарти шаблоны компонентов. А вызов сниппета шаблонизатора (типа [[!smarty?]]) заменить на какой-то универсальный, который будет юзать текущую систему шаблонизации. У меня давно были на это мысли, и даже в ранних версиях phpTemplates сразу было прописано переопределяемое подключение системы шаблонизации (были такие эксперименты, от которых потом отказался).