25
How to Build Spiceworks Apps Sponsored by IBM Bluemix Michael Gerbush Technical Product Manager, Spiceworks David Barnes Technology Evangelist, IBM

SpiceWorld Austin 2015: How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Embed Size (px)

Citation preview

Page 1: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

How to Build Spiceworks AppsSponsored by IBM Bluemix

Michael GerbushTechnical Product Manager, Spiceworks

David BarnesTechnology Evangelist, IBM

Page 2: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Why make apps for Spiceworks?

Apps, so hot right now.

• Keep Spiceworks light and easy• All about the common IT pro• Loooong tail of feature requests• Leverage our awesome community• Want to be Everything IT

Page 3: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

What’s App (Center)?

Built on the SW Core

• Apps• Reports• Language Packs

Not Included

• Scripts

Page 4: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Workshop Agenda

I. Intro to Apps

II. Project 1: Our First App

III. Developing with PaaS: IBM Bluemix

IV. Project 2: Using the Spiceworks API

V. Project 3: Hacking a Real App

VI. What’s Next?

Page 5: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Spiceworks Apps

Cloud Apps

• Use Your Own Technology• Store Your Own Data• Can Integrate with Off-Network Services• Easy to Update• More Secure Inside of Spiceworks• Less Likely to Break Between Releases

Plugins

• Easier to Write• No Server Costs• Unlimited UI Integration• Data Can Stay On-Premise

Page 6: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Cloud Apps

• Comfortable writing and deploying a web app

• Integrating with a 3rd party hosted service• Storing large amounts of data• Leveraging network effect

Plugins

• Need Special UI Integration• Want to keep all data on premise, forever

What Should I Build?

Page 7: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Spiceworks Cloud Apps

Page 8: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Using Spiceworks API

DEMO – Empty Slide

Our First App

Page 9: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix
Page 10: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Using Spiceworks API

DEMO – Empty Slide

Using Spiceworks API

Page 11: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Spiceworks API Basics

Cards• Represents an instance of your app• Your window to the Desktop

Services• API for a Spiceworks app (e.g.

Inventory, Helpdesk, etc.)• Responds to requests

Page 12: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Spiceworks API Basics

Creating a Card

var card = new SW.Card();

Variable

Spiceworks Library

Card Constructor

Page 13: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Spiceworks API Basics

Accessing Services with a Card

var card = new SW.Card(); card.services('helpdesk');

Services List

Service Name

Page 14: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Spiceworks API Basics

Passing Parameters

card.services('helpdesk').request('ticket:update', 2, {status: ‘open’})

Request Name(‘object:action’)

Required Parameter

Optional Parameters

Page 15: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Spiceworks API Basics

Handling Responses

card.services('helpdesk').request('tickets', { status: 'open' }).then(function(data){ // do something with tickets... }, function(error){// handle error... });

Page 16: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Spiceworks API Basics

Paging

card.services('helpdesk').request('tickets', { status: 'open', page: 2, per_page: 50 })

Page 17: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Spiceworks API Basics

Paging (Cont.)

{"meta": {

"total_entries": 205, // total number of items, across all pages "page_count": 7, // total number of pages

"per_page": 30, // number of items per page "current_page": 2 // the current page number

},“tickets”: […]

}

Page 18: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Spiceworks API Basics

Searching

card.services('helpdesk').request('tickets', { search: {

query: { terms: ['Microsoft', 'keyboard'], operator: 'and'

},

fields: { names: ['summary']

} }})

Page 19: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Using the Spiceworks API

Try It Out!

https://developers.spiceworks.comDocumentation > Cloud Apps

API BasicsAPI Reference

Page 20: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Using Spiceworks API

DEMO – Empty Slide

Our First REAL App

Page 21: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Where to go from here?

Learning Resources

• Coding Resources• Code School• Khan Academy• Bootcamps• Stack Overflow• Nodeschool.io

• Spiceworks Developer Resources• developers.spiceworks.com• Extending Spiceworks• Checkout Feature Requests

Page 22: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Future Plans

What’s coming next?

• App Center• Better browsing• Free trials without credit cards• More apps!

• Developer Tools• API Improvements• Tiered Purchasing• Open Submissions

Page 23: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Thanks!

Page 24: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

Thanks!

Page 25: SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix