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

docs-reorg: introduce "Join the community" section #746

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -103,12 +103,11 @@ When making your pull request, please keep the following in mind:
- Add tests and don't decrease test coverage.
- Add documentation.
- Follow our best practices:
- [Data migrations](../howtos/alembic.md)
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

My sense is that it's a maintainer that is more likely to deal with migrations, so it's not included in this section. It's more involved too, so it can be pushed deeper in the documentation.

- [Translation strings](../howtos/i18n.md)
- [Translation strings](../../translations/i18n.md)
- [CSS/JS](css-js.md) and [React](react.md)
- [Web accessibility](accessibility.md)
- [User interface](ui.md)
- Identify the [copyright holder(s)](../../contribute/copyright-policy.md) and update copyright headers for touched files (>15 lines contributions).
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Most changes are like this one: just involving path updates due to moving content around.

- Identify the [copyright holder(s)](../../copyright-policy.md) and update copyright headers for touched files (>15 lines contributions).
- New third-party code (copy/pasted source code or new dependencies) requires approval from architect or maintainer.
- 🟢 Green light on all GitHub status checks is required in order to merge your
PR.
Expand All @@ -135,7 +134,7 @@ Follow these guidelines to minimize the risk of conflicts:

#### Code of conduct

We expect everyone to comply with our [code of conduct](../../contribute/code-of-conduct.md) - be open, inclusive, considerate and respectful.
We expect everyone to comply with our [code of conduct](../../code-of-conduct.md) - be open, inclusive, considerate and respectful.

- *Reviewer*: Be respectful of the effort (often the labour was completed simply for the good of the community).
- *Creator*: Be receptive to constructive comments and criticism (the reviews are labour intensive and serves to produce a better product and development for the community).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,11 @@ Semantic UI has a fixed file structure; therefore, for creating custom CSS, the

✅ DO

![Semantic file structure](../img/semantic-structure.png)
![Semantic file structure](img/semantic-structure.png)

❌ DON'T

![Semantic file structure](../img/not-advised-structure.png)
![Semantic file structure](img/not-advised-structure.png)

