Newsletter Application

Version 33.1 by Gabriela Smeria on 2015/10/21 14:39

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

Oana Tabaranu, Manuel Smeria

Rating
0 Votes
LicenseGNU Lesser General Public License 2.1

Installable with the Extension Manager

Description

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.

Newsletter

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. 

Mailing

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.

userprofile.png

Example

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

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

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.
newslettermodel.png

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.
createnewsletter.png

newsletterinline.png

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.
newslettersubscription.png

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

All newsletter instances are stored on the LettreInformationInstances space:
instanceslivetable.png

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

Improvements

  • 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.

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

v1.1

v1.0.1

Fixed these issues:

Tags:
    

Get Connected