Блог Александра Башкирова

ИТ и бизнес, компьютеры и ПО, фото, программирование и просто мысли…
Этот сайт в основном посвящен тому, что мне интересно вне работы. Ведется в порядке хобби.
Все изложенное на сайте - мое частное оценочное мнение и не может быть истолковано иначе.
Со всеми вытекающими из этого последствиями.

Архивы

Как подключить визуальный текстовый редактор к MaxSite CMS

Просмотров: 3211Комментарии: 4
MaxSite

После обновления MaxSite обнаружил неприятную особенность: встроенны редактор оказался крайне нетолерантен к записям с html. А у меня такие были, и, честно говоря - конвертировать их во что-то "тектовое" желания не было вообще.

В сообществе (http://maxhub.ru) мне посоветовали выключить обработчик html для записи. Идея интересная, но - не сработала. Так что пришлось решать "в лоб". Во-первых, плагинов с текстовыми редакторами оказалось довольно много (см. http://maxhub.ru/category/editors), но ... ни один из них "не заводился" нормально. Как пишут в сообщесте - из-за табов. Табы - это довольно удобная штука в одной закладке редактор, в другой - теги, в третьей - свойства и т.д. Но, раз это мешает жить, то - будем патчить. Патч я написал только для внешнего вида, убрал табы. Все остальное оставил как есть. Что примечательно - работает.

Теперь - как патчить. Скачиваем этот файл, распаковываем. Там 2 файла: form.php и form.php-dist. form.php-dist - это штатный файл для MaxSite CMS 0.96 (для обратной совместимости/отката). form.php - он же, но патченный.

Дальше - в папке /application/maxsite/admin/plugins/admin_page заменяем файл form.php патченным. Вместо вкладок появляется длинная страница. Активируется любой (ну или почти любой) текстовый редактор (я для себя пока ставил trumbowyg и tinyMCE) и спокойно работает.

Важно! После обновления файл скорее всего будет заменен на штатный... и потребуется повторный патч.

Хабр: Как написать грамотный SLA?

Просмотров: 3439Комментарии: 0
Alib.spb.ru

Хорошая статья на Хабре: как написать гармотный SLA. https://habrahabr.ru/post/336868/

Чем хороша статья? Приведу только основные тезисы:

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

И примеры. И типичные ошибки. В оющем и целом - очень грамотная статья. Очень.

 

Про патч ротатора (карусели) в MaxSite 0.96

Просмотров: 2170Комментарии: 0
MaxSite

Для начала обозначу проблему, которую решал: сделать ротатор "красиво". В чем проблема? Во-первых, штатный ротатор прижимал картинку влево. Во-вторых, при смене картинок применялся эффект, но из-за какого-то неизвестного науке глюка картинки могли выглядывавть друг из-за друга какое-то время. Тогда (когда я обновлял сайт до 5ой версии) мне это казалось несущественно, впоследствии же начало раздражать. И вишенка на торте - у меня (так уж исторически сложилось) все миниатюры разного размера. От 120 до 220px по большей стороне. И в итоге могло получиться так, что часть сайдбара съезжала... Меня это тоже раздражало, но - традиционно было лень. В общем, все это я лечил при обновлении... вылечил так. Во-первых, в настройках виджета прописал что будет применен дополнительный класс image-correct ("Сайдбары и виджеты" - "Галерея" - там "Дополнит.Class", ну и туда) и alib-gal (о нем позднее, он нужен для ротатора).

Дальше - CSS обвязка для корректирующего класса:

.image-correct {
width: 260px;
text-align: center;
margin-top: 4px;
background-color: #fefefe;
min-height:180px; 
height:180px; 
}

.image-correct img {
max-height:180px;
}

.image-correct > a.lightbox {
line-height: 180px; 
}

Css файл помещаем в /templates/alib/assets/css - после чего в системе у вас появится еще один css профиль, который необходимо подключить ("админка" - "шаблон" - "css профили"). Все, css у нас в системе... (правда, реализация странная - css просто подтягивается текстом в head - но не будем придираться, возможно, такое решение имело под собой определенные основания). В css понятное дело, мои значения. Для другой задачи они будут другими.

Примененный лайфхак решает задачи: выравнивания и заполнения картинкой отведенного места, но не решает "наезд" изображений.

Что же... лечим "наезд". Для этого - заходим в админку, идем в "сайдбары и виджеты", там - выбираем "Галерея", там вносим свои настройки (количество фото, галерея, там же наш css-класс должен находиться). И там (важно!) ставим два значения - "Режим отображения" = "Картинками" и "Сортировка" = "Случайно". Если сейчас посмотреть на галерею, то там бдут все картинки, которые выведены в галерею. Осталось за малым - применить javascript :) Идем в папку .templates/default/assets/js/autoload, куда помещаем jQuery плагин таймера (http://jchavannes.com/download/jquery-timer-demo.zip) и файл, который будет организовывать нам слайдер (название у него может быть любое, главное, чтобы расширение было .js):

$(document).ready(function() {
var width_fix = 200;
var img_count = $('.alib-gal > a').length;
var pred_mumber = 0;
var timer = $.timer(function() {
		do
		var number = Math.floor(Math.random() * img_count);
		while (number==pred_mumber)
		pred_mumber = number;
		$(".alib-gal > a:visible").hide(); 
		var el = $(".alib-gal > a:eq(" + number + ")");
		el.show(4000);
		alib_img_correct($(".alib-gal > a:eq(" + number + ") > img"));
});
timer.set({ time : 10000, autostart : true });
	$('.alib-gal > a').not(':first').hide();
	alib_img_correct($('.alib-gal > a:first > img'));
function alib_img_correct(ximg)
{		var iwidth = ximg.width();
		var iheight = ximg.height();
		if (iwidth < width_fix)
		{	var ki = width_fix / iwidth;
			if (iwidth > iheight) 
			{	ximg.width(width_fix); 
				ximg.height(iheight * ki);}}}
$(window).resize(function(){
	$('.alib-gal > a').not(':first').hide();
	$('.alib-gal > a:first').show();
	alib_img_correct($('.alib-gal > a:first > img'));
	timer.reset();
});				
});

Собственно, всё. Если все сделано верно, то после перезагрузки сайта у нас не 10-20-30 картинок, а одна, сменяемая последующими друг за другом.

ПС. Данный способ в принципе не очень правильно называть "патчем" - всё сделано на штатных возможностях платформы с моим небольшим допилом (css и js)

Чуток обновил сайт

Просмотров: 2263Комментарии: 0
MaxSiteНовости

После небольшого перерыва вернулся к блогу :)

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

