Difference between Save, Publish, Install, and Update?

I am new to smart apps and have been playing with the Google Sheets logger. There’s a number of buttons around the app code window. I looked at the SmartThings documentation on the Editor And Simulator but it only briefly touches on one or two of them. In my brief testing it looks like:

  1. Only Save actually needs to be hit to make the code I am viewing update into what is currently running.

And, of course, I assume it’s saved in the sense that the new changes will persist if my PC crashes. When you load the IDE, you will get whatever you last Saved. (If you crashed after some changes that you did not Save, they are lost.)

  1. Not sure what Published does. I guess it makes it public / exposes it for others, but at this point it is only “For Me”, so there’s no point for me to ever hit it until I’m actually sharing it with others, eh?

Are Save and Publish separate and either one can have more recent code, depending on which you last hit (sort of like a Dev versus Production server)?

  1. Install activates the simulator and debug log. Not sure if it causes a Save or Publish.

If you Install or Update after changing code, it will run your changes? (In other words: Install works from the interactive code window, not from the last Saved version, eh.)

  1. Not sure what’s the difference between Install and Update. I guess Install gets it running when first logging into IDE; Update causes any code changes since then to be simulated.

At this point, I am only working on my one app, and it’s only for me (with one hub).

You don’t need to answer all those questions per se, they sort of overlap. But you see what I’m wondering. I keep hitting any I think I might need to, when I probably don’t need to. If someone knows a place in the Documentation that specifically discusses this, that’d be great. I don’t see it in Editor And Simulator.

Not true as far as I know. I fully believe that you need to also “Publish - For Me” in order to be able to install or update and run the latest code on the Mobile App (i.e., on your Account without the Simulator running it); though it’s easy to build a test case to verify.

Thanks tgauchat, maybe the difference is that I am making an app that only resides on the SmartThings server, and pushes data to Google Sheets for logging. In other words, I don’t think this particular app has any presence on my phone per se. Still, it’s useful to know how this would be different, if I did have an app like that.

I don’t mean “the phone”, per se. I mean it needs to be published (“For Me”) in order to be running in the Location, even if it has no mobile interface.

Yes … you can install it without publishing using the Simulator, but that’s not a “real” installation.

1 Like

to me it seems like save works unless I change the tile layout of a device handler, then I have to publish to see results

Thanks Kevin. It looks like it might do things at several different levels, all depending on just what one’s code is doing.

I appreciate the info!