cli-microsoft365 icon indicating copy to clipboard operation
cli-microsoft365 copied to clipboard

Reflect the GitHub wiki and our docs

Open Jwaegebaert opened this issue 2 years ago • 22 comments

Originates from: https://github.com/pnp/cli-microsoft365/pull/4456#discussion_r1263855988

The idea is to review our current GitHub wiki docs and possibly move all of them to our docs. When we do this we should make sure all the links that reference the GitHub wiki also update to the new location.

ToDo

Done

Jwaegebaert avatar Jul 23 '23 19:07 Jwaegebaert

Putting this on hold until #4456 is merged as this covers a few of these pages

Jwaegebaert avatar Jul 23 '23 19:07 Jwaegebaert

What's the reasoning behind this change? The reason for keeping contributors docs in a wiki was the thinking that we've got two distinct audiences: contributors and users. User have generally no need to be on GitHub so all information for them is published in the docs. On the other hand, contributors spend more time on GitHub so we want to make docs readily available to them without sending them to another location and having them switch back and forth between the repo and the docs.

waldekmastykarz avatar Jul 24 '23 06:07 waldekmastykarz

TBH I feel like how we have it now is ok. Similar to what @waldekmastykarz said, in web we have things like: how to use? Why to use? What are the commands? What are the features? Etc. All things a CLI use needs in a nice and guided form. Extending CLI is quite unique that IMO only few folks do. In this case the part to understand how to contribute properly, how we are gonna review the PR etc. May be found here, on our repo. Maybe before we change that we could open a question to our community in discord 🤔? @pnp/cli-for-microsoft-365-maintainers any other feedback?

Adam-it avatar Jul 24 '23 06:07 Adam-it

What's the reasoning behind this change?

Pardon me for the confusion, I didn't provide the full context regarding this issue. This issue originates from PR #4456 where we will add a completely new section to our docs that's all about contributing to the cli. That will make it so the wiki becomes a bit redundant because information for our contributors will also be found on our site. At the moment the PR isn't merged yet so I was waiting on that until opening up the discussion here 😄

Honestly, I find the user experience regarding reading and navigating through an article way better than on GH wiki. I remember when I first started contributing that I found it rather difficult to gather all the resources that talk about how you can contribute. That's what we are aiming to enhance with the expanded getting started guide (with contributing) in the docs.

Jwaegebaert avatar Jul 24 '23 07:07 Jwaegebaert

Thanks for clarifying @Jwaegebaert. When you say you struggled to find the necessary information to contribute: was it lack of specific content or the fact that even as a contributor you needed some information that was only in docs?

What do you think about the possibly disjointed experience where the code is in GitHub but the docs about contributing in the docs which are best accessible through a separate website?

waldekmastykarz avatar Jul 24 '23 07:07 waldekmastykarz

Partially because of lack of content but I was already aware of this because I noticed this issue #2834. When I was doing some testing locally I always had the docs and GitHub open to do some research.

What do you think about the possibly disjointed experience where the code is in GitHub but the docs about contributing in the docs which are best accessible through a separate website?

How would you envision this? Currently, the guide I wrote up already includes partial segments of code to make everything a bit clearer. E.g.

https://github.com/pnp/cli-microsoft365/blob/2df7eaca1db225699645aad08ad357288946e1dc/docs/docs/contribute/new-command/build-command-logic.mdx#L51-L63

Jwaegebaert avatar Jul 24 '23 08:07 Jwaegebaert

My original thinking was that by having the docs for contributors in the Wiki they're closer to the code and a part of the same repo UX. In other words, you don't need to go to another place to look at the info you need to contribute. Thinking of it some more though, when contributing you're not in GitHub, you're in the IDE, so perhaps we should consider how we could bring the docs there.

Having the guidance in the docs folder brings it closer to the code in the IDE, but I think we're missing discoverability and navigation. I wonder if it's something that we could solve with .md or if we'd need an extension that can reason about the part of command you're working on and can over you contextually relevant guidance inside the IDE.

Another thing that we need to consider is how mdx is rendered inside the IDE so that you're not missing anything important.

waldekmastykarz avatar Jul 24 '23 08:07 waldekmastykarz

Personally, I think it doesn't really matter where our contribution docs are hosted. At least, it doesn't matter to me. But I have to say, there are some benefits if we move it to our docs website.

The most obvious one is of course that our docs a visually more appealing and nicer to read.

Apart from that, in the past, we had a few people creating issues in our backlog because there were outdated stuff/typos/broken links/... in our contribution docs. Then I always had to disappoint them because they couldn't fix it themselves, only maintainers can edit these wiki pages. If we move it to our docs, everyone would be able to fix/enhance these pages which benefits everyone.

Another benefit would be that our AI assistant would be able to answer questions about contributing.

As I mentioned before, I can live with both scenarios. If we host it in GitHub, I'm fine, if we host it on our docs, also good for me. To be honest I don't understand why these guides shouldn't be hosted on our docs website. As long as they are accessible and centrally located in 1 place, it's good, right?

As far as I know, most of the PnP solutions are hosting their contribution guidelines on their docs. So actually it seems like we are currently the odd one out 😊

