Skip to content

Latest commit

 

History

History
90 lines (56 loc) · 6.81 KB

CONTRIBUTING.md

File metadata and controls

90 lines (56 loc) · 6.81 KB

Introduction

First off, thank you for considering contributing to GVExport. This module is the work of many contributors so it's people like you that make this module possible.

There are many ways to contribute, such as:

  • Creating issues for any new ideas you have
  • Creating issues if you find bugs
  • Contributing code
  • Testing
  • Documentation
  • Translating

Index

Questions

For questions on using GVExport, in the first instance please see our Wiki.

If you still have questions, please create an issue. This is the main method for any contact (for security issues please see SECURITY.md). The project is small and niche enough that we don't need separate discussions and issues. We don't currently have a Matrix room, but could consider this if there is enough interest in real time chats and questions.

Documentation

Currently we use a wiki for documenting functionality. Anyone can update our Wiki so if you see changes that need doing or feel a new page would help, feel free to do it. If you are not sure about something or want to discuss changes with the communitry, please create an issue.

Translating

You can translate into a language you are fluent in by joining the PO Editor project.

If you're not familiar with contributing on GitHub, see this tutorial.

If you're familiar with GitHub, please create a pull request to add your languages to the module. The basic instructions for this are:

  • In POEditor, click on your language, and then at the top (underthe header) choose "Export"
  • You'll need to export two files. Both a ".mo" and a ".po" file. The ".mo" is the machine-readable file that webtrees uses for translating. The ".po" file is a human-readable version that allows us to keep a history of changes in the GIT repository (which we can re-import to POEditor if needed).
  • These files need to be named after the language code for the language they are. For example, for Spanish we should have "es.po" and "es.mo". This should generally be the 2-letter code listed here.
  • Fork the repository and add the files to the resources/lang/ folder.
  • Create a pull request to submit the change back to this repository.

This is the preferred way to receive a contribution as it allows you to be recognised in GitHub as a contributor. If you're having trouble, feel free to create an issue to get some help.

If you update a language in POEditor but don't create a pull request, we will download the language files and add them to the project as the next version is released.

Discussion on translating can be done by creating an issue.

Contributing code

Please note this project is GLP 2.0 licenced, and all contributions are under the same liecnce. Please ensure all work is your own.

If you're new to contributing, see this tutorial on contributing to projects on GitHub.

Check out the Issues for things that need attention.

If you have changes you want to make not listed in an issue, please create one, then you can link your pull request.

Please also see the Project Board to help find issues that should have all required information (in the "Ready" column), and to help avoid working on things already in progress. In additon, check if an issue is assigned to someone already.

There are no code style guidelines. The code was inherited as bits an pieces from various authors, and needs lots of tidying. If you'd like to volunteer for this task, feel free :).

Testing

It's all manual currently, please create an issue for any bugs you find.

If you're keen and available to do testing of pull requests or regression testing before releases, please create an issue and volunteer.

We would also happily accept automated tests if that's your thing. We have been experimenting with Cypress for functional testing.

How to report a bug

If you find a security vulnerability, do NOT open an issue. See SECURITY.md) for the email address to contact.

For any other bugs or potential bugs, please create an issue.

How to suggest a feature or enhancement

GVExport is a module for webtrees, that is used to visualise a family tree and allows you to download the visualisation in various file formats. This repository is making many changes over the previous abandoned repo that it was forked from, but with some ideas in mind:

  • GVExport only supports the latest version of webtrees, but should support all configurations that the latest version of webtrees supports. For example, the latest webtrees supports PHP7.4 as well as PHP8.0, so we should too.
  • Changes should not remove existing functionality
  • New features are great, but the tool should work for both beginner and advanced users. The options should be powerful but not confusing. We have created hidden "advanced" sections, to help separate advanced features from the regular UI.
  • We plan to include quality of life changes such as improving error messages and adding validation to fields to prevent submitting values that don't make sense.
  • Mobile browsers are supported, so feel free to report issues with mobile.

Please check the issues list and the project board to see what has been discussed and what is on the roadmap. Any ideas that aren't specifically mentioned can be added by creating a new issue.