How to properly share AS projects

Hi everyone,

Often, code and configuration are more expressive than screenshots of an error or general text descriptions of an issue. This is true for various use cases, but of course, given the context, I am doing this with the community in mind. This article is also meant for everyone to link whenever you ask for a shared project in whatever context so you do not have to describe the process yourself.


A little data

Comparing a new project, a compiled project folder, a zipped project folder, and a properly exported project, this is what I get:

  • New project: 224KB
  • Compiled project: 17.5 MB
  • Zipped project: 6.75 MB
  • Exported project: 72 KB

This shows the discrepancy and the need for proper exports, as file sizes grow quickly. The project did not even have anything added in terms of tasks, additional hardware, technology packages, etc.

Despite it seemingly being the easiest method, the data above shows why “Right click → Add folder to zip” is the least efficient method when you want to share a project.


A little background

Leaving aside the differences between unzipped and zipped folders (google keyword for those who want to know: compression), the difference is as follows:
While the manually zipped file contains not only your actual project including tasks, configs, physical view, etc., it also contains all data your AS needs for “Undo” and also temporary data needed for compilation as well as the actually compiled files.
Since various factors influence whether a compilation needs to take place, it’s highly unlikely that anyone could actually use the project with the compiled files directly - AS will decide to compile it again anyway, making those files useless to the receiver.


A little extra care

Whenever asked for a project in order to reproduce an issue, it’s good to reduce the project to the bare minimum required to reproduce the issue.
The export allows you to do so, but it can’t ensure your project still compiles.
Therefore, please always copy your project and start removing unneeded tasks, configs, hardware, etc., until you are left with one that still reproduces the error but without irrelevant things around it.

Please also make sure that everything you share is allowed to be shared - we don’t want you to leak confidential data like algorithms, user data, etc., but only be able to help you with your actual issue!


A little how-to

Disclaimer: While there might be (and are) slight differences in the text of the dialog, I’ll share it based on my currently opened AS 6.1 - it’s mostly similar in various versions up to there and thus these steps apply anyway.

  • Start at File → Save project as zip [without Upgrades]
  • Choose a filename
  • Choose “Manual selection” or “Archive”
  • Exclude upgrades (that should be your default, but remember that whoever you share your project with only has access to those available via the B&R website / upgrade dialog)
  • Hit “Next”

If you chose “Archive”, every config and parts of the logical view are exported.
If you chose “Manual”, you get to choose yourself:

  • Once asked what you want to include (if you chose “manual selection”, do not choose “Binaries”)
  • On the next pages you can choose the objects of the logical view and the configuration(s) you want to include.

→ Hit “Finish”

Screenshot:


A little check

If you check the resulting zip, it should contain not more than “Logical”, “Physical” and maybe “Diagnosis” along with the *.apj file and a few *.set files (one per user that ever opened that project + “LastUser.set”)
If it contains either “Temp” or “Binaries” you did choose the wrong option - return to the previous section

File sizes should be in the lower MB-region usually


A little extra step for the receiver

If you want to open such an exported project, open AS and on “File->Open project” simply choose such a zip file. There is no need to unpack the project manually!

Hope this helps anyone out there,
please let me know if anything is unclear or to be corrected.

Best regards,
Michael

3 Likes

Link to this post I will share/use often :slight_smile: Thanks for that :wink: