Versions

Hi,

Is there any best practice considering the number of versions an object can have?

Is there any limit to the number of versions an object can have?

Whats the effect of having more versions of an object performance-wise?

 

Thanks and Regards

  Discussion posts and replies are publicly visible

  • 0
    Certified Lead Developer

    Is there any best practice considering the number of versions an object can have?
    I think we dont have any best practice regarding Object Versions. We have best practice for naming convention for the Objects.
    Here it is : A unique PREFIX and an object naming convention has been defined and followed for all objects.
    Visit the link "docs.appian.com/.../Standard_Object_Names.html".
    Managing Object Versions : docs.appian.com/.../Managing_Object_Versions.html


    Is there any limit to the number of versions an object can have?
    I think there is no limit as it always refers latest version during execution.

    Whats the effect of having more versions of an object performance-wise?
    I think you dont have any performance issues. It may take some disk space but it may not cause any performance issues.
    Refer the below link for more details :
    docs.appian.com/.../objects-view.html
    Versions (Single-choice)- Opens a versions modal that allow designers to open previous versions of objects.
    Connected Systems, Constants, Decisions, Documents, Expression Rules, Integrations, Interfaces, Process Models, Query Rules, and Web APIs all have a versioning capability.

     

    Thanks,

    Ravi.

  • In regards to best practices for versions of objects in Appian, I'm not aware of any.

    I think in general minimizing the versions is good for maintenance and tracking of real changes. Some developers like to save very often incrementally for fear of losing work, which is fine, but can make it difficult later on to track the trail of "real" changes. To minimize these, you could probably do something similar to "squashing commits" in git. Basically, if you've saved several times for a particular change or enhancement and are satisfied with your final development version for that increment of work, you could delete your own previous versions that were related to that particular change or enhancement you've done. This is not to be confused with deleting all previous versions of the object, that would be bad.
  • 0
    Certified Lead Developer
    There is no such limitation for version. But it is always better to have one version per release/sprint/story (or logical completion of development phase).
    So as best practice developer can always make sure that they are deleting all their intermittent version at the end of development
  • 0
    Certified Senior Developer
    The only thing this should really have an affect on is storage space, but it would have to be a very, very extreme case in order for there to be any detriments from this. However, one other side effect is lack of value if there are a ton of versions. As Larry mentioned, a good practice might be to, when making a change and saving often in order to not lose or to test your changes, only keep the final version of your change and delete the others. This way the versions would be more tied to actual commits or releases rather than having tons of versions for every small change that was made while trying to get something to work and it would be much simpler to compare the versions if trying to determine which one is potentially causing an issue.
  • I think others have already provided good feedback, I would add that per the Knowledge base(links below), there can be a performance hit if an object has a very large number of versions. Usually this would be constants that are being updated by the system on a recurring basis.

    community.appian.com/.../kb-1314-how-to-address-high-memory-usage-in-appian-cloud-environments
    community.appian.com/.../kb-1226-content-collaboration-engine-consumes-high-memory