milanholemans avatar Jul 24 '23 13:07 milanholemans

Our current decision is a couple years old now so we can definitely revisit it as things have changed. I suggest that we look specifically at the developer experience of our contributors and how can we make it as convenient as possible for them to lookup docs as they're working on the different issues.

Before we commit to a solution, let's look at different options that we could consider.

waldekmastykarz avatar Jul 24 '23 17:07 waldekmastykarz

As mentioned before, I'm kinda neutral here. Both approaches are fine. But when I put the pros and cons next to each other, in my opinion, there's a clear winner being moving it to our docs. Since Jasey also made a huge PR already that has been reviewed a couple of times, it would be sad for him to have to drop this PR.

I suggest that we look specifically at the developer experience of our contributors and how can we make it as convenient as possible for them to lookup docs as they're working on the different issues.

These guidelines are just to get people started. New contributors will read them once, maybe twice but it's not something that that needs to be consulted often. Discoverability is indeed important, but to be honest they are easier to discover in our docs than on GH. When I started contributing to PnP projects I just checked their docs website for a getting started guide. I wasn't even aware that something like GH Wiki pages existed.

In Jasey's PR, we're explaining how to set up your fork and clone it locally. I think if you don't know how to set up a fork, you probably don't know there's something like GH Wiki pages either.

One thing we could do is host it on our docs and create 1 GH Wiki page that points them to the right page on our docs.

milanholemans avatar Jul 24 '23 18:07 milanholemans

I'm a little confused about why this discussion is arising now. Honestly, I'm okay with both approaches, but a lot of work has already gone into creating the PR that adds this to the docs and it would be a bummer to delay this yet again.

Having the guidance in the docs folder brings it closer to the code in the IDE, but I think we're missing discoverability and navigation. I wonder if it's something that we could solve with .md or if we'd need an extension that can reason about the part of command you're working on and can over you contextually relevant guidance inside the IDE.

The docs that have been written are quite extensive and reference a real command, so users can always have a peek in their IDE at how spo group get is implemented.

Jwaegebaert avatar Jul 24 '23 18:07 Jwaegebaert

....Thinking of it some more though, when contributing you're not in GitHub, you're in the IDE, so perhaps we should consider how we could bring the docs there.

VS Code extension 😁. Just saying 😋 plus the current PnP CLI for M365 VS Code extension already exposes our docs (docs coming from the website not wiki) directly in VS Code. Currently, we only show command docs but it will be an easy feature to implement to add some other pages like regarding contributing. aaaand we also may integrate our AI search directly in this extension (it is already on my neverending ToDo list 😁). So to sum up, another argument to those that @milanholemans pointed out (BTW awesome suggestions) to have more docs in website rather than in GH wiki is that it will be easier to add it to CLI for M365 VS Code extension

Adam-it avatar Jul 24 '23 23:07 Adam-it

I'm a little confused about why this discussion is arising now. Honestly, I'm okay with both approaches, but a lot of work has already gone into creating the PR that adds this to the docs and it would be a bummer to delay this yet again.

Sorry for that. TBH I have a feeling I created this confusion in the first place 🙏. But TBH there is sooo many going on that it's hard to catch up plus this transfer from GH wiki to the website with contributor docs I think is something most of us (maintainers) should have a check and chance to express an opinion, even if it takes a bit more time, let's revisit this and pick the best option

Adam-it avatar Jul 25 '23 00:07 Adam-it

Update after an internal call. We'll move our wiki information to the docs as the GitHub wiki feature isn't handy with several pages. As soon as #4456 is merged we'll review what additional changes need to be made.

Jwaegebaert avatar Jul 30 '23 12:07 Jwaegebaert

#4456 has been merged, do we need some additional info or should we open this one up?

milanholemans avatar Aug 12 '23 19:08 milanholemans

'On hold' can definitely be removed here.

For each page, I updated the specs with the pages that currently exist on the docs site. For the others I've the following suggestions:

Suggestion: Let's rewrite this with some handy links to the docs that talks about certain topics.

Could this be removed?

Suggestion: We include this in the docs as well.

Suggestion: We include this in the docs as well.

Suggestion: We include this in the docs as well.

Jwaegebaert avatar Aug 23 '23 12:08 Jwaegebaert

Could this be removed?

I think we can safely remove this wiki page yes.

milanholemans avatar Aug 23 '23 12:08 milanholemans

@pnp/cli-for-microsoft-365-maintainers, any further thoughts regarding this topic?

Jwaegebaert avatar Aug 28 '23 07:08 Jwaegebaert

No thoughts other that let's do it 💪

waldekmastykarz avatar Sep 03 '23 10:09 waldekmastykarz

@Jwaegebaert do you think we may (at least some parts) open up for others to contribute for hacktoberfest?

Adam-it avatar Sep 23 '23 21:09 Adam-it

That's a good idea. Should we split these tasks up into different issues and spec them out more clearly? They could be some good good first issue issues 😄

Jwaegebaert avatar Sep 24 '23 16:09 Jwaegebaert

yes. let's do that. do you need help with that?

Adam-it avatar Sep 24 '23 18:09 Adam-it