Extension:Newsletter/en

The Newsletter extension provides a catalog of newsletters registered in a given wiki, an easy way for publishers to announce new issues, and an easy way for users to subscribe/unsubscribe and be notified via web or email when new issues are announced. A "newsletter" is defined as a publication that has a name, a wiki home page, and a single or central wiki page for each issue or edition. For user documentation, check.

Subscribe to Newsletter², the newsletter about the Newsletter extension. Announcements, calls for feedback, and some dog food too.

You can test the extension in our vanilla installation or at test.wikipedia.org. We welcome feedback and contributions!

Special:Newsletters

 * List of newsletters that are registered with the service, with their basic information, generated automatically.
 * Registered users can subscribe to newsletters in order to receive notifications about new issues announced, via web or email, according to their Echo preferences. It is not expected to offer delivery to user talk pages.
 * Registered users can check the newsletters they have subscribed to, and they can unsubscribe.

Special:CreateNewsletter

 * Registered users can add existing newsletters to the system (which is referred to as "CreateNewsletter"). They must provide the title of the newsletter; a link to an existing wiki page that serves as main page; and a description.

Special:ManageNewsletter

 * Publishers can announce issues for newsletters that have been added into the system via Special:CreateNewsletter. Echo (?) notifications are sent to subscribers when an issue is announced.
 * Administrators and other users granted the rights can add and remove publishers. Administrators must provide the name of the newsletter and username of the publisher. (This is (?) separate from Special:UserRights; the right exists only in relation to a specific newsletter.)

Requirements

 * Install - Newsletter extension makes use of  notifications to notify subscribed users of new issues when announced by the newsletters, and to notify new publishers and subscribers added.
 * In order be registered with the service, a newsletter must have a name, a central "home page", and at least one user assigned to the "publisher" role; and in order to publish issues/editions and issue notifications, each issue must have its own page (or central page, such as a table of contents).

Contribute
You can contribute code to this extension through Wikimedia Gerrit. You should have a working and the latest version of this extension to start contributing. You can setup your local development environment using either of the following:

Development using (recommended)

 * Follow MediaWiki-Vagrant installation steps and have  running on your vagrant instance.
 * Enable the following roles:   and  . Read about enabling a role here.
 * Navigate to Special:Version on your wiki and verify that  is installed successfully.

Development using LAMP server on your computer

 * Follow Gerrit Tutorial to install  on your computer. You have to run all commands mentioned till Gerrit/Tutorial. You will create an account on Wikimedia Gerrit, which you will use in upcoming steps.
 * Clone extension into your   folder using the command below.

git clone ssh://@gerrit.wikimedia.org:29418/mediawiki/extensions/Newsletter.git


 * Install extension. Install   extension using the installation steps above.
 * Navigate to Special:Version on your wiki and verify that  is installed successfully.

Once you have the extension installed on your wiki, you can start creating patch-sets and submitting it for code-review following the steps here. Alternatively, you can browse the newsletter-project on Wikimedia dashboard to work on existing bugs and feature requests. Please ensure that you have a task on Wikimedia Phabricator before you publish your changes to Gerrit. You can read about creating a task on Phabricator here.

User rights
By default, only users in 'sysop' group have this permissions. You can set up the user rights in.

For example, the following configuration would allow any user to do anything they want with the Newsletter extension, such as creating a new newsletter, deleting an existing newsletter, or managing an existing newsletter by adding or removing publishers.

History
This extension was created in 2013, then modified heavily as part of a Google Summer of Code 2015 project. Its development team is formed mostly by volunteers, and we welcome new contributors. Our goal is to deploy this extension in Wikimedia. Check the ongoing work in our Phabricator workboard.

After a lot of additional work by other contributors, it was made available to Wikimedia users on July 2017.