Best Practice for Deploying Patches

Certified Senior Developer

We have several process models in our Production environment that list an individual user as the process owner. We've changed our practice since they were initially deployed, using only a service account (i.e., Appian.Aministrator) for deployments but the process owner value has not changed even when patches were deployed that modified these process models. Do we need to export the processes using the Appian.Administrator account and then re-import them in order to change the process owner? Please advise. I don't want to risk having these processes fail if the listed process owner account becomes deactivated.

  Discussion posts and replies are publicly visible

Parents Reply Children
  • 0
    Certified Senior Developer
    in reply to Tim
    I'm thinking that is the best option Tim - I will have our administrator export the application and then re-import it using the administrator account. We haven't used the customization file in the past but I will look into that as well.

    Thank you all for your suggestions!
  • 0
    Certified Lead Developer
    in reply to judym598
    The deployment guidelines linked previously were for v17.1 and are horribly out of date. I think it was 17.3 that Appian amended the import procedure to not update objects that had not changed by default. Assuming you are cloud then you will have this functionality.
  • 0
    Certified Senior Developer
    in reply to Tim
    I just looked at the 18.2 version and it basically says the same thing:

    "On import, process models are published as a new version.
    If you are reimporting an existing process model, draft versions you may be working on are overwritten when the imported process model is published.
    When importing process models (for the first time) that are linked recursively, the process models are published twice - resulting in two new versions.
    Subsequent imports (updates) publish the recursively linked process models one time per import, creating one new version.

    The user performing an import is listed as the creator of notes and attachments associated with the process model, as well as the owner of the process model."
  • 0
    Certified Lead Developer
    in reply to judym598
    That's true. Hopefully someone from Appian will see this and review.
    If you look at the section around "Reading the Import Log" you will see the "Not Changed" note that links through to the Import Package docs. Here it reads:
    "When you click Import Package, the object's definition will not be updated in the target environment because there are no updates to make. The Last Modified information will remain the same as it was pre-import and no change will be made to the designer of any process models with this status."
  • 0
    Certified Lead Developer
    in reply to judym598

    Please look into a plug-in called "Re-publish process model as user". Running this against any process models where the creator is not listed as your service account will allow you to set whatever user you like as the "last publisher", which in my experience is the main factor in process model security (regardless of whichever user originally imported the process model).

    In one of my projects the service account is a dummy only and developers can't log into it, so deployment is done via personal accounts and then we run a tool I wrote a few years ago that finds all process models not last modified by the service account, and re-publishes them under the authority of the service account.

  • 0
    Certified Senior Developer
    in reply to Mike Schmitt
    Thanks Mike! I think if we just export the application using our service account and then re-import it, we should be okay. I was trying to avoid doing that. I'm also working with the cloud team because I think the 'Owner' column displayed on the Process tab in 18.1 is not correct. The 'Created by' and 'Author' columns displayed elsewhere (i.e., in the /design view) all show the service account name (Appian Administrator). So - perhaps the 'owner' is correct - but Appian has a bug in the Process tab in the /designer view.
  • 0
    Certified Lead Developer
    in reply to judym598
    Yeah - it all gets a bit confusing particularly since Appian uses different terms for these things in different contexts. For instance in /design all we see for process models is "last modified", which is different from a process model's "creator", however when a process is set to "run as designer" (i.e. in a subprocess call) it actually uses the "last modified by" user, not the creator.

    When you say "Owner column", where exactly are you looking? The default view of the Process instances listing in legacy designer lists "Started By" but this isn't really the same as "Owner", though you could be referring to something different that I'm not thinking of.
  • 0
    Certified Senior Developer
    in reply to Mike Schmitt
    If you are in 18.1 or earlier and click on the Processes tab, then view Process Models - the default column headings include: Name, Description, 'Owner', Created, Last Modified. I will try to upload a screenshot.
  • 0
    Certified Lead Developer
    in reply to judym598
    I see it now - as far as I know, "Owner" there reflects the process model's creator, but (confusingly) not the Last Published By user, which is the more important thing.
  • Hello Mike,

    this is exactly our case you mentioned above. Our service account is a dummy only and we can't log into it,
    How did you manage to find all process models not last modified by the service account? Because I am struggling with a functionality of "Process model report - models last modified by user". When I define Report Context it is showing nonsense.

    Thank you
    Juraj Buc