Posted by & filed under FAQ, Help, Restructure101, Structure101.

So you just opened a Repository project, edited the Architecture diagrams, only to discover that there is no way to save your edits! What is going on here?!

Our project model is somewhat convoluted – there is a sort of logic behind it, but it can be a nightmare if you dare to deviate from how we want you to use it!

The intended usage is that you maintain both a “Local” project, and an associated “Repository” project. (You can literally “associate” the Local project with the Repository when you publish for the first time).

The Local project maintains the location of the bytecode (as well as other stuff), is the source of the Architecture diagrams, and is where the bytecode is parsed. It is easy to change the bytecode locations from the Local project, and it is in the Local project that you edit diagrams.

The associated Repository project is where you publish structural snaphots and the architecture diagrams, from a Local project. The bytecode location is really just stored in a Repository for info – the Repository project can be opened from anywhere, so the location of the original bytecode on the publisher’s machine is kind of arbitrary.

As the architect, you should do all your work in the Local project, and publish snapshots and Architecture diagrams (when they change) to the Repository project. A good rule of thumb is to never open a repository project. The only time you read from the Repository is to do a structural comparison (model/whats new?…) from your Local project. (You can also think of your local project as the most recent snapshot of the associated Repository project, and the place you do the work).

Everyone else on the team reads from the Repository, to open a project in the client, or pick up Architecture diagrams and reference snapshots in the IDE plugins. (The web app also uses the Repository).

It works perfectly well to publish structural snapshots headless at build time using Structure101 Build, rather than from the interactive client, and to only use the latter to edit and publish Architecture diagrams – this is also intended usage.

Once you deviate from intended usage, things are less straightforward. You should contact support if you are not sure of the best way to set things up for your project. There is usually several ways to set things up, about one of which will work…

(And a get-out, if you have made changes to the Architecture diagrams from a Repository and don’t want to lose the changes: in the Architecture perspective, diagram list (top left), Options menu, export. Then you can import the same files into the/a Local project (where you should have done the edits in the first place!))

Leave a Reply

Your email address will not be published. Required fields are marked *