SlideShare a Scribd company logo
How to Build Spiceworks Apps
Sponsored by IBM Bluemix
Michael Gerbush
Technical Product Manager,
Spiceworks
David Barnes
Technology Evangelist, IBM
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
What’s App (Center)?
Built on the SW Core
• Apps
• Reports
• Language Packs
Not Included
• Scripts
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?
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
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?
Spiceworks Cloud Apps
Using Spiceworks API
DEMO – Empty Slide
Our First App
Using Spiceworks API
DEMO – Empty Slide
Using Spiceworks API
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
Spiceworks API Basics
Creating a Card
var card = new SW.Card();
Variable
Spiceworks Library
Card Constructor
Spiceworks API Basics
Accessing Services with a Card
var card = new SW.Card();
card.services('helpdesk');
Services List
Service Name
Spiceworks API Basics
Passing Parameters
card.services('helpdesk').request('ticket:update', 2, {status: ‘open’})
Request Name
(‘object:action’)
Required Parameter
Optional Parameters
Spiceworks API Basics
Handling Responses
card.services('helpdesk').request('tickets', { status: 'open' })
.then(function(data){
// do something with tickets...
}, function(error){
// handle error...
});
Spiceworks API Basics
Paging
card.services('helpdesk').request('tickets', { status: 'open',
page: 2, per_page: 50 })
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”: […]
}
Spiceworks API Basics
Searching
card.services('helpdesk').request('tickets', {
search: {
query: {
terms: ['Microsoft', 'keyboard'],
operator: 'and'
},
fields: {
names: ['summary']
}
}})
Using the Spiceworks API
Try It Out!
https://developers.spiceworks.com
Documentation > Cloud Apps
API Basics
API Reference
Using Spiceworks API
DEMO – Empty Slide
Our First REAL App
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
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
Thanks!
Thanks!
SpiceWorld Austin 2015:  How to Build Spiceworks Platform Apps sponsored by IBM Bluemix

More Related Content

What's hot

Azure logic app
Azure logic appAzure logic app
Azure logic app
Thi Nguyen Dinh
 
Using Azure Functions for Integration
Using Azure Functions for IntegrationUsing Azure Functions for Integration
Using Azure Functions for Integration
BizTalk360
 
Microservices in action: How to actually build them
Microservices in action: How to actually build themMicroservices in action: How to actually build them
Microservices in action: How to actually build them
3scale
 
Application Insights for Integration Developers
Application Insights for Integration DevelopersApplication Insights for Integration Developers
Application Insights for Integration Developers
Sriram Hariharan
 
Serverless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic appsServerless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic apps
Puneet Ghanshani
 
Integration Tales: Logic & API apps to the rescue!
Integration Tales: Logic & API apps to the rescue!Integration Tales: Logic & API apps to the rescue!
Integration Tales: Logic & API apps to the rescue!
Sandro Pereira
 
Building API in the cloud using Azure Functions
Building API in the cloud using Azure FunctionsBuilding API in the cloud using Azure Functions
Building API in the cloud using Azure Functions
Aleksandar Bozinovski
 
Public v1 real world example of azure functions serverless conf london 2016
Public v1 real world example of azure functions serverless conf london 2016 Public v1 real world example of azure functions serverless conf london 2016
Public v1 real world example of azure functions serverless conf london 2016
Yochay Kiriaty
 
Azure functions
Azure functionsAzure functions
Serverless beyond AWS Lambda
Serverless beyond AWS LambdaServerless beyond AWS Lambda
Serverless beyond AWS Lambda
Ben Kehoe
 
Creating a workflow with Azure Logic and API Apps
Creating a workflow with Azure Logic and API AppsCreating a workflow with Azure Logic and API Apps
Creating a workflow with Azure Logic and API Apps
Avanade Nederland
 
Serverless Days Milano - Developing Serverless applications with GraphQL
Serverless Days Milano - Developing Serverless applications with GraphQLServerless Days Milano - Developing Serverless applications with GraphQL
Serverless Days Milano - Developing Serverless applications with GraphQL
Marcia Villalba
 
Integrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformIntegrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service Platform
BizTalk360
 
Building Azure Logic Apps
Building Azure Logic AppsBuilding Azure Logic Apps
Building Azure Logic Apps
BizTalk360
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic Apps
BizTalk360
 
