Contributing to vNext

Have we passed a tollgate for contributions yet? I would like to start contributing to the development of the second iteration. I feel like there is a list of features and requests that need to get added with a general idea of how you want them done, and I would love to help speed up vNext’s release.

4 Likes

Really happy to hear this :slight_smile:
Help is always greatly appreciated, so big thanks for asking about it!

It depends on the kind of stuff you want to work on and how much time you are able/willing to invest in learning about the internals. A significant part of the API surface is still undocumented and not all preliminary comments/docs that have been written so far have necessarily stayed accurate throughout the refactors.

With that said, there is a significant amount of polishing work to do in several areas which have kind of stabilized now. Also, it probably wouldn’t hurt to get some early feedback from the community on how it is to work with the new version in the first place. This would help us improve on aspects that matter for plugin developers.

By all means feel free to go ahead and open/comment if you see any issue you’d be interested in picking up. We can take it from there :slight_smile:

3 Likes

Absolutely @brandonseydel Please come join us in working on vNext along with anyone else from the community who reads this :smile:

A good place to start is by looking through the RFC issues in the aurelia/aurelia repo. There may be some there that you want to provide feedback on or perhaps help to work on. You may also see something that’s missing that you want to create an RFC for. If you’re looking to ease in to the process, then one big open area we have is to port a number of the plugins from vCurrent over to our vNext monorepo and fix them up to ensure they work with the new build process and new framework versions. So, this would be things like i18n, store, fetch-client, validation, etc.

Let me know what interests you most and I’ll try to guide you and get you connected with the right people. Thanks!

3 Likes

Assuming that the last timestamp in this thread is in the year 2019, can @brandonseydel post an update of the status of all issues @EisenbergEffect proposed above. It might be good to create a new repository (community helping vnext?) and ask someone at the core team to moderate that repo. The primary benefactors would be the participating community members and @EisenbergEffect could see the status of that project at all times.

3 Likes

Encouraged by two likes, I want to explain the term create a new repository (community helping vnext?) and ask someone at the core team to moderate that repo.

I did spend a lot of time building the context for coordinating the proposed effort where community members would expand the aurelia documentation. After getting a lot of positive feedback and over 20 volunteers for that project, it crashed and burned because the project management infrastructure was perceived as to complex. So, let me explain what is that I am proposing now:

  • create a repository with the idea of using it’s project management components:

  • assign a core team member to moderate this project, by defining the tasks benefiting the core team efforts and match these tasks with volunteers.

I created a model of such infrastructure here .

Two obvious choices for a moderator are the folks stating some affection for this idea and I am pretty sure that @EisenbergEffect will not mind supervising this effort as well.

1 Like

@adriatic Can you outline in a bit more detail what would be the goals and output of the group working in this new repo? The core team is pretty busy right now preparing Aurelia 2, all new documentation, new tools, updated plugins, AoT, etc. There are plenty of opportunities for interested community members to get involved in that. So, I’d like to understand better how this project would relate to what the core team is already working on and what time commitment it would involve from one of the team.

2 Likes

Sure thing - here is my reasoning:

  1. Based on @brandonseydel’s original post, @fkleuver’s comment, and @EisenbergEffect’s invitation to the community, I assumed that this invitation (come join us in working on vNext along with anyone else from the community who reads this), may result with 5-10 volunteers.

  2. Managing efforts of that many volunteers could be a lot easier - and the whole community could see what is happening in this context, by looking into this simple management tool.

  3. For this to work someone needs to spend a few minutes a day to populate it initially with tasks that @EisenbergEffect proposed:

    • one big open area we have is to port a number of the plugins from vCurrent over to our vNext monorepo and fix them up to ensure they work with the new build process and new framework versions
    • looking through the RFC issues in the aurelia/aurelia repo

Making sense? I clearly show the signs of OCD - so feel free to vote me down if you fell like it.

1 Like

