1828b40d4SGunnar MillsContributing to WebUI-Vue 2828b40d4SGunnar Mills 3828b40d4SGunnar Mills:+1::tada: First off, thanks for taking the time to contribute! :+1::tada: 4828b40d4SGunnar Mills 5dc80f198SDerick MontagueThe following is a set of guidelines for contributing to the OpenBMC Web UI. 6dc80f198SDerick Montague 7dc80f198SDerick Montague## Table of contents 87385e139SPatrick Williams 9dc80f198SDerick Montague- [Project Setup](#project-setup) 10dc80f198SDerick Montague- [Code of Conduct](#code-of-conduct) 11dc80f198SDerick Montague- [Asking Questions](#asking-questions) 12dc80f198SDerick Montague- [Submitting Bugs](#submitting-bugs) 13dc80f198SDerick Montague- [Request a New Feature](#request-a-new-feature) 14dc80f198SDerick Montague- [User Research](#user-research) 15dc80f198SDerick Montague- [Design Reviews](#design-reviews) 16dc80f198SDerick Montague- [Help Wanted](#help-wanted) 17dc80f198SDerick Montague- [Code Reviews](#code-reviews) 18dc80f198SDerick Montague 19dc80f198SDerick Montague## Project Setup 20dc80f198SDerick Montague 21dc80f198SDerick Montague### Set up Gerrit account 227385e139SPatrick Williams 237385e139SPatrick WilliamsThe OpenBMC projects use Gerrit for code review. Use the 247385e139SPatrick Williams[OpenBMC Gerrit Setup/Integration guidelines](https://github.com/openbmc/docs/blob/master/development/gerrit-setup.md) 257385e139SPatrick Williamsto set up your Gerrit account. 26dc80f198SDerick Montague 27dc80f198SDerick Montague### Clone repo from Gerrit 287385e139SPatrick Williams 297385e139SPatrick WilliamsSince we use Gerrit to manage all the code contributions, it is not necessary to 307385e139SPatrick Williamscreate a fork from GitHub. Read more about submitting a code review in the 317385e139SPatrick Williams[Code Reviews section](#code-reviews) below. 32dc80f198SDerick Montague 33dc80f198SDerick Montague1. Visit https://gerrit.openbmc-project.xyz/admin/repos/openbmc/webui-vue 34dc80f198SDerick Montague2. Clone the repo using the `Clone with commit-msg hook` link 357385e139SPatrick Williams - Windows users may need to separate the two commands depending on if they 367385e139SPatrick Williams have installed a Bash emulator like `Git for Windows` or `CMDER` or 377385e139SPatrick Williams installed the `Windows Subsystem for Linux`. 38dc80f198SDerick Montague 39dc80f198SDerick Montague### Install Dependencies 407385e139SPatrick Williams 41dc80f198SDerick Montague``` 42dc80f198SDerick Montaguenpm install 43dc80f198SDerick Montague``` 44dc80f198SDerick Montague 45dc80f198SDerick Montague### Create a .env file 467385e139SPatrick Williams 47dc80f198SDerick Montague1. Create the following file in the root directory 48dc80f198SDerick Montague - .env.development.local 49dc80f198SDerick Montague1. Add the following environment variable 50dc80f198SDerick Montague - BASE_URL="https://<BMC IP address or FQDN>"` 51dc80f198SDerick Montague 52dc80f198SDerick Montague### Compile and hot-reload for development 537385e139SPatrick Williams 54dc80f198SDerick Montague``` 55dc80f198SDerick Montaguenpm run serve 56dc80f198SDerick Montague``` 57dc80f198SDerick Montague 58dc80f198SDerick Montague### Run Documentation Locally (Vuepress static site generation) 597385e139SPatrick Williams 60dc80f198SDerick Montague``` 61656b2ec5SDixsie Wolmersnpm run docs:serve 62dc80f198SDerick Montague``` 63dc80f198SDerick Montague 64dc80f198SDerick Montague### Run unit tests 657385e139SPatrick Williams 66dc80f198SDerick Montague``` 67dc80f198SDerick Montaguenpm run test:unit 68dc80f198SDerick Montague``` 69dc80f198SDerick Montague 70dc80f198SDerick Montague### Lint and fix files 717385e139SPatrick Williams 72dc80f198SDerick Montague``` 73dc80f198SDerick Montaguenpm run lint 74dc80f198SDerick Montague``` 75dc80f198SDerick Montague 767385e139SPatrick WilliamsThis project and everyone participating are required to follow the 777385e139SPatrick Williams[OpenBMC Code of Conduct](https://github.com/openbmc/docs/blob/master/code-of-conduct.md). 78dc80f198SDerick Montague 79dc80f198SDerick Montague## Asking Questions 807385e139SPatrick Williams 817385e139SPatrick WilliamsThe OpenBMC communicates using a mail list and the Discord channel. Although you 827385e139SPatrick Williamscould create a GitHub issue to ask a question, a better option would be to ask 837385e139SPatrick Williamsyour question using the email list or Discord channel. 84dc80f198SDerick Montague 85dc80f198SDerick Montague- Mail: openbmc@lists.ozlabs.org https://lists.ozlabs.org/listinfo/openbmc 865ad9ab11SBruce Mitchell- Discord: https://discord.gg/69Km47zH98 87dc80f198SDerick Montague 88dc80f198SDerick Montague### Submitting Bugs 89dc80f198SDerick Montague 907385e139SPatrick WilliamsBefore submitting an issue, please search through the 917385e139SPatrick Williams[existing GitHub issues](https://github.com/openbmc/webui-vue/issues) to see if 927385e139SPatrick Williamssomeone already reported the problem. If the issue does not exist, use the 937385e139SPatrick Williams[Bug report template](https://github.com/openbmc/webui-vue/issues/new?assignees=&labels=&template=bug_report.md&title=) 947385e139SPatrick Williamsto report the problem. 957385e139SPatrick Williams 967385e139SPatrick WilliamsBefore submitting a request for a new feature, please search through the 977385e139SPatrick Williams[existing GitHub issues](https://github.com/openbmc/webui-vue/issues). If no one 987385e139SPatrick Williamshas suggested the idea previously, use the 997385e139SPatrick Williams[Feature request template](https://github.com/openbmc/webui-vue/issues/new?assignees=&labels=&template=feature_request.md&title=) 1007385e139SPatrick Williamsto submit a new feature request. 101dc80f198SDerick Montague 102dc80f198SDerick Montague## User Research 1037385e139SPatrick Williams 1047385e139SPatrick WilliamsTo improve the OpenBMC Web UI, we are actively seeking end-user feedback through 1057385e139SPatrick Williamsthe IBM Design Partner program. 106dc80f198SDerick Montague 107dc80f198SDerick Montague### What is an OpenBMC Design Partner? 108dc80f198SDerick Montague 1097385e139SPatrick WilliamsContribute your feedback and bring your domain expertise to help us improve the 1107385e139SPatrick WilliamsOpenBMC GUI. The time commitment is minimal: 1-hour feedback sessions conducted 1117385e139SPatrick Williamsremotely via Webex, 1 to 2 times per month. Activities may include exploratory 1127385e139SPatrick Williamsinterviews, participatory design, periodic surveys, or usability testing 1137385e139SPatrick Williamssessions. 114dc80f198SDerick Montague 1157385e139SPatrick WilliamsNote: IBM requires all user research participants to sign a Feedback Program 1167385e139SPatrick WilliamsAgreement (FPA), describing how IBM complies with the latest GDPR guidelines. 1177385e139SPatrick WilliamsThe FPA only needs to be signed once to cover your company or entity's 1187385e139SPatrick Williamsparticipation. 119dc80f198SDerick Montague 120dc80f198SDerick Montague## Design Reviews 1217385e139SPatrick Williams 1227385e139SPatrick WilliamsWhen making changes to an existing design, we create a design review issue in 123*64a2ee94SGunnar MillsGitHub. We then send an email to the community and review the changes in the 124c45cfe5cSGunnar Mills[OpenBMC GUI Design Workgroup](https://github.com/openbmc/openbmc/wiki/GUI-Design-work-group). 125dc80f198SDerick Montague 126dc80f198SDerick Montague## Help Wanted 1277385e139SPatrick Williams 1287385e139SPatrick WilliamsNew features and bugs ready for development will be tagged with the 1297385e139SPatrick Williams`Help Wanted` tag and added to the 1307385e139SPatrick Williams[Help Wanted Project](https://github.com/openbmc/webui-vue/projects/2). If you 1317385e139SPatrick Williamswant to pick up a story, add a comment stating your interest, and a maintainer 1327385e139SPatrick Williamswill assign the story and move it to the `In Progress` column in the Project 1337385e139SPatrick WilliamsKanban board. 134dc80f198SDerick Montague 135dc80f198SDerick Montague## Code Reviews 136dc80f198SDerick Montague 1377385e139SPatrick WilliamsThe OpenBMC project uses Gerrit for all code reviews. Please do not create a 1387385e139SPatrick WilliamsGitHub pull request. 1397385e139SPatrick Williams 1407385e139SPatrick Williams1. Commit your changes, adding a Signed-off-by line to it: 1417385e139SPatrick Williams `git commit --signoff` 142dc80f198SDerick Montague1. Write a [good commit message](https://chris.beams.io/posts/git-commit/) 1437385e139SPatrick Williams 144dc80f198SDerick Montague - Separate subject from the body with a blank line 145dc80f198SDerick Montague - Limit the subject line to 50 characters 146dc80f198SDerick Montague - Capitalize the subject line 147dc80f198SDerick Montague - Do not end the subject line with a period 148dc80f198SDerick Montague - Use the imperative mood in the subject line 149dc80f198SDerick Montague - Wrap the body at 72 characters 150dc80f198SDerick Montague - Use the body to explain what and why vs. how 151dc80f198SDerick Montague 1527385e139SPatrick Williams1. Push your changes to Gerrit for code review: 1537385e139SPatrick Williams `git push origin HEAD:refs/for/master` 154dc80f198SDerick Montague1. Assign reviewers 155