Version control

Currently BSt is keeping the project in a proprietary .bsdesign file that cannot be version controlled and thus is unfit for team collaboration or proper project management.

Is it in the plans to make is version controllable?

Thank you for the suggestion!

Unfortunately it won't be possible to change the format that Bootstrap Studio uses. But it is possible to use Git's Large File Storage extension to keep it as a binary file in git (if this is your version control software of choice).

How does BS recommend working together in team then? We tried to work with different designs & pages but that is not ideal of course, since you want to reuse what the other has built.

The easiest way to collaborate is to keep your bsdesign files in Dropbox/Google Drive/One Drive. It would be awesome if we had real time collaborative editing, but for now having a shared .bsdesign file is the best that can be done.

im having the same issue can we have a managed site be shared between people that would be a step forward for team colabs you can put a add site to manage feature

Hi Martin, I'm starting to use BS on my company that normally works with teams. We are facing now the problem of version control and the solution you wrote is the same we are thinkng to use. Of course a GIT integrated functionality is what we expect to have in the (near) future because not having it makes difficult to collaborative work on a prototype. I see also that this is a very commmon request. As a suggestion, a way to do this without fully support GIT inside BS can be to let BS to work not only with the proprietary .bsdesign format but with the generated version of the site (that is made by .html, .css, etc. text files that can be used with GIT as usual). In this way we can easily team working in this way:

1) create a new prototye with BS (as usual) 2) export the prototype in the full exploded format (.html, .css, etc.) - feature already implemented in BS 3) push the full BS exported prototype directory under GIT (as you will do with a normal code directory on GIT) 4) When a team user wants to work with the prototype, just fetch the dir from GIT, open BS and tell it to "import the design from full web site directory" (this should be the new feature to implement) 5) When to modifications are complete, the user just have to repeat the steps 2 and 3, eventually merging modifications done meanwhile from other team users.

Regards Christian

While this isn't ideal, you can just create a directory on your hard drive, init a git repo in the directory, and export the site from the app into the directory. As you make changes/tweaks within Bootstrap Studio, you can just export, add the files to a commit with a comment and push them to GitHub or wherever.

Folks who use this for SEO, etc. might want to track tags, anchors, etc. over time and this would enable you to do so, albeit in HTML, not Bootstrap Studio.

While this isn’t ideal, you can just create a directory on your hard drive, init a git repo in the directory, and export the site from the app into the directory. As you make changes/tweaks within Bootstrap Studio, you can just export, add the files to a commit with a comment and push them to GitHub or wherever.

What you wrote is exactly what I mean in steps 2 and 3, but the problem is that to complete the team working you need to do also the step 5 (that needs the new “import the design from full web site directory” functionality in BS).

Hoping BS will soon support a way to effectively team working on its projects. I spent hours and take a project risk to convince my developers to buy and use BS, and they all asking for such improvement. How should I disappoint them? :-D

What you wrote is exactly what I mean in steps 2 and 3, but the problem is that to complete the team working you need to do also the step 5 (that needs the new “import the design from full web site directory” functionality in BS).

I mean "step 4" not 5.

Hello we +1 this feature, because there is so much companies where there is not only one ergonom, designer, or that kind of people. And we think that BS must not be locked for only independant workers (right, no ?). There would be more users (and more buyer hehe) if BS was really able to work for teams.

And that's not the case. :(

Ok, you can version the "bsdesign" package but it's only interesting to save your personal work, not for team work. Indeed : in a team, we want to be able at least to work on different pages and don't generate conflicts when we push. The core problem is this zip binary package, because obviously, if I'm working on Page1, and my colleague on Page2, nor Git nor any other versioning system could merge our different work, even if we didn't touch same things.

We +1 this feature as well. Checking to see what other teams may be doing to achieve this.

Hi We have found that the lack of being able to merge into the .bsdesign file from different, collaborating users an absolute show stopper. We (a team of 7) use git with feature/bug fix branches and we absolutely need to be able to merge within the .bsdesign file. I understand that the .bsdesgn sile is a compressed/encoded text file (xml/json...). So if this was changed to clear text, we would have a chance to merge. Alternatively, as someone suggested, and import from the exported files to .bsdesign would also work. This issue will cause us to abandon Bootstrap Studio, sadly. GavinGrayCt