Что касается обновления движка - то тут всё понятно. Каким бы не был - а обновлять надо периодически. Секьрити там ... поддержка ... да и вообще - правильно это. Правда, в случае с MaxSite CMS - обновление движка представляет собой вещь нетривиальную. Потому что от версии к версии теряется совместимость со старыми темами, некоторые плагины перестают работать как надо. В общем, "не айс". Это, кстати, и была одна из причин почему полез обновлять дизайн - мало того, что он мне надоедл, так еще и при поднятии версии - тема гарантированно ломается. В общем, обновление в итоге прошло удачно. Тему я переписал по новой, взяв за основу штатную тему MaxSite и исковеркав ее на свой лад + убрав несколько косяков старой темы. Например, там была проблема с центрированием и выравниванием картинок в ротаторе. Исправил (дописав свою часть ротатора, ага). Ну и отдельно - порешав проблему с визуальным редактором... (об этих проблемах и путях решения - позже расскажу). В общем, на мой взгляд - получилось "ничего так". Из плюшек - адаптив (на старом сайте был плагин и мобильная тема) на несколько расширений, спокойные тона, более понятный дизайн. В общем, перечисляь можно до бесконечности. Старый дизайн вот кстати

ПС. Когда-то я был в восторге от MaxSite - мне эта CMS казалась прогрессивной и быстрой платформой. Увы. то время прошло - платформа превращается в запутанного, плохо документированного монстра... да еще хамство автора в адрес пользователей и разработчиков отдельно доставляет. Почему тогда остался на этой платформе? Причина банальна: лень. Хотя видимо, при следующем обновлении таки сменю и CMS.

Стихотворение.

Просмотров: 3672Комментарии: 0
Стихи
Их не было в списках
Незримые вроде
Играли артисты
Забытые роли.
Играли стараясь
На ветхих подмостках
Жизнь проживая
Не вместо, а после
Растрепанный ветер
И дождик по крыше
Верить, не верить
Брали с излишком.
Стрелялись картинно
И прямо с изнанки -
Внутри паутины 
Забытые знаки.
Играли артисты
А жизнь проходила
Не вписана в списки,
Практически мимо.

--

Все мои стихи тут: http://samlib.ru/b/ba/

Хабр: Ubuntu для мобильных устройств: посмертный анализ

Просмотров: 2221Комментарии: 0
Linux

Юольшая и хорошая статья на Хабре о том, почему не взлетел и в итоге умер проект Ubuntu Touch. Это была прекрасная попытка завести Linux на мобильных устройствах, тпа планшетов. Я вот - сознаюсь - все думал купить себе Intel Atom планшет и "запилить" туда Linux... Или дождаться стабильного Ubuntu Touch и купить устройство уже с предустановкой. Первый путь пока держу в голове - вот фиг знает, надо время ... второй отпал сам собой.

Вообще, если смотреть на написанное (а автор - один из разработчиков проекта), то становится понятно, что в проекте Ubuntu Touch были сделаны почти все возможные ошибки. Игнор пользователей, концентрация на ненужных никому технофишках... мне это было удивительно - так как (на мой взгляд) проект имел хороший потенциал роста. Но - "нет так нет", увы.

Ссылка.

Хабр: никогда не пишите длиных IF-ов

Просмотров: 2468Комментарии: 0
Alib.spb.ru

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