Microsoft Azure Logic apps
Microsoft Azure Logic appsMicrosoft Azure Logic apps
Microsoft Azure Logic apps
CloudFronts Technologies LLP.
 
MS Ignite Report - San Antonio SharePoint User Group 2015-05-19
MS Ignite Report - San Antonio SharePoint User Group 2015-05-19MS Ignite Report - San Antonio SharePoint User Group 2015-05-19
MS Ignite Report - San Antonio SharePoint User Group 2015-05-19
Jim Adcock
 
AAD with MVC App
AAD with MVC AppAAD with MVC App
AAD with MVC App
Sasha Rosenbaum
 
Maria Vieira Thor Apps O365 Saturday Adelaide 2019
Maria Vieira Thor Apps O365 Saturday Adelaide 2019Maria Vieira Thor Apps O365 Saturday Adelaide 2019
Maria Vieira Thor Apps O365 Saturday Adelaide 2019
Colin Gardner
 
Angular js firebase-preso
Angular js firebase-presoAngular js firebase-preso
Angular js firebase-preso
Avinash Kondagunta
 

What's hot (20)

Azure logic app
Azure logic appAzure logic app
Azure logic app
 
Using Azure Functions for Integration
Using Azure Functions for IntegrationUsing Azure Functions for Integration
Using Azure Functions for Integration
 
Microservices in action: How to actually build them
Microservices in action: How to actually build themMicroservices in action: How to actually build them
Microservices in action: How to actually build them
 
Application Insights for Integration Developers
Application Insights for Integration DevelopersApplication Insights for Integration Developers
Application Insights for Integration Developers
 
Serverless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic appsServerless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic apps
 
Integration Tales: Logic & API apps to the rescue!
Integration Tales: Logic & API apps to the rescue!Integration Tales: Logic & API apps to the rescue!
Integration Tales: Logic & API apps to the rescue!
 
Building API in the cloud using Azure Functions
Building API in the cloud using Azure FunctionsBuilding API in the cloud using Azure Functions
Building API in the cloud using Azure Functions
 
Public v1 real world example of azure functions serverless conf london 2016
Public v1 real world example of azure functions serverless conf london 2016 Public v1 real world example of azure functions serverless conf london 2016
Public v1 real world example of azure functions serverless conf london 2016
 
Azure functions
Azure functionsAzure functions
Azure functions
 
Serverless beyond AWS Lambda
Serverless beyond AWS LambdaServerless beyond AWS Lambda
Serverless beyond AWS Lambda
 
Creating a workflow with Azure Logic and API Apps
Creating a workflow with Azure Logic and API AppsCreating a workflow with Azure Logic and API Apps
Creating a workflow with Azure Logic and API Apps
 
Serverless Days Milano - Developing Serverless applications with GraphQL
Serverless Days Milano - Developing Serverless applications with GraphQLServerless Days Milano - Developing Serverless applications with GraphQL
Serverless Days Milano - Developing Serverless applications with GraphQL
 
Integrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformIntegrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service Platform
 
Building Azure Logic Apps
Building Azure Logic AppsBuilding Azure Logic Apps
Building Azure Logic Apps
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic Apps
 
Microsoft Azure Logic apps
Microsoft Azure Logic appsMicrosoft Azure Logic apps
Microsoft Azure Logic apps
 
MS Ignite Report - San Antonio SharePoint User Group 2015-05-19
MS Ignite Report - San Antonio SharePoint User Group 2015-05-19MS Ignite Report - San Antonio SharePoint User Group 2015-05-19
MS Ignite Report - San Antonio SharePoint User Group 2015-05-19
 
AAD with MVC App
AAD with MVC AppAAD with MVC App
AAD with MVC App
 
Maria Vieira Thor Apps O365 Saturday Adelaide 2019
Maria Vieira Thor Apps O365 Saturday Adelaide 2019Maria Vieira Thor Apps O365 Saturday Adelaide 2019
Maria Vieira Thor Apps O365 Saturday Adelaide 2019
 
Angular js firebase-preso
Angular js firebase-presoAngular js firebase-preso
Angular js firebase-preso
 

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

I Love APIs Europe 2015: Developer Sessions
I Love APIs Europe 2015: Developer SessionsI Love APIs Europe 2015: Developer Sessions
I Love APIs Europe 2015: Developer Sessions
Apigee | Google Cloud
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
Yochay Kiriaty
 
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APIBuilding SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APISharePointRadi
 
