Yii 2.0.2

Команда PHP фреймворка рада сообщить о выходе версии 2.0.2. Инструкции по установке и обновлению можно найти по адресу http://www.yiiframework.com/download/.
Версия 2.0.2 является патч-релизом Yii 2.0 и содержит около 40 небольших улучшений и исправлений. Полный список изменений можно найти на GitHub. Спасибо всем, кто нам помогал подготовить этот релиз.
Если хотите следить за процессом разработки Yii 2 можно поставить звёздочку или использовать кнопку watch на странице проекта на GitHub. Также у нас есть Twitter и Facebook.
Рассмотрим наиболее значительные дополнения данного релиза.

Псевдонимы маршрута
 

До 2.0.2 Yii поддерживал псевдонимы путей и URL. Теперь можно задавать псевдонимы для маршрутов. После задания псевдонима маршрута его можно использовать при создании URL методами Url::to() и Url::toRoute():

use yii\helpers\Url;

Yii::setAlias('@posts', 'post/index');

// /index.php?r=post/index
echo Url::to(['@posts']);
echo Url::toRoute('@posts');

Данная возможность пригодится если предполагаются изменения в структуре маршрутов. При использовании псевдонима не придётся менять код создания URL.
 

Конфигурирование зависимых компонентов
 

Свойства многих компонентов принимают ID других компонентов, таких как yii\caching\DbCache::db илиyii\web\CacheSession::cache. Иногда для того, чтобы не создавать новый компонент для юнит-тестирования, вам может понадобиться задать такое свойство при помощи массива конфигурации:
 

$cache = Yii::createObject([
    'class' => 'yii\caching\DbCache',
    'db' => [
        'class' => 'yii\db\Connection',
        'dsn' => '...',
    ],
]);

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

use yii\base\Object;
use yii\db\Connection;
use yii\di\Instance;

class MyClass extends Object 
{
    public $db = 'db';

    public function init() 
    {
        $this->db = Instance::ensure($this->db, Connection::className());
    }
}


Код выше позволяет настроить свойство db одним из следующих значений:

  • строкой с ID компонента приложения;
  • объектом класса yii\db\Connection;
  • массивом конфигурации, который может использоваться для создания экземпляра yii\db\Connection.
     

Неизменяемый slug
 

Если вы используете yii\behaviors\SluggableBehavior, то теперь можете присвоить новому свойству immutable значение true. В этом случае однажды созданный slug не будет меняться при повторном сохранении модели. Это полезно для SEO: однажды проиндексированное содержимое останется по тому же URL.
 

Автоматический выбор альтернативного языка виджетом DatePicker
 

Виджет yii\jui\DatePicker теперь автоматически выбирает альтернативный язык, если указанный язык не найден. Это полезно в том случае, когда вы задаёте свойство language как ID локали, который содержит регион и/или вариант. К примеру, если задать language вde-DE и виджет не найдёт языкового файла /ui/i18n/datepicker-de-DE.js, то автоматически будет использован язык de и файл/ui/i18n/datepicker-de.js.
 

Передача ошибок валидации
 

Класс yii\base\Model теперь содержит метод addErrors(), который позволяет передать ошибки валидации одной модели в другую. К примеру, если у вас есть класс формы для модели ActiveRecord и вам необходимо передать ошибки валидации формы в модель ActiveRecord, сделать это можно так:
 

use yii\base\Model;
use yii\db\ActiveRecord;

class MyForm extends Model 
{
    public $model;

    public function process()
    {
        // ...
        if (!$this->validate()) {
            $this->model->addErrors($this->getErrors());
            // ....
        }
    }
}
 
Читать далее »

Интернет-почта в России станет официальной

Государственная электронная почтовая система, которая будет запущена в России в этом году, позволит осуществлять отправку юридически значимой корреспонденции в электронной форме, в том числе с возможностью гибридной печати (преобразование из электронной в бумажную форму и наоборот), сообщает ТАСС, со ссылкой на интервью замглавы Минкомсвязи Михаила Евраева «Российской газете».

«Также необходимо будет подключить ГЭПС к независимому регистратору, который будет фиксировать факты отправки и доставки электронных писем. Это не только просто и быстро, но и гарантирует вам защиту прав и дает совсем другое качество почтовой связи», — заявил Евраев.

