code: def process_form(self, instance, field, form, empty_marker=None,
                       emptyReturnsMarker=False):
          
          value = []
  
          # selected services
          service_uids = form.get("uids", [])
          # defined partitions
          partitions = form.get("Partition", [])
          partitions = partitions and partitions[0] or {}
          # hidden services
          hidden_services = form.get("Hidden", {})
  
          # get the service objects
          services = map(api.get_object_by_uid, service_uids)
          # get dependencies
          dependencies = map(lambda s: s.getServiceDependencies(), services)
          dependencies = list(itertools.chain.from_iterable(dependencies))
          # Merge dependencies and services
          services = set(services + dependencies)
  
          # get the profile
          profile_uid = form.get("AnalysisProfile_uid")
          if profile_uid:
              profile = api.get_object_by_uid(profile_uid)
              # update the services with those from the profile
              services.update(profile.getService())
  
          as_settings = []
          for service in services:
              service_uid = api.get_uid(service)
              value.append({
                  "service_uid": service_uid,
                  "partition": partitions.get(service_uid, "part-1")
              })
  
              hidden = hidden_services.get(service_uid, "") == "on"
              as_settings.append({"uid": service_uid, "hidden": hidden})
  
          # set the analysis services settings
          instance.setAnalysisServicesSettings(as_settings)
  
          # This returns the value for the Analyses Schema Field
          return value, {}
docs: Return a list of dictionaries fit for ARTemplate/Analyses field
             consumption.