Как стать автором
Обновить
5
0
Ланец Николай @Fi1osof

JS fullstack developer

Отправить сообщение

Собственный репозиторий для MODX Revolution

Время на прочтение1 мин
Количество просмотров7.4K
Много писать не буду. Это скорее как новость, нежели мануал. Хотя вопрос собственных репозиториев для MODX Revolution — тайна, покрытая мраком (если кто видел готовые решения, дайте пожалуйста ссылку).

В общем создал я пакет, позволяющий создавать свои собственные репозитории для MODX Revolution.

Пока не все дописано (в частности пока не считается количество загрузок, и не реализован приватный режим работы с доступом по ключу API), но в целом пакет уже вполне рабочий и для личных целей вполне годится.

Особенно это решение пригодится веб-студиям и фрилансерам.

Подробности в видео-ролике.
Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии12

MODX Revolution и php-шаблоны

Время на прочтение2 мин
Количество просмотров34K
Как и у всякой CMS/CMF, у MODX есть как последователи, так и противники. Чисто субъективно, этого вообще не избежать (у каждого свои привычки, взгляды, потребности и т.п.).

Но есть ли объективные причины? Да, безусловно. И на мой взгляд одна из самых серьезных — это собственный парсер MODX.

У MODX есть ряд собственных зарегистрированных тегов, используя которые даже начинающий программист, который знает только HTML и быть может вообще не знает PHP, может собрать довольно вменяемый сайт, так как существует довольно большое количество готовых компонентов, которые устанавливаются просто в два клика. К примеру для того, чтобы получить на своей странице меню, достаточно прописать [[Wayfinder?startId=`0`]]

Сразу небольшая видео-демка с решением для тех, кому лень читать.
Читать дальше →
Всего голосов 23: ↑10 и ↓13-3
Комментарии41

Новый релиз пакета modLivestreet 0.5.0-rc full

Время на прочтение2 мин
Количество просмотров5K
image
После двадцати часов работы публикую свежий пакет modLivestreet, который надеюсь станет переломным в восприятии и уже сможет наглядно продемонстрировать для чего вообще это все затевалось.

Что же на этот раз нового? В этот раз упор был сделан на то, чтобы создавалось все необходимое для полной установки Livestreet-а в несколько кликов и практически полное управление движком из админки MODX, а именно:
  • Источники файлов Livestreet (полностью раздел, плагин modLivestreet, папка uploads). Теперь не придется долго искать где что лежит, а там же можно через админку управлять файлами Livestreet
  • Шаблоны для MODX, чтобы выводить главную Livestreet, любые документы Livestreet, Любые документы MODX в двух вариациях (в две колонки с лентой новостей в правом блоке, и в одну колонку без сайдбара).
  • Пара чанков, чтобы вклиниться в шаблонизацию Livestreet

В общем во многом модуль уже готов к тому, чтобы его использовать.

Под катом более полный список изменений и демо-ролик.
Читать дальше →
Всего голосов 10: ↑5 и ↓50
Комментарии8

Установка LivestreetCMS на MODX Revolution из пакета за 10 кликов

Время на прочтение4 мин
Количество просмотров5.8K
imageЯ уже не раз писал о своем модуле modLivestreet для связки MODX Revolution + LivestreetCMS (В этом топике подробно расписана идея и реализация со схемами и т.п.).
Спустя почти две недели с начала разработки модуля, я пришел к следующему выводу: слишком все сложно получается. Идея сама по себе простая: к MODX Revolution (которому исторически не хватает модулей для построения блогов) прикрутить LivestreetCMS, дабы получить этакую социалочку с хорошим функционалом.

Первый пакет я накидал быстро, и он вполне обеспечивал перенаправление запросов на Livestreet и вывод контента в MODX. Но дальше захотелось реализовать синхронную работу с пользователями MODX- и LS-., потом еще что-то… В общем функционал рос, код тоже. Проблемы проявились в сложностях настройки данного союза. Если с MODX можно сказать вообще никаких серьезных проблем не возникло (во всяком случае не потребовалось трогать ни байта кода движка), то с Livestreet все оказалось сложнее… Так или иначе приходилось лезть в код. Я конечно понимаю, что какие-то вещи можно и перегрузкой классов в своем плагине сделать, но это только частное решение проблемы. Да и некоторые моменты не перегрузить, как к примеру обстояло дело с классом Jevix. Но это не важные детали. Главное — настройка всего этого дела требует много ручной работы. Когда я написал мануал по установке и настройке всего этого дела, я совсем озадачился… Вроде и не много, но все равно больше, чем ничего.
Читать дальше →
Всего голосов 13: ↑8 и ↓5+3
Комментарии2

