Please follow the contribution guidelines outlined below.
The main project is under MetasysServices: the MetasysClient. Any changes to the Http requests or core application content is made here.
MetasysServicesCom contains the LegacyMetasysClient which is compatible with COM services. This project aims to match the original MSSDA as closely as possible. The LegacyMetasysClient is closely coupled with the MetasysClient since it uses it for all core application content.
- Have the .NET Framework 4.7.2 installed (installation options). You can check your installed versions with the
clrver
command.
- Have dotnet-zip installed (dotnet tool install --global dotnet-zip).
Follow the steps below to setup a personal work area to contribute to this repository. For more details see this help page.
-
Fork the repository on Github and clone your new repository locally:
$ git clone [email protected]:<Username>/basic-services-dotnet.git
-
Setup Git workflow:
$ git remote add upstream [email protected]:<Username>/basic-services-dotnet $ git remote add origin [email protected]:metasys-server/basic-services-dotnet.git $ git remote -v origin [email protected]:metasys-server/basic-services-dotnet.git (fetch) origin [email protected]:metasys-server/basic-services-dotnet.git (push) upstream [email protected]:<Username>/basic-services-dotnet (fetch) upstream [email protected]:<Username>/basic-services-dotnet (push)
-
Create a new branch with an intuitive name describing your work such as:
$ git checkout -b "UpdateReadProperty"
-
Follow the Git workflow of pulling from origin, pushing upstream:
$ git push upstream $ git pull origin master
-
Create pull requests on the metasys-server/basic-services-dotnet repository (see Adding Content for pull request guidelines).
If using Visual Studio Code add the following extensions:
- markdownlint (linter for modifying markdown files)
- Markdown All in One (for modifying markdown files)
- Code Spell Checker (spellcheck for camel cased words)
- Follow the general c# coding conventions specified by Microsoft here and naming guidelines here.
- Add tests to the appropriate .Tests folder for new code.
- Commits
- Use good commit messages to specify changes.
- Keep commit history clean (remove unnecessary messages).
- See these guidelines.
- Pull Requests
- Run ALL TESTS and ensure they pass before submitting a pull request.
- Create a good title that summarizes the reason for the merge.
- Include a short summary of changes (details should be included in commit messages).
- If addressing an issue on Github link the pull request in the issue's comment section.
- Move issue to "In Review" on applicable projects.
- Example comment message: "Issue addressed in #1."
- Include @buldrinie as a reviewer on all pull requests.
- Include @mgwelch for architecture or design review request.
- Issue Tracking
- Add any new issues or bugs to the main GitHub repository for tracking purposes.