newspaperCreate newsletters using models and section elements and automatically send them to subscribers
Developed by

Oana Tabaranu, Manuel Smeria

Active Installs1
0 Votes
LicenseGNU Lesser General Public License 2.1

Installable with the Extension Manager


Each time a newsletter is sent, it is called an instance, because the newsletter is not really sent, but contents related to that newsletter.
An instance is a bunch of sections. A section will be called an element. The structure of a newsletter is set in a model. That model is linked to the newsletter. Creating a model allows ordering a list of elements to be used by one or several newsletters. All newsletter models include by default 2 elements: Agenda (wiki page LettreInformationElements.Agenda) and Mentions légales (wiki page  LettreInformationElements.Disclaimer).

Newsletter Elements

One element can be added to several models.
Elements are stored on the LettreInformationElements space (reachable via the Application menu on the right). The homepage is a livetable which displays elements already created and also an input that allows the user to add a new one.
Only LettreInfoGroup and XWikiAdminGroup members are able to add/edit elements.

Newsletter Models

A model is a set of several elements, that are ordered by the user who creates/edits the model. Elements added are not editable there. The user has to go back to elements feature interface to edit an element. The Agenda element is already added to any template, but its order can be changed.

The order of elements can be updated by drag & drop. The space is named LettreInformationModeles (reachable from  the Application menu on the right). The webhome of the space displays a livetable with all models. For each row, the livetable shows if a model is already been associated to a newsletter or not.


A newsletter has : title, description and a frequency (it's only an information field, not related to the send).
Plus a newsletter is linked to a model. If the model is not set, the user won't be able to create an instance of that newsletter.
Only Admins are able to manage newsletters.

Newsletters are displayed in a livetable on a page reachable from the Application menu on the right. A logged user can subscribe to a newsletter directly from the newsletter page or from an instance of a newsletter. If he has already subscribed to a newsletter, he can unsubscribe from the newsletter or any instance of that newsletter. A user subscribes to a newsletter and receives instances of this newsletter.

Newsletter Instances

An instance of a newsletter can be created only if the newsletter is associated to a model. An error message must be displayed once it's not the case. Only when the user is creating the instance, the textareas of each element are visible and can be edited to create the instance.

Basically, an instance of a newsletter is only a copy of the model. That way, an admin would be able to edit any instance, even if the template does not exist anymore, or even if elements that are part of the template don't existe anymore.

When the user thinks his instance is ready to be read, he publishes it. 


Once the instance is ready to be sent, the scheduler job will sent it by bunch of 20 mails.

Mail Format

  • Title of the mail : Title of the newsletter + n°instance
  • Content of the mail : Description of the newsletter + link to management of his subscription (link to profile, subscription part)

User profile

The user can manage his subscriptions from a new tab available on his profile.



The links for elements, models, newsletters and instances are available under the "Applications" panel:  

Create a new element for the newsletters on the LettreInformationElements space (e.g. Articles, Events):

New models can be created on the LettreInformationModeles space using any available elements. The newly added elements can be ordered using drag and drop. For example, the January Newsletter Model will have 4 elements: Agenda, Mentions légales, Articles and Events.

The LettreInformation stores all newsletters.  The January Newsletter has a referece to it's original model and also the number of how many instances have been sent.


The user can subscribe to future the newsletter instances by clicking the "S'inscrire à la lettre d'information" button. Once the subscription done, the button will switch to "Se désinscrire de la lettre d'information" allowing the user to unsubscribe.

The newsletter title will be the newsletter name + n°instance (e.g. January Newsletter N° 1)

All newsletter instances are stored on the LettreInformationInstances space:

To receive the newsletter, the newsletter scheduler listed on the Scheduler space needs to be planned and triggered:


  • Fix the scheduler job to send also an attachement of the newsletter PDF.
  • Fix the newsletter sheet queries to display statistics for the subscribers and unsubscribers.
  • Allow a user to subscribe to a newsletter upon registration.

Tested on

This extension has been tested with the following configurations.

Extension VersionXWiki FlavorNotes
1.0.1XWiki Enterprise 6.0.1


1.1XWiki Enterprise 7.3-M1

Prerequisites & Installation Instructions

  • The administrator email needs to be set on the wiki preferences for the newsletter scheduler job to have a sender.
  • Take a look at the administrator documentation to configure the wiki SMTP server

Release Notes



Fixed these issues:

Created by Oana Florea on 2013/01/04 17:35

Get Connected