Релиз новой версии модуля modLivestreet 0.4.6.1-rc

Время на прочтение1 мин
Количество просмотров1.8K
11 дней прошло с последнего пресс-релиза моего модуля modLivestreet для связки MODX Revolution + LivestreetCMS

За это время пакет был серьезно доработан и уже претендует на звание стабильной версии.
Список изменений под катом.
У кого возникнут вопросы, спрашивайте.
Читать дальше →
Всего голосов 12: ↑5 и ↓7-2
Комментарии2

Релиз новой версии модуля modLivestreet 0.3.0-rc

Время на прочтение10 мин
Количество просмотров4.3K
Продолжая нашу тему про модуль связки MODX и Livestreet, представляю новую версию модуля modLivestreet: livestreet-0.3.0-rc.transport.zip

Что нового? Да практически все :-) Модуль переписан с нуля.
1. Серьезно изменена (улучшена) логика обработки запросов на LiveStreet.
2. Добавлена синхронизированная регистрация пользователей в MODX и LiveStreet. Теперь регистрируя пользователя через админку MODX, пользователь автоматически создается в LiveStreet, а обрабатывая запрос на LiveStreet на регистрацию пользователя, регистрация проходит через MODX, что в свою очередь так же обеспечивает синхронную регистрацию пользователя в обоих движках.
Данную функцию можно отключать через настройку.

Под катом схемы работы (упрощенные) MODX в стандартной версии и с модулем modLivestreet и более подробное описание того, как происходит синхронная регистрация пользователей в MODX и Livestreet (Схему, как изменилась регистрация в MODX выложу позже), а так же исходники.

UPD: сборка пакета на github: github.com/Fi1osof/modx-livestreet
Читать дальше →
Всего голосов 14: ↑10 и ↓4+6
Комментарии40

Связка MODx Revolution + LiveStreet. Часть 2 (Дубль два)

Время на прочтение2 мин
Количество просмотров2.8K
Прошлый мой топик закритиковали из-за отсутствия полностью задокументированного и оформленного решения, отправив меня все это дело переделывать, потому и переписываю топик с нуля, так как и решение с нуля все переделано.
Думал за часик все оформлю, а в итоге все переписал единым пакетом, полностью переосмыслив логику. Если так посмотреть, то с этим плагином MODX может работать не только с LiveStreet, а скорее всего много с чем, как бы выполняя роль шлюза (или nginx-а, чтобы понятней было).

Итак, вот готовый пакет для MODX: goo.gl/X6HCd (Extra залил на modx.com, но пока на модерации. Как только запустят, обновлю ссылку)

Что требуется для работы?
Отдельно MODX
Отдельно LiveStreet (можно в какой-нибудь внутренней папке в MODX (но не на одном уровне с livestreet.url_prefix, а то могут возникнуть сложности с подменой УРЛ-ов), можно за пределами MODX_DOCUMENT_ROOT (но лишь бы на одном сервере и доступ к файловой системе был)).

В общем ставим это все (или берем готовые сайты), устанавливаем на MODX данные пакет, правим (если надо) системные конфиги MODX пространства имен livestreet.

Это все просто.

Чуууточку сложнее вот это сделать:
Читать дальше →
Всего голосов 8: ↑3 и ↓5-2
Комментарии6

Парадигма программирования процессорами в MODx Revolution

Время на прочтение6 мин
Количество просмотров10K
Сразу оговорюсь, что данная статья — рассуждения и пища для размышлений. Совершенно не хочу устраивать холивары и навязывать другим свои методы программирования. Просто рассказываю, так как по себе ощущаю, что используемые мною методы программирования за последний год очень сильно изменились и в корне отличаются от методов предшествующих нескольких лет.

