Инструментарий разработки для UMI CMS

На прошедшей в этот вторник (26 мая 2015 года) встрече разработчиков ЮМИ родилась неожиданная идея — рассказать о базовых концепциях работы с UMI CMS вообще и с xslt в частности. Так что сегодняшняя статья будет посвящена самому главному в жизни любого разработчика — его инструментам.

Чем пользуется рядовой разработчик сайтов на UMI CMS при работе с html, css, js, php и xslt? К сожалению, у меня нет ответа на этот вопрос. Но я расскажу с какими задачами сталкиваюсь я и чем пользуюсь для их решения.

ПО

FileZilla

Свободно распространяемое программное обеспечение для работы с FTP. Запоминает множество проектов с настройками параметров передачи, местоположением файлов, синхронным переходам по файловой системе. Фактически, любой проект начинается именно с него. Скачать можно тут.

Netbeans

Среда разработки в основном под Java конечно, но так же легко поддерживает разные языки программирования и дополнения к ним. Подсветка синтаксиса, синхронная загрузка, макросы быстрого набора конструкций, локальная история изменений, поиск по всему коду, замена по регулярному выражению и прочие полезные мелочи, очень помогающие в большинстве проектов — все это безусловные плюсы данного продукта. Скачать можно тут. (я всегда беру полную версию со всем подряд и на русском языке)

Notepad ++ (win) или Sublime Text (mac)

В некоторых случаях без обычного текстового редактора ну никак не обойтись. Основные элементарные вещи быстрее и проще делать именно так, не перебегая к сложностям больших и ресурсоёмких инструментов. Тот же функционал подсветки, те же возможности подсказок, но все быстрее и проще. Notepad скачать можно тут. Sublime Text скачать можно тут.

Photoshop

Иногда важная немного доработать те картинки, которые были присланы заказчиком. В этой ситуации без хорошего редактор изображений не обойтись. Фотошоп решает очень многие вопросы быстро и понятно. Лучшего редактора подобного уровня я ещё не видел. У меня все только лицензионное (компания постаралась), но можно взять триалку тут.

Файловый менеджер Far (win) или MUCommander (mac)

Для оперативной работы с большим набором файлов, которым обычно и является сайт клиента, стандартных средств операционной системы обычно не хватает. Я предпочитаю пользоваться сторонними программными продуктами, позволяющими реализовывать групповые действия с файлами и папками, осуществлять перемещения, поиск и так далее. Тут у каждого свои предпочтения, но мои именно такие. Far можно скачать тут. MUCommander тут.

Принципы работы с проектами

  1. Под каждый сайт клиента создается отдельная папка, например umicms.me.
  2. Затем, под каждую более-менее крупную задачу создается отдельная папка внутри папки сайта. Можно делать это с разделением по дате, например папка 2015-05-01 будет отвечать за задачи, начатые именно 1 мая 2015 года.
  3. В эту папку загружаются все необходимые файлы с сервера клиента. Затем, с помощью среды разработки, создается проект, содержащий именно эти файлы.

Тут важно отметить особенность всех проектов: они настраиваются на выгрузку редактируемого скрипта на сервер при его сохранении.

Благодаря такой настройке можно вводить изменения на сайт и откатывать их в режиме реального времени, не сильно влияя на его работоспособность.

Маленькие хинты

  • При работе с xslt в UMI CMS используется множество конструкций, достаточно стандартных по внешнему виду, но часто употребляемых. Речь идет о xsl:value-of, xsl:copy-of, xsl:apply-templates, xsl:if и так далее. Я обычно загоняю эти штуки в макросы и вешаю их на горячие клавиши. Так работа идет намного быстрее
  • При работе с сайтом на UMI вам нужны далеко не все файлы с сайта. Обычно, я скачиваю папку templates и файлы .htaccess и config.ini. Не всегда этого бывает достаточно — тогда приходится загружать дополнительные зависимости.
    ВАЖНО: Ни в коем случае не скачивайте весь сайт. Это может оказаться весьма долгой процедурой, да к тому же еще и бесполезной. Например, может так случиться, что вы начнете выкачивать файловый кеш 🙂
  • NetBeans, как и любой программный продукт, имеет тенденцию к утечкам памяти. Это значит, что если долго в нем работать, он может занять и гигабайт оперативки, и два. Но, если в другом ПО борьба с этим сводится только лишь к перезапуску продукта, то в NetBeans все немного проще: есть панелька, при нажатии на которую запускается Garbage Collector, буквально собирающий мусор и очищающий память. Так что крайне рекомендую активизировать эту панель.
  • NetBeans определяет как подсвечивать файл по расширению. То есть файл .js не будет подсвечен как html. Это удобно, но создает некоторые трудности. Например, когда вам нужно быстро отформатировать произвольный код, скопированный откуда-нибудь. Вы не сможете просто создать заготовку под файл — вам придется физически его создать по определенному пути. Для таких случаев у меня заготовлен в удобном месте пустой проект. Он содержит все основные типы файлов, с которыми я работаю: html, php, css, js. Я просто открываю нужный файл, затираю все, что в нем есть, и работаю как мне нужно.

Резюме

Надеюсь, что кому-то мой опыт может пригодиться. Конечно же, это не все тонкости и хитрости, которые я использую при работе с umi cms, так что если у вас возникли дополнения или вопросы — можно смело оставить их в комментариях.

Май28

Ваш отзыв