Skip to content

Commit c3707f0

Browse files
authored
Initial repo docs (dotnet#32)
* Initial README.md * Add getting-started.md * Add issue-guide.md
1 parent b68f3ff commit c3707f0

File tree

3 files changed

+241
-5
lines changed

3 files changed

+241
-5
lines changed

Documentation/getting-started.md

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Getting started with WPF for .NET Core
2+
3+
4+
5+
## Installation
6+
7+
Choose one of these options:
8+
9+
1. Official public preview [.NET Core 3.0 SDK Preview 1](https://www.microsoft.com/net/download), or
10+
2. [Daily build](https://aka.ms/netcore3sdk) (for more installer options see [dotnet/code-sdk repo](https://github.com/dotnet/core-sdk)).
11+
12+
**WARNING:** There is currently no XAML Designer support for WPF for .NET Core.
13+
If you want to use the XAML Designer, you will need to do that in the context of a .NET Framework project, e.g. by "linking" the .NET Core source files into a .NET Framework project.
14+
15+
16+
17+
## Creating new applications
18+
19+
You can create a new WPF application with `dotnet new` command, using the new templates for WPF.
20+
21+
In your favorite console run:
22+
23+
```cmd
24+
dotnet new wpf -o MyWPFApp
25+
cd MyWPFApp
26+
dotnet run
27+
```
28+
29+
30+
## Samples
31+
32+
Check out the .NET Core 3.0 WPF [samples](https://github.com/dotnet/samples/tree/master/wpf) for HelloWorld examples and more advanced scenarios.

Documentation/issue-guide.md

+114
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# Issue Guide
2+
3+
This page outlines how WPF team thinks about and handles issues.
4+
For us, issues on GitHub represent actionable work that should be done at some future point.
5+
It may be as simple as a small product or test bug or as large as the work tracking the design of a new feature.
6+
7+
We will keep issues open even if the WPF team internally has no plans to address them in an upcoming release, as long as we believe they are in line with our direction.
8+
9+
10+
11+
## How to file issues
12+
13+
You can help us streamline our response time to your feedback and ideas by filing high-quality reports.
14+
15+
### High-quality bugs
16+
17+
In general, try to be specific. Get straight to the main point. Leave additional details, options and alternatives to the end (hint: separate them visually). Don't write long bug reports, unless you have to.
18+
19+
* Include a minimal repro in your bug if at all possible (chop off dependencies, remove as much code as possible). If it is not possible, say why.
20+
* Note: Yes, it may take some time to minimize a repro from your larger app - but that is exactly what we would do in most cases anyway. Issues with clear small repros are easier for us to reproduce/investigate and therefore have higher chance to be addressed quickly.
21+
* Include callstacks, symptom description, or what is the difference between actual and expected behavior.
22+
23+
### High-quality features and API suggestions
24+
25+
Provide clear description of your suggestion. Explain scenarios in which it would be helpful and why (motivation).
26+
Ideally, assume that the reader has minimal knowledge and experience with writing apps/libraries that would benefit from the feature.
27+
28+
For API suggestions, check [API review process](https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/api-review-process.md), especially [example of good API proposals](https://github.com/dotnet/corefx/issues/271).
29+
30+
31+
32+
## Labels
33+
34+
We use GitHub [labels](https://github.com/dotnet/wpf/labels) on our issues in order to classify them. We have the following categories per issue:
35+
36+
* **Issue Type**: These labels classify the type of issue. We use the following types:
37+
* [api-suggestion](https://github.com/dotnet/wpf/labels/api-suggestion): Issues which would add new APIs (see [API Review process](https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/api-review-process.md) for details).
38+
* Note: WPF API process is not finalized yet. We may need to add additional UI-specific steps to it (e.g. accessibility review). Expect finalized API review process post-3.0 when we will be ready to take new APIs.
39+
* [bug](https://github.com/dotnet/wpf/labels/bug), [enhancement](https://github.com/dotnet/wpf/labels/enhancement), [test-bug](https://github.com/dotnet/wpf/labels/test-bug), [test-enhancement](https://github.com/dotnet/wpf/labels/test-enhancement), [question](https://github.com/dotnet/wpf/labels/question), [documentation](https://github.com/dotnet/wpf/labels/documentation): See [label description](https://github.com/dotnet/wpf/labels) for details.
40+
* **Other**:
41+
* [up-for-grabs](https://github.com/dotnet/wpf/labels/up-for-grabs): Smaller sections of work which we believe are well scoped. These sorts of issues are a good place to start if you are new. Anyone is free to work on these issues.
42+
* [needs-more-info](https://github.com/dotnet/wpf/labels/needs-more-info): Issues which need more information to be actionable. Usually this will be because we can't reproduce a reported bug. We'll close these issues after a little bit if we haven't gotten actionable information, but we welcome folks who have acquired more information to reopen the issue.
43+
* [tenet-compatibility](https://github.com/dotnet/wpf/labels/tenet-compatibility): Incompatibility between relesed versions or with WPF for .NET Framework.
44+
45+
46+
47+
## Milestones
48+
49+
We use [milestones](https://github.com/dotnet/wpf/milestones) to prioritize work for each upcoming release.
50+
51+
* **3.0** milestone work is focused on parity with WPF for .NET Framework. We do not plan to take contributions or address issues that are not unique to WPF on .NET Core in 3.0 release. For example:
52+
* Bugs which are present on both WPF platforms (for .NET Core and .NET Framework) will be put into **Future** milestone and will be reviewed and prioritized after 3.0 final release.
53+
* Requests for new APIs and features will be put into **Future** milestone and will be reviewed and prioritized after 3.0 final release.
54+
* **Future** milestone tracks all potential future work (which may or may not happen). When we are done with 3.0 release, we will move some of these issues into the next immediate milestone.
55+
* Please do not start discussions about next post-3.0 milestone until we are close to final 3.0 release. If you want to express your opinion on prioritization, please [upvote first post of the issue](#upvotes-on-issues) instead.
56+
57+
58+
59+
## Assignee
60+
61+
We assign each issue to assignee, when the assignee is ready to pick up the work and start working on it.
62+
If the issue is not assigned to anyone and you want to pick it up, please say so - we will assign the issue to you.
63+
If the issue is already assigned to someone, please coordinate with the assignee before you start working on it.
64+
65+
66+
67+
## Upvotes on issues
68+
69+
Upvotes on first post of each issue are useful hint for our prioritization.
70+
We can [sort issues by number of upvotes](https://github.com/dotnet/wpf/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) and we will review the top list on regular basis.
71+
72+
73+
74+
## Escalations
75+
76+
If you think some issue or PR is not getting the right attention, or if you notice some [Code of Conduct](https://dotnetfoundation.org/code-of-conduct) violation we might miss,
77+
you can escalate to WPF team by tagging some of us (e.g. [@fabiant3](https://github.com/fabiant3), [@karelz](https://github.com/karelz)). Please do not overuse it.
78+
79+
80+
81+
## Triage rules
82+
83+
Guidance for triaging issues for WPF team members:
84+
85+
1. Issue has no **Assignee**, unless someone is working on the issue at the moment.
86+
1. Use **up-for-grabs** as much as possible, ideally with a quick note about next steps / complexity of the issue.
87+
1. Set milestone to **Future**, unless you can 95%-commit you can fund the issue in specific milestone.
88+
1. Each issue has exactly one "*issue type*" label (**bug**, **enhancement**, **api-suggestion**, **test-bug**, **test-enhancement**, **question**, **documentation**, etc.).
89+
1. Don't be afraid to say no, or close issues - just explain why and be polite.
90+
1. Don't be afraid to be wrong - just be flexible when new information appears.
91+
92+
Feel free to use other labels if it helps your triage efforts (e.g. **needs-more-info**, **design-discussion**, **tenet-compatibility**, etc.).
93+
94+
### Motivation for triage rules
95+
96+
1. Issue has no **Assignee**, unless someone is working on the issue at the moment.
97+
* Motivation: Observation is that contributors are less likely to grab assigned issues, no matter what the repo rules say.
98+
1. Use **up-for-grabs** as much as possible, ideally with a quick note about next steps / complexity of the issue.
99+
* Note: Per http://up-for-grabs.net, such issues should be no longer than few nights' worth of work. They should be actionable (i.e. no mysterious CI failures that can't be tested in the open).
100+
1. Set milestone to **Future**, unless you can 95%-commit you can fund the issue in specific milestone.
101+
* Motivation: Helps communicate desire/timeline to community. Can spark further priority/impact discussion.
102+
1. Each issue has exactly one "*issue type*" label (**bug**, **enhancement**, **api-suggestion**, **test-bug**, **test-enhancement**, **question**, **documentation**, etc.).
103+
* Don't be afraid to be wrong when deciding 'bug' vs. 'test-bug' (flip a coin if you must). The most useful values for tracking are 'api-*' vs. 'enhancement', 'question', and 'documentation'.
104+
1. Don't be afraid to say no, or close issues - just explain why and be polite.
105+
1. Don't be afraid to be wrong - just be flexible when new information appears.
106+
107+
### PR guidance
108+
109+
1. Dont't set any labels on PRs. They are superfluous and not needed (exceptions: **NO MERGE**).
110+
* Motivation: All the important info (*issue type* label, API approval label, etc.) is already captured on the associated issue.
111+
1. Push PRs forward, don't let them go stale (response every 5+ days, ideally no PRs older than 2 weeks).
112+
1. Close stuck or long-term blocked PRs (e.g. due to missing API approval, etc.) and reopen them once they are unstuck.
113+
* Motivation: Keep only active PRs. WIP (work-in-progress) PRs should be rare and should not become stale (2+ weeks old). If a PR is stale and there is not immediate path forward, consider closing the PR until it is unblocked/unstuck.
114+
1. Link PR to related issue via [auto-closing](https://help.github.com/articles/closing-issues-via-commit-messages/) (add "Fixes #12345" into your PR description).

README.md

+95-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,102 @@
11
# Windows Presentation Framework (WPF)
22

3-
This repository contains:
3+
[![Build Status](https://dnceng.visualstudio.com/internal/_apis/build/status/dotnet.wpf)](https://dnceng.visualstudio.com/internal/_build/latest?definitionId=234)
4+
5+
This repo contains the open-source components of Windows Presentation Foundation (WPF) that run on top of .NET Core.
6+
This is based on, but separate from, the version of WPF that is part of .NET Framework.
7+
8+
We haven't finished porting WPF to .NET Core yet, which means not all source code is on GitHub (see [port status](#port-status) for details).
9+
We plan to complete the port during 2019.
10+
The reason it takes some time is that we need to support & build all the pieces in an open source way,
11+
which requires decoupling the code base from our internal engineering system.
12+
At the same time, we don't want to block open sourcing until the port is complete.
13+
This is similar to how other .NET Core repos with existing code have been brought up, such as [CoreFx](https://github.com/dotnet/corefx) in 2014.
14+
15+
Even though .NET Core is a cross-platform technology, WPF only runs on Windows.
16+
17+
18+
19+
## Quick Links
20+
21+
* [.NET Core 3.0 SDK Preview 1](https://www.microsoft.com/net/download)
22+
* [Overall .NET Core roadmap & shipdates](https://github.com/dotnet/core/blob/master/roadmap.md)
23+
24+
25+
26+
## Getting started with WPF on .NET Core
427

5-
* Binaries
28+
Follow [getting started instructions](Documentation/getting-started.md).
29+
30+
31+
32+
## Port Status
33+
34+
The port from WPF for .NET Framework is still in progress. Currently this repository contains these components:
35+
36+
* Binaries:
637
* System.Xaml
7-
* Tests
38+
* Tests:
839
* DrtXaml
940

10-
Binaries in this repository eventually roll up to the Microsoft.NET.Sdk.WindowsDesktop SDK.
41+
Binaries in this repository eventually roll up to the `Microsoft.NET.Sdk.WindowsDesktop` SDK.
1142

12-
[![Build Status](https://dnceng.visualstudio.com/internal/_apis/build/status/dotnet.wpf)](https://dnceng.visualstudio.com/internal/_build/latest?definitionId=234)
43+
44+
45+
## How to Engage, Contribute and Provide Feedback
46+
47+
Some of the best ways to contribute are to try things out, file bugs, join in design conversations, and fix issues.
48+
49+
* Use [daily builds](Documentation/getting-started.md#installation).
50+
* If you have a question or found a bug, [file a new issue](https://github.com/dotnet/wpf/issues/new).
51+
* Issues with WPF on .NET Framework should be filed via Feedback Hub on Windows 10 (Category: *Developer Platfornm*, sub-category *UI frameworks and controls* and make it clear your feedback is for WPF, not WinUI XAML), or [Product Support](https://support.microsoft.com/en-us/contactus?ws=support) if you have a contract.
52+
53+
**IMPORTANT:** WPF for .NET Core 3.0 release focuses on parity with WPF for .NET Framework.
54+
We do not plan to take contributions or address bugs that are not unique to WPF for .NET Core in 3.0 release.
55+
Bugs which are present on both WPF platforms (for .NET Core and .NET Framework) will be prioritized for future releases of .NET Core (post-3.0).
56+
57+
### Issue Guide
58+
59+
Read our detailed [issue guide](Documentation/issue-guide.md) which covers:
60+
61+
* How to file high-quality bug reports
62+
* How to use and understand Labels, Milestones, Assignees and Upvotes on issues
63+
* How to escalate (accidentally) neglected issue or PR
64+
* How we triage issues
65+
66+
For general .NET Core 3 issues (not specific to WPF), use the [.NET Core repo](https://github.com/dotnet/core/issues) or other repos if appropriate (e.g. [CoreFX](https://github.com/dotnet/corefx/issues), [WinForms](https://github.com/dotnet/winforms/issues)).
67+
68+
### Contributing Guide
69+
70+
**TODO**
71+
72+
For more details, take a look at the [.NET Core Contribution Guidelines](https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/contributing.md).
73+
74+
### Community
75+
76+
This project has adopted the code of conduct defined by the [Contributor Covenant](https://contributor-covenant.org/) to clarify expected behavior in our community.
77+
For more information, see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct).
78+
79+
### Reporting security issues and security bugs
80+
81+
Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) <secure@microsoft.com>.
82+
You should receive a response within 24 hours.
83+
If for some reason you do not, please follow up via email to ensure we received your original message.
84+
Further information, including the MSRC PGP key, can be found in the [Security TechCenter](https://www.microsoft.com/msrc/faqs-report-an-issue).
85+
86+
Also see info about related [Microsoft .NET Core and ASP.NET Core Bug Bounty Program](https://www.microsoft.com/msrc/bounty-dot-net-core).
87+
88+
89+
90+
## License
91+
92+
.NET Core (including WPF repo) is licensed under the [MIT license](LICENSE.TXT).
93+
94+
95+
96+
## .NET Foundation
97+
98+
.NET Core WPF is a [.NET Foundation](https://www.dotnetfoundation.org/projects) project.
99+
100+
There are many .NET related projects on GitHub.
101+
102+
* [.NET home repo](https://github.com/Microsoft/dotnet) - links to 100s of .NET projects, from Microsoft and the community.

0 commit comments

Comments
 (0)