В данной статье я хотел бы рассказать насколько MODx Revolution в целом изменил мой подход к программированию.
Не знаю как кто программирует, но я считаю, что давным давно уже программирую методами ООП. К чему же в общих чертах сводилось программирование? Я писал (или брал готовые) классы под свои задачи (класс по работе с базой данных, класс по работе с шаблонами, класс еще под что-нибудь). Большинство классов были довольно большие и выполняли множество необходимых задач по своему профилю. Чаще всего по мере роста проекта многие классы разрастались, или обзаводились расширениями, или и то и другое. Так или иначе, уверен многие сталкивались с ситуацией часового разбора объекта в пару тысяч строк и несколькими десятками методов, чтобы разобраться куда можно внести очередные изменения, но так, чтобы при этом что-то другое не сломалось. Но на мой взгляд сложнее всего обеспечить гармоничное взаимодействие различных объектов между собой, особенно в плане перехвата ошибок при выполнении тех или иных действий, а главное в момент ошибки решить насколько она критичная и стоит ли прервать процесс выполнения, или можно идти дальше. А еще сюда же приписать клиент-серверные решения, чтобы стандартизировать ответы выполнения и для серверной части (с дальнейшей ее отрисовкой в шаблоны), и для Ajax-запросов.

Какой же именно инструментарий предлагает MODx Revolution для программирования логики проекта? Всего два класса: Процессор (выполняется классом modProcessor) и Коннектор (выполняется классом modConnector).
Что это такое? Процессор — отдельный файл с чаще всего одной или несколькими мелкими задачами, в результате выполнения которого ответ должен быть только положительным (что будет свидетельствовать о положительном результате выполнения), или отрицательный (желательно с конкретным сообщением об ошибке), что будет само собой говорить, что произошло что-то критически неправильно.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии16

Пользовательские запросы к БД в MODx Revolution

Время на прочтение5 мин
Количество просмотров50K
Данный топик наверняка будет полезен тем, у кого довольно большие проекты на MODx Revolution, так как с обычными сайтами-визитками достаточно и стандартных методов работы а-ля $modx->getObject(), $modx->getCollection() и т.п. И данные методы по сути своей не просто работа с базой данных, а еще и с объектами MODx.

При работе с большими проектами методы а-ля $modx->getCollection() для нас не лучшее решение по двум причинам:
1. Перерасход ресурсов. Данные методы не просто получают данные из БД, но еще и создают инстанции получаемых объектов. В данном случае получая информацию о 10000 документов, мы получаем 10000 объектов modResource, что не очень круто.
2. Осложняется задача подсчета получаемых записей. Помимо прямых сложностей подсчета еще на уровне запроса, даже если вы получите 10 записей одного и того же документа (к примеру), MODx вернет вам как результат только один объект modResource. И хотя часто такое устроит многих программистов (они получили уникальные объекты и рады), кого-то это не устроит, так как опять же происходит перерасход ресурсов, а по конечному результату сразу и не видно, что запрос не оптимизированный.
К тому же при работе на крупных проектах нам чаще всего нужны не сами объекты, а только информация (записи из базы данных).

Описанные здесь методы работы с БД ставят 2 задачи:
1. Дать бОльшую гибкость в написании запросов к БД.
2. Придерживаться стандартных методов xPDO, то есть избежать чистого SQL, так как чистый SQL по некоторым причинам в фреймворках вообще не кашерно (хотя бы с точки зрения возможной миграции на другой тип БД, смены названий таблиц, префиксов или еще чего-нибудь)
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии12

Работа с поддоменами в MODx

Время на прочтение3 мин
Количество просмотров10K
Тут от товарища поступил вопрос:
День добрый!

Читаю статью про дружбу ModX и LS, и решил спросить вопрос, который сам никак в ModX не могу решить — как реализовать логику работы Revo в зависимости от текущего поддомена основного сайта?

Я вижу на pro-cent.ru, что в поддомен выносится название города (http://kaliningrad.pro-cent.ru/). ModX как-то помогает в обработке этого, или у Вас все руками и своим кодом сделано?


Решил дать ответ в публику, наверняка кому-нибудь тоже пригодится.
Читать дальше →
Всего голосов 6: ↑2 и ↓4-2
Комментарии21

Связка MODx Revolution + LiveStreet

Время на прочтение4 мин
Количество просмотров7K
Когда собирался писать свой топик, ломал голову куда же его писать? С одной стороны часть сайта написана на MODx, с другой стороны другая часть написана на LiveStreet, а с третьей стороны это такие костыли, что в пору в Ненормальное программирование писать. Оказалось, что Хабр готовился к такому повороту событий и сделал возможность писать сразу в несколько блогов, за что ему отдельный респект! :-)

