Uploaded image for project: 'GPII - Global Public Inclusive Infrastructure'
  1. GPII - Global Public Inclusive Infrastructure
  2. GPII-1230

Take isRunning into consideration on updates, starting and stopping applications

    Details

      Description

      • We need to be confident that the thing in "start" can actually start the application and that
        the thing in "stop" can actually stop the application. Because there is the possibility that we
        might need to positively stop the application when e.g. doing an update.
      • This requires a new kind of settingsHandler - a launch settings handler, that will allow a special
        option called "starting" that given a value true will make the application run, and given the value false
        will make the application stop
      • When a user logs in to a machine and "isRunning" for application X is true, we will run the "update"
        block instead of the "start" block, to ensure that settings are properly applied to the running application
      • When running "start" and "stop" from an update block, we would ignore any output from "isRunning" and send
        false to the "starting" option for launch settings handlers inside "stop" and true to that option inside "start"

      solutions:

      {
          "name": "Atom..."
          "settingsHandlers": {
              "configFiles": [
                  config.cson whatever    
              ],
              "morePersonalSettings": [
                  keymap.cson settings hander,
                  themes.cson settings handler
              ],
              "launchRelatedSettings": [
                  ....
              ]
          },
          "configure": [
              "settings.configFiles",
              "settings.anotherConfig",
              { ... some some apm thing ...},
              "settings.morePersonalSettings",
              { ... some other apm thing ... }
          ],
          "restore": [
              "settings.configFiles",
              { ... run apm cache clean ... },
              "settings.morePersonalSettings"  
          ],
          "update": [ 
              //Keywords: "start", "stop", "configure" are allowed here as well, and 
              // and will result in launching the respective block
              "settings.configFiles",
              { /*... run apm update https://github.com/atom/apm ...*/ },
              "settings.morePersonalSettings"
          ],
          "start": [
              "settings.launchRelatedSettings",
              { ... start atom ... }
          ],
          "stop": [
              "settings.killRelatedSettings",
              { ... stop atom ... }
          ],
          "isInstalled": { ... },
      
          // Not yet supported. Post-Cloud4All features.
          "install": [ ... ],                         
          "uninstall": [ ... ],
          "makeConfigurable": [ ... ],
          "isRunning": { ... },
          "isConfigurable": { ... }
      }
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jhernandez Javier Hernández
                Reporter:
                kasper Kasper Markus
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated: