dotnet / orleans

Cloud Native application framework for .NET
https://docs.microsoft.com/dotnet/orleans
MIT License
10.04k stars 2.02k forks source link

Restructure documentation #2111

Closed ReubenBond closed 6 years ago

ReubenBond commented 8 years ago

.NET Rocks Ep 1338 - Akka.NET 1.1 with Aaron Stannard reminded me of a conversation I've had with several people recently about on-premise deployment in Orleans. People are confused about it and that's our problem.

We should have a clearly defined deployment section in the docs.

Generally speaking, the documentation should be rearranged. I took some inspiration from the ASP.NET Docs & had a first pass at it.

Is there anything you would change about this structure? Maybe a patterns section? Help wanted :)

gabikliot commented 8 years ago

I like parts of your suggestion, but what confuses me (in the current docs as well), is the duplication between Tutorials and Development. What goes into Tutorials if all concepts are described in Development?

Also, what about Advanced concepts? There are a lot of things you don't want to throw on people as they start learning the basics. Like complex async patterns with Thread Pool and external scheduler. Where does this go?

ReubenBond commented 8 years ago

Good point, @gabikliot. Maybe the async/etc comments belong in a Best Practices section.

Tutorials are all self-contained and complete, but perhaps they should be moved to the bottom under a section with Tutorials, Videos, & Articles.

Would that be better?

There's no obvious way to know if something is advanced or basic. Currently the Advanced Concepts section is a grab-bag of so many things, eg: monitoring, timers & reminders, powershell, "garbage collection" (a term we should stop using - grains are never garbage), deployment to Azure Web Apps, Immutable, Serialization. At the very least, those entries need to be re-sorted.

EDIT: I updated the table of contents

ashkan-saeedi-mazdeh commented 8 years ago

@ReubenBond I think your suggestions make sense Reuben a lot , my 2 cents here. 1- We should talk about failure handling as well (maybe you forgot to list, I did an initial attempt which is in step by step tutorials) 2- I agree with Gabbi about tutorials and development guide, however I think everything and everything should be included in development guide, all conceptual information should be there and I should not go to step-by-step tutorials for any reason other than the desire to follow a tutorial.

Also we should add a reference. There are things which are not included like all variations of GetGrain and ClassPrefixNames and making different front-ends and more details about making membership providers and ... as ell , I could go on but instead let's create a plan of actions and start doing it :)

ReubenBond commented 8 years ago

@ashkan-saeedi-mazdeh I added API Reference to the bottom and Handling Failures under Grains. I've moved the tutorials to a section designed for links to tutorials, presentations and articles

sergeybykov commented 8 years ago

I like this very much. I think we can try to break the Advanced Concepts section into smaller better focused ones: Performance is already there, maybe Concurrency & Threading to encapsulate a number of topics, Integration with other frameworks and libraries, etc.

richorama commented 8 years ago

Looks good.

Have you intentionally removed the 'installation' section? I think this is quite a useful part of the docs, particularly the nuget packages page.

ReubenBond commented 8 years ago

@richorama it wasn't intentional - I've added it back. Thanks for pointing that out @sergeybykov I renamed the section on Reentrancy to Concurrency & Threading and moved [Reentrant] underneath it. Thanks

ashkan-saeedi-mazdeh commented 8 years ago

@ReubenBond Why I can not see your changes? neither the API reference nor the change of advanced concepts. Are you doing it in another branch/fork? I opened http://dotnet.github.io/orleans and they were not there.

ReubenBond commented 8 years ago

@ashkan-saeedi-mazdeh I am editing the original post. This is just an outline of the intended changes rather than a PR. It's a request for comments (and hopefully commits)

ashkan-saeedi-mazdeh commented 8 years ago

@ReubenBond Aha, Since you said "I added ..." "I did" ... I thought you are doing some of these. Hopefully I'll find time and do some of it.

chris-eaton commented 7 years ago

Hi...

Improving the docs is a great idea, if it helps heres a few comments

moswald commented 7 years ago

The new Stack Overflow Docs stuff is really nice. Moving there may solve a lot of issues people have with the current documentation, as well as bring things in line with what Microsoft is currently aiming for (they are one of the major backers of SO Docs).

ashkan-saeedi-mazdeh commented 7 years ago

@moswald Your tag on SO needs to have certain reputation before you can create a docs site there. By their definition and in reality as well, we are still a not so popular technology.

@chris-eaton Awesome man! I hope we can create a good doc story as what Reuben suggested above and put it in place soon. For me, As soon as I finish my CouchBase provider for Orleans, I'll put my OSS time on the Orleans docs.

richorama commented 7 years ago

I have started work on this (this may take some time...):

https://richorama.github.io/orleans/Documentation/Introduction/Introduction.html

https://github.com/richorama/orleans/tree/gh-pages

ReubenBond commented 6 years ago

I think we don't need to track this anymore - the original proposal here has been superseded, anyway, so this issue doesn't serve much purpose.