Ну а теперь собственно к основному вопросу: В свое время я написал и запустил купонный сервис, само собой написанный на MODx Revolution (само собой, потому что я ярый любитель этого движка и что бы ни писал, всегда пишу именно на этом фреймворке).
Так вот, проект рос, развивался, много функционала было написано (благо MODx позволяет решить любую задачу), да вот только замыслилось мне на сайте еще и социалку-блог а-ля Хабрахабр запустить, да чтобы все наши пользователи там были, да чтобы отзывы по акциям туда же попадали, да чтобы отзывы были и в акциях, и в социалке, и чтобы и там и там их можно было комментировать и читать их в отдельной ветке все до кучи, и еще много-много чего… И когда я думал, сколько же мне понадобится времени, чтобы напрограммировать это все самому, я делался очень грусным...

Но вспомнил я про LiveStreet, о котором слышал давно-давно, и то, что он позиционируется как легкий и быстрый клон Хабра. И вот решил я отдельно социалку поднять на LS и увязать его с моим основным сайтом на MODx. LiveStreet установил и запустил за пару часов (это мое первое знакомство с этим движком).
Читать дальше →
Всего голосов 17: ↑11 и ↓6+5
Комментарии17

Как же достал timeweb.ru!

Время на прочтение2 мин
Количество просмотров8.6K
С хостингом timeweb.ru работаю уже года 3. К настоящему моменту у меня 4 аккаунта и штук 30-40 сайтов на них (это из тогго, что я еще не перетащил оттуда и что не особо важно).
Первые года полтора горя не знал, все устраивало, саппорт работал регулярно и качественно.
Со временем становилось как в сказке: «чем дальше, тем страшнее»…
Читать дальше →
Всего голосов 71: ↑33 и ↓38-5
Комментарии50

Высокие технологии в Active cloud

Время на прочтение1 мин
Количество просмотров720
Много писать не буду, коротко и по сути.
Несколько месяцев уже время-от-времени пользуюсь услугами облачного хостинга activecloud.ru.
Так вот, ни разу еще не было так, чтобы оплата прошла в автоматическом режиме и без проблем. Каждый раз приходится им звонить и разбираться с оплатой. Вот и сегодня оплатил им денег через карточку, Ассист рапортовал что все ОК, емейл от него же с подтверждением оплаты получил, но… Оплаты в активклауде нет. Услугу на день они мне не могут включить даже не смотря на то, что на балансе есть почти 300 рэ, но они не имеют технической возможности, а с оплатами разбираются манагеры, которые будут только завтра днем, или вообще в понедельник???

В общем, несколько раз подумайте прежде чем обращаться к данному хостинг-провайдеру.

UDP: Не хватало кармы разместить сразу в тематическом разделе, по-этому переношу сейчас.

UDP2: Надо отдать должное, Хабрахабр ребята мониторят и сразу же идут на связь и максимально пытаются загладить вину. Но это уже понедельник (потому что менеджеры только в будние работают), то есть спустя два дня. Два выходных потеряно…

UPD3: У них получилось загладить передо мной вину и компенсировать моральный ущерб. Плюс за индивидуальный подход
Всего голосов 45: ↑34 и ↓11+23
Комментарии8

PHP-консоль под MODx Revolution

Время на прочтение2 мин
Количество просмотров9.1K
Продолжая статью уважаемого bezumkin-а, хочу поделиться одним небольшим, но очень полезным модулем для админки MODx Revolution. Это, так сказать, Ajax-консоль для выполнения PHP-кода (само собой на стороне сервера) и вывода результатов в браузер.

P.S. Не надо лишних комментариев на счет безопасности. Если не знаете MODx Revolution, лучше вообще ничего не говорить. Так же перед постингом по безопасности читаем тут.

image
Читать дальше →
Всего голосов 24: ↑16 и ↓8+8
Комментарии52

Пользовательские таблицы в MODx Revolution

Время на прочтение5 мин
Количество просмотров25K
imageВ данной статье мы разберем следующие вопросы:
  1. Создание пользовательских таблиц для MODx Revolution.
  2. Генерация XML-схемы и php-файлов-классов для xPDO.
  3. Работа с пользовательскими таблицами.

Читать далее
Всего голосов 10: ↑6 и ↓4+2
Комментарии17

Безопасность и проблемы с ней в MODx Revolution

Время на прочтение6 мин
Количество просмотров9.8K
Данный топик посвящается вопросам защищенности MODx Revolution в целом, а так же коннекторов и контекстов в отдельности (релиз Revolution 2.1.0 ).

Предыстория: встал вопрос создать серьезный ресурс на движке MODx Revolution. Технических проблем мы не видели, но решили больше внимания уделить вопросам защищенности движка.
Честно сказать, я всегда считал механизмы безопасности в MODx Revolution очень гибкими и надежными, но тут я получил довольно много сюрпризов… Постараемся разобрать их как можно больше и подробней.

