ColdFusion Posts Around the World.
ColdFusion Posts Around the World. assertTrue("Test DSLs" == "Legacy")James WardOver decades in programming I’ve had a few moments where I make big paradigm shifts, finding it very hard to go back. One of these moments was with Functional Programming and my latest is the move from Test Assertion DSLs to just using assertTrue with boolean-only tests. Let’s look ...The Seven Artifacts of Developer Advocacy ProjectsJames WardOver the past 16 years, mostly as a Developer Advocate, I’ve developed a framework to help developers learn and get excited about something new.The Modern Java Platform - 2021 EditionJames WardMany developers were burned by the overly complex world of Java back in the early 2000s. The Gang of Four patterns and middleware / J2EE / Java EE led ...The Modern Java Platform - 2021 EditionJames WardMany developers were burned by the overly complex world of Java back in the early 2000s. The Gang of Four patterns and middleware / J2EE / Java EE led to ridiculous levels of alleged decoupling as is evident in this sequence diagram from an open source J2EE ecommerce system I worked on in 2002: ...Running One-Off/Admin Jobs for Cloud Run ServicesJames WardDisclaimer: This is not officially supported by Google Cloud. Cloud Run hosts services that handle HTTP requests but sometimes you need a way to run one-off / admin jobs with the same settings and container image. At this time the managed Cloud Run service doesn’t provide a way to run those kinds o...Running One-Off/Admin Jobs for Cloud Run ServicesJames WardDisclaimer: This is not officially supported by Google Cloud. Cloud Run hosts services that handle HTTP requests but sometimes you need a way to run one-off / admin jobs with the same settings and container image. At this time the managed Cloud Run service doesn’t provide a...Container-based Serverless Scheduled Jobs on Google Compute EngineJames WardMost of my compute workloads today are on Cloud Run, a serverless for containers platform. But some workloads like scheduled jobs don’t fit the service-oriented model of Cloud Run. There are many places I can run those workloads but I’d like to keep the serverless “pay for what you use” model and ...Container-based Serverless Scheduled Jobs on Google Compute EngineJames WardMost of my compute workloads today are on Cloud Run, a serverless for containers platform. But some workloads like scheduled jobs don’t fit the service-oriented model of Cloud Run. There are many places I can run those workloads but I’d like to keep t...GraalVM Native Image Tips & TricksJames WardElastic infrastructure that scales up & down based on demand is not just a “serverless” fad but an operational model which reduces cost and waste. Yet there is a little devil lurking under the covers… When an application / microservice needs to spin up based on demand there can be some lag as the ...GraalVM Native Image Tips & TricksJames WardElastic infrastructure that scales up & down based on demand is not just a “serverless” fad but an operational model which reduces cost and waste. Yet there is a little devil lurking under the covers… When an application / microservice needs to spin up based on demand the...When you hear ‘Monad’, think ‘Chainable’James WardThere comes a point in every Functional Programmer’s life where they feel the curse of the Monad has lifted and they must now explain Monads to their friends who just don’t get it. What follows is probably wrong and confusing, cause there is no escaping the curse. But here goes… Suppose you have a s...When you hear ‘Monad’, think ‘Chainable’James WardThere comes a point in every Functional Programmer’s life where they feel the curse of the Monad has lifted and they must now explain Monads to their friends who just don’t get it. What follows is probably wrong and confusing, cause there is no escaping the curse. But here goes… S...Thank You for 12 Years in Developer EvangelismJames WardEven though it was 12 years ago, I vividly remember sitting in a musty conference room with big-name analysts from Gartner. My palms were sweaty and I was almost too terrified to speak. Macromedia had brought me into this meeting to be the customer voice for their new programming platform, Flex. I w...Thank You for 12 Years in Developer EvangelismJames WardEven though it was 12 years ago, I vividly remember sitting in a musty conference room with big-name analysts from Gartner. My palms were sweaty and I was almost too terrified to speak. Macromedia had brought me into this meeting to be the customer voice for their new programming platform, Flex. I w...Connecting to the Salesforce REST APIs with Spring Boot and JavaJames WardBroadly speaking there are two types of integrations with Salesforce, either a system-to-system integration or a user interface integration. One of the primary ways to do these integrations is by using the Salesforce REST API. When using the Salesforce REST API you need to obtain an access token tha...Connecting to the Salesforce REST APIs with Spring Boot and JavaJames WardBroadly speaking there are two types of integrations with Salesforce, either a system-to-system integration or a user interface integration. One of the primary ways to do these integrations is by using the Salesforce REST API. When using the Salesforce REST API you need to obtain an access token tha...Quick & Easy ETL from Salesforce to MySQL with Workflow & HerokuJames WardWhile sometimes unfortunate it is often necessary to have data silos that share data. The Extract, Transform, and Load (ETL) pattern has been around for a long time to address this need and there are tons of solutions out there. If you just need a quick and easy way to copy new & updated records in ...Quick & Easy ETL from Salesforce to MySQL with Workflow & HerokuJames WardWhile sometimes unfortunate it is often necessary to have data silos that share data. The Extract, Transform, and Load (ETL) pattern has been around for a long time to address this need and there are tons of solutions out there. If you just need a quick and easy way to copy new & updated records...Add NPM Packages to Salesforce with a Few ClicksJames WardI’ve built a little web-based tool called ForceNPM that makes it super easy to add NPM packages to Salesforce. Check it out: Give ForceNPM a try! The code is on GitHub so if you’d like to deploy this on your own Heroku app or other infrastructure, you can do that. Let me know how it goes!...Add NPM Packages to Salesforce with a Few ClicksJames WardI’ve built a little web-based tool called ForceNPM that makes it super easy to add NPM packages to Salesforce. Check it out: Give ForceNPM a try! The code is on GitHub so if you’d like to deploy this on your own Heroku app or other infrastructure, you can do that. Let me know how it goes...Scalable Continuous Delivery PipelinesJames WardBack when I first started building web apps we’d just “do it in production” by vi’ing Perl & PHP files on the server. This was fine because the risks and expectations were low. No big deal if I broke the app for a few hours. Good thing I made an app.php-bak copy! As software became more critical to ...Scalable Continuous Delivery PipelinesJames WardBack when I first started building web apps we’d just “do it in production” by vi’ing Perl & PHP files on the server. This was fine because the risks and expectations were low. No big deal if I broke the app for a few hours. Good thing I made an app.php-bak copy! As softw...Reactive Web Request Batching with Scala and Play FrameworkJames WardAt first glance it seems silly to do batching in the reactive world. When I first started with reactive programming I thought I wouldn’t have to worry about things like resource starvation. After all, the reactive magic bullet was *magical*! But my magic bullet fizzled when it hit downstream resourc...Reactive Web Request Batching with Scala and Play FrameworkJames WardAt first glance it seems silly to do batching in the reactive world. When I first started with reactive programming I thought I wouldn’t have to worry about things like resource starvation. After all, the reactive magic bullet was *magical*! But my magic bullet fizzled when it hit downstream r...Machine Learning on Heroku with PredictionIOJames WardLast week at the TrailheaDX Salesforce Dev Conference we launched the DreamHouse sample application to showcase the Salesforce App Cloud and numerous possible integrations. I built an integration with the open source PredictionIO Machine Learning framework. The use case for ML in DreamHouse is a rea...Machine Learning on Heroku with PredictionIOJames WardLast week at the TrailheaDX Salesforce Dev Conference we launched the DreamHouse sample application to showcase the Salesforce App Cloud and numerous possible integrations. I built an integration with the open source PredictionIO Machine Learning framework. The use case for ML in DreamHouse is a rea...Combining Reactive Streams, Heroku Kafka, and Play FrameworkJames WardHeroku recently announced early access to the new Heroku Kafka service and while I’ve heard great things about Apache Kafka I hadn’t played with it because I’m too lazy to set that kind of stuff up on my own. Now that I can setup a Kafka cluster just by provisioning a Heroku Addon I figured it was t...Combining Reactive Streams, Heroku Kafka, and Play FrameworkJames WardHeroku recently announced early access to the new Heroku Kafka service and while I’ve heard great things about Apache Kafka I hadn’t played with it because I’m too lazy to set that kind of stuff up on my own. Now that I can setup a Kafka cluster just by provisioning a Heroku Addon ...Building a Mock HVAC for Smart Thermostat DemosJames WardRecently I needed to create a mock HVAC system so that I could have a portable smart thermostat for various demos. I searched around but couldn’t find any such thing. So with some sleuthing and the help of my friend Bruce Eckel I was able to build a simple system that powers a smart thermostat and s...Building a Mock HVAC for Smart Thermostat DemosJames WardUpdate: I’ve added instructions for a cooling system at the bottom of this post. Recently I needed to create a mock HVAC system so that I could have a portable smart thermostat for various demos. I searched around but couldn’t find any such thing. So with some sleuthing and the help of m...The 6 Minute Cloud/Local Dev Roundtrip with Spring BootJames WardGreat developer experiences allow you go from nothing to something amazing in under ten minutes. So I’m always trying to see how much I can minimize getting started experiences. My latest attempt is to deploy a Spring Boot app on Heroku, download the source to a developer’s machine, setup & run the ...The 6 Minute Cloud/Local Dev Roundtrip with Spring BootJames WardGreat developer experiences allow you go from nothing to something amazing in under ten minutes. So I’m always trying to see how much I can minimize getting started experiences. My latest attempt is to deploy a Spring Boot app on Heroku, download the source to a developer’s machine, setu...Pulling Go Code Colorado Data into SalesforceJames WardThis weekend I’m at the Go Code Colorado Challenge Weekend event in Durango. The purpose of Go Code Colorado 2016 is for teams to build something useful for businesses using one or more of the Colorado Public Datasets. Some teams are using Salesforce for the back-office / business process side of th...Pulling Go Code Colorado Data into SalesforceJames WardThis weekend I’m at the Go Code Colorado Challenge Weekend event in Durango. The purpose of Go Code Colorado 2016 is for teams to build something useful for businesses using one or more of the Colorado Public Datasets. Some teams are using Salesforce for the back-office / business process side...Quick Force Java – Getting Started with Salesforce REST in JavaJames WardRecently I blogged about a toolchain that quickly gets you going with the Salesforce REST APIs. I believe developers should be able to get started with new technologies without having to install tons of stuff and struggle for days. That blog used Quick Force Node for those who want to use JavaScript...Quick Force Java – Getting Started with Salesforce REST in JavaJames WardRecently I blogged about a toolchain that quickly gets you going with the Salesforce REST APIs. I believe developers should be able to get started with new technologies without having to install tons of stuff and struggle for days. That blog used Quick Force Node for those who want to use JavaScript...Salesforce REST APIs – From Zero to Cloud to Local Dev in MinutesJames WardWhen getting acquainted with new technologies I believe that users shouldn’t have to spend more than 15 minutes getting something simple up and running. I wanted to apply this idea to building an app on the Salesforce REST APIs so I built Quick Force (Node). In about 12 minutes you can deploy a Node...Salesforce REST APIs – From Zero to Cloud to Local Dev in MinutesJames WardWhen getting acquainted with new technologies I believe that users shouldn’t have to spend more than 15 minutes getting something simple up and running. I wanted to apply this idea to building an app on the Salesforce REST APIs so I built Quick Force (Node). In about 12 minutes you can deploy ...Winter Tech Forum 2016 – My Favorite Developer Conference!James WardI’ve been to a TON of developer conferences and by a landslide my favorite is the Winter Tech Forum (which used to be the Java Posse Roundup). Here is why… Learning for me is experiential. Typical eyes-forward conferences are like being a passenger on a sail boat. I can watch what is happening but I...Winter Tech Forum 2016 – My Favorite Developer Conference!James WardI’ve been to a TON of developer conferences and by a landslide my favorite is the Winter Tech Forum (which used to be the Java Posse Roundup). Here is why… Learning for me is experiential. Typical eyes-forward conferences are like being a passenger on a sail boat. I can watch what is ha...Dreamforce 2015 Video: Tour of Heroku + Salesforce Integration MethodsJames WardThis year at Dreamforce I presented a session that walked through a few of the ways to integrate Heroku apps with Salesforce. Here is the session description: Combining customer-facing apps on Heroku with employee-facing apps on Salesforce enables a whole new generation of connected and intelligent...Dreamforce 2015 Video: Tour of Heroku + Salesforce Integration MethodsJames WardThis year at Dreamforce I presented a session that walked through a few of the ways to integrate Heroku apps with Salesforce. Here is the session description: Combining customer-facing apps on Heroku with employee-facing apps on Salesforce enables a whole new generation of connected and intelligent ...Smoothing the Cloud & Local Roundtrip Developer ExperienceJames WardGetting started with new technologies is usually a huge pain. Often I stumble around for hours trying to get an app’s toolchain setup correctly. Instructions are usually like: Things get worse when I lead workshops for hundreds of enterprise developers where many are on Windows machines and not very...Smoothing the Cloud & Local Roundtrip Developer ExperienceJames WardGetting started with new technologies is usually a huge pain. Often I stumble around for hours trying to get an app’s toolchain setup correctly. Instructions are usually like: Things get worse when I lead workshops for hundreds of enterprise developers where many are on Windows machines and no...Comparing Application Deployment: 2005 vs. 2015James WardOver the past 10 years the ways we build and deliver applications has changed significantly. It seems like much of this change has happened overnight but don't worry, it is perfectly normal to look up and feel disoriented in the 2015 deployment landscape. This article compares the deployment in 2005...Comparing Application Deployment: 2005 vs. 2015James WardOver the past 10 years the ways we build and deliver applications has changed significantly. It seems like much of this change has happened overnight but don't worry, it is perfectly normal to look up and feel disoriented in the 2015 deployment landscape. This article compares the deployment in 2005...Redirecting and Chunking Around Heroku’s 30 Second Request TimeoutJames WardIn most cases a web request shouldn’t take more than 30 seconds to return a response so it is for good reason that Heroku has a 30 second request timeout. But there are times when things just take a while. There are different methods for dealing with this. Where possible, the best solution is to off...Redirecting and Chunking Around Heroku’s 30 Second Request TimeoutJames WardIn most cases a web request shouldn’t take more than 30 seconds to return a response so it is for good reason that Heroku has a 30 second request timeout. But there are times when things just take a while. There are different methods for dealing with this. Where possible, the best solution is ...Intro to Multi-Sensory ApplicationsJames WardRecently Christophe Coenraets and I put together some thoughts on what we are calling “Multi-Sensory Applications” - a new way to think about how we build more deeply connected and engaging software. These news types of applications go way beyond typical CRUD apps by composing together a fabric of i...Intro to Multi-Sensory ApplicationsJames WardRecently Christophe Coenraets and I put together some thoughts on what we are calling “Multi-Sensory Applications” - a new way to think about how we build more deeply connected and engaging software. These news types of applications go way beyond typical CRUD apps by composing together a...Refactoring to MicroservicesJames WardRight now there is a ton of hype and pushback around Microservices. Most of the current debate revolves around when Microservices make sense with smart people arguing all across the spectrum. As with all architectural topics the right answer is “it depends” so you should never blindly chose Microser...Refactoring to MicroservicesJames WardRight now there is a ton of hype and pushback around Microservices. Most of the current debate revolves around when Microservices make sense with smart people arguing all across the spectrum. As with all architectural topics the right answer is “it depends” so you should never blindly ch...NPM Packages in Maven Central with NPM WebJarsJames WardA few months ago I launched Bower WebJars which provides a way for anyone to deploy Bower packages into Maven Central through WebJars. Since then 539 packages have been deployed! Today I’ve added NPM WebJars which is built on the same foundation as Bower WebJars but for NPM packages. Give it a try a...NPM Packages in Maven Central with NPM WebJarsJames WardA few months ago I launched Bower WebJars which provides a way for anyone to deploy Bower packages into Maven Central through WebJars. Since then 539 packages have been deployed! Today I’ve added NPM WebJars which is built on the same foundation as Bower WebJars but for NPM packages. Give it a...Auto-Deploy GitHub Repos to HerokuJames WardMy favorite new feature on Heroku is the GitHub Integration which enables auto-deployment of GitHub repos. Whenever a change is made on GitHub the app can be automatically redeployed on Heroku. You can even tell Heroku to wait until the CI tests pass before doing the deployment. I now use this on al...Auto-Deploy GitHub Repos to HerokuJames WardMy favorite new feature on Heroku is the GitHub Integration which enables auto-deployment of GitHub repos. Whenever a change is made on GitHub the app can be automatically redeployed on Heroku. You can even tell Heroku to wait until the CI tests pass before doing the deployment. I now use this on al...Reactive Postgres with Play Framework & ScalikeJDBCJames WardLately I’ve built a few apps that have relational data. Instead of trying to shoehorn that data into a NoSQL model I decided to use the awesome Heroku Postgres service but I didn’t want to lose out on the Reactiveness that most of the NoSQL data stores support. I discovered ScalikeJDBC-Async which u...Reactive Postgres with Play Framework & ScalikeJDBCJames WardLately I’ve built a few apps that have relational data. Instead of trying to shoehorn that data into a NoSQL model I decided to use the awesome Heroku Postgres service but I didn’t want to lose out on the Reactiveness that most of the NoSQL data stores support. I discovered ScalikeJDBC-A...Scaling the WebJars Project with On-Demand Bower PackagesJames WardWebJars has been my hobby project for almost 3 years and thanks to tons of help from the community the project now has almost 900 JavaScript libraries in Maven Central. In February 2015 there were over 500,000 downloads of WebJars! Up until now all of the WebJars have been manually created, deployed...Scaling the WebJars Project with On-Demand Bower PackagesJames WardWebJars has been my hobby project for almost 3 years and thanks to tons of help from the community the project now has almost 900 JavaScript libraries in Maven Central. In February 2015 there were over 500,000 downloads of WebJars! Up until now all of the WebJars have been manually created, deployed...Salesforce Canvas Quick Start for Java DevelopersJames WardSalesforce provides a variety of different ways to integrate external apps into the Salesforce UI. Canvas is an iframe-based approach for loading externally hosted UIs into pages on Salesforce. The nice thing about Canvas versus a plain iframe is that Canvas has a JavaScript bridge which enables sec...Salesforce Canvas Quick Start for Java DevelopersJames WardSalesforce provides a variety of different ways to integrate external apps into the Salesforce UI. Canvas is an iframe-based approach for loading externally hosted UIs into pages on Salesforce. The nice thing about Canvas versus a plain iframe is that Canvas has a JavaScript bridge which enables sec...Introducing Force WebJars: Add JavaScript Libs to Salesforce With a ClickJames WardThe typical method of adding JavaScript and CSS libraries (e.g. jQuery, Bootstrap, and AngularJS) to Salesforce environments is to locate a library’s download, download it, then upload it to Salesforce, then figure out the structure of the files so that you can use them from Visualforce. Using WebJa...Introducing Force WebJars: Add JavaScript Libs to Salesforce With a ClickJames WardThe typical method of adding JavaScript and CSS libraries (e.g. jQuery, Bootstrap, and AngularJS) to Salesforce environments is to locate a library’s download, download it, then upload it to Salesforce, then figure out the structure of the files so that you can use them from Visualforce. Using...Goodbye Java Posse Roundup – Hello WTF 2015James WardFor the past 8 (maybe 9?) years the absolute best yearly conference I’ve attended has been The Java Posse Roundup in Crested Butte, Colorado. At most conferences my favorite parts are the conversations at the bar and writing code with other attendees. The Java Posse Roundup has always been a confere...Goodbye Java Posse Roundup – Hello WTF 2015James WardFor the past 8 (maybe 9?) years the absolute best yearly conference I’ve attended has been The Java Posse Roundup in Crested Butte, Colorado. At most conferences my favorite parts are the conversations at the bar and writing code with other attendees. The Java Posse Roundup has always been a c...Introducing Gulp LauncherJames WardMany developers already have the Node.js toolchain installed on their machines but when I lead workshops there are always a few who don’t. The process of installing Node build toolchains can take quite a bit of time for new users (especially on Windows). To simplify the process of getting the gulp t...Introducing Gulp LauncherJames WardMany developers already have the Node.js toolchain installed on their machines but when I lead workshops there are always a few who don’t. The process of installing Node build toolchains can take quite a bit of time for new users (especially on Windows). To simplify the process of getting the ...Java Doesn’t Suck – You’re Just Using it WrongJames WardCheck out the Russian translation provided by Everycloudtech. Or check out a Ukrainian translation provided by OpenSourceInitiative. I’ve been building enterprise Java web apps since servlets were created. In that time the Java ecosystem has changed a lot but sadly many enterprise Java developers ar...Java Doesn’t Suck – You’re Just Using it WrongJames WardI’ve been building enterprise Java web apps since servlets were created. In that time the Java ecosystem has changed a lot but sadly many enterprise Java developers are stuck in some very painful and inefficient ways of doing things. In my travels I continue to see Java The Sucky Parts - but i...Dreamforce 2014: Wearables, Engagement Apps, $1M HackathonJames WardDreamforce 2014 is quickly approaching and this year is going to be amazing! I’ll be presenting a few sessions and helping at the $1 Million Hackathon. Here are my sessions: Integrating Clouds & Humans with the Salesforce Wear Developer Packs As smart watches and other human-integrated devices ma...Dreamforce 2014: Wearables, Engagement Apps, $1M HackathonJames WardDreamforce 2014 is quickly approaching and this year is going to be amazing! I’ll be presenting a few sessions and helping at the $1 Million Hackathon. Here are my sessions: Integrating Clouds & Humans with the Salesforce Wear Developer Packs As smart watches and other human-integrated dev...Jekyll on HerokuJames WardJekyll is simple static content compiler popularized by GitHub Pages. If you use Jekyll in a GitHub repo a static website will automatically be created for you by running Jekyll on your content sources (e.g. Markdown). That works well but there are cases where it is nice to deploy a Jekyll site on H...Jekyll on HerokuJames WardJekyll is simple static content compiler popularized by GitHub Pages. If you use Jekyll in a GitHub repo a static website will automatically be created for you by running Jekyll on your content sources (e.g. Markdown). That works well but there are cases where it is nice to deploy a Jekyll site on H...An Architects Guide to the Salesforce1 PlatformJames WardSalesforce.com was initially created as a Sales Force Automation (SFA) / Customer Relationship Management (CRM) application in the cloud but has evolved over the years into a modern platform for all types of enterprise applications. Now the Salesforce name is a legacy artifact of that past. This is ...An Architects Guide to the Salesforce1 PlatformJames WardSalesforce.com was initially created as a Sales Force Automation (SFA) / Customer Relationship Management (CRM) application in the cloud but has evolved over the years into a modern platform for all types of enterprise applications. Now the Salesforce name is a legacy artifact of that past...Building & Deploying Reactive Service Pipelines — Live in Salt Lake CityJames WardThis Wednesday (Aug 6, 2014) I will be presenting Building & Deploying Reactive Service Pipelines at the Utah Scala Enthusiasts group in Salt Lake City. Here is the abstract: Composition of micro-service is a modern integration pattern that couples nicely with Reactive and Continuous Delivery. Thes...Building & Deploying Reactive Service Pipelines — Live in Salt Lake CityJames WardThis Wednesday (Aug 6, 2014) I will be presenting Building & Deploying Reactive Service Pipelines at the Utah Scala Enthusiasts group in Salt Lake City. Here is the abstract: Composition of micro-service is a modern integration pattern that couples nicely with Reactive and Continuous Delivery. T...Going Reactive at OSCON 2014James WardThis year at OSCON I will be leading a hands-on lab and presenting about Reactive, Play Framework, and Scala. Here are two sessions: Reactive All The Way Down (lab) - 9:00am Monday, July 21 In this tutorial you will build a Reactive application with Play Framework, Scala, WebSockets, and AngularJ...Going Reactive at OSCON 2014James WardThis year at OSCON I will be leading a hands-on lab and presenting about Reactive, Play Framework, and Scala. Here are two sessions: Reactive All The Way Down (lab) - 9:00am Monday, July 21 In this tutorial you will build a Reactive application with Play Framework, Scala, WebSockets, and AngularJS. ...Scala vs Java 8 at the Scala SummitJames WardBruce Eckel will be hosting the Scala Summit in Crested Butte again this summer. The Open Spaces conference will be September 15 - 19 which is a perfect time of year up in the Colorado Rockies. The theme of the Scala Summit this year is Scala vs. The New Features in Java 8. So there will definitely ...Scala vs Java 8 at the Scala SummitJames WardBruce Eckel will be hosting the Scala Summit in Crested Butte again this summer. The Open Spaces conference will be September 15 - 19 which is a perfect time of year up in the Colorado Rockies. The theme of the Scala Summit this year is Scala vs. The New Features in Java 8. So there will definitely ...Salesforce Gradle PluginJames WardAs part of the Salesforce Wear Developer Pack for Android Wear I created a Gradle plugin that fetches and deploys Salesforce code (Apex). Gradle is the default build tool for Android but it can also be used with many other languages. For instance, here is an example build.gradle file for a project t...Salesforce Gradle PluginJames WardAs part of the Salesforce Wear Developer Pack for Android Wear I created a Gradle plugin that fetches and deploys Salesforce code (Apex). Gradle is the default build tool for Android but it can also be used with many other languages. For instance, here is an example build.gradle file for a project t...Create Webhooks on Salesforce.comJames WardWebhooks are the modern, web-oriented way for servers to receive notifications from other servers. For instance, when an event happens on a server, like Salesforce.com, your own custom application can receive the event via a web request. Salesforce already has a built-in way to handle events called ...Create Webhooks on Salesforce.comJames WardWebhooks are the modern, web-oriented way for servers to receive notifications from other servers. For instance, when an event happens on a server, like Salesforce.com, your own custom application can receive the event via a web request. Salesforce already has a built-in way to handle events called ...Cross-Origin Resource Sharing (CORS) for Salesforce.comJames WardBy default browsers limit access to cross-origin resources. For instance, if a JavaScript app is loaded from foo.com then it isn’t allowed to access content from bar.com because this would be a significant security hole. Cross-Origin Resource Sharing (CORS) is the way to workaround this limitation i...Cross-Origin Resource Sharing (CORS) for Salesforce.comJames WardBy default browsers limit access to cross-origin resources. For instance, if a JavaScript app is loaded from foo.com then it isn’t allowed to access content from bar.com because this would be a significant security hole. Cross-Origin Resource Sharing (CORS) is the way to workaround this limita...Integrating Clouds & Humans with Salesforce and Android WearJames WardRight out of the gate in my new job at Salesforce.com and I have been working on a pretty exciting new project to integrate clouds and humans using Salesforce.com and Android Wear. This week Salesforce launched six new open source developers packs for wearables. I created the Salesforce Wear Pack fo...Integrating Clouds & Humans with Salesforce and Android WearJames WardRight out of the gate in my new job at Salesforce.com and I have been working on a pretty exciting new project to integrate clouds and humans using Salesforce.com and Android Wear. This week Salesforce launched six new open source developers packs for wearables. I created the Salesforce Wear Pack fo... |