Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revising contribution docs (Lombiq Technologies: OCORE-154) #15706

Merged
merged 35 commits into from
Apr 23, 2024
Merged
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
055ea71
Facebook is still Facebook, even if owned by Meta
Piedone Apr 8, 2024
a654036
Typo
Piedone Apr 8, 2024
acdf6fe
Adding note about Windows Mkdocs builds
Piedone Apr 8, 2024
82f098c
Updating release publishing workflow with posting that we can actuall…
Piedone Apr 8, 2024
23bbf44
Moving docs contributions
Piedone Apr 8, 2024
4a59fa0
Removing duplicated link
Piedone Apr 8, 2024
713b2d6
Adding contribution docs
Piedone Apr 8, 2024
7a2d4ef
Adding PR review docs
Piedone Apr 9, 2024
47034d8
Adding more code contribution docs
Piedone Apr 9, 2024
d428c14
Fix unrecognized relative links in the docs
Piedone Apr 9, 2024
dbc40f8
Merge remote-tracking branch 'origin/issue/OCORE-155' into issue/OCOR…
Piedone Apr 9, 2024
ab1962f
Fixing more links
Piedone Apr 9, 2024
352319c
Merge remote-tracking branch 'origin/issue/OCORE-155' into issue/OCOR…
Piedone Apr 9, 2024
fd0d224
Removing outdated warning
Piedone Apr 9, 2024
281f5c9
Adding test drive docs
Piedone Apr 9, 2024
b0142b1
Improving contrib docs
Piedone Apr 9, 2024
afaf61a
Missing menu link
Piedone Apr 9, 2024
183da0e
DRYing Readmes
Piedone Apr 9, 2024
c83e246
Test drive link in Readme
Piedone Apr 9, 2024
6864541
Moving contribution guide to /guides
Piedone Apr 9, 2024
0a95b7a
Note on handling first-time contributors
Piedone Apr 9, 2024
07ad20e
Internal links
Piedone Apr 9, 2024
2665d10
Grammar, typos
Piedone Apr 9, 2024
e4f71d7
Clarifying Try Orchard Core deletion
Piedone Apr 9, 2024
120c6fd
Update security policy too
Piedone Apr 9, 2024
17feff1
PR comment trick
Piedone Apr 9, 2024
98cd5a7
Adding PR template
Piedone Apr 9, 2024
9194af5
Fixing CoC link
Piedone Apr 9, 2024
693e367
Adding notes about sorting issues
Piedone Apr 9, 2024
fe2c935
More review docs
Piedone Apr 10, 2024
0e0c285
Merge remote-tracking branch 'origin/main' into issue/OCORE-154-contr…
Piedone Apr 22, 2024
03bd458
Adding note for external contributors on reviews
Piedone Apr 22, 2024
23db21e
Merge remote-tracking branch 'official/main' into issue/OCORE-154-con…
Piedone Apr 23, 2024
e5d29cb
Typos/grammar
Piedone Apr 23, 2024
a3a68dc
More grammar
Piedone Apr 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions CODE-OF-CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# Code of Conduct

