SlideShare a Scribd company logo
1 of 25
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

Using Azure Functions for Integration
Using Azure Functions for IntegrationUsing Azure Functions for Integration
Using Azure Functions for IntegrationBizTalk360
 
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 them3scale
 
Application Insights for Integration Developers
Application Insights for Integration DevelopersApplication Insights for Integration Developers
Application Insights for Integration DevelopersSriram Hariharan
 
Serverless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic appsServerless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic appsPuneet 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 FunctionsAleksandar 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
 
Serverless beyond AWS Lambda
Serverless beyond AWS LambdaServerless beyond AWS Lambda
Serverless beyond AWS LambdaBen 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 AppsAvanade 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 GraphQLMarcia 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 PlatformBizTalk360
 
Building Azure Logic Apps
Building Azure Logic AppsBuilding Azure Logic Apps
Building Azure Logic AppsBizTalk360
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic AppsBizTalk360
 
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-19Jim Adcock
 
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 2019Colin Gardner
 

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 SessionsApigee | 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 AzureJeremy 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 pipelinesSwami 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 GuidelinesJonathan 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_b4usolutionHoa Le
 
MindyJeanneConsultant
MindyJeanneConsultantMindyJeanneConsultant
MindyJeanneConsultantMindy Leslie
 
Monolith to microservices - our journey
Monolith to microservices - our journeyMonolith to microservices - our journey
Monolith to microservices - our journeyGiles 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 AppsApigee | 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 AppsMarc 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 365Luis Valencia
 
MSDN Sessions 032817 - Azure Functions
MSDN Sessions 032817 - Azure FunctionsMSDN Sessions 032817 - Azure Functions
MSDN Sessions 032817 - Azure FunctionsMarc Obaldo
 
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 functionsvivek 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 AppsMike 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

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Recently uploaded (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

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.