Welcome to the Canvas Technical Preview.

Hi there,
Below you'll find the stuff we've been hacking on recently, but this site is full of information about the project and its primary goal is to teach you and our co-workers how to get the most out Canvas. I suppose you probably want to Install Canvas before going any further. If you're not sure why you'd want to install Canvas, maybe read this introductory blog post on first instead.

From there, we figure you're here because you're the curious, insightful, adventurous type. You're probably a bit different and Canvas is definitely bit different. We know that people learn in different ways, so we've put together a few different styles of learning. If you're a visual learner you might enjoy the video series we're working on. If you prefer to curl up with a good book, take a look at our short stories. And if you're prefer to just get on with it, the reference documentation will be here when you need it.

-- Team Canvas and the Goat News staff

Image Repeat element

Tue Jan 16 2018 08:18:00 GMT-0700 (MST)

And the 2nd in our "infographic" focused elements. The image repeat element repeats a supplied image a given number of times up to a specified maximum. You can also, optionally, supply an image to fill out the number up to the max. In this example we've used a full bottle as the image to repeat...

Read More

Image Reveal element

Tue Jan 16 2018 08:08:00 GMT-0700 (MST)

The holidays are well and truly over and we're back!. First up, this awesome new image reveal element. This takes in a number from 0 to 1 and uses it to decide what percentage of an image to show. In the image for this post you can see it slowly moving between 0.3 and 1.0. It also takes an option...

Read More

1736 and the alignment grid

Thu Dec 21 2017 02:14:00 GMT-0700 (MST)

There's actually been a bunch of changes lately, but this was one someone had asked for and was a quick and easy win. You can now hit ALT+G to toggle an alignment grid. Eventually we'll add snapping to the layout engine and this won't be needed anymore, but it works for now.

Read More

Sub-expressions now receive context

Wed Dec 13 2017 02:32:00 GMT-0700 (MST)

This change is actually a change back. When Joe and I were designing the Canvas expression language we decided that sub-expressions would receive the same context as the function they were an argument too. We removed that for a long time because it caused problems when type checking the input...

Read More

Pages feel faster!

Tue Dec 12 2017 03:54:00 GMT-0700 (MST)

Just pushed out 0.1.1676 which makes a big change in how we manage the page stack. Previously we would render each page as it loaded. This was pretty much fine, but it meant that every element's render function had to be really fast, otherwise there would be a blank spot on the page for a moment.


Read More

Fri Dec 08 2017 09:55:00 GMT-0700 (MST)

Can you spot the difference? The color palette is now a gradient. You can turn any color palette into a gradient by setting gradient=true in the palette function. Try out the example work pad linked a few posts down. Have a good weekend everyone!

Read More

Elasticsearch SQL is coming

Fri Dec 08 2017 09:24:00 GMT-0700 (MST)

No point in rolling this into a release just yet, but I started working on support for Elasticsearch SQL so we can hit the ground running the day it's released

Read More

There's a discuss thread

Thu Dec 07 2017 05:01:00 GMT-0700 (MST)

There's a Canvas thread going on the Elastic discussion boards about Canvas. Join us to swap tips and tricks, and talk bugs and features.

Find it here: Canvas thread

Read More

Update Notifications

Thu Dec 07 2017 04:19:00 GMT-0700 (MST)

We just cut a new release (0.1.1653) that includes update notifications. Keep an eye out for the goat and information on installing new builds. We're also working to include the change information in that update notification, but that isn't there just yet.

Want to install the new build? The...

Read More

Example workpads

Wed Dec 06 2017 07:28:00 GMT-0700 (MST)

We're planning to create a library of example Canvas workpads. Here's an example...of an example (ed note: Oooh meta). This shows you how to create a custom color palette for use with pie, plot, grid and anything you create that needs a palette

To try it out...

  1. Download the example file
  2. Open the...

Read More

Wed Dec 06 2017 05:11:01 GMT-0700 (MST)

We spent some time today talking about how to do multi "series" transformation on the data table, which led me to make a change to mapColumn. The mapColumn function now receives each row as a single row datatable. I find it more pleasant to use, and if you need to get a specific column value you can...

Read More


Wed Sep 20 2017 01:00:00 GMT-0700 (MST)

Sort of a silly example of how sub-expressions work, but this sizes every point randomly. The numeric value of point= is generated by math

esdocs index="usagov*" | pointseries y="bytes" x="@timestamp" color="geo.country_code" | plot defaultStyle={seriesStyle points={math "random() * 20"}}

Read More

Hax0r interfaces!

Fri Sep 15 2017 01:01:00 GMT-0700 (MST)

You can get soooo tacky with this. Whatever, it's your ball game, play it how you want. We really need to get a library of styles going.

Read More

Wed Sep 13 2017 01:01:00 GMT-0700 (MST)

And here is that filter stuff in action. Note that it also supports all the same filters as esdocs because it uses the same bool filter building code

Read More

Timelion support!

Wed Sep 13 2017 01:01:00 GMT-0700 (MST)

I added simple support for Timelion.

Because timelion requires a time range do to its magic, I've set it up so that it takes a to and from, but can also make use of a timefilter element. If you have a timefilter, it will use that, but the local to and from with override it.

Read More

Tue Sep 12 2017 01:13:00 GMT-0700 (MST)

And here it is in compact mode. Be careful with filter elements, they affect the entire work pad. If you wonder why some esdocs function isn't returning what you want, check for a forgotten time filter. That's your culprit. Also remember that you can ignore workpad filters in any expression by...

Read More

New time filter

Tue Sep 12 2017 01:11:00 GMT-0700 (MST)

This new time filter is super excellent. It is simpler than the core time picker by design.

Canvas workpads are tailored experiences and we want you to craft each element to their exact needs. For this reason we plan to make the time picker customizable. The quick ranges won't have to be static...

Read More