Кто любит сразу самое интересное читать, начинайте читать со слов «Теперь подытожим, что же надо чтобы работал коннектор........», так как сначала рассмотрели не проблему, а задачу.

UDP: в версии 2.1.1 пофиксили. Но зная на сколько >2.1.0 сырая еще, уверен что 99% Рево в ходу это более ранние релизы.

Читать дальше
Всего голосов 26: ↑22 и ↓4+18
Комментарии38

Знакомство с Хабрапипл

Время на прочтение5 мин
Количество просмотров2.5K

P.S. вместо вступления (из возникших комментов), чтобы легче было определиться, читать или не читать данный пост:


:-)
знаете как получается? Собираются такие клевые друзья, крайне мощные и талантливые программеры и арт-творцы. «Мы такие классные! Мы гении! Мы классные проекты можем реализовать на раз-два!». И создают они чудо-компанию, ведь они классные! Они не могут не заработать, потому что у них работы красивые и без багов.
Только вот проходит несколько месяцев, а бизнес как-то не идет… А все очень просто: просто система продаж в компании не совершенная. И бегают они, и пытаются содрать хоть какой-то заказик за копейки, чтобы иметь возможность доказать этому заказчику, что они классные, в надежде что он их оценит и потом сделает заказ хороший. И вроде находят… И опять что-то не так. Не ценит их заказчик, не понимает их гениальности! Опять пытается навязать свое видение, как надо правильно делать. И опять все кончается нервотрепкой, и провальным проектом.

Попробуйте меня убедить, что я сейчас не описал как минимум 50% развалившихся веб-студий. И ведь совсем не исключено, что там были нормальные специалисты.
Просто многим таким компаниям не хватало умения развить правильную систему продаж, умения найти хороших заказчиков, которые будут нормально платить, пусть даже и за отстойную работу.

Вот именно эти вопросы мы и будем поднимать.

Обращение сейчас ко всем, так сказать к слову:
Если вы из тех, кто мечтает создать идеальную компанию с гениальным портфолио и безупречной репутацией, для вас вряд ли что будет тут интересного.
Если вы больше бизнесмен и хотите поднять бизнес, пожалуйста, приглашаю к конструктивному диалогу. В дальнейших статьях будут более интересные и предметные моменты раскрываться

Знакомство с Хабрапипл
Всего голосов 74: ↑29 и ↓45-16
Комментарии67

Очередной «урок» по ExtJS. Шаблоны элементов

Время на прочтение3 мин
Количество просмотров4.7K
Привет всем! Во-первых всех хочу поздравить с Рождеством! Счастья всем и здоровья!
Во-вторых, хочу сообщить тем, кому интересно, что я разместил на своем сайте еще один урок по ExtJS, в котором мы попытаемся разобраться с шаблонами элементов.
Вообще сразу хотел бы отметить следующий факт: с прошлым постом получилась одна маленькая неприятность — много хабрапипл меня пытались убедить в том, что я творю Зло, что занижаю порог вхождения в сакральные технологии и оказываю медвежью услугу тем, кто в результате изучения моих корявых уроков напрочь теряет шанс стать нормальным кодером. В связи с этим хочу сразу определить несколько моментов:
1) Я вполне допускаю что высказалось немало действительно хороших специалистов в этой области, тем не менее прошу вас впредь не тратить свое время на подобные убеждения, ибо во-первых, с вами я не согласен, а во-вторых, выложите более адекватные уроки и нужность моих кривых уроков сразу пропадет сама собой.
2) Я еще раз повторюсь, что на звание авторитетной мануалы мои уроки не претендуют. Для меня программирование — хобби, и познания у меня больше дилетанские, и видение такое же, потому лексикон и примеры соответствующие. Но вполне возможно именно по-этому их понять начинающему легче, чем сразу с головой окунаться в изучение официальной доки на буржуйском языке. Потому, если у вас глубокие познания в программировании, вы вряд ли найдете что-то новое в моем материале, разве что захотите налить грязи и показать насколько вы крутой кодер на фоне остальных неучей. Не надо! Мы итак это знаем. Потому не флудьте почем зря. Здесь материал для начинающих и тех, для кого кодинг — хобби.
Читать дальше →
Всего голосов 14: ↑8 и ↓6+2
Комментарии11
2

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность