SlideShare a Scribd company logo
Needs more jQuery
Using advanced JavaScript in
Atlassian Plugins
Tuesday, November 2, 2010
Needs more jQuery
Using advanced JavaScript in
Atlassian Plugins
Tuesday, November 2, 2010
Needs more jQuery
Using jQuery and AUI to create
better plugins with less work
Tuesday, November 2, 2010
AUI
Atlassian User Interface
Tuesday, November 2, 2010
“owie”
Atlassian User Interface
Tuesday, November 2, 2010
Tuesday, November 2, 2010
Tuesday, November 2, 2010
AUI Dropdown
Tuesday, November 2, 2010
AUI Dropdown
Tuesday, November 2, 2010
AUI Dropdown
Tuesday, November 2, 2010
AUI Dropdown
Tuesday, November 2, 2010
Tuesday, November 2, 2010
AUI Dialog
Tuesday, November 2, 2010
AUI DialogAUI Forms
Tuesday, November 2, 2010
AUI Toolbar
Tuesday, November 2, 2010
AUI Dialog
Tuesday, November 2, 2010
AUI Dialog
Tuesday, November 2, 2010
AUI Dialog
Tuesday, November 2, 2010
AUI Dialog
Not in AUI
Tuesday, November 2, 2010
AUI Dialog
Not in AUI. Yet.
Tuesday, November 2, 2010
AUI is driving a lot of our UI innovation.
Tuesday, November 2, 2010
AUI is driving a lot of our UI innovation.
It can drive yours too.
Tuesday, November 2, 2010
Who am I?
• Zach Davis
• Front-end Developer
• Integration Team
• San Francisco
Tuesday, November 2, 2010
What
Why
How
Where
?
Tuesday, November 2, 2010
What the Atlassian User Interface library is
Why
How
Where
?
Tuesday, November 2, 2010
What
Why we chose jQuery
How
Where
?
Tuesday, November 2, 2010
What
Why you should choose AUI
How
Where
?
Tuesday, November 2, 2010
What
Why
How to use AUI
Where
?
Tuesday, November 2, 2010
What
Why
How
Where AUI is now
?
Tuesday, November 2, 2010
What
Why
How
Where AUI is headed
?
Tuesday, November 2, 2010
What
Why
How
Where
Questions?
Tuesday, November 2, 2010
What is the Atlassian User Interface library?
Why
How
Where
?
Tuesday, November 2, 2010
“The Atlassian User Interface
(AUI) is a set of reusable, cross-
browser tested, high-quality
JavaScript and CSS UI
components. We developed AUI
for use in Atlassian applications.
Tuesday, November 2, 2010
?
Tuesday, November 2, 2010
less work, more awesome
Tuesday, November 2, 2010
What AUI provides
• Wraps jQuery
• JS components
• JS utilities
• Ready to go CSS
Tuesday, November 2, 2010
AUI vs AJS
Tuesday, November 2, 2010
AUI vs AJS
Tuesday, November 2, 2010
AUI vs AJS
Tuesday, November 2, 2010
Dialog
Tuesday, November 2, 2010
Dialog
Tuesday, November 2, 2010
Inline Dialog
Tuesday, November 2, 2010
Inline Dialog
Tuesday, November 2, 2010
Dropdown
Tuesday, November 2, 2010
Dropdown
Tuesday, November 2, 2010
Forms
Tuesday, November 2, 2010
Forms
Tuesday, November 2, 2010
What
Why did Atlassian choose jQuery?
How
Where
?
Tuesday, November 2, 2010
jQuery is a fast and concise JavaScript
Library that simplifies HTML
document traversing, event handling,
animating, and Ajax interactions for
rapid web development. jQuery is
designed to change the way that you
write JavaScript.
“
Tuesday, November 2, 2010
?
Tuesday, November 2, 2010
Tuesday, November 2, 2010
less work, more awesome
Tuesday, November 2, 2010
Why Atlassian chose jQuery
January, 2008
Tuesday, November 2, 2010
What
Why should you care?
How
Where
?
Tuesday, November 2, 2010
Consistent look and feel
Tuesday, November 2, 2010
Ready to use components
Tuesday, November 2, 2010
Helpful utilities
Tuesday, November 2, 2010
What
Why
How do you use AUI?
Where
?
Tuesday, November 2, 2010
Dialog
Tuesday, November 2, 2010
Dialog
var popup = new AJS.Dialog(400, 200, "my-
popup");
popup.show( );
Tuesday, November 2, 2010
Inline Dialog
Tuesday, November 2, 2010
Inline Dialog
AJS.InlineDialog(AJS.$("#my-trigger"), 1, "dialog-
content.html");
Tuesday, November 2, 2010
Dropdown
Tuesday, November 2, 2010
Dropdown
AJS.$("#my-dropdown").dropdown("Standard");
Tuesday, November 2, 2010
AJS.format
Tuesday, November 2, 2010
AJS.format("Showing entries {0} - {1} of {2}", 0, 10,
11);
AJS.format
Tuesday, November 2, 2010
>> Showing entries 0 - 10 of 11
AJS.format
AJS.format("Showing entries {0} - {1} of {2}", 0, 10,
11);
Tuesday, November 2, 2010
Keyboard shortcuts
Tuesday, November 2, 2010
Keyboard shortcuts
AJS.whenIType("cl").click("#test-click");
Tuesday, November 2, 2010
Keyboard shortcuts
AJS.whenIType("cl").click("#test-click");
AJS.whenIType("sf").execute(someFunction);
Tuesday, November 2, 2010
Sounds great...
Tuesday, November 2, 2010
Sounds great...
...but how do I get it in my plugin?
Tuesday, November 2, 2010
Sounds great...
$webResourceManager.requireResource
("com.atlassian.auiplugin:ajs")
...but how do I get it in my plugin?
Tuesday, November 2, 2010
atlassian-plugin.xml
<web-resource name="Fake plugin resources" key="fake-resources">
<dependency>com.atlassian.auiplugin:ajs</dependency>
<resource type="download" name="fake-plugin.js" location="js/fake-
plugin.js"/>
<resource type="download" name="fake-plugin.css" location="css/fake-
plugin.css"/>
</web-resource>
Tuesday, November 2, 2010
atlassian-plugin.xml
<web-resource name="Fake plugin resources" key="fake-resources">
<dependency>com.atlassian.auiplugin:ajs</dependency>
<resource type="download" name="fake-plugin.js" location="js/fake-
plugin.js"/>
<resource type="download" name="fake-plugin.css" location="css/fake-
plugin.css"/>
</web-resource>
fake-plugin.vm
$webResourceManager.requireResource("com.atlassian.example:fake-
resources")
Tuesday, November 2, 2010
What
Why
How do you use AUI?
Where
?
Tuesday, November 2, 2010
What
Why
How
Where is AUI now?
?
Tuesday, November 2, 2010
• Latest version: 3.2
• All products on AUI 3.x
• Open source
http://confluence.atlassian.com/display/AUI/Atlassian+User+Interface+(AUI)
+Developer+Documentation
https://studio.atlassian.com/browse/AJS
Tuesday, November 2, 2010
Public vs Private Components
Tuesday, November 2, 2010
Public vs Private Components
Tuesday, November 2, 2010
Public vs Private Components
Tuesday, November 2, 2010
What
Why
How
Where is AUI headed?
?
Tuesday, November 2, 2010
More formalized processes
• Testing
• Builds
• Infrastructure
• Dedicated resources
Tuesday, November 2, 2010
Community contributions
Tuesday, November 2, 2010
Community feedback
Tuesday, November 2, 2010
What
Why
How
Where
?
Tuesday, November 2, 2010
What
Why
How
Where
Questions?
Tuesday, November 2, 2010
Photo credits
http://www.flickr.com/photos/dmitry-baranovskiy/2378867408/
http://www.flickr.com/photos/cayusa/384187184/
http://www.flickr.com/photos/oskay/437341128/
http://www.flickr.com/photos/rocketlass/2851359961/
http://www.flickr.com/photos/mimk/1350963678/
Tuesday, November 2, 2010
More information
• Developer Docs: http://confluence.atlassian.com/display/AUI/
Atlassian+User+Interface+(AUI)+Developer+Documentation
• Javadocs: http://docs.atlassian.com/aui/3.0/
• Demos: https://studio.atlassian.com/source/browse/
~raw,r=HEAD/AJS/trunk/auiplugin/src/demo/index.html (Studio
login required)
Tuesday, November 2, 2010

More Related Content

PPT
Power Point
PDF
Deploying atlassian tools in the enterprise - Dione Technology
PPTX
Designing pro environmental behavior into product interfaces
PDF
Mobile Behaviors & Design
PPT
Europe 2009 Tech Park Trip
PDF
Developing in HTML5: Widgetbox & Sencha Touch
PDF
The Tech Side of Project Argo
PDF
Seaside - Why should you care? (Dynamic Stockholm 2010)
Power Point
Deploying atlassian tools in the enterprise - Dione Technology
Designing pro environmental behavior into product interfaces
Mobile Behaviors & Design
Europe 2009 Tech Park Trip
Developing in HTML5: Widgetbox & Sencha Touch
The Tech Side of Project Argo
Seaside - Why should you care? (Dynamic Stockholm 2010)

Similar to AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Plugins - Zach Davis (20)

PDF
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
PDF
ZOMG WHY IS THIS CODE SO SLOW
PDF
Sencha Touch Workshop
PDF
Idiots guide to jquery
PDF
RIA Unleashed - Developing for the TV with litl os
PDF
Human APIs
PDF
Cassandra devoxx 2010
PDF
Turning That UX Frown Upside Down
PDF
Sencha Touch for the Mobile Web
PDF
Mongodb on Ruby And Rails (froscon 2010)
PDF
Ruby on-rails-workshop
PPSX
Web App Scaffolding - FOWA London 2010
PDF
Mongo db
PDF
SenchaCon 2010 Keynote by CEO Abe Elias
PDF
AtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas Knecht
PDF
CSS3 now
PDF
Html5 Apps
PDF
Html5/CSS3 in shanghai 2010
PDF
Best Practices - Mobile Developer Summit
PDF
In depth with html5 java2days 2010
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
ZOMG WHY IS THIS CODE SO SLOW
Sencha Touch Workshop
Idiots guide to jquery
RIA Unleashed - Developing for the TV with litl os
Human APIs
Cassandra devoxx 2010
Turning That UX Frown Upside Down
Sencha Touch for the Mobile Web
Mongodb on Ruby And Rails (froscon 2010)
Ruby on-rails-workshop
Web App Scaffolding - FOWA London 2010
Mongo db
SenchaCon 2010 Keynote by CEO Abe Elias
AtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas Knecht
CSS3 now
Html5 Apps
Html5/CSS3 in shanghai 2010
Best Practices - Mobile Developer Summit
In depth with html5 java2days 2010
Ad

More from Atlassian (20)

PPTX
International Women's Day 2020
PDF
10 emerging trends that will unbreak your workplace in 2020
PDF
Forge App Showcase
PDF
Let's Build an Editor Macro with Forge UI
PDF
Meet the Forge Runtime
PDF
Forge UI: A New Way to Customize the Atlassian User Experience
PDF
Take Action with Forge Triggers
PDF
Observability and Troubleshooting in Forge
PDF
Trusted by Default: The Forge Security & Privacy Model
PDF
Designing Forge UI: A Story of Designing an App UI System
PDF
Forge: Under the Hood
PDF
Access to User Activities - Activity Platform APIs
PDF
Design Your Next App with the Atlassian Vendor Sketch Plugin
PDF
Tear Up Your Roadmap and Get Out of the Building
PDF
Nailing Measurement: a Framework for Measuring Metrics that Matter
PDF
Building Apps With Color Blind Users in Mind
PDF
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
PDF
Beyond Diversity: A Guide to Building Balanced Teams
PDF
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
PDF
Building Apps With Enterprise in Mind
International Women's Day 2020
10 emerging trends that will unbreak your workplace in 2020
Forge App Showcase
Let's Build an Editor Macro with Forge UI
Meet the Forge Runtime
Forge UI: A New Way to Customize the Atlassian User Experience
Take Action with Forge Triggers
Observability and Troubleshooting in Forge
Trusted by Default: The Forge Security & Privacy Model
Designing Forge UI: A Story of Designing an App UI System
Forge: Under the Hood
Access to User Activities - Activity Platform APIs
Design Your Next App with the Atlassian Vendor Sketch Plugin
Tear Up Your Roadmap and Get Out of the Building
Nailing Measurement: a Framework for Measuring Metrics that Matter
Building Apps With Color Blind Users in Mind
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Beyond Diversity: A Guide to Building Balanced Teams
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
Building Apps With Enterprise in Mind
Ad

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
cuic standard and advanced reporting.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
KodekX | Application Modernization Development
Per capita expenditure prediction using model stacking based on satellite ima...
Review of recent advances in non-invasive hemoglobin estimation
Advanced methodologies resolving dimensionality complications for autism neur...
NewMind AI Weekly Chronicles - August'25 Week I
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Dropbox Q2 2025 Financial Results & Investor Presentation
Chapter 3 Spatial Domain Image Processing.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Spectral efficient network and resource selection model in 5G networks
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
cuic standard and advanced reporting.pdf
Big Data Technologies - Introduction.pptx
Electronic commerce courselecture one. Pdf
Machine learning based COVID-19 study performance prediction
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Network Security Unit 5.pdf for BCA BBA.
Agricultural_Statistics_at_a_Glance_2022_0.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
KodekX | Application Modernization Development

AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Plugins - Zach Davis