Grapher 1.3 has been released

Reason why not dedicated collection ?

We have just leveraged the feature of MongoDB nested document structure ( also our cardinality of array documents in reality will be limited)

I am still confused how can I use denormalization to serve my purpose ?

Does Grapher has no support for this kinda queries at this moment ?

Will be more happy, if you can shed some light on using denormalization for my example.

Regards

Which version of grapher are you using?

Links on nested arrays/objects are supported as of this PR.

Tests are similar to what you want to achieve.

Links for Files collection are here

Going to be integrating Grapher in to our app, and I’m trying to wrap my head around thinking relationally in Meteor.

  • Using Grapher, would it be more optimized to spread data in to multiple collections rather than single documents for non-reactive queries?
  • I see the note in the documentation about reactive queries, in those cases would it be more optimized to have the data that’s required to be reactive contained in a single document?
  • What about a scenario that is somewhat of a combination of the two? For example, our app has some product information that is mostly fine for non-reactive queries, but the quantity/stock value and price are the only variables that need to be reactive. Is there an appropriate way to optimize this type of situation?

I have one other question regarding Optimistic UI with Grapher. If I understand correctly, Meteor normally relies on pub/sub for it’s Optimistic UI implementation. Is there a way to handle this in Grapher?

Look after denormalization

Cheers

1 Like

So after the last few months building around Grapher, I’m a bit worried at noticing this:

We were told LTS is until 2024. And that if LTS wasn’t to be kept up, the project would be passed to someone who could keep it up. There’s been issues that not had been addressed for months. And now the LTS comment has been removed…?

I see another project seems to have replaced Grapher. But it admittedly also mentions it doesn’t have all the features. It certainly doesn’t feel like LTS nor it was passed to anyone to maintain it.

If we’re expected to move to the new NPM package, I would hope there would at least be some documentation for those who supported Grapher and migrating over.

To be honest, it’s kind of worrying to rely on another package if this one is being dropped from the planned LTS… Not only because of the lost features, but because it seems to be a strategy to encourage people to move to the new framework. And since features from Grapher were already removed, this could be the beginning of a trend that would cause problems if us Meteor users rely on the package.

Anyway, I mean no offense by this and I give respect where respect is due. I am a fan of the work on Redis Oplog and Grapher. I just have to be honest about the concerns, as I was hesitant to move over but I finally made the change, and now after months of work it feels a bit like a bait and switch to remove the LTS.

1 Like

To be frank I used to suffer with this in the past up until 3-4 years ago when I decided to read everything I use and make sure my forks don’t depend on unmaintained originals, or at least I am able to fork something and move on.
On the other hand, there are many packages where people raise issues but send no PRs. The open source culture depreciated into a “grab and go” kind of attitude. Personal contribution is essential to the growth of open source.
I totally understand Theo from the Cult of Coders. Had interest and motivation and later lost them or put them into something different. He did not feel obliged to provide an update or replacement and I totally understand that.
Sincerely, if you are a fan o the work on Redis Oplog and Grapher I feel the best thing you could do is to become the maintainer of those or support those packages with some PRs sent to their Meteor Community versions.

5 Likes

Or support it with some money.
Everything has a cost.

Cheers

1 Like

I understand losing the motivation, but I just wish the commitment of finding someone to maintain it would have been kept as well, as that wouldn’t have led to feeling as abandoned as quietly removing the LTS. It makes it worrying to support the new projects and rely on them as they might be dropped as well.

I don’t believe I have the knowledge to be a maintainer, but I would do what I could to support it if necessary.

Transitioning to Nova hopefully wouldn’t be that bad either, if there was at least a path for us to move over. If you’re reactive with Grapher it lost much of those big performance gains anyway, so it wouldn’t be a big deal to do reactivity with Meteor. But is it going to require a big refactor? And will LTS actually be maintained on Nova? Kinda reluctant to try after spending a few months with Grapher already, but may have to do it after the next deadline.

with a small change to the aggregate function, Grapher seems to perform well with Meteor 2.6 (Mongo 5). So … will see from here.
To be frank, I considered Theo living the environment from my first adoption of Grapher and I structured my methods so that I can replace Grapher with anything else and I designed my schemas to make sure I don’t have to use joint reactivity (reactivity over aggregations). If you don’t use reactivity over Grapher, Nova could possibly be easily adopted. I did not research yet the Mongo native complex queries in the latest version. I see Studio 3T can query Mongo with SQL like language so I expect this is the future of deserialization in my Meteor projects (as a replacement for Grapher).

You’d maybe share this modification ?
Thanks

/grapher-master/lib/aggregate.js. new code:

import { Promise } from 'meteor/promise'

Mongo.Collection.prototype.aggregate = function (pipelines, options = {}) {
  return Promise.await(this.rawCollection().aggregate(pipelines).toArray())
}

1 Like

We could discuss how to keep grapher maintained.

One option of course is Meteor Community Packages and other option is Meteor Compat.

What do you guys think?

3 Likes

That’s what I suspect, but with a deadline coming up, I’m not able to experiment with Nova right now.

Any way to keep it maintained would be greatly appreciated! I just hope all the effort put in to Grapher the last few months won’t be for naught, that’s my primary concern.

We can’t keep all the opensource around Meteor maintained but we can help organize it in the Meteor compat org and provide releases/reviews when necessary.

Let’s see if the community wants to adopt it or not.

1 Like

Well, we are forgetting the creator and owner of the package. If @diaconutheodor agrees, then I have no problem taking it under community packages.

1 Like

I’m not excluding @diaconutheodor but as he is not going to support it anymore I would guess he would like help from the community to keep all the users supported.

But let’s see if he wants to say something here :wink:

2 Likes

Hi @filipenevola @storyteller
For the record, Theodor already stated on the community slack that he was ready to open the maintenance rights to the community. See printscreen attached.

If you two could unlock this, that would be great !

3 Likes

I’m reaching out to him.

3 Likes

Thank you @victor.

@storyteller let me know if you need help.

1 Like

Any updates on this?

One concern I have is for deployment on to MongoDB Atlas, as I believe they now require Meteor 2.6.

Last time I had checked, Grapher was not working with 2.6. Wondering if this was resolved?