User Tools

Site Tools


develop:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
develop:start [2018/05/30 11:26]
samtuke
develop:start [2021/06/05 11:40] (current)
marianaphplist [Release versioning]
Line 1: Line 1:
 +====== phpList Development ======
  
 +===== Infrastructure =====
 +
 +For the complete list of phpList development links, including repositories, documentation, and more, see the [[develop:infrastructure|development infrastructure]] page. See also the [[develop:developmentsetup|development environment setup]] guide.
 +
 +
 +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/functionndx|Function index]].
 +
 +===== Contributing =====
 +
 +==== Agreement required ====
 +
 +Please sign the Contributor License Agreement (CLA) [[https://phplist.com/cla?action=login|via GitHub]] to make managing the legal aspects of the phpList codebase simpler. It is only required once and takes just a [[https://phplist.com/cla?action=login|few seconds]]. 
 +
 +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://phplist.com/cla|CLA]] to us by email or post.
 +
 +===== 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://github.com/phplist/phpList3|phpList 3 repository]].
 +
 +These tests are automatically executed by [[https://travis-ci.org/phpList/phplist3|Travis]].
 +
 +==== 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's behaviour can be changed via a broad range of plugin hooks. See the comprehensive guide to [[develop:plugins |writing a  plugin]]. A directory of existing plugins exists on the [[plugins:start|Plugins page]].
 +
 +Unlike contributions to the phpList core applications, plugins can use a variety of different copyright licenses, so long as they are compatible with the license of phpList. 
 +
 +
 +===== phpList in Docker =====
 +
 +
 +To facilitate development of phpList, core code, themes and plugins, you can now set up [[develop:docker|phpList in docker]] and work with your local code.
 +
 +
 +
 +===== Release versioning =====
 +
 +Upcoming releases are tracked on the [[https://github.com/phpList/phplist3|GitHub]]. Issues are assigned to 'target versions', which can be a fixed version number (e.g. 4.0.1) or a meta version (e.g. 'Next patch'). Hard numbers represent that the issue needs to be included in a specific release, whereas meta versions represent issues that would be 'nice to have' in the next release of a given type (e.g. patch, minor, or major).

Resources
Contact Us

e: info@phplist.com

Boring Bit

phpList is a registered limited company

UK Company No. 07582966

VAT Registration 122 0788 37

© phpList 2016