The summary discusses Stash, an Atlassian product for source code management. It notes that Stash has over 2100 customers, 20 developers, and releases 3 major and 15 minor updates per year. It also discusses the growing ecosystem of Stash plugins, including some popular commercial plugins. The document outlines the various plugin points in Stash, such as repository hooks, cancelable events, and file handlers. It discusses empowering the ecosystem through stable APIs and ensuring plugins work well as Stash scales to enterprise customers in areas like caching and clustering. The next 12 months will focus on improving the JavaScript and LESS APIs and documentation to better support plugin development.
13. • Servlets
• Web Fragments
• Web panels
• Web items
• Web section
• Page decorators
• LESS css
• Soy templates
• Atlassian UI (AUI)
Built on the Atlassian Platform
22. • Implement CancelableEvent
• Correspond to modification request
• Prevent action from being performed
• Veto message sent back to UI
Cancelable Events
23. • Pull requests
• Permissions
• Repositories
• Projects
What can be canceled
26. • Pluggable source rendering pipeline
• Take control any source and diff
• Selectively handle rendering
• Asynchronous by design (promise based)
File Handler
33. • 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
34. • Test Data
• Number of repositories
• Size of repositories
• Measure
• Execution time
• Memory consumption
• Concurrency
• Techniques
• Paging
• Limiting
• Streaming
• Documentation coming
Scaling for the enterprise
36. • JavaScript AMD modules
• Stable for major version
• Valid inputs will return same outputs
• Function names will remain the same
• Deprecation warnings
• Documented
JavaScript API
37. • Standard LESS import
• Stable for major version
• Variable names (not value)
• Mix-in names (not output)
• Deprecation documented
• Release TBA
LESS API
38. • Great opportunities
• Try writing a plugin for Stash
• Scale with Stash
• Give us feedback
Take aways