30 июля 2013г.
Делаю "вечный" кэш для редкоизменяемых блоков. Суть в том, что время жизни кэша не ограничено. Зато в отдельном модуле прописаны все взаимосвязи материалов, и изменение одного из связанных друг с другом материалов повлечёт за собой очистку кэша. Таким образом инфа всегда будет актуальной и закэшированной.
Подходить к такому способу кэширования нужно очень внимательно, особенно если система достаточно объемная и сложная.
26 июля 2013г.
Сегодня надумали большую мысль. Сайт собран на панелях, на страницах множество пейнов. Большая часть из них - самописные. Они дергают достаточно много ненужной инфы. Решили закэшировать их следующим образом: есть универсальный Content type плагин, который может подсосать абсолютно любой другой контент тайп плагин, или поле материала, или что-нибудь ещё из того что предлагают панели. и соответственно кэширует всё это дело. Плагин наверное на четверть готов:)
В настройки плагина подтянул все остальные плагины, осталось их выводить и кэшировать. И вторая половина этого модуля - это установление всех взаимосвязей типа Nodereference и их использование в тех или иных плагинах. И соответственно чистка кэшэй при апдейте нод.
25 июля 2013г.
С утра зарядил дождь, похоже лето уже закончилось... Продолжаем программировать и фиксить баги. Решил посмотреть переходы в liveinternet и наткнулся на это:
Отвечаю. Да, у чувака реально сумасшествие, и всё потому, что он не любит Друпал :))
24 июля 2013г.
Сегодня поступила оригинальная задача, из разряда
"оно должно само всё работать, нам не нужен мозг"
Если конкретней - то это автоподстановка тэгов в материал, на основании слов, используемых в материале. Задача то несложная, уже даже решенная. Фишка в другом. Есть допустим Иван Петров - депутат, и Иван Петров - директор фирмы "Web агентство Ашот+". И нужно положить в один словарь два одинаковых термина "Иван Петров". Один "Иван Петров" это депутат, а второй "Иван Петров" - это директор.
Понять кто-же он такой нужно из окружения вхождения. То есть если присутствует в тексте слово "депутат" - значит это первый "Иван Петров", а если присутствует слово "директор" - это второй "Иван Петров".
Не может быть в одном словаре двух одинаковых терминов.
А что будет, если в тексте присутствуют и "директор", и "депутат"? Или отсутствуют оба вхождения?
Пока не стали спрашивать об этом заказчика...
По прогнозу сегодня должен быть дождь, а его всё нет и нет, и не предвидится. Значит пойдём после работы 23 июля 2013г.
Начал осваивать Symfony 2. Очень пригодится при написании кода для Drupal 8. Во вреймворке используется система бандлов, тут я немного описал как создать бандл. Пока конечно сложновато, некоторые вещи также нужно делать через консоль. А так вообще достаточно интересно, узнаётся много нового.
22 июля 2013г.
Пришлось повозиться с кастомными токенами. При формировании алиасов использовались термины таксономии, поле таксономии со множественным выбором. И для того, чтобы понять, какой термин главный - используется ещё одно cck поле типа integer, в котором хранится tid термина. Сдружил это поле со стандартной таксономией и всё корректно заработало.
P.S. Обнаружили, что когда закрывали правую колонку от индексирования - ничего не закрылось. Правая колонка и один левый блок в шапке имели одинаковый класс - rightcolumn. В итоге закрыли не то. Поправил, посмотрим как быстро переиндексируется вся эта муть.
19 июля 2013г.
Снова ругались с заказчиком, ему видимо общения в жизни нехватает.
Да, при работе с друпалом используйте функцию drupal_strlen(), вместо strlen(). Русские символы тоже будут корректно считаться. Недавно закрыли правую колонку сайта от индексирования, должен уйти один непонятный глюк, связанный с гуглом и яшей.
18 июля 2013г, четверг.
Уже почти пятница, хочется на выходные. Заказчик опять прибегал, у него как всегда всё не работает.
Как выяснилось, "всё работает, но это некретично, но напрягает"
Пообещал посмотреть что случилось, обнаружил 10 июля 2013г.
Купил недавно USB вентилятор. В душном офисе самое оно. Втыкается в монитор и крутится.