Code first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with AzureCode first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with Azure
Jeremy Likness
 
Genji: Framework for building resilient near-realtime data pipelines
Genji: Framework for building resilient near-realtime data pipelinesGenji: Framework for building resilient near-realtime data pipelines
Genji: Framework for building resilient near-realtime data pipelines
Swami Sundaramurthy
 
Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?
Takumi Sakamoto
 
Creating Rich Server API’s for your Mobile Apps - Best Practices and Guidelines
Creating Rich Server API’s for your Mobile Apps - Best Practices and GuidelinesCreating Rich Server API’s for your Mobile Apps - Best Practices and Guidelines
Creating Rich Server API’s for your Mobile Apps - Best Practices and Guidelines
Jonathan Guthrie
 
Building serverless app_using_aws_lambda_b4usolution
Building serverless app_using_aws_lambda_b4usolutionBuilding serverless app_using_aws_lambda_b4usolution
Building serverless app_using_aws_lambda_b4usolution
Hoa Le
 
MindyJeanneConsultant
MindyJeanneConsultantMindyJeanneConsultant
MindyJeanneConsultantMindy Leslie
 
Monolith to microservices - our journey
Monolith to microservices - our journeyMonolith to microservices - our journey
Monolith to microservices - our journey
Giles Williams
 
Webcast: API-Centric Architecture for Building Context-Aware Apps
Webcast: API-Centric Architecture for Building Context-Aware AppsWebcast: API-Centric Architecture for Building Context-Aware Apps
Webcast: API-Centric Architecture for Building Context-Aware Apps
Apigee | Google Cloud
 
MSFT Dumaguete 061616 - Building High Performance Apps
MSFT Dumaguete 061616 - Building High Performance AppsMSFT Dumaguete 061616 - Building High Performance Apps
MSFT Dumaguete 061616 - Building High Performance Apps
Marc Obaldo
 
Charla desarrollo de apps con sharepoint y office 365
Charla   desarrollo de apps con sharepoint y office 365Charla   desarrollo de apps con sharepoint y office 365
Charla desarrollo de apps con sharepoint y office 365
Luis Valencia
 
MSDN Sessions 032817 - Azure Functions
MSDN Sessions 032817 - Azure FunctionsMSDN Sessions 032817 - Azure Functions
MSDN Sessions 032817 - Azure Functions
Marc Obaldo
 
Xamarin microsoft graph
Xamarin microsoft graphXamarin microsoft graph
Xamarin microsoft graph
Nicolò Carandini
 
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
MSDEVMTL
 
Busy Bee Application Develompent Platform
Busy Bee Application Develompent PlatformBusy Bee Application Develompent Platform
Busy Bee Application Develompent PlatformUtkarsh Shukla
 
Azure functions
Azure functionsAzure functions
Azure functions
vivek p s
 
What IT professionals need to know about SharePoint 2013 Apps
What IT professionals need to know about SharePoint 2013 AppsWhat IT professionals need to know about SharePoint 2013 Apps
What IT professionals need to know about SharePoint 2013 Apps
Mike Henthorn
 
AWS re:Invent 2016: The State of Serverless Computing (SVR311)
AWS re:Invent 2016: The State of Serverless Computing (SVR311)AWS re:Invent 2016: The State of Serverless Computing (SVR311)
AWS re:Invent 2016: The State of Serverless Computing (SVR311)
Amazon Web Services
 

Similar to SpiceWorld Austin 2015: How to Build Spiceworks Platform Apps sponsored by IBM Bluemix (20)

I Love APIs Europe 2015: Developer Sessions
I Love APIs Europe 2015: Developer SessionsI Love APIs Europe 2015: Developer Sessions
I Love APIs Europe 2015: Developer Sessions
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
 
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APIBuilding SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
 
Code first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with AzureCode first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with Azure
 
Genji: Framework for building resilient near-realtime data pipelines
Genji: Framework for building resilient near-realtime data pipelinesGenji: Framework for building resilient near-realtime data pipelines
Genji: Framework for building resilient near-realtime data pipelines
 
Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?
 
Creating Rich Server API’s for your Mobile Apps - Best Practices and Guidelines
Creating Rich Server API’s for your Mobile Apps - Best Practices and GuidelinesCreating Rich Server API’s for your Mobile Apps - Best Practices and Guidelines
Creating Rich Server API’s for your Mobile Apps - Best Practices and Guidelines
 
