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
develop:start [2018/05/30 10:30]
samtuke
develop:start [2019/10/25 11:50] (current)
marianaphplist
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]]. 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.
 +
 +
 +===== Virtual Machine =====
 +
 +To help setting up a development environment,​ you can try to get the [[phpList development virtual machine]] running. ​
 +
 +===== Release versioning =====
 +
 +Upcoming releases are tracked on the [[https://​mantis.phplist.org/​roadmap_page.php|Mantis Roadmap]]. 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).
develop/start.txt · Last modified: 2019/10/25 11:50 by marianaphplist

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