September 11, 2024
April 4, 2018
Blog

Speckle 1

While some are closing shop, we're just getting started 🙌 Today marks the release of the 1.0.0-beta version of the Speckle API & Server.

Dimitrie Stefanescu
CEO at Speckle
Contents

Introduction

While some are closing shop, we're just getting started 🙌 Today marks the release of the 1.0.0-beta version of the Speckle API & Server. It includes, besides easter eggs and bugs, a mature & enriched API that lays the groundwork for future functionality to be grown, specifically in regards with comments, history/versioning and project management.

Going forward, all 1.*.* releases will be backwards compatible.

The Admin App

A long since needed ecosystem piece, current features are the following:

  • search & filter your streams & the streams shared with you.
  • manage stream permissions: share & grant read/write access to coworkers.
  • edit stream names and other properties
  • archive & delete streams, and more...

The Viewer App

Thanks to the hard steady work of @mswaidan's commits squeezed in between milling the world's best vinyl cabinets, the viewer got revamped:

  • improved ui
  • better login flow
  • searching through your streams
  • more supported geometries (almost all!) and more...

The Server & API

The API has been simplified and cleaned up. Before we had ±36 endpoints dealing with essentially three models (accounts, streams and objects). Now we have ±34 endpoints dealing with 5 models (accounts, streams, objects, comments and projects). The docs have been updated.

Server side api versioning is now also in place, which means that going forward, different api versions can be concurrently served. So you're looking at api/v1 and api/v0, for example.

I've eliminated the silly payloads for POST/PUT endpoints and opted for direct provision of a ${object} in the request body. Furthermore, responses have been simplified and unified: any server response inherits from a ResponseBase, and results will be either in the resource or resources key, depending on the request (get one/get multiple).

Permissions

The biggest changes here are the introduction of a simple permissions system that can be controlled on streams via the admin app.

Permissions are not limited to streams though, they have been extended to all models besides users. Furthermore, you can explicitly turn on "anonymous comments" for easier input gathering without forcing outside users to register.

Resources can be marked as "private", in which case only the persons that have access can get to. You can explicitly share a stream with someone, in which case this stream will show up in that user's stream list too. You can grant read or write access.

Comments

Streams, objects, projects and comments themselves can now receive comments. The comments model has been rethought and some scaffolding is there for the future, namely:

  • you can assign comments to other users
  • comments can be resolved or not
  • comments can have labels
  • comments can have saved views attached to them
  • comments can have a url to a screenshot (for graphical annotations)

Projects

Projects are essentially a collection of streams and users (and, uh, other projects - yes, you can have sub-projects!). They should help organise your workflow easier in the future once they are exposed through a ui in the admin app and various plugins.

They can receive comments, which should allow you to create multiple stream-wide issues and generally have wider discussions.

The .NET SDK

SpeckleCore and all its dependents (namely SpeckleRhino and SpeckleView) have been updated, and the new api methods and models have been generated and incorporated. Do report any bugs or inconsistencies you might find!

Migration & Testing

I've deployed hestia.speckle.works as a test server for all of you to use. To start playing:

  1. Download the latest version of the Rhino & Gh plugins (breaks backwards compatibility!)
  2. Create an account using https://hestia.speckle.works/api/v1 as the server url.
  3. You're good to go. The admin app is at /admin and the viewer at /view.

⚠️ s003.speckle.works is still operational with the pre 1.0.0 update. Do not update your plugins if you want to maintain using s003!

Please be aware though that s003 will be retired at one point. [update] s003 has been retired now.

Kudos

This would have been impossible without the support and hard work of @mswaidan, @luis, @will, the brave beta-testers at HENN & that nice company that makes Rhino.

What's Next

Join us at SpeckleCon, where you and your team can present projects you are proud of. Showcase how you leveraged Speckle's connected and collaborative aspect, and let’s shape the future of AEC together!

More about SpeckleCon!

Subscribe to Speckle News

Stay updated on the amazing tools coming from the talented Speckle community.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Author
Dimitrie Stefanescu
CEO at Speckle

Visit LinkedIn