]> git.mxchange.org Git - friendica.git/blobdiff - doc/Developers-Intro.md
Merge pull request #7988 from friendica/MrPetovan-notice
[friendica.git] / doc / Developers-Intro.md
index c9aef17754a72a086ffa47f2dd31958cb5aeb2d4..ae9a856b8e784025ba5e337487f7200b80148a6e 100644 (file)
@@ -16,7 +16,6 @@ Whether you feel like an expert or like a newbie - join us with your ideas!
 The discussion of Friendica development takes place in the following Friendica forums:
 
 * The main [forum for Friendica development](https://forum.friendi.ca/profile/developers)
-* The [forum for Friendica theme development](https://friendica.eu/profile/ftdevs)
 
 ## Help other users
 
@@ -34,7 +33,7 @@ If you don't want to translate the UI, or it is already done to your satisfactio
 Are you good at designing things?
 If you have seen Friendica you probably have ideas to improve it, haven't you?
 
-* If you would like to work with us on enhancing the user interface, please join the [UX Watchdogs forum](https://fc.oscp.info/profile/ux-watchdogs)
+* If you would like to work with us on enhancing the user interface, please join the [forum for Friendica development](https://forum.friendi.ca/profile/developers).
 * Make plans for a better Friendica interface design and share them with us.
 * Tell us if you are able to realize your ideas or what kind of help you need.
        We can't promise we have the right skills in the group but we'll try.
@@ -48,6 +47,23 @@ Friendica uses [Composer](https://getcomposer.org) to manage dependencies librar
 
 It's a command-line tool that downloads required libraries into the `vendor` folder and makes any namespaced class in `src` available through the whole application through `boot.php`.
 
+If you want to have git automatically update the dependencies with composer, you can use the `post-merge` [git-hook](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) with a script similar to this one:
+
+    #/usr/bin/env bash
+    # MIT © Sindre Sorhus - sindresorhus.com
+    # forked by Gianluca Guarini
+    # phponly by Ivo Bathke ;)
+    # modified for Friendica by Tobias Diekershoff
+    changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"
+    check_run() {
+                   echo "$changed_files" | grep --quiet "$1" && eval "$2"
+    }
+    # `composer install` if the `composer.lock` file gets changed
+    # to update all the php dependencies
+    check_run composer.lock "bin/composer.phar install --no-dev"
+
+just place it into `.git/hooks/post-merge` and make it executable.
+
 * [Class autoloading](help/autoloader)
 * [Using Composer](help/Composer)
 * [How To Move Classes to `src`](help/Developer-How-To-Move-Classes-to-src)
@@ -64,6 +80,8 @@ Here's a few primers if you are new to Friendica or to the PSR-2 coding standard
 * Boolean operators are `&&` and `||` for PHP conditions, `AND` and `OR` for SQL queries
 * No closing PHP tag
 * No trailing spaces
+* Array declarations use the new square brackets syntax
+* Quoting style is single quotes by default, except for needed string interpolation, SQL query strings by convention and comments that should stay in natural language.
 
 Don't worry, you don't have to know by heart the PSR-2 coding standards to start contributing to Friendica.
 There are a few tools you can use to check or fix your files before you commit.
@@ -94,10 +112,10 @@ If the command-line tools `diff` and `patch` are unavailabe for you, `phpcbf` ca
 ### Code documentation
 
 If you are interested in having the documentation of the Friendica code outside of the code files, you can use [Doxygen](http://doxygen.org) to generate it.
-The configuration file for Doxygen is located in the `util` directory of the project sources.
+The configuration file for Doxygen is located in the base directory of the project sources.
 Run
 
-       $> doxygen util/Doxyfile
+       $> doxygen Doxyfile
 
 to generate the files which will be located in the `doc/html` subdirectory in the Friendica directory.
 You can browse these files with any browser.
@@ -111,7 +129,7 @@ Have a look at our [issue tracker](https://github.com/friendica/friendica) on gi
 * Try to reproduce a bug that needs more inquiries and write down what you find out.
 * If a bug looks fixed, ask the bug reporters for feedback to find out if the bug can be closed.
 * Fix a bug if you can. Please make the pull request against the *develop* branch of the repository.
-* There is a *Junior Job* label for issues we think might be a good point to start with.
+* There is a *[Junior Job](https://github.com/friendica/friendica/issues?q=is%3Aopen+is%3Aissue+label%3A"Junior+Jobs")* label for issues we think might be a good point to start with.
        But you don't have to limit yourself to those issues.
 
 ### Web interface
@@ -123,7 +141,7 @@ If you want to get involved here:
 * Look at the first steps that were made (e.g. the clean theme).
        Ask us to find out whom to talk to about their experiences.
 * Talk to design people if you know any.
-* Let us know about your plans [in the dev forum](https://forum.friendi.ca/profile/developers) or the [theme developer forum](https://friendica.eu/profile/ftdevs).
+* Let us know about your plans [in the dev forum](https://forum.friendi.ca/profile/developers)
        Do not worry about cross-posting.
 
 ### Client software
@@ -132,7 +150,7 @@ As Friendica is using a [Twitter/GNU Social compatible API](help/api) any of the
 Furthermore there are several client projects, especially for use with Friendica.
 If you are interested in improving those clients, please contact the developers of the clients directly.
 
-* Android / CynogenMod: **Friendica for Android** [src](https://github.com/max-weller/friendica-for-android), [homepage](http://friendica.android.max-weller.de/) - abandoned
+* Android / LinageOS: **Friendiqa** [src](https://git.friendi.ca/lubuwest/Friendiqa)/[Google Play](https://play.google.com/store/apps/details?id=org.qtproject.friendiqa) developed by [Marco R](https://freunde.ma-nic.de/profile/marco)
 * iOS: *currently no client*
 * SailfishOS: **Friendiy** [src](https://kirgroup.com/projects/fabrixxm/harbour-friendly) - developed by [Fabio](https://kirgroup.com/profile/fabrixxm/?tab=profile)
 * Windows: **Friendica Mobile** for Windows versions [before 8.1](http://windowsphone.com/s?appid=e3257730-c9cf-4935-9620-5261e3505c67) and [Windows 10](https://www.microsoft.com/store/apps/9nblggh0fhmn) - developed by [Gerhard Seeber](http://mozartweg.dyndns.org/friendica/profile/gerhard/?tab=profile)