По его словам, контролировать работу электронной почтовой системы будет Роскомнадзор. Также Евраев отметил, что подобные электронные письма могут являться доказательством в суде. «Именно в этом и заключается смысл создания официальной почтовой системы, иначе она просто была бы не нужна, ведь обычную электронную почту вы можете отправить сами», — сказал он.

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

Эту систему планируется подключить к электронным площадкам по госзаказу, к порталу zakupki.gov.ru, torgi.gov.ru, к электронной почтовой системе — ко всем государственным электронным системам, где размещается юридически значимая информация либо происходят юридически значимые действия.

Интернет-почта в России станет официальной

Долгожданное нововведение, а то мне всегда очень влом отправлять документы почтой России. 

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

Ресурсы для UX

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


Новости и материалы по UX
 

  • smashingmagazine.com/category/uxdesign/ — UX-раздел известного журнала о веб-технологиях и дизайне Smashing Magazine;
  • blog.uxpin.com/ — блог компании UXPin, в котором они помимо корпоративных новостей много пишут взаимодействии пользователей с интерфейсами;
  • usabilitygeek.com/ — блог, призванный объединить теорию и академические исследования с практикой и личными рекомендациям, для того чтобы улучшить удобство пользования веб-сайтами;
  • uxmag.com/ — журнал с полезными статьями о пользовательcком опыте. Все статьи пишутся специалистами со всего мира, но проходят редакторский отбор и коррекцию;
  • uxbooth.com/ — статьи от ux-сообщества и для него, ориентированные также и для новичков;
  • boxesandarrows.com/ — здесь помимо UX, множество материалов по дизайн-исследованиям и тестов;
  • nngroup.com/articles/ — раздел статей авторитетной Norman Nielsen Group об исселодваниях в области опыта пользовательского взаимодействия;
  • ia.net/blog — блог об информационной архитектуре;
  • designmodo.com/design/ux-design/ — раздел о UX популярного дизайн-блога;
  • uxcolombo.org/blog/ — цель этого ресурса — обучение дизайнеров и разработчиков для улучшения взаимодействия их продуктов и сервисов с пользователями;
  • uxmovement.com/ — блог, рассказывающий как плохие интерфейсы могут влиять на поведение пользваотелей;
  • 52weeksofux.com/ — экскурс-статьи в процесс дизайна для реальных людей;
  • heydesigner.com/ux-design/ — ежедневная / еженедельная / ежемесячная рассылка материалов на UX-тематику;
  • medium.com/ui-ux-articles — раздел статей по UX на блог-платформе Medium;
  • medium.com/design-ux — ещё одна ветка для UX-дизайнеров;
  • uxmyths.com/ — коллекция наиболее частых мифов о UX, объясняющих почему это неправда.
     

Паттерны дизайна
 

  • uxpin.com/knowledge.html — must-read библиотека для дизайнеров, разработчиков, продакт-менеджеров, UX-специалистов;
  • designprinciplesftw.com/ — супер сборник дизайн-принципов от лучших интернет-компаний;
  • uxporn.uxpin.com/ — колекция паттернов
  • tabpatterns.com/ — коллекция дизайнов для планшетов, разбитых по категориям;
  • pttrns.com/ — похожая коллекция, только с дизайнами для смартфонов;
  • zurb.com/responsive — каталог с примерами адаптивных дизайнов, с реальными примерами на сайтах;
  • littlebigdetails.com/ — сборник с обзорами маленьких, но интересных деталях в интерфейсах.

 

Инструменты
 

  • uxpin.com/ — инструмент прототипирования с широкими для этого возможностями и большой библиотекой ресурсов и шаблонов;
  • axure.com/ — один из известнейших инструментов для прототипирования, любимец проектировщиков и менеджеров;
  • invisionapp.com/ — мощный онлайн-сервис, с возможностью удобной командной работы над прототипами и пользовательскими опытом;
  • uxcheck.co/ — Chrome-плагин для проведения экспертной оценки по ключевым эвристикам Нильсена;
  • zeplin.io/ — инструмент для совместной работы дизайнера интерфейсов и front-end разработчика;
  • userium.com/ — чек лист по юзабилити для общих случаев.