## Custom CSS

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ render() {
### On Overridable
See the [How to override UI React components](../howtos/override_components.md) how-to for detailed explanations on the library itself.
See the [How to override UI React components](../../../develop/howtos/override_components.md) how-to for detailed explanations on the library itself.
The library allows developers to mark components that can be overridden. While it is very easy to use, it can also lead to subtle errors.
Expand Down Expand Up @@ -123,7 +123,7 @@ Full component example:
```javascript
class MyComponent extends Component{
// My implementation
// My implementation
}

export default Overridable.component("[InvenioModuleName].MyComponent", MyComponent);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Code style
# Coding style

InvenioRDM follows Invenio practices:

Expand All @@ -19,5 +19,7 @@ InvenioRDM follows Invenio practices:

In doubt if something is allowed or not? Just ask on Discord

Please also refer to the [development process](../process.md) for standards on
Please also refer to the [development process](./process.md) for standards on
UX and scalability.

<!-- The content of this file can be split into other existing documents. -->
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ editable install of the Python package:
!!! note

``mkvirtualenv`` is a tool provided by virtualenv-wrapper to manage Python
virtualenvs. See [Python virtual environments](virtualenvs.md)
virtualenvs. See [Python virtual environments](../../develop/getting-started/virtualenvs.md)

```
```bash
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

occasional slight improvement

cd ~/src/invenio-app-rdm
mkvirtualenv app-rdm
# opensearch2 only needed for certain modules
Expand All @@ -33,7 +33,7 @@ you won't have all the tools needed for testing.

Running the test is normally as simple as:

```
```bash
./run-tests.sh
```

Expand All @@ -59,14 +59,13 @@ to a single module:
First make sure you have the source code of both modules. Next, simply do
editable installs of both:

```
```bash
mkvirtualenv communities
pip install -e "~/src/invenio-communities[tests,opensearch2]" \
-e "~/src/invenio-requests[tests,elasticsearch7]"
```

### Application integration

See the section [instance development](instance-development.md) for how to
integrate your development versions in the InvenioRDM application.

See the section on [pre-release instance development](prerelease-instance-development.md) for how to
integrate your development version(s) in a development InvenioRDM application for integration testing.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Instance development
# Pre-release instance development

This guide will show you how to install the latest development version of
InvenioRDM and how to install modules in InvenioRDM.
Expand Down
4 changes: 1 addition & 3 deletions docs/develop/process.md → docs/community/code/process.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ a checklist and collection of prior experience.
!!! warning "Don't skip!"

We expect every community member to adhere to our
[code of conduct](../contribute/code-of-conduct.md), and we thus expect
[code of conduct](../code-of-conduct.md), and we thus expect
that you have read it! Overall, the code of conduct says that we're:

- Open
Expand All @@ -35,8 +35,6 @@ paraverbal part of message accounts for the remaining 90% of a message).
intentions to help another person. When you receive it, you say thank you and
it's fully up to you what you do with that gift afterwards.



### Principles

The core foundational principles on which we build InvenioRDM is that we want
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,47 +3,48 @@
For development you need the latest ``master`` or ``main`` branch of the source
code (name depends on the repository).

Following show you to fork the repository and checkout the source code.
### How to fork a repository and checkout the source code

### With GitHub CLI
=== "With GitHub CLI"
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Kind of experimentally snuck this one in. It tabs the content and makes the documentation much more compact / less daunting. It's only used here, but could be adopted for other sections.


First checkout the source code from GitHub and get the latest ``master`` or
``main`` branch (depends on the repository which name is used).
First checkout the source code from GitHub and get the latest ``master`` or
``main`` branch (depends on the repository which name is used).

This is most easily done using the [GitHub CLI tool](https://cli.github.com):
This is most easily done using the [GitHub CLI tool](https://cli.github.com):

```
# with GitHub CLI tool:
gh repo fork inveniosoftware/invenio-app-rdm
cd invenio-app-rdm
```
```bash
# with GitHub CLI tool:
gh repo fork inveniosoftware/invenio-app-rdm
cd invenio-app-rdm
```

With the previous command, we made a checkout of [Invenio-App-RDM](https://github.com/inveniosoftware/invenio-app-rdm) module. You'll have to adapt the command to checkout the module you want to work on.
With the previous command, we made a checkout of [Invenio-App-RDM](https://github.com/inveniosoftware/invenio-app-rdm) module. You'll have to adapt the command to checkout the module you want to work on.

### Without GitHub CLI
=== "Without GitHub CLI"

Without the GitHub CLI tool, you'll first have to [fork the repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo)
on GitHub. Then, once you have a fork you can clone the repository and add the
upstream repository remote:
Without the GitHub CLI tool, you'll first have to [fork the repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo)
on GitHub. Then, once you have a fork you can clone the repository and add the
upstream repository remote:

```bash
# without GitHub CLI:
git clone https://github.com/<your username>/invenio-app-rdm
cd invenio-app-rdm
git remote add upstream [email protected]:inveniosoftware/invenio-app-rdm.git
```

```
# without GitHub CLI:
git clone https://github.com/<your username>/invenio-app-rdm
cd invenio-app-rdm
git remote add upstream [email protected]:inveniosoftware/invenio-app-rdm.git
```

### Repositories survival guide

The InvenioRDM codebase is split over a number of different repositories. Below you'll find a short overview over the most

![Repositories overview](../img/repository-overview.svg)
![Repositories overview](img/repository-overview.svg)

- CLI tool
- [invenio-cli](https://github.com/inveniosoftware/)
- [invenio-cli](https://github.com/inveniosoftware/invenio-cli)
- Standalone CLI tool used to install and manage InvenioRDM.
- Instance template
- [cookiecutter-invenio-instance](https://github.com/inveniosoftware/)
- [cookiecutter-invenio-instance](https://github.com/inveniosoftware/cookiecutter-invenio-rdm)
- Template for the project folder created by ``invenio-cli``.
- Application repositories
- [invenio-app-rdm](https://github.com/inveniosoftware/invenio-app-rdm)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ GPL or AGPL.

## Tracking copyright



**Copyright statements**

Copyright statements must be included in:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Writing documentation
# Contribute documentation

Learn how to write technical documentation.
Learn how to write and contribute technical documentation.

## References

- [The documentation system](https://documentation.divio.com/): learn how to write *tutorials*, *how-to guides*, *reference guides*, *explanation*.
- [Diátaxis](https://diataxis.fr/): learn how to write *tutorials*, *how-to guides*, *reference guides*, *explanation*.

- Training of 2-3 hours: [Google Technical Writing Courses for Engineers](https://developers.google.com/tech-writing/overview).

Expand Down
File renamed without changes
45 changes: 23 additions & 22 deletions docs/contribute/index.md → docs/community/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Onboard & Contribute to InvenioRDM
# Join the InvenioRDM Community

InvenioRDM is a vibrant open-source project with a community spanning the globe.
We cover almost all time zones during our major online workshops! Here we highlight
Expand All @@ -7,13 +7,13 @@ how you can contribute and how we work.
Contributions are welcome, and they are greatly appreciated! Every
little bit helps, and credit will always be given.

## Onboarding
## Onboard

Discover how to get to know and join the InvenioRDM community [here](onboarding.md).
Discover how to get to know and join the InvenioRDM community [here](onboard.md).

## Governance

How the project is governed is outlined [here](https://inveniosoftware.org/governance/).
How the project is governed is outlined on our governance page: [https://inveniosoftware.org/governance/](https://inveniosoftware.org/governance/).

## Types of Contributions

Expand All @@ -24,48 +24,49 @@ Select bug and you will have a prepopulated GitHub issue created for you.
Fill it out!

InvenioRDM is made up of a collection of modules. As you become more familiar with them,
you may want to submit your ticket to their respective repositories.
you may want to submit your ticket to their respective repositories. You can see all the repositories at <https://github.com/inveniosoftware/> .

### Ask For Feature
### Ask For a Feature

Read through the already opened [GitHub Discussions](https://github.com/inveniosoftware/product-rdm/discussions), or create a new one.
Already approved discussions and ongoing development is converted to an [issue](https://github.com/inveniosoftware/product-rdm/issues).
Read through the already opened [GitHub Discussions](https://github.com/inveniosoftware/product-rdm/discussions), or [invenio-app-rdm issues](https://github.com/inveniosoftware/invenio-app-rdm/issues). You can also ask on [Discord](https://discord.gg/8qatqBC). Create one if you don't find a ticket that represents the feature you would like.

When proposing a feature:

* Explain in detail how it would work.
* Keep the scope as narrow as possible, to make it easier to implement.
* Remember that this is a volunteer-driven project, and that contributions
are welcome :)

### Fix Bugs

Look through the GitHub issues for bugs. Anything tagged with "bug"
is open to whoever wants to implement it.

Follow the module's `CONTRIBUTING.md` file to ensure you are adhering to our process.
Follow our [development process](code/process.md) (also summarized in the module's `CONTRIBUTING.md` file) to ensure you are adhering to our approach.

Indicate you are working on the bug in the [Community PR board](pr-community-board.md).

### Implement Features

Look through the GitHub issues for features. Anything tagged with "good first issue"
is a good place to start. Otherwise, reach out on the [chat](https://discord.gg/8qatqBC) and ask.

Just as for fixing bugs, follow the module's `CONTRIBUTING.md` for the practical details.
Just as for fixing bugs, follow our [development process](code/process.md) for the practical details.
And similarly, indicate what you are working on in the [Community PR board](pr-community-board.md).

### Write Documentation

InvenioRDM could always use more documentation, whether as part of these
official docs, in docstrings, or even on the web in blog posts,
articles, and such.

### Translations
### Translate InvenioRDM

InvenioRDM is used all over the world, but not yet translated to all languages.
InvenioRDM is used all over the world, but is not yet translated into all languages.
You can make InvenioRDM even more accessible by joining the translation team
and helping with translations. Follow the guide [here](translators-guide.md).
and helping with translations. Follow the [translation guide](translations/translators-guide.md).

### Submit Feedback

The best way to send feedback is to file an issue at
[https://github.com/inveniosoftware/invenio-app-rdm/issues](https://github.com/inveniosoftware/invenio-app-rdm/issues)
or reply to the month's release on our [Discourse forum](https://invenio-talk.web.cern.ch/c/projects/invenio-rdm/).

If you are proposing a feature:

* Explain in detail how it would work.
* Keep the scope as narrow as possible, to make it easier to implement.
* Remember that this is a volunteer-driven project, and that contributions
are welcome :)
[https://github.com/inveniosoftware/invenio-app-rdm/issues](https://github.com/inveniosoftware/invenio-app-rdm/issues).
5 changes: 2 additions & 3 deletions docs/contribute/onboarding.md → docs/community/onboard.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Onboarding
# Onboard

Welcome to the InvenioRDM and to our collaborative, open source community!

Expand All @@ -7,8 +7,7 @@ Find here important resources for onboarding.
## For everyone
<!---* Mailing list (self-subscribe): https://lists.e-infra.cz/wws/info/project-inveniordm

Choose a reason for hiding this comment

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

Can the self-subscribe to the Mailing List be added back?

* Telecon invite (2x per month all-partner meeting, alternate Tuesdays): [Calendar invitation](https://calendar.google.com/calendar/ical/4et3h2ucvb24u1dsn8elif9h14%40group.calendar.google.com/private-2553e786a8db386368e6697f569a3b8d/basic.ics)-->
* Telecon schedule 2024: [Google Calendar](https://docs.google.com/document/d/1vSClxJbQv296Zk9DIX8aWa6kEbzcnXSFExHuWvTYV7E)
* Telecon agenda: [Google Docs](https://docs.google.com/document/d/166v5oqVxzQQ8U4-eo2EraCpohnnAjeANdLJ6nnCy1uA)
* Telecon schedule 2025: [Google Docs](https://docs.google.com/document/d/1KWvDoVN0hx4jG5wfm4BF322Gyf06dLNuvrAvrbXL9Mc)
* Chat on Discord: <https://discord.com/invite/8qatqBC>
* Discussion forum on Discourse: <https://invenio-talk.web.cern.ch>
* Blog: <https://inveniosoftware.org/blog/>
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# Internationalization (i18n) and localization (l10n)

## Babel

## Marking strings for translation

In order to translate strings, they have to be marked. This ensures that they will be picked up by the extraction process later on. Only strings which are visible in the UI have to be translated.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ For more details, check out the [Joining a translation team section of the Trans
Check for the existing [languages](https://www.transifex.com/inveniosoftware/invenio/languages/).

- If your desired language is not on the list, Click the **Request language** button and search for the language you need.
![](transifex-request-language.png)
![](img/transifex-request-language.png)
- Check with the InvenioRDM translation team via [Discord `#rdm-translations`](https://discord.gg/Ya7qSG43Br). They will need to accept the request. When it is accepted you will be able to join the team as described in the next line.
- If your desired language already exists. Choose the language and click on the **Join team** button.
![](transifex-join-team.png)
![](img/transifex-join-team.png)

## Step 4 - Learn about your translation team

Expand All @@ -48,7 +48,7 @@ There are some workflows to be aware of and we collected some advices and experi
- Every change you make, should be reviewed by another member of your language team. You might need to press the `Unreview`-Button after changing a reviewed item.
- For each item you translate/review you can add comments including mentioning other members using `@name`.
- Several words/sentences appear in different places and packages. To create consistency, try to use the same translations. You might find the [transifex-inveniosoftware-Search Strings](https://www.transifex.com/inveniosoftware/search/) and its Filters helpful.
![](transifex-search-strings.png)
![](img/transifex-search-strings.png)
- Gender-neutral language: if the language you are translating uses different words for male, female, etc.
- try to use a neutral way.
- try to stick to one translation style.
Expand Down
7 changes: 3 additions & 4 deletions docs/customize/i18n-and-l10n.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ languages.
InvenioRDM provides several languages, for example, Arabic (`ar`), Chinese
(`zh_CN`), German (`de`), and Spanish (`es`). If your letter code does not
work, test with German (`de`). If you want your language to be included,
see: [Contribution](../contribute/translators-guide.md)
see: [Contribution](../community/translations/translators-guide.md)

## Change the Default Language

Expand Down Expand Up @@ -143,17 +143,16 @@ via the `invenio.cfg`-file.
InvenioRDM provides several languages, for example, Arabic (`ar`), Chinese
(`zh_CN`), German (`de`), and Spanish (`es`). If your letter code does not
work, test it with German. If you want your language to be included, see:
[Contribution](../contribute/translators-guide.md)
[Contribution](../community/translations/translators-guide.md)

## Troubleshooting

- There are English texts showing up in your user interface: If the application
cannot find a translation, it will fall back to English. You can help filling
these gaps by [becoming a translator](../contribute/translators-guide.md).
these gaps by [becoming a translator](../community/translations/translators-guide.md).
- Strings appear in many places in your instance and different techniques are
involved to handle them. We are working on documentation for translations of
- (customized) vocabularies
- static pages
- (customized) emails
- Ask for knowledge in [Discord `#rdm-translations`](https://discord.gg/Ya7qSG43Br).

Loading