Тендер на создание пользовательской документации

2

Решили объявить тендер на написание пользовательской документации по LiveStreet.
Причина — банальная нехватка собственного времени. Поэтому надеемся, что среди активных пользователей нашего сообщества найдется(найдутся?) тот, кто сможет нам в этом помочь. Не бесплатно.
Мы готовы на это выделить 5000 рублей.

Что требуется: написать так называемый user guide в формате HTML по использованию LiveStreet для «чайника», желательно с иллюстрирующими скриншотами. Т.е. структурировано, доступным языком написать как пользоваться LS начиная от установки и настройки конфига, до создания своего блога/топика, голосования и т.п.

Есть желающие?

P.S. В итоге хочется получить что то подобное — liverpoolwebdesigner.files.wordpress.com/2008/01/wordpress_user_guide_v2_beta.pdf

UPD Кандидаты могут предложить структурированное оглавление руководства, это будет также критерием при выборе исполнителя.
  • +5
  • 12 июля 2010, 17:42
  • ort

Составляем список самых нужных плагинов

20
Предлагаю составить список самых востребовательных плагинов для LiveStreet, которых еще нет. Это позволит более правильно оценить пользовательский спрос на плагины для разработчиков.
В комментариях оставляем название и краткое описание плагина. Никакого флуда, только плагин и описание. Если вы считаете какой то плагин полезным и нужным, просто голосуйте за комментарий.
  • +15
  • 29 июня 2010, 19:36
  • ort

Новые возможности по переопределению/наследованию классов LiveStreet

44
В LS появилась новая возможность для разработчиков плагинов — наследование классов. Идея была высказана еще avadim'ом здесь.
Эта возможность позволит удобно переопределять различные методы одного класса (модуля, экшена, сущности, маппера) разными плагинами без конфликтов.
Главное отличие от делегирование — не происходит блокировки переопределения класса для других плагинов. Также есть возможность переопределения одного метода разными плагинами, но здесь разработчикам нужно быть очень осторожными и делать так, чтоб свести вероятность конфликта к минимуму.

Как использовать.
Например, нужно переопределить метод получения пути до аватара у сущности пользователя в плагине Test. В плагине необходимо объявить те классы, которые будут наследоваться. Объявление происходит в свойстве $aInherits:
<?php
class PluginTest extends Plugin {
    
    protected $aInherits=array(
       'entity'  =>array('ModuleUser_EntityUser'=>'_ModuleSide_EntityUser')
    );

    public function Activate() {        
        return true;
    }
    
    public function Init() {        
    }
}
?>


Читать дальше
  • +7
  • 02 июня 2010, 00:28
  • ort

Ставим хук внутри шаблона.

12
Появилась возможность устанавливать хуки прямо внутри шаблона — trac.lsdev.ru/livestreet/changeset/848
Делается это за счет плагина к Smarty hook, например:
{hook run='body_begin'}
вызовет хуки повешенные на событие 'template_body_begin'(обратите внимание, что приставка template_ добавляется автоматически, если хук вызван из шаблона), а их результат в виде строки вернется в шаблон.

Предлагаю определиться какие нужны стандартные хуки? Сейчас добавлено только два: body_begin и body_end, соответственно вызываются в начале HTML тега BODY и в конце.
  • +10
  • 18 апреля 2010, 16:50
  • ort

Переопределение методов модулей с помощью ...Hook'ов!

28
В LiveStreet 0.4 появилась возможность переопределять не только целиком модули, но и отдельные методы. Это позволить разным плагинам бесконфликтно переопределять разные методы одного модуля.

Принцип действия этого механизма основан на Hook'ах:
  1. Вызов каждого метода сопровождается выполнением хуков — module_ModuleName_MethodName_before и module_ModuleName_MethodName_after, соответственно ДО и ПОСЛЕ вызова метода модуля. В первом случаи в хук передаются параметры вызова метода, во втором передается результат выполнения метода модуля.
  2. На module_ModuleName_MethodName_before можно повесить специальный хук — delegate, результат выполнения которого и будет «результатом» выполнения метода модуля

Пример:
<?php 
class HookTest extends Hook {
	public function RegisterHook() {
		$this->AddDelegateHook('module_text_parser_before','testHook',__CLASS__,-3);
	}

	public function testHook($aVars) {
		return 'Topic text > '.$aVars[0];
	}
}
?>


Читать дальше
  • +10
  • 26 марта 2010, 17:46
  • ort

Руководство по созданию плагина для v.0.4 на примере "Лента друзей"

91
Предисловие

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

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

Пошаговая схема:


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

Использование плагинов в v.0.4

58
Безболезненное расширение функционала — достаточно проблематичный вопрос (под «безболезненностью» я понимаю весь спектр удобства для пользователей движка).

Я думаю, вы еще не забыли, что для добавления новых возможностей в версиях до 0.3.1 включительно используются Хаки и Модули. При этом установка любого стороннего творения дело достаточно хитрое и небезопасное, часто требующее ориентирования в архитектуре и особенностях движка. Для преодоления этих проблем в ядро v.0.4 была введена система плагинов:


К чему мы стремились создавая систему плагинов?

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



Для тех, кого заинтересовали подробности

Обработка изображений: crop, watermark, скругление углов

40


В новой версии livestreet намного улучшена работа с изображениями (и в плане качества, и в плане гибкости). Для обслуживания всевозможных операций с изображениями отведен специальный engine-модуль Image.

Коротко о том, что появилось нового:

1. Решена проблема с некрасивым ресайзом неквадратных аватарок (путем предварительного вырезания наибольшего возможного квадрата).

2. Устранены «почти» все проблемы с обработкой alpha и non-alpha прозрачности («почти»=«на столько на сколько это вообще возможно сделать с помощью PHP+GD2»). По крайней мере прозрачные png теперь можно использовать в аватарках спокойно.

3. Формирование HTML кода выводимого изображения централизировано в одной функции Image_BuildHTML(), которая запрашивает путь к изображению и дополнительные параметры (title,alt,align).

4. Watermark: возможность автоматически добавлять на загружаемые изображения надписи или изображения с достаточно гибкой конфигурацией (пример надписи см выше).

5. Закругление углов изображения.

О том, как пользоваться 4 и 5 поговорим подробнее.


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

Использование поддоменов в LiveStreet

62
У многих возникает необходимость использовать поддомены для своих проектов на базе LiveStreet, например вынести на поддомены блоги.
Сделать это можно разными путями, например через реврайты в .htaccess, либо через роутер движка.
Я покажу как это можно сделать на примере последнего варианта, т.е. через роутер.


Читать дальше
  • +31
  • 16 марта 2009, 12:43
  • ort