ݺߣ

ݺߣShare a Scribd company logo
Atlassian Speakeasy: расширения ‒ в массы!Кузьмич Максим
О докладчике10 лет в разработке софта5 лет в управлении разработкой софта 5 лет опыта использования продуктов Atlassian 4 года в контроле качества софта                2 года разработки под продукты Atlassian                 1 год назад организована компания StiltSoftЧто-то знает о продуктах Atlassian?
SpeakeasyСпики́зи (англ. Speakeasy, или Blindpig, Blindtiger) — нелегальные питейные заведения или клубы, в которых подавались крепкие алкогольные напитки, во времена сухого закона (1920—1933) в США.Бары, где в нарушение закона подавали алкоголь, назывались «спикизи» (говорить негромко) в связи с тем, что в них требовалось делать запросы таким тихим голосом, чтобы находящиеся в зале агенты полиции не могли его расслышать.Wikipedia
Почемуплагиныневсехустраивают?ٱԳٰѲМодулиДескрипторДокументацияНастойчивостьСложно
Почемуплагиныневсехустраивают?Плагин не обязательно нужен всем
Почемуплагиныневсехустраивают?Кому-то плагин может мешать……а может и сломать всю систему
Почемуплагиныневсехустраивают?Не обойтись без администратора
Кому от этого плохо?Продвинутым пользователям
Кому от этого плохо?Администраторам
Что такое Speakeasy?Новый способ расширения Confluence/JIRA «на клиенте»JavaScriptCSSHTML
Почему Speakeasy нас спасет?Не нужно глубоко лезть во              внутренности Confluence/JIRA
Хочу попробовать!Plugin ExchangeMaven-репозиторийAtlassianSpeakeasy 1.2.1Confluence 3.5+JIRA 4.3+Google-группа «Atlassian Speakeasy»
Что именно я могу сделать?Модификация пользовательского интерфейсаUIВыполнение удаленных запросов и получение данныхAJAX
Модификация UIДобавим ссылку на историю прямо на страницу$(document).ready(function(){varhref= $('a#action-view-history-link').attr('href');  $('a#view-change-link').after(", <a href='"+href+"'>view history</a>");});
Модификация UIДобавление пунктов меню и вкладок[{"section":"system.content.action/primary","label":"Revert","url":"","cssName":"stiltsoft-web-item",		"weight":25	}]$(document).ready(function(){varpageId= $('input#pageId').attr('value');varrevision = $("meta[name='page-version']").attr('content');$('a.revert-web-item').attr( 'href', '/pages/revertpagebacktoversion.action?pageId=‘ + pageId+ '&version=‘ + (revision-1));});
Модификация UIСоздание диалогов из Speakeasy, использование AUIdialog.openOnePanelDialog({'header':'Page source','content':$(data).find('div#content'),'submitLabel':'OK','cancelClass':'stiltsoft-cancel','submit':function(dialog,callback){callback.success();}});
Удаленные вызовыВсе, что можно сделать в JavaScriptSOAPRESTXML-RPCЗапросим и выведем дату создания страницы$(document).ready(function(){varpageId= $('input#pageId').attr('value');varserviceUrl='/rest/prototype/1/content/'+pageId+'.json';$.getJSON(serviceUrl,function(data){    $('li.page-metadata-modification-info a:first').after(" on "+data.createdDate.friendly);});}); 
А что Speakeasy не умеет?Нельзясоздать новый URLНельзясоздатьмакросНельзясоздатьгаджетНельзясоздатьпериодическуюзадачу...многочегонельзя... нонамэто и ненужно
Создание расширенийС нуля, при помощи Wizard-а
Создание расширенийWizardсоздает структуру плагина и образцы файлов
Создание расширенийSpeakeasy содержит встроенный web-редактор
Создание расширенийРасширения можно (и нужно)форкать
Создание расширенийДополнение для Firefox
АдминистрированиеМогутсоздаватьрасширенияМогутиспользовать расширения
JIRA Instant SearchПобедитель Codegeist 2011в номинацииSpeakeasy Extension
Space List FilterДля тех, у кого оооочень много space-ов
No Email StormИзбавляемся от «лишних» нотификаций 
Buuuuugs!Визуализация багов для
ИтогиРуководителямʸ鰿АдминистраторамРазработчикам
пасибо!
Кузьмич МаксимStiltSoft, co-founderEmail: mkuzmich@stiltsoft.comWeb: http://stiltsoft.ru

More Related Content

Stilt Soft - Speakeasy для расширения продуктов Atlassian