Projections - are they still considered Beta?

I’m loving the possibilities that Projections offer, but I’m finding information on their deployment hard to find.
Is this because they’re still to be considered Beta?

If not, is there anywhere that I can find more info on how to deploy a Continuous projection using curl? The only example I can find shows transient ones.

Cheers

Rob

They are, likely coming out of beta in Q2.

The easiest way to grab for yourself before docs come out is just to
look at the http request the UI makes (it just uses the api)

Thanks, I think we’ll stick with a micro service for now, and review our choices when Projections are released.

Some of the Devs were concerned about the issues around unit testing Projections…

using NPM’s request:

import request from ‘request’;

const projection = {

name: ‘foo’,

source: ‘javascriptcodehere’,

}

request({

method: ‘POST’,

headers: {

‘Content-Type’: ‘application/json;charset=UTF-8’

},

qs: {

name: projection.name,

emit: ‘yes’,

checkpoints: ‘yes’,

enabled: ‘yes’

},

uri: ‘http://admin:[email protected]:2113/projections/continuous’,

body: projection.source,

}, (error, response, body) => {

if (error) {

return console.error(‘upload failed:’, error);

}

console.log(‘Upload successful! Server responded with:’, JSON.stringify(response, null, 2));

});

}

As an aside I’ve thrown the toys out of the pram a few times with projections from an ops and testing perspective. However easy as it is to sling mud when you’re pissed off with something, I’ve found since the 3.5 .NET embedded client release (which is what I’m using) it is far more reliable / robust and easier.

Glad things are working for you. There are a lot of changes in 3.5.0
towards higher reliability (as they move towards production). There
will be more changes up soon

Sorry for asking the same as the previous but are projections still in beta?
I’ve read they will be released with the version 4. Do you have an idea when will it be released?

Because I want to use the product with the $ce-{category} projections in a production environment. Are built-in projections in beta as well or is it just the custom ones?

And another question is if is there a different way to populate read-models rather than subscribing to $ce-{category} nor $all?

Thanks in advance.

Hi,

I’m trying to create a projection using an http post.

I’m calling the following uri

http://admin:[email protected]:2113/projections/continuous/

passing the following headers

Content-Type: application/json

but I’m not sure what I can put in the payload/body

just the projection json? where the name of the projection is specified?

Thanks

Regards

Michail

You are missing some parameters which you can see here on the controller
/projections/continuous?name={name}&type=js&enabled=true&emit=true&trackemittedstreams=true

``

I hope this helps.

Thanks Pieter. It helps, now I’m able to Post the request and the Projection is created.
I tried to post it twice and got a conflict error that make sense.

Sending the same request using PUT is returning 405 Method not allowed.

What is the way to keep up to date an existing projection from my Java code using http projection api?

I’m using the Java + Netty api so I don’t have a projectionManager wrapper like the one in .Net client api.

Thanks

Michail

You can issue a request with the updated projection in the body to the following url as a PUT
http://{your-event-store-domain}:{ext-http-port}/projections/{name}/query?emit=yes/no

``

Following your example I tried
http://127.0.0.1:2113/projections/myProjectionName/query?emit=yes
But I get 404 back

Any ideas what is going wrong?

Ok, I found the mistake. It’s ‘projection’ and not ‘projections’

Are they still beta even now?

Within the last 1 minute it has not changed. There is a lot of work
that has been done with them. Feel free to check out the 4.0 branch
which has an updated v8 and quite a few fixes on projections.