This project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/) to clarify expected behavior in our community.
For more information see the [.NET Foundation Code of Conduct](http://www.dotnetfoundation.org/code-of-conduct).
See [Contributing to Orchard Core](https://docs.orchardcore.net/en/latest/docs/guides/contributing/) on the documentation site.
42 changes: 1 addition & 41 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,3 @@
# How to contribute

One of the easiest ways to contribute is to participate in discussions on GitHub issues. You can also contribute by submitting pull requests with code changes.

## General feedback and discussions?

Start a discussion on the [repository issue tracker](https://github.com/orchardcms/orchardcore/issues).

## Reporting security issues

Security issues should be reported privately, via email, to [email protected].

## Other discussions

Our team members also monitor other discussion forums:

* [GitHub Discussions](https://github.com/OrchardCMS/OrchardCore/discussions).

## Contributing code and content

We accept fixes and features! Here are some resources to help you get started on how to contribute code or new content.

* Look at the [documentation](/src/docs/).
* ["Help wanted" issues](https://github.com/orchardcms/orchardcore/labels/help%20wanted) - these issues are up for grabs. Comment on an issue if you want to create a fix.
* ["Good first issue" issues](https://github.com/orchardcms/orchardcore/labels/good%20first%20issue) - we think these are a good for newcomers.

### Identifying the scale

If you would like to contribute, first identify the scale of what you would like to contribute. If it is small (grammar/spelling or a bug fix) feel free to start working on a fix. If you are submitting a feature or substantial code contribution, please discuss it with the team and ensure it follows the roadmap. You might also read these two blogs posts on contributing code: [Open Source Contribution Etiquette](http://tirania.org/blog/archive/2010/Dec-31.html) by Miguel de Icaza and [Don't "Push" Your Pull Requests](https://www.igvita.com/2011/12/19/dont-push-your-pull-requests/) by Ilya Grigorik. All code submissions will be rigorously reviewed and tested by the team, and only those that meet an extremely high bar for both quality and design/roadmap appropriateness will be merged into the source.

### Submitting a pull request

You will need to sign a [Contributor License Agreement](https://cla.dotnetfoundation.org/) when submitting your pull request. To complete the Contributor License Agreement (CLA), you will need to follow the instructions provided by the CLA bot when you send the pull request. This needs to only be done once for any .NET Foundation OSS project.

If you don't know what a pull request is read this article: https://help.github.com/articles/using-pull-requests. Make sure the repository can build and all tests pass. Familiarize yourself with the project workflow and our coding conventions. The coding, style, and general engineering guidelines are published on the [Engineering guidelines](https://github.com/dotnet/aspnetcore/wiki/Engineering-guidelines) page.

### Feedback

Your pull request will now go through extensive checks by the subject matter experts on our team. Please be patient; we have hundreds of pull requests across all of our repositories. Update your pull request according to feedback until it is approved by one of the ASP.NET team members. After that, one of our team members may adjust the branch you merge into based on the expected release schedule.

## Code of conduct

See [CODE-OF-CONDUCT.md](./CODE-OF-CONDUCT.md)
See [Contributing to Orchard Core](https://docs.orchardcore.net/en/latest/docs/guides/contributing/) on the documentation site.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I moved the content of this page and reworked it to there.

44 changes: 11 additions & 33 deletions README.md
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reworked this so it doesn't overlap with src/README.md. They were partially overlapping, with conflicting information, but neither had the full picture.

We can't assume if a person will see this or the docs page first, so this now always points to the docs, apart from what's specific to the code and GitHub.

Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
# Orchard Core

Orchard Core is an open-source, modular, multi-tenant application framework and CMS for ASP.NET Core.

Orchard Core consists of two distinct projects:

- __Orchard Core Framework__: An application framework for building modular, multi-tenant applications on ASP.NET Core.
- __Orchard Core CMS__: A Web Content Management System (CMS) built on top of the Orchard Core Framework.

[![Join the chat at https://gitter.im/OrchardCMS/OrchardCore](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/OrchardCMS/OrchardCore?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![BSD-3-Clause License](https://img.shields.io/badge/license-BSD--3--Clause-blue.svg)](LICENSE)
[![Documentation](https://readthedocs.org/projects/orchardcore/badge/)](https://docs.orchardcore.net/)
[![Crowdin](https://badges.crowdin.net/orchard-core/localized.svg)](https://crowdin.com/project/orchard-core)
Expand All @@ -22,9 +23,7 @@ Nightly (`main`):
[![Build status](https://github.com/OrchardCMS/OrchardCore/actions/workflows/preview_ci.yml/badge.svg)](https://github.com/OrchardCMS/OrchardCore/actions?query=workflow%3A%22Preview+-+CI%22)
[![Cloudsmith](https://api-prd.cloudsmith.io/badges/version/orchardcore/preview/nuget/OrchardCore.Application.Cms.Targets/latest/x/?render=true&badge_token=gAAAAABey9hKFD_C-ZIpLvayS3HDsIjIorQluDs53KjIdlxoDz6Ntt1TzvMNJp7a_UWvQbsfN5nS7_0IbxCyqHZsjhmZP6cBkKforo-NqwrH5-E6QCrJ3D8%3D)](https://cloudsmith.io/~orchardcore/repos/preview/packages/detail/nuget/OrchardCore.Application.Cms.Targets/latest/)

## Status

### 1.8.2
## Project Status: v1.8.2

The software is production-ready, and capable of serving large mission-critical applications as well, and we're not aware of any fundamental bugs or missing features we deem crucial. Orchard Core continues to evolve, with each version bringing new improvements, and keeping up with the cutting-edge of .NET.

Expand All @@ -34,30 +33,24 @@ See the [issue milestones](https://github.com/OrchardCMS/OrchardCore/milestones)

## Getting Started and Documentation

The documentation can be accessed under <https://docs.orchardcore.net/>. See [the getting started docs](https://docs.orchardcore.net/en/latest/docs/getting-started/) on how to start using Orchard Core.

You can also run Orchard Core from Docker:

```
docker run --name orchardcms -p 8080:80 orchardproject/orchardcore-cms-linux:latest
```

Docker images and parameters can be found at <https://hub.docker.com/u/orchardproject/>. See [our Docker documentation](https://docs.orchardcore.net/en/latest/docs/topics/docker/) for more details, especially if you're new to Docker.
Comment on lines -37 to -45
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved this to the linked test drive page.

The documentation can be accessed under <https://docs.orchardcore.net/>. See the homepage for an overview, and [the getting started docs](https://docs.orchardcore.net/en/latest/docs/getting-started/) on how to start building apps with Orchard Core. If you'd just like to test drive Orchard Core as a user, check out [Test drive Orchard Core](https://docs.orchardcore.net/en/latest/docs/getting-started/test-drive-orchard-core/).

## Help and Support

Do you need some help with Orchard Core? Don't worry, there are ways to get help from the community:

- Did you find a bug or have a feature request? Open an issue [in the issue tracker](https://github.com/OrchardCMS/OrchardCore/issues).
- Do you have a question about how to do something with Orchard Core, or would like a second opinion on your code? Open [a discussion](https://github.com/OrchardCMS/OrchardCore/discussions).
- Do you want to chat with other community members? Check out [our Discord server](https://discord.gg/s3e2HtyPZc) and [Gitter chatroom](https://gitter.im/OrchardCMS/OrchardCore]).

## Get in Touch

- [X (Twitter)](https://twitter.com/orchardcms)
- [LinkedIn](https://www.linkedin.com/groups/13605669/)
- [Meta (Facebook)](https://www.facebook.com/OrchardCore)
- [Facebook](https://www.facebook.com/OrchardCore)
MikeAlhayek marked this conversation as resolved.
Show resolved Hide resolved
- Please report security issues privately, via email, to [[email protected]](mailto:[email protected]).

## Local Communities
### Local Communities

中文资源

Expand All @@ -67,30 +60,15 @@ Do you need some help with Orchard Core? Don't worry, there are ways to get help

It's great that you're thinking about contributing to Orchard Core! You'd join [our wonderful community of contributors](https://docs.orchardcore.net/en/latest/docs/community/).

First, clone the repository using the command `git clone https://github.com/OrchardCMS/OrchardCore.git` and checkout the `main` branch. Then, you have multiple options, see below. And when you're ready, head over to [our contribution guide](CONTRIBUTING.md).

### Command Line

1. Install the latest version of the .NET SDK from this page: <https://dotnet.microsoft.com/download>.
2. Navigate to `./OrchardCore/src/OrchardCore.Cms.Web`.
3. Run `dotnet run`.
4. Open the `http://localhost:5000` URL in your browser.

### Visual Studio

1. Download Visual Studio 2022 (v17.8+) from <https://www.visualstudio.com/downloads>.
2. Launch the solution by clicking on `OrchardCore.sln`. Give Visual Studio time to restore all missing Nuget packages.
3. Ensure `OrchardCore.Cms.Web` is set as the startup project. Then run the app.
Comment on lines -70 to -83
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is now part of the contribution docs.

Check out the docs [on contributing to Orchard Core](https://docs.orchardcore.net/en/latest/docs/guides/contributing/).

## Preview Package Feed

[![Hosted By: Cloudsmith](https://img.shields.io/badge/OSS%20hosting%20by-cloudsmith-blue?logo=cloudsmith&style=for-the-badge)](https://cloudsmith.com)

NuGet package repository hosting for the preview feed is graciously provided by [Cloudsmith](https://cloudsmith.com).
NuGet package repository hosting for the preview feed is graciously provided by [Cloudsmith](https://cloudsmith.com). Check out [the docs on using the preview package feed](https://docs.orchardcore.net/en/latest/docs/getting-started/preview-package-source/).

Cloudsmith is the only fully hosted, cloud-native, universal package management solution, that
enables your organization to create, store, and share packages in any format, to any place, with total
confidence.
Cloudsmith is the only fully hosted, cloud-native, universal package management solution, that enables your organization to create, store, and share packages in any format, to any place, with total confidence.

## Code of Conduct

Expand Down
10 changes: 9 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,12 +80,16 @@ plugins:
glob:
# Excluding the large node folder with all its MD files. We can't exclude everything apart from docs because there are links to e.g. C# files too.
- "*node_modules*"
- redirects:
redirect_maps:
'docs/topics/docs-contributions/README.md': 'docs/guides/contributing/contributing-documentation.md'

# Page tree
nav:
- About Orchard Core: README.md
- Getting started:
- Create a CMS Web application: docs/getting-started/README.md
- Test drive Orchard Core: docs/getting-started/test-drive-orchard-core.md
- Configure Preview package source: docs/getting-started/preview-package-source.md
- Recipes and Starter Themes: docs/getting-started/starter-recipes.md
- Code Generation Templates: docs/getting-started/templates/README.md
Expand All @@ -112,6 +116,11 @@ nav:
- Microsoft Entra ID (Azure AD) integration: docs/guides/microsoft-entra-id-integration/README.md
- Create a Liquid Widget: docs/guides/create-liquid-widget/README.md
- Query Content Items Based on Taxonomy: docs/guides/query-content-items-based-on-taxonomy/README.md
- Contributing:
- Contributing to Orchard Core: docs/guides/contributing/README.md
- Contributing code: docs/guides/contributing/contributing-code.md
- Contributing documentation: docs/guides/contributing/contributing-documentation.md
- Reviewing pull requests: docs/guides/contributing/reviewing-pull-requests.md
- Gulp pipeline: docs/guides/gulp-pipeline/README.md
- Key Topics:
- Manage your Content: docs/topics/content-management/README.md
Expand All @@ -125,7 +134,6 @@ nav:
# - Data: docs/topics/data/README.md
# - Configuration: docs/topics/configuration/README.md
- Workflows: docs/topics/workflows/README.md
- Contributing to the docs: docs/topics/docs-contributions/README.md
- Publishing a new release: docs/topics/publishing-releases/README.md
- Using Docker: docs/topics/docker/README.md
- Using local NuGet packages: docs/topics/local-nuget-packages/README.md
Expand Down
57 changes: 11 additions & 46 deletions src/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Orchard Core

Orchard Core is a redevelopment of [Orchard CMS](https://github.com/OrchardCMS/Orchard) on [ASP.NET Core](https://docs.microsoft.com/aspnet/core/).
Orchard Core is an open-source, modular, multi-tenant application framework and CMS for ASP.NET Core. It's a a redevelopment of [Orchard CMS](https://github.com/OrchardCMS/Orchard) on [ASP.NET Core](https://docs.microsoft.com/aspnet/core/).
Piedone marked this conversation as resolved.
Show resolved Hide resolved

Orchard Core consists of two different targets:

Expand All @@ -9,17 +9,6 @@ Orchard Core consists of two different targets:

It’s important to note the differences between the framework and the CMS. Some developers who want to develop SaaS applications will only be interested in the modular framework. Others who want to build administrable websites will focus on the CMS and build modules to enhance their sites or the whole ecosystem.

[![Join the chat at https://gitter.im/OrchardCMS/OrchardCore](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/OrchardCMS/OrchardCore?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![BSD-3-Clause License](https://img.shields.io/badge/license-BSD--3--Clause-blue.svg)](https://github.com/OrchardCMS/OrchardCore/blob/master/LICENSE)
[![Documentation](https://readthedocs.org/projects/orchardcore/badge/)](https://docs.orchardcore.net/)
[![Crowdin](https://badges.crowdin.net/orchard-core/localized.svg)](https://crowdin.com/project/orchard-core)

## Local communities

中文资源

[![Orchard Core CN 中文讨论组](docs/assets/images/orchard-core-cn-community-logo.png)](https://shang.qq.com/wpa/qunwpa?idkey=48721591a71ee7586316604a7a4ee99d26fd977c6120370a06585085a5936f62)
Comment on lines -12 to -21
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are better in the root Readme, displayed on GitHub.


## Building Software as a Service (SaaS) solutions with the Orchard Core Framework

It’s very important to understand the Orchard Core Framework is distributed independently from the CMS on nuget.org. We’ve made some sample applications on <https://github.com/OrchardCMS/OrchardCore.Samples> that will guide you on how to build **modular** and **multi-tenant** applications using just Orchard Core Framework without any of the CMS specific features.
Expand Down Expand Up @@ -52,56 +41,32 @@ Orchard Core CMS is a complete rewrite of Orchard CMS on ASP.NET Core. It’s no

- **GraphQL**. We provide a very flexible GraphQL API, such that any authorized external application can reuse your content, like SPA applications or static site generators.

### Different website building strategies

!!! tip
Check out [the Reference of Built-in Modules](docs/reference/README.md) to see what kind of features Orchard Core provides built-in.

## Different website building strategies

Orchard Core CMS supports all major site building strategies:

- **Full CMS**. In this mode, the website uses a theme and templates to render your content, aiming for little to no custom development at all.

- **Decoupled CMS**. The site starts off blank, apart from the content management back-end. You create all the templates you need with Razor Pages or MVC actions and access your content via the content services. Ref: <https://www.youtube.com/watch?v=yWpz8p-oaKg>
- **Decoupled CMS**. The site starts off blank, apart from the content management back-end. You create all the templates you need with Razor Pages or MVC actions and access your content via the content services. See [Using Orchard Core as a Decoupled CMS on YouTube](https://www.youtube.com/watch?v=yWpz8p-oaKg).

- **Headless CMS**. The site only manages the content, and you create a separate application that will fetch the managed content using GraphQL or REST APIs. Ref: <https://www.youtube.com/watch?v=4o9zG17cfa0>
- **Headless CMS**. The site only manages the content, and you create a separate application that will fetch the managed content using GraphQL or REST APIs. See [Sebastien Ros on Headless CMS with Orchard Core on YouTube](https://www.youtube.com/watch?v=4o9zG17cfa0).

## Status

The latest released version of Orchard Core is `1.8.2`.
The release notes can be found on <https://github.com/OrchardCMS/OrchardCore/releases/tag/v1.8.2>

Here is a more detailed [roadmap](https://github.com/OrchardCMS/OrchardCore/wiki/Roadmap).
The latest released version of Orchard Core is `1.8.2`. The release notes can be found under [Releases](docs/releases/1.8.2.md).

## Getting Started

- Clone the repository using the command `git clone https://github.com/OrchardCMS/OrchardCore.git` and checkout the `main` branch for the latest release, or the `dev` branch for the cutting-edge version.
- Watch the ASP.NET Community Standup video where Orchard Core was demonstrated: <https://www.youtube.com/watch?v=HeDjv3blBjQ&t=2246s&list=PL1rZQsJPBU2StolNg0aqvQswETPcYnNKL&index=24>
- See [our getting started guide](docs/getting-started/README.md) or [test drive Orchard Core](docs/getting-started/test-drive-orchard-core.md).
- Watch the [ASP.NET Community Standup video where Orchard Core was demonstrated](https://www.youtube.com/watch?v=HeDjv3blBjQ&t=2246s&list=PL1rZQsJPBU2StolNg0aqvQswETPcYnNKL&index=24).
- Follow the samples on <https://github.com/OrchardCMS/OrchardCore.Samples> that will guide you on how to build **modular** and **multi-tenant** applications
- Follow the tutorial inside the [Training Demo Module](https://github.com/Lombiq/Orchard-Training-Demo-Module) to learn how to develop Orchard Core modules.
- Follow [Dojo Course 3 - the full Orchard Core tutorial](https://orcharddojo.net/orchard-training/dojo-course-3-the-full-orchard-core-tutorial).

### Command line

- Install the latest version of the .NET SDK from this page <https://dotnet.microsoft.com/download>
- Next, navigate to `D:\OrchardCore\src\OrchardCore.Cms.Web` or wherever your folder is on the commandline in Administrator mode.
- Call `dotnet run`.
- Then open the `http://localhost:5000` URL in your browser.

You can also read the [Code Generation Templates documentation](docs/getting-started/templates/README.md) to create new applications from predefined templates.

### Visual Studio

For more details on the various development tools we recommend for using with Orchard Core check out [the Development Tools documentation page](docs/resources/development-tools/README.md).

- Download Visual Studio 2022 (any edition) from <https://www.visualstudio.com/downloads/>.
- Open `OrchardCore.sln` and wait for Visual Studio to restore all Nuget packages.
- Ensure `OrchardCore.Cms.Web` is the startup project and run it.
- Optionally install the [Lombiq Orchard Visual Studio Extension](https://marketplace.visualstudio.com/items?itemName=LombiqVisualStudioExtension.LombiqOrchardVisualStudioExtension) to add some useful utilities to your Visual Studio such as an error log watcher or a dependency injector.
- Optionally install the [code snippets from the Orchard Dojo Library](https://orcharddojo.net/orchard-resources/CoreLibrary/Utilities/VisualStudioSnippets/) to quickly generate code in some common scenarios during module and theme development.

### Docker

- Run `docker run --name orchardcms orchardproject/orchardcore-cms-linux:latest`

Docker images and parameters can be found at <https://hub.docker.com/u/orchardproject/>

Comment on lines -81 to -105
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is now all part of the contribution docs and the test drive page (Docker). Here it wasn't useful, because cloning the full source is not how we want to people to start when building an OC app for themselves. I revised the getting started docs for this too.

## Showcasing Orchard Core CMS

<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/Gfy5SCACyL8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
Loading
Loading