X-Git-Url: https://git.p6c8.net/jirafeau_mojo42.git/blobdiff_plain/8e63325625b85ee171cfeeaaf07338d74963af7c..17d5977bf8d24a1b0abb5f52a8453322f21a994d:/CONTRIBUTING.md?ds=inline diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5aa918b..fc5f673 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,12 +14,12 @@ It is meant to be a simple filehosting service, simple to use, simple to install This project won't evolve to a file manager and will focus to keep a very few dependencies. -So things like a markdown parser for the ToS or E-Mail tasks would be usefull for sure, but may be [rejected](https://gitlab.com/mojo42/Jirafeau/issues/37#note_1191566) since they would a lot of dependencies and makes the project more complex. +So things like a markdown parser for the ToS or E-Mail tasks would be useful for sure, but may be [rejected](https://gitlab.com/mojo42/Jirafeau/issues/37#note_1191566) since they would a lot of dependencies and makes the project more complex. ## Structure -Here is a little explaination of Jirafeau's arboresence in a simplified -view only to show the most importants files and their role. +Here is a little explanation of Jirafeau's structure in a simplified +view only to show the most important files and their role. ``` . @@ -32,29 +32,29 @@ view only to show the most importants files and their role. âââ tos.php : "Terms of Service" page âââ lib â  âââ config.original.php : default parameters -â  âââ config.local.php : the users parameters (auto generated, not versionized) +â  âââ config.local.php : the users parameters (auto generated, not versioned) â  âââ functions_*.js : JavaScript functions for index.php (AJAX etc) â  âââ functions.php : core functions and tools of Jirafeau â  âââ tos.original.txt : default text show on the ToS page -â  âââ tos.local.txt : a users alternative text show on the ToS page (not versionized) +â  âââ tos.local.txt : a users alternative text show on the ToS page (not versioned) â  âââ settings.php : core settings of Jirafeau, includes the configuration params automatically â  âââ locales : language folder, contains all language files â  âââ template â  âââ footer.php : footer with links to source and ToS for all HTML views â  âââ header.php : header with logo and title for all HTML views âââ media : folder containing all skins -âââ var-xxxxxxx : the users folder containing all data (auto generated, not versionized) - âââ async : chunks of uploaded files (not succressfull yet) +âââ var-xxxxxxx : the users folder containing all data (auto generated, not versioned) + âââ async : chunks of uploaded files (not successful yet) âââ files : all files that have been uploaded successfully â âââ [hashed file name] : the original file â âââ [hashed file name]_count : count many links to this file exist - âââ links : all links, including meta-informations, pointing to files + âââ links : all links, including metadata, pointing to files âââ [link] : the link file, includes which original file should be used and some meta data like creation date, expiration time ``` ## Translations -Translation may be add via [Jirafeau's Weblate](https://hosted.weblate.org/projects/jirafeau/master/). +Translation may be added via [Jirafeau's Weblate](https://hosted.weblate.org/projects/jirafeau/master/). ## Coding style @@ -71,16 +71,18 @@ Translation may be add via [Jirafeau's Weblate](https://hosted.weblate.org/proje Please create one branch for each feature and send one merge request for each branch. -Dont squash several changes or commits into one merge request as this is hard to review. +Don't squash several changes or commits into one merge request as this is hard to review. Please use ```next-release``` as base branch and send your merge request to this branch (not ```master```). -Quick walktrough: +Quick walkthrough: * Create ticket for new feature * Fork the original repository, clone the own repository, add the original repository as upstream * Checkout »next-release« branch ```git checkout next-release``` * Create a new branch on top of that one, e.g. »some-feature« ```git checkout -b some-feature``` +* Make your change +* You may check if the project is still [REUSE Compliant](https://reuse.software/) by running `docker run -v $(pwd):/code --rm fsfe/reuse /bin/sh -c "cd /code && reuse lint"` * Commit changes â push â send merge request ```git add -A; git commit; git push``` MR via GitLab (link shown in console) * Feature is reviewed * MR accepted: Reviewer checks out »next-release« branch and cherry-picks the commit ```git checkout next-release; git cherry-pick be4369641; git push``` @@ -88,11 +90,16 @@ Quick walktrough: ## New Releases +* Fetch weblate and rebase and import translations +* If the release is not done for security purposes: create a new issue and freeze next-release branch for at least week. * Compare the [»next-release« branch to »master«](https://gitlab.com/mojo42/Jirafeau/compare/master...next-release) -* Add a list of noteworthy features and bugfixes to the README +* Add a list of noteworthy features and bugfixes to `CHANGELOG.md` +* Add eventual upgrade procedure to `CHANGELOG.md`. Make sure to list all new configuration items. +* Build and test docker image * Change the version, using [semantic versioning](http://semver.org/), in ```settings.php``` * Merge »next-release« branch to »master« -* Update the demo page * Tag the »master« with the new version * Push branch and tag +* Push new docker image +* Update the demo page * Dance a little