Обновление MODx с 2.0.8 до 2.1.1

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

Итак, приступим. Чтобы обновить MODx надо сделать следующее:

  1. Скачать последние версии расширений, чтобы не было проблем с совместимостью.
  2. Бэкап файлов и базы данных на случай, если что то пойдет не так.
  3. Скачать новую версию MODx с официального сайта
  4. Распаковать архив с новой версией системы прямо в корень сайта.
  5. Запустить стандартный скрипт установки. Там выбрать, чтобы он обновил систему, а не выполнял новую устновку.
  6. После того, как скрипт отработал начинает самое веселое. Как я уже говорил, в новой версии MODx разработчики отказались от большого количества устревшего кода. Полный список можно посмотреть тут. Там же приведены варианты замены. Как правило там код, который был оставлен в Revolution для совместимости с MODx Evolution. Теперь от него отказались. Таким образом, вам предстоит выправить весь свой неработающий код. Именно поэтому мы и скачивали последние версии дополнений, чтобы на этом этапе не было лишней головной боли. 
  7. Очистить кэш, на всякий случай. 
  8. PROFIT!!!!

Вот собственно и все, процесс прост. Главная сложность - это переписать несовместимый код.

Читать далее »

7 полезных CSS и HTML сниппетов.

Со временем у каждого веб-разработчика скапливается некоторое количество шаблонов, которые он просто копирует в свои проекты, что экономит время. Приведу несколько полезных примеров. 

CSS Reset

Eric Meyer CSS Reset

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
 
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
Читать далее »

Технический долг

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

Источник

Сегодня день отличных статей на Хабре :)

Читать далее »

Про процессный подход на Хабре

Отличная статья на Хабре:

Сейчас вы вывешиваете удобный список товаров, кнопку “купить прямо сейчас” и контакты на видное место. Я рад, что вы знаете основные очевидные правила, но этого недостаточно. 

Вдумчивый подход гласит нам о том, что для начала нужно поставить цель. 

Цель магазина – получение прибыли. Причем она состоит не просто в обеспечении продаж. Это оплаченные продажи и удовлетворенный клиент (так как он генерирует нам хвост из других продаж и других клиентов).

********
Кстати, это ведь не ваша цель, а цель хозяина магазина и заказчика. Ваша цель – иметь интересную работу и заработать деньги. Ваша цель и цель владельца бизнеса с точностью совпадают лишь в одном случае – когда вы имеете какой-то зримый бонус от достижения целей владельца. Это стоит помнить вам, но особенно важно понимать вашим нанимателям/работодателям.
********

Источник.

Отличная статья, очень комплексный подход.

Читать далее »

Немного о приоритете CSS правил

Часто при верстке бывают ситуации, когда надо знать какое именно CSS правило имеет больший приоритет нежели другое. Такое часто бывает, когда надо написать правило, которое бы перебило уже написанное. 

Итак, что нужно знать: приоритет правил определяет так называемое специфичность. Ее можно определить четырьмя цифрами. Например 0.0.1.3. Как их определить? Очень просто. 

  • Каждое название элемента имеет вес 0.0.0.1
  • Каждый класс, псевдо-класс, аттрибут имеет вес 0.0.1.0
  • Каждый id имеет вес 0.1.0.0
  • Правило, написанное непосредственно в коде элемента имеет вес 1.0.0.0

Приведем несколько примеров:

div ul ul li - 0.0.0.4 Четыре элемента

div.aside ul li - 0.0.1.3 Один класс и три элемента

a:hover - 0.0.1.1  Один элемент и один псевдо-класс

div.navlinks a:hover - 0.0.2.2  Класс, псевдо-класс и два элемента

#title em - 0.1.0.1 Идентификатор и элемент

h1#title em Идентификатор и два элемента 

Единичка в идентификаторе имеет больший вес, чем 100 в классах или элементах. Если числа на одном уровне равны, то переходим на уровень ниже и там определяем, какое из правил применить. Если все числа на всех уровнях равны, то действует то правило, которые написано позднее. 

Теперь про !important. Это слово означает, что специфичность перестает действовать на данное правило. Оно будет применено в любом случае. Более интересный момент когда два правила помечены этим ключевым словом. Тогда специфичность опять начинает иметь значение. 

В общем это все что надо знать о приоритете правил CSS. Надеюсь материал был для вас полезен. 

Читать далее »

jQuery Cookbook

Сейчас читаю данную книгу на английском языке. Очень полезная, написано хорошо и доступно. Подойдет как новичкам в jQuery и JS, так и опытным специалистам, которые смогут узнать для мебя пару новых трюков с любимой библиотекой. 

jQuery Cookbook

Читать далее »

Про эффективную организацию труда

Напал тут на одну статью на хабре - Эффективная организация труда.

Начну с принципов, стоящих за хорошо организованной работой: 

  • информация структурирована, разнится по типу данных (документы, книги, музыка, видео, фото)
  • удобные, хорошо изученные, заточенные под себя рабочие инструменты
  • автоматизация повторяющихся действий
  • рабочая документация
  • профессиональная литература под рукой
  • овладение универсальными рабочими навыками(слепая печать, умение находить редкую информацию в интернете)
  • регулярное архивирование данных
  • набор девайсов

В целом очень познавательно. Лично для себя решил, что надо бы провести анализ того, чем я должен заниматься по работе и оптимизировать ее. Автоматизировать повторяющиеся решения. Например созданием сниппетов в Komodo Edit. Также надо поставить на машину систему контроля версий, очень давно этого хочу. В качестве базы знаний можно использовать движок вики, можно писать статьи на этот сайт, чтобы можно было потом при помощи поиска по блогу найти нужную вещь, а можно использовать например OneNote + DropBox. Очень эффективная связка получается. 

Есть над чем подумать :)

Читать далее »

Корректное отображение inline-block

Продолжаю читать Хабр. 

Разрешите представить вам перевод статьи «Cross-Browser Inline-Block», написанной Райном Доэрти холодным февралем 2009 года. В статье рассказывается о верстке элементов списка с установкой для свойства display значения inline-block. Статья об этом, а также о трудностях, возникающих в процессе достижения результата и о методах их «лечения».

Источник

Код для себя:

    li {
        width: 200px;
        min-height: 250px;
        border: 1px solid #000;
        display: -moz-inline-stack;
        display: inline-block;
        vertical-align: top;
        margin: 5px;
        zoom: 1;
        *display: inline;
        _height: 250px;
    }
 
  • This is awesome

    lobster
  • Читать далее »

    Про принцип цикады

    Нашел на Хабре:

    Пару недель назад мы рассматривали, как делать бесшовную заливку (тайлинг). Это суперполезная вещь, но бывает трудно соблюсти правильный баланс.

    С одной стороны, вы хотите использовать файлы как можно меньшего размера, чтобы получить максимальную пользу от эффекта тайлинга. Однако, как только вы заметите какую-то особую черту в фоне — например, маленький сучок на фоне древесного волокна — который повторяется через одинаковые интервалы, то сразу теряется вся иллюзия натуральной случайности.

    Может быть, можно позаимствовать какие-то идеи у цикад, чтобы сломать этот паттерн?

    Источник

    Одна из лучших статей, что я читал на Хабре. Математика - царица наук. 

    Читать далее »
    Scroll To Top