Skip to content
This repository has been archived by the owner on Dec 27, 2022. It is now read-only.

Beaker 0.8.0-prerelease.8

Pre-release
Pre-release
Compare
Choose a tag to compare
@pfrazee pfrazee released this 06 Sep 18:08
· 3231 commits to master since this release

Overview:

  • Preview mode. You can now toggle a mode where changes to your dat sites are kept locally where you can review them before publishing. This mode also uses a special +preview versioned URL to show the mode. (We’ll put together lots of help docs on these updates when 0.8.0-final is released.)
  • More network stats. The network tab of a dat's source-view now gives you more information about your upload & download bandwidth usage.
  • And lots of bugfixes, of course!

About Preview Mode

We made the first 0.8.0 prerelease in March. At that time, we were looking for a better way to develop Dat sites, and we introduced a “workspaces” concept. Thanks to your feedback, we learned pretty quickly that workspaces were not quite right. They were a little too complex and difficult to use.

In prerelease.6, we replaced workspaces with a simple “bidirectional sync” to folders. That gave us a solid starting point: it was very simple to understand and still gave people the ability to build Dat sites outside the browser. However, people still wanted a way to preview their changes before publishing. The automatic sync was just not right. (We’ve also noticed that Linux has trouble watching folders efficiently with the APIs we’re using.)

In this prerelease, we’ve kept the “bidirectional syncing” folders, and we’re introducing “preview mode” on top of it. With preview mode, we finally have all the tools we need: you can set a local folder (or not!) and you can choose to review your changes before publishing.

Preview mode is a lot like the staging area in Beaker 0.7.x, but it has some key differences:

  • It’s not automatically enabled for every dat (the staging area was)
  • There are no special Web APIs for interacting with it (staging area had .commit(), .revert(), and .diff())
  • The “preview” is accessed using a special +preview version tag on the URL. (This is also readable & writable using Web APIs.)
  • Any time a change is made to the “live” version of the dat, that change is duplicated into the preview as well, overwriting any files in the preview that might be affected. (See below.)

We hope the preview mode works for everyone! Please send us your feedback. We’ll give a little more time for bugfixes, and then (unless we discovery a fatal flaw in previews) we’ll release 0.8.0 final soon!


Why do writes to the live dat overwrite the preview dat’s files?

One of the common problems we experienced with workspaces and the staging area was that changes to the live dat (by a Web API call for instance) would show in the “changes” interface as a deleted file. That’s because, from the perspective of our diffing algorithm, there’s a file in the live version that’s not in the development version, and so to “publish” the development version you’d need to delete the file.

We felt that, for now, the simplest solution would be to automatically copy changes back from the live version.