Ah @adriatic! I think I understand now. You may be making some assumptions based on the way we handled Aurelia 1. As you probably recall (and no doubt ran into friction with), Aurelia 1 was split across dozens of repos. It was hard to find all the pieces or even know what was going on. It was just as much a pain point for the core team in the end as it was for the community. So, we completely changed our approach for Aurelia 2.

Everything related to Aurelia 2 resides in a single monorepo and is managed in that one place. That repo can be found here:

Here’s a list of what you will find in this repo:

  • The source for all of Aurelia 2 and all of its official plugins.
  • The tooling plugins, such as anything special for webpack, for example.
  • The new Aurelia test library, used to test Aurelia 2 and for user app testing.
  • Over 50,000 unit and integration tests.
  • Example applications.
  • Standard benchmarks.
  • Engineering notes.
  • End-user documentation.

Beyond that, you will also find all bugs, features, etc. for Aurelia 2 tracked in that same repo. This includes all RFCs. We also keep the RFCs we most want feedback on pinned to the top of the issue list at all times. Additionally, we have some milestones setup. We haven’t been as diligent about maintaining those because it is difficult to predict things with an open source team. I can work on updating those. Right now, the 0.5.0 milestone is the most relevant.

Since my original announcement here, I am happy to say that we have had increased community participation on the development of Aurelia 2. I manage the core team and typically work to help specific contributors get hooked into the areas they want to work on.

All that is to say, I don’t think we need a separate repo or management infrastructure, as we’ve significantly overhauled everything related to that for Aurelia 2. It’s working so well that I can with great pride say that I am no longer the primary contributor on Aurelia 2 :smile:

7 Likes

Thanks for such detailed explanation @EisenbergEffect. My very first response to it will be to get familiar with monorepo and then with the Aurelia 2 "parts contained in that monorepo.

After that, I will take a close look at the issue “one big open area we have is to port a number of the plugins from vCurrent over to our vNext monorepo and fix them up to ensure they work with the new build process and new framework versions”.

If this is something that “fits in my backyard”, I would like to help that effort as a good exercise to “meet” Aurelia 2.

At this point, I would raise my original question on managing such work:

  • Do I tell you that I would like to work on xxx to get the green light or red light if someone is already working on xxx?
  • If I have questions - to whom do turn to?
  • … and many more

Knowing your workload and seeing @bigopon’s likes in this discussion, perhaps you can join me in asking @bigopon to act as a coordinator here. :slight_smile:

I’m the person to talk to, yes. Usually, if there’s an open issue or RFC, you just ping that issue and say you are interested in helping in the development. If there’s no issue representing something important to you, then just open an issue and we use that to start discussion. I’ve got @bigopon busy working on other things like Aurelia 2 focus, portal, and other fun bits. I’d like to keep him focused on that if possible :slight_smile:

1 Like

Understand and share your concerns about developer’s focus “maintenance”. I just had a very pleasant experience “conversing textually” with @bigopon couple years ago.

If you can provide me with some (likely internal) document that can start some with decent understanding of Aurelia 1 to start with some small scale helping in remaining Aurelia 2 issues (porting plugins is likely a candidate) - I would appreciate such help. Otherwise I will wait until such document becomes available and will work on prototyping the Aurelia1 WordPress project. Either way I need to start with learning monorepo

1 Like

At this time, the best document on status and work to be done is the monorepo’s issue list, which can be found here: https://github.com/aurelia/aurelia/issues

1 Like

Once I discovered the folder

https://github.com/aurelia/aurelia/tree/master/docs

I saw the bright light and thought just for a moment, that my three years worth of bitching about Aurelia docs did make an impact on Aurelia team. Kudos to all that contributed to that collection with a sincere “thank you” for recreating my enthusiasm for Aurelia. A large section of the issues discussed at Why Aurelia Struggles to Gain Popularity is being addressed in front of my eyes

3 Likes