meta data for this page
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| develop:start [2016/11/16 15:15] – [Writing plugins] samtuke | develop:start [2025/06/23 21:37] (current) – michiel | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== phpList Development ====== | ||
| + | ===== Infrastructure ===== | ||
| + | |||
| + | For the complete list of phpList development links, including repositories, | ||
| + | |||
| + | |||
| + | You can use [[Docker|Docker]] if you wish, to create a working phpList on your local system from source, for development purposes. | ||
| + | |||
| + | |||
| + | ===== Coding Style ===== | ||
| + | |||
| + | phpList uses [[codingstyle|coding standards]] to keep code uniform and consistent with best practice. Your contributions should adhere to these also. | ||
| + | |||
| + | ===== Function index ====== | ||
| + | |||
| + | phpList 3 includes many custom functions to make adding new features easier. These include functions for getting and setting message data, for example. A comprehensive list with documentation of these functions exists in the [[develop/ | ||
| + | |||
| + | ===== Contributing ===== | ||
| + | |||
| + | ==== Agreement required ==== | ||
| + | |||
| + | Please sign the Contributor License Agreement (CLA) [[https:// | ||
| + | |||
| + | Currently it seems to fail on Firefox. If you get an error, please use Chrome instead. We will try to find the cause. | ||
| + | |||
| + | |||
| + | Alternatively sign and send the [[https:// | ||
| + | |||
| + | ===== Automated testing ===== | ||
| + | |||
| + | phpList uses both Behat and phpUnit for automated testing. | ||
| + | |||
| + | ==== Behat ==== | ||
| + | |||
| + | Guidelines for running and writing user acceptance tests with Behat can be found in testing documentation of the [[https:// | ||
| + | |||
| + | These tests are automatically executed with [[https:// | ||
| + | |||
| + | ==== Running tests locally ==== | ||
| + | |||
| + | (requires docker and make commands) | ||
| + | |||
| + | Check out the [[https:// | ||
| + | cd to the tests folder | ||
| + | type "make test" | ||
| + | |||
| + | This will spin up docker containers and run the tests on your local machine | ||
| + | To view the browsers, VNC to localhost: | ||
| + | View emails at http:// | ||
| + | View phplist itself at http:// | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==== phpUnit ==== | ||
| + | |||
| + | phpUnit tests for phpList 4 use a custom configuration documented in the phpList 4 documentation folder. | ||
| + | |||
| + | ===== Writing plugins ===== | ||
| + | |||
| + | phpList includes a powerful plugin framework for extending application functionality. Most aspects of phpList' | ||
| + | |||
| + | Unlike contributions to the phpList core applications, | ||
| + | |||
| + | |||
| + | ===== phpList in Docker ===== | ||
| + | |||
| + | |||
| + | To facilitate development of phpList, core code, themes and plugins, you can now set up [[develop: | ||
| + | |||
| + | |||
| + | ===== Release versioning ===== | ||
| + | |||
| + | Upcoming releases are tracked on the [[https:// | ||