AtlasCamp 2014: Stash State of the Union
-
Upload
atlassian -
Category
Technology
-
view
274 -
download
1
description
Transcript of AtlasCamp 2014: Stash State of the Union
![Page 1: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/1.jpg)
Jason Hinch, Full-stack Developer, Atlassian
Stash State of the Union
![Page 2: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/2.jpg)
ECOSYSTEM HEALTH
Agenda
QUESTIONS
NEXT 12 MONTHS
PLUGIN POINTS
![Page 3: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/3.jpg)
Agenda
QUESTIONS
NEXT 12 MONTHS
PLUGIN POINTS
ECOSYSTEM HEALTH
![Page 4: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/4.jpg)
![Page 5: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/5.jpg)
• Team
• 20+ developers
• Customer base
• 2100+ customers
• Releases
• 3 major, 15 minor, 59 bug fix
Stash is growing
![Page 6: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/6.jpg)
• Empower our ecosystem
• Stable API for major versions
• Java API
• REST API
• Developer docs
Committed to plugins
![Page 7: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/7.jpg)
![Page 8: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/8.jpg)
As of May 2014
86Stash Add-Ons on Marketplace
![Page 9: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/9.jpg)
• 9000+ downloads
• Commercial add-on
• Charts for repository stats
• Commit & line activity
• Contributors
Awesome Graphs
![Page 10: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/10.jpg)
• 3000+ downloads
• Commercial add-on
• Powered by SubGit
• SVN migration
• Incremental
• Once time import
Svn Mirror for Stash
![Page 11: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/11.jpg)
• 10-15 free add-ons
• Experiment with features
• Keep Stash lean
• Validate our plugin points
Add-ons by Atlassian
![Page 12: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/12.jpg)
ECOSYSTEM HEALTH
PLUGIN POINTS
Agenda
QUESTIONS
NEXT 12 MONTHS
![Page 13: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/13.jpg)
• Servlets
• Web Fragments
• Web panels
• Web items
• Web section
• Page decorators
• LESS css
• Soy templates
• Atlassian UI (AUI)
Built on the Atlassian Platform
![Page 14: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/14.jpg)
Repository Hooks
![Page 15: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/15.jpg)
• Pre-receive
• Post-receive
• Pull request merge
• Per repositoryconfiguration
• Since Stash 2.1
Repository Hooks
![Page 16: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/16.jpg)
atlassian-plugin.xml
Implementation
Soy template
Soy files
![Page 17: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/17.jpg)
NamingConventionHook.java
![Page 18: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/18.jpg)
NamingConventionHook.java
![Page 19: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/19.jpg)
NamingConventionHook.java
![Page 20: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/20.jpg)
static/config.soy
Existing values
Validation errors
![Page 21: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/21.jpg)
Cancelable Events
![Page 22: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/22.jpg)
• Implement CancelableEvent
• Correspond to modification request
• Prevent action from being performed
• Veto message sent back to UI
Cancelable Events
![Page 23: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/23.jpg)
• Pull requests
• Permissions
• Repositories
• Projects
What can be canceled
![Page 24: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/24.jpg)
MyListener.java
![Page 25: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/25.jpg)
File Handlers
![Page 26: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/26.jpg)
• Pluggable source rendering pipeline
• Take control any source and diff
• Selectively handle rendering
• Asynchronous by design (promise based)
File Handler
![Page 27: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/27.jpg)
atlassian-plugin.xml
Included whenrendering source
JS files
File handler registry
![Page 28: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/28.jpg)
stl-handler.js
![Page 29: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/29.jpg)
![Page 30: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/30.jpg)
PLUGIN POINTS
NEXT 12 MONTHS
ECOSYSTEM HEALTH
Agenda
QUESTIONS
![Page 31: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/31.jpg)
Stash Data Center
![Page 32: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/32.jpg)
![Page 33: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/33.jpg)
• Problem areas
• Caching / State
• Locking / State control
• Background tasks
• Shared technologies with JIRA/Confluence
• Atlassian Cache
• Atlassian Scheduler
• Atlassian Beehive
• How-to guides coming soon
Cluster-safety
![Page 34: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/34.jpg)
• Test Data
• Number of repositories
• Size of repositories
• Measure
• Execution time
• Memory consumption
• Concurrency
• Techniques
• Paging
• Limiting
• Streaming
• Documentation coming
Scaling for the enterprise
![Page 35: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/35.jpg)
Front-end API
![Page 36: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/36.jpg)
• JavaScript AMD modules
• Stable for major version
• Valid inputs will return same outputs
• Function names will remain the same
• Deprecation warnings
• Documented
JavaScript API
![Page 37: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/37.jpg)
• Standard LESS import
• Stable for major version
• Variable names (not value)
• Mix-in names (not output)
• Deprecation documented
• Release TBA
LESS API
![Page 38: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/38.jpg)
• Great opportunities
• Try writing a plugin for Stash
• Scale with Stash
• Give us feedback
Take aways
![Page 39: AtlasCamp 2014: Stash State of the Union](https://reader035.fdocuments.net/reader035/viewer/2022081400/5557f4bfd8b42a200d8b4b31/html5/thumbnails/39.jpg)
NEXT 12 MONTHS
QUESTIONS
PLUGIN POINTS
ECOSYSTEM HEALTH
Question time