Accelerating Meteor Mastery

Good insight, @ramez - especially for someone on the outside, looking in.

Good to know about Semantic UI (both @ramez and @Fabian): my apps all use multi-dimensional recursive taxonomies, so I’m really interested in UI toolkits that have good support for treeviews and mindmaps…

Great advice, @sacha - thanks very much. Respect for the objectivity and customer-focus. I will probably take you up on the offer, when I can get to it. Flat-out on an unrelated deadline…

Thanks, @maxhodges. It wasn’t so much resistance as a desire to minimise the learning overhead in switching. I have to confess to not understanding a lot of the second half of your post, but the parts that I do understand intrigue me, because they may provide easier, native solutions to deliver functionality that I thought I would have to custom-build myself. I will definitely need to go into it in a bit more depth…

Let me know what you’re not sure about, and I’ll be happy to try and explain.

Additional resources


https://docs.mongodb.com/manual/core/data-modeling-introduction/

Yes, that’s absolutely the right way to build a tutorial, start simple. Trouble is, once you are done this tutorial and want to build an app with, say, many to many relationships, there are literally exactly zero pieces of official documentation on how to do so, not in any tutorials nor in the guide. That’s what has me stumped so far as a newbie coming to Meteor, namely where do I go next to find the canonical way to do it. It’s almost a deal breaker for me on deciding whether or not to use Meteor, the fact that the official documentation lacks real world use cases.

I see many-to-many relationships as more of a mongodb data modeling issue, than a Meteor issue.

did you find your answer? this may help
http://seanhess.github.io/2012/02/01/mongodb_relational.html#many-to-many-relationships

1 Like

Yes! I used to pass along the todo list tutorial to people so they could see the magic, but I wouldn’t send them to the new one (at least not with the intention of pulling in your average wordpress/php/basic agency developer). I would send it to a experienced full-stack js dev.

it is nice this is getting people away from “meteor isn’t production ready”.

MDG should sponsor LevelUpTuts to create more videos. He does an amazing job but I think is having trouble getting people to pay for the tutorials… MDG already links to his tutorial on their website and the video has 80k views… and his react + meteor videos are 100000X better than the MDG text tutorial.

I’m sure levelup (scott) would focus more on Meteor content if he was able to know a steady stream of sponsorship income was coming in to justify it… even if it was just buying advertising off his website/placement in the videos for galaxy or sponsored content anything! He doesn’t need to get rich off of sponsorship-- just offset his risk a little.

PS - I AM NOT SCOTT, lol

But I recognize solid material when I see.

4 Likes

Yeah, I had take a few days to teach Meteor to my new employees myself, because honestly, the 1.3 tutorial is not suitable for completely new users.

1 Like

I wonder if that’s true. What is trivial in MongoDB becomes very complicated in Meteor due to DDP architecture, and keeping client and server data in sync while maintaining reactivity. In fact, the guide clearly states that DDP breaks the optimal way to model data in MongoDB.

This is why reywood:publish-composite exists, to solve this problem, eg maintaining reactivity across related documents.

Many people have opinions about this topic, but none I’ve come across so far have actually done it, eg built a many to many data relationship. Let me know if you have, and if it worked out ok for you. Thanks. :slight_smile:

wasn’t your question answered here?

What we do is pull data from both collections and map them together.

There is no requirement to use MongoDB reactively with Meteor, other than a self-imposed one. You can just as readily go the “traditional” route - which in Meteor terms most closely equates to call/method. For most apps, reactivity is needed only in a few key areas at most. My reasons for choosing Meteor are speed of development, awesome community, committed backing, and reactivity, in that order.

2 Likes

any progress with your tutorials to dramatically accelerate learning Meteor with your Deliberate Mastery™ techniques?

1 Like

funny but mean

20chars

1 Like

Interesting. I guess I hand not considered that, since all the tutorials seem so focused on reactivity. Are you aware of a tutorial that uses your more simplified approach?

Thanks,

PJ

I believe he’s simply talking about Meteor.call(‘method’). It basically works similar to an ajax call, where you can make a request to the server, the server sends back an error and/or a response, and then you can do another function based upon the result.

I’ll try to help out as I believe the Meteor documentation is horribly lacking for new users at the moment (I have some new employees who struggle with the poor documentation and have to answer questions for them all day… which is a shame because prior to 1.3 there were no issues!)

For a basic example…

On server you can create a method:

Meteor.methods({
    // example method
    testMethod: function (myString) {
         
        // Perform any checks/validation here. In case of any issues, you can return {error:true, errorMessage: "my error message"}

        var newString =  'You entered string: ' + myString;
        
        return {
            new_string: newString
        }
    }
});

Then on your client side, inside a click event:

Meteor.call('testMethod', "Original String", function (error, result) {
                if(error) {
                     // insert code to handle errors here
                }
          
                if(result.new_string) {
                    console.log('Received: ' + result.new_string);
                }
            });

Note: I did not test this example out, so I’m not sure if it would work without any touch ups, but hopefully this will at least give you an idea of where to go with this! You can use methods to retrieve objects of data, or use it alongside your router to redirect to new pages, anything you would like!

whichi video tutorial did you use? Tuts+?

@GaryBartlett here is what you need!

http://www.meteorkitchen.com/

Thanks, @maxhodges. Can see how that could be part of it.

1 Like

Levelup tutorials were/are great. This is what we started our Meteor learning.