Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.

Branch Clutter!

adrian_vlzkzadrian_vlzkz Member, pcbaevp Posts: 289 PRO
edited June 11 in Product Feedback

Branches are really powerful and enable some unique collaboration, BUT in my experience they are the agents of chaos in our environment…

The problem is given they occur at the Document level, when a document has many tabs, you are essentially creating copies of up to dozens of components, most of which are not necessary for iteration of the design. While our best practice is not to build project in a single document, that is the path of least resistance in Onshape, and it continues to run wild with users.

In my experience as CAD Admin/Manager it is NOT best practice to version parts/assemblies (components) that did not change, and even worst practice to create unnecessary copies of components. And yes, they are copies, because for all intents and purposes they clutter and proliferate in the Onshape environment.

In this context I'm submitting a few Improvements Requests, but am really interested in here from other users/admins on this topic:

-Introduce Twigs:

-These are "small branches", basically allow to branch a single tab, any references for that tab, would automatically reference the Main Branch or corresponding linked Document
-Eliminates unused baggage data

-Filter-Out components in Branches:
-When searching and browsing to insert components, exclude any components that exist is a branch, only show what is part of a Main Branch
-This should be an Enterprise configuration setting, so that it can be enabled or disabled per environment needs

-Limit actions in Branch Workspaces:
-ie: Creating a Revision, Moving a Tab, Branch of a branch…
-Basically a way to force user to perform major events like this from the Main, again, this should be an Enterprise Configuration option



Adrian V. | Onshape Ambassador
CAD Engineering Manager

Comments

  • jelte_steur814jelte_steur814 Member Posts: 489 PRO

    hmm, seems you're asking for a lot of complications in the product for this issue:

    "While our best practice is not to build project in a single document, that is the path of least resistance in Onshape, and it continues to run wild with users"

    Twigs are the same as splitting off a tab into a doc and versioning it separately. If you can't get your users to do that, how would you enforce the use of twigs?
    Aren't your users looking for an easier to use library for the components they keep inserting?

    Perhaps you should reframe your question and ask other CAD admins/managers how they solve this.
    don't get me wrong: I don't have a solution for you, just a hunch that a more realistic solution in your control may be found in another direction than changing the branching functionality…

    e.g.: hey CAD admins? how do i get my users to keep/create/split off components into seperate documents, rather than in a tab within the project?
    you could even go and ask your users where the hurdle is that they experience against doing this…

  • martin_kopplowmartin_kopplow Member Posts: 808 PRO

    I'd think that many parts come into extistence, maybe as an idea first, inside some existing document. That is just the way things go as we work while we still think about it. At some point, when the part becomes more concrete, we wish we had started it as an extra document, but then it's already too late.

    In my previous CAD, there was an option named "Externalize Part" or the like. On activation, it would create an external document with the part selected and replace all internal instances already existing with an inserted one. That was pretty easy and the CAD users in the office used it a lot, because it actually helped to create clear overview when collaborating. Documents could have their own versions and the like. They could be individually locked/released, too. Colleagues could develop an improved version of such parts and everyone could update his design using the latest version. That was all good. During externalization, outside references were broken, though, and that was bad. Still it was an acceptable trade-off in in the situation, given there were super strong direct modelling options available.

    In Onshape, we do have something similar, with the "Move to …" option, but it is not as easy. It moves some referenced tabs together with the part to be moved. For the user, this action and it's outcome is hard to predict, because he might not be aware of all references existing at the time and might regret it later. Also, when using this option, a warning box pops open, not only telling, but warning the user about this, while not offering an immediate solution to the dilemma.

    So, to solve the issue, and instead of adding more complexity, it might be a good approach to reconsider how moving parts to their own/new documents works in Onshape, and rather help and motivate CAD users to keep best practise.

  • adrian_vlzkzadrian_vlzkz Member, pcbaevp Posts: 289 PRO

    Agree, again I acknowledge just following "Best Practice" is a solution, that being said is not realistic, we have over 300 users, most of which use the tool sporadically maybe every few months or a couple times a year, that's the nature of our business. Not all Designs go through a release process where we monitor/enforce best practices.

    Most Enterprise level systems have some "guardrails" you can configure to mitigate issues like this, and that is why believe this should be enterprise configuration options, so that only those of us that benefit, would enable them.

    Adrian V. | Onshape Ambassador
    CAD Engineering Manager
  • EvanReeseEvanReese Member, Mentor Posts: 2,406 ✭✭✭✭✭

    This sounds like a combination of things: Onshape could add some more guard rail functionality, AND a best practice needs to be developed and made explicit at your company. I personally don't see value in the twigs thing, and it could add an exponential level of complexity to the version graph.

    Functionality I'm interested in:

    • granular permissions for branches - There's value in thinking of each branch as "owned" by a certain person, and it could be valuable to give the ability to prevent everyone but the owner of a branch for editing it. There could be a single "Branch Settings" dialogue for branch permissions which lets you specify users, and certain action limitations (like releasing).
    • selecting which branches are visible to import or search - As you say, it can become cluttered when you have 6 copies of the same part in 6 branches. It would be great to have a way to mark some branches as important, and others as not. It could be as easy as the "critical" branch items always sort to the top, but they're all still there. Even this could be part of the Branch Settings menu.
    • An easy way to tell who made which branch - As with all collaborative environments, it's easier to add things than clean them up because it's risky to remove clutter that you didn't make and may not understand. It's the same reason shop spaces are usually a mess. Things flow into them freely, but no one knows what's garbage. If there were an easy way for people to know who made a branch they can ask them if it can be deleted now.

    But there will always be a branch hygiene element to it, which is a sociological problem, not a software problem. It's about setting and keeping SoPs for how branches are and aren't used. An easy one could be to ask people to append their name to the branch name so it's obvious who to ask about it. Another could be getting clear on the CAD strategy before beginning a project. Before any work is done the whole project team should understand how data flows through the design, and at what milestone the project should split into multiple documents. (Often a good practice is to start in 1 doc while things are changing a lot, then split out once the design is beginning to gel). No amount of Onshape functionality can replace the team's mutual understanding of the CAD plan and SoPs. It's a compound challenge involving people, process, and tools, and the solution needs to address all 3. I help with this stuff at www.theonsherpa.com.

    Evan Reese
    The Onsherpa | Reach peak Onshape productivity
    www.theonsherpa.com
  • adrian_vlzkzadrian_vlzkz Member, pcbaevp Posts: 289 PRO

    Much appreciate your input @EvanReese, given we already have Workspace Protections, my assumption is that the framework is already there to implement some controls like the ones we mention.

    And again I reiterate that best practices and procedures are paramount, Onshape themselves on all their training content always show large projects hosted on a single Document, these promote those behaviors across the user-base. Onshape is a really powerful Data Management tool, but I still believe it needs to become more robust in that space.

    Adrian V. | Onshape Ambassador
    CAD Engineering Manager
Sign In or Register to comment.