Building serverless app_using_aws_lambda_b4usolution
Building serverless app_using_aws_lambda_b4usolutionBuilding serverless app_using_aws_lambda_b4usolution
Building serverless app_using_aws_lambda_b4usolution
 
MindyJeanneConsultant
MindyJeanneConsultantMindyJeanneConsultant
MindyJeanneConsultant
 
Monolith to microservices - our journey
Monolith to microservices - our journeyMonolith to microservices - our journey
Monolith to microservices - our journey
 
Webcast: API-Centric Architecture for Building Context-Aware Apps
Webcast: API-Centric Architecture for Building Context-Aware AppsWebcast: API-Centric Architecture for Building Context-Aware Apps
Webcast: API-Centric Architecture for Building Context-Aware Apps
 
MSFT Dumaguete 061616 - Building High Performance Apps
MSFT Dumaguete 061616 - Building High Performance AppsMSFT Dumaguete 061616 - Building High Performance Apps
MSFT Dumaguete 061616 - Building High Performance Apps
 
Charla desarrollo de apps con sharepoint y office 365
Charla   desarrollo de apps con sharepoint y office 365Charla   desarrollo de apps con sharepoint y office 365
Charla desarrollo de apps con sharepoint y office 365
 
MSDN Sessions 032817 - Azure Functions
MSDN Sessions 032817 - Azure FunctionsMSDN Sessions 032817 - Azure Functions
MSDN Sessions 032817 - Azure Functions
 
Xamarin microsoft graph
Xamarin microsoft graphXamarin microsoft graph
Xamarin microsoft graph
 
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
 
Busy Bee Application Develompent Platform
Busy Bee Application Develompent PlatformBusy Bee Application Develompent Platform
Busy Bee Application Develompent Platform
 
Azure functions
Azure functionsAzure functions
Azure functions
 
What IT professionals need to know about SharePoint 2013 Apps
What IT professionals need to know about SharePoint 2013 AppsWhat IT professionals need to know about SharePoint 2013 Apps
What IT professionals need to know about SharePoint 2013 Apps
 
AWS re:Invent 2016: The State of Serverless Computing (SVR311)
AWS re:Invent 2016: The State of Serverless Computing (SVR311)AWS re:Invent 2016: The State of Serverless Computing (SVR311)
AWS re:Invent 2016: The State of Serverless Computing (SVR311)
 

Recently uploaded

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 

Recently uploaded (20)

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 

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

  • 1. How to Build Spiceworks Apps Sponsored by IBM Bluemix Michael Gerbush Technical Product Manager, Spiceworks David Barnes Technology Evangelist, IBM
  • 2. 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
  • 3. What’s App (Center)? Built on the SW Core • Apps • Reports • Language Packs Not Included • Scripts
  • 4. 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?
  • 5. 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
  • 6. 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?
  • 8. Using Spiceworks API DEMO – Empty Slide Our First App
  • 9.
  • 10. Using Spiceworks API DEMO – Empty Slide Using Spiceworks API
  • 11. 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
  • 12. Spiceworks API Basics Creating a Card var card = new SW.Card(); Variable Spiceworks Library Card Constructor
  • 13. Spiceworks API Basics Accessing Services with a Card var card = new SW.Card(); card.services('helpdesk'); Services List Service Name
  • 14. Spiceworks API Basics Passing Parameters card.services('helpdesk').request('ticket:update', 2, {status: ‘open’}) Request Name (‘object:action’) Required Parameter Optional Parameters
  • 15. Spiceworks API Basics Handling Responses card.services('helpdesk').request('tickets', { status: 'open' }) .then(function(data){ // do something with tickets... }, function(error){ // handle error... });
  • 17. 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”: […] }
  • 18. Spiceworks API Basics Searching card.services('helpdesk').request('tickets', { search: { query: { terms: ['Microsoft', 'keyboard'], operator: 'and' }, fields: { names: ['summary'] } }})
  • 19. Using the Spiceworks API Try It Out! https://developers.spiceworks.com Documentation > Cloud Apps API Basics API Reference
  • 20. Using Spiceworks API DEMO – Empty Slide Our First REAL App
  • 21. 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
  • 22. 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

Editor's Notes

  1. Services live in the ‘grey’ part of the desktop. Card talks to services from within the placement.
  2. Permissions are broken out by service and request type: http://community.spiceworks.com/app-center/permissions.