Оригинал: http://habrahabr.ru/post/247493/

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

Новый Битрикс24

Компания «1С-Битрикс» представила новую версию облачного сервиса для совместной работы «Битрикс24». В ней представлено полностью переработанное мобильное приложение, также большая работа проделана над увеличением скорости работы сервиса.
 
 
 
Компания завершила разработку основных компонентов сервиса, и сегодня «Битрикс24» представляет из себя комплекс инструментов для автоматизации бизнес-процессов малых и средних компании.
 
У «Битрикс24» появилось полностью обновленное мобильное приложение. Оно представлено в современном плоском дизайне, что делает работу пользователей приятнее и легче. Помимо изменения дизайна, в мобильном приложении «Битрикс24» также появилось множество функций, претерпели изменения живая лента, бизнес-чат и профили пользователей.
 
 
Большое количество улучшений сервиса было направлено на улучшение скорости его работы. Для российских пользователей запущен специальный веб-акселератор, который значительно ускоряет работу «Битрикс24», особенно мобильного приложения. Также для мобильного приложения и раздела CRM теперь используется технология «Композитный сайт». По оценкам клиентов, ускорение работы сервиса достигает 70%.
 
 
Читать далее »

Гуманизация сайта: как повысить конверсию, оптимизировав сайт для пользователей

Западные маркетологи в один голос твердят, что гуманизация — это новая оптимизация. Создатели сервиса Positionly решили проверить это на своем опыте, реконструировав главную страницу сайта перед выходом на российский рынок.

Источник

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

Новый логотип метро

Тёма Лебедев представил новый логотип метро. 

Лебедев, по-моему, в первую очеред не дизайнер, а бизнесмен и рассматривать его стоит именно с этой точки зрения. Найти некоторую проблему и решить ее с минимальным приложением сил. Я считаю, что Тёма очень крут.

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

Немного о создании информационной архитектуры при разработке сайтов

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

Так каким же должно быть правильное ТЗ, чтобы в итоге и клиент оказался доволен, желательно сразу, и исполнитель не тратил силы на претворение в жизнь несбыточных фантазий своего заказчика?

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

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

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

Раздел технического задания, посвященный контенту, должен содержать перечисление видов контента на сайте, который будет интересен и полезен его целевой аудитории: новости, описание товаров, статьи, справочная информация, фотографии, видео и т.д. Затем следует определить источники контента – написание уникальных текстов (создание уникальных фото- и видео материалов), рерайт, перепост (заимствование фото- и видеоматериалов), перевод и т.д. И наконец, прописать подробно жизненный цикл различных видов контента – от источника до сценария его использования.

Собрав всю эту информацию, можно приступать к созданию карты сайта и планированию структуры. Каждая страница сайта должна нести определенную смысловую и функциональную нагрузку. Не нужно создавать веб-страниц по принципу: чтоб было. У каждой страницы на сайте должна быть какая-то цель, достижение которой желательно измерять. Например, перед страницей с формой заказа ставиться задача – побуждение пользователя к отправлению заказа. Поэтому мерой ее полезности может быть отношение количества заказов с сайта к количеству просмотров данной страницы.

На основании всей этой информации можно приступать к разработке прототипов и подробному прописыванию функционала сайта. Прототип желательно сделать максимально приближенным по структуре к окончательному сайту, иначе вся работа пойдет насмарку.

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

Только пройдя все эти этапы, можно относительно безболезненно разработать крупный интернет-магазин или информационный портал.

PS. Существует ГОСТ 34.602-89 «Техническое задание на создание автоматизированной системы», в котором описывается структура ТЗ. Частично при разработке технического задания на сайт можно взять его за основу.

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

Изменение параметров PHP для отдельной директории

Для одного проекта на Битриксе понадобилось изменить параметр mbstring.func_overload для библиотеки PHPExcel. 

Варианты с htaccess и ini_set не срабатывали, потому что директива mbstring.func_overload может меняться только в php.ini или конфиге апача. Причем комманда php_value для нее не работала!

Единственный способом стала комманда php_admin_value.

Итоговый код:


<Directory /var/www/path/to/dir>
php_admin_value mbstring.func_overload 0
</Directory>
Читать далее »
Scroll To Top