@Martin This really should be a huge priority for your team. Anybody who knows a thing about HTML, CSS, JS, or web design in general is probably also used to a version control workflow. Not being able to see a text diff when a teammate changes a word or two is absurd (and Google Drive is no better, as there is again no diff). If the .bsdesign file is a compressed JSON file, then just provide the option to store projects in that JSON format. Give it a .bsdesign.json extension or something so its not a breaking change. It’s not like your format is some well-kept secret, so let us use it with existing version control tools!

Seeing a textual diff of a huge json file is not as useful as it may seem - most of the diff would be taken up by changes in system properties that won’t make much sense to an ordinary person. And something simple like moving a few component to a different place in the design will produce a diff that’s incomprehensible.

But where the real problem is, is with merging. If there is a conflict in the bsdesign json, it would be impossible to merge correctly by hand. This will only flood our support inbox with broken designs that we have to fix.

This is why we prefer to treat the bsdesign as binary. Maybe we can find a way to do visual comparisons between designs in Bootstrap Studio itself, so that it’s easy to see what’s changed. This could be used as a git diff tool, making the workflow easier.

Hello @martin, thanks for your answer !

I think the main goal in all those threads where we ask for versioning is not to “be able to see the diff” or to make manual modification inside. But : being able to version and work with multiple people without major conflict.

If there is a conflict, being able to see the diff “visually” would be a good thing ok.

But the main problem is that for now, the binary file forbids totally the share with other because if

  • master in state A
  • my colleague made a modif A1 and pushed so state B now in master
  • in the same time I made a modif A2 in another page, other component than my colleague… arg

I know it’s not easy to find the best solution :slight_smile:

But really, for the moment this excellent tool with so much functionalities… can only be used by independant workers and not teams (even little teams of just 2 or 3), and that’s sad. Lack of many new potential users for you :slight_smile:

For wireframes/design, teams are using Figma and now Penpot, but… Penpot is only in SVG mode, instead of all in real DOM and real CSS here in this Bootstrap editor, so natively responsive etc. Waaay better.

I have had built websites with a partner for years, and we save the website files on a dropbox business account, and have a simple system to ensure neither of us tries to open/edit the same website at the same time.

You can do collaborative work on websites, just not in real-time, which I (personally) would never want anyway. I mean, I guess in some cases it might be helpful to be able to have the same website open on two different machines, and to watch one person do something while the other person/people watch, or vice-versa, but interactive collaboration sounds like two people trying to paint a picture on the same canvas at the same time. Ugh!

Collaboration can be achieved by other methods besides actually being able to have two people edit a single site at the same time. IDK, perhaps this is desirable to some web developers in some environments, but personally, I want to be left alone when I’m building a site, and when the changes are done, I just save the file and then let my partner open it, or I can publish the site to a domain where both can see the changes made. In an office environment, you can even have multiple devices log into the preview website address to see the updates in real time so many people at once can give feedback to the person currently editing the website.

Multi-user collaboration is not an easy thing to achieve without cloud-based software. Google sheets allows such collaboration, and I find it confusing even when I’m on Skype and have another person editing the same spreadsheet at the same time that I am. The cursor is jumping around on its own. One person is anticipating what the other is going to do, or does it first, or simultaneously. Just seems like a recipe for headaches to me, but who knows?

To each his or her own workflow.

But I also say, just how much do you expect from a $60 program? Webflow is 4 times the price of BSS, and you have to pay EVERY YEAR and even though it’s cloud-based, it cannot support this sort of multi-user collaboration in the Designer (though they do say multiple users can access the Editor simultaneously. I don’t use Webflow so I don’t know what this means, but it’s obviously not an easy thing to implement.) I know of no website builder that allows more than one developer to edit a live website page at the same time.

I know this isn’t exactly easy but since working as a team with BS is kind of the problem, shouldn’t a possible solution be to add a live share collaboration feature similar to the one Visual Studio Code has? Whilst being able to work in the same file parallelly as a team, the file format won’t have to be changed at all. I truly believe this feature would make Bootstrap Studio a major competitor in front end design as well.