witzig
ce2ed26fc9
findMailByResponse now searches in latest campaigns first
...
This should be more efficient especially if there’re many campaigns.
2017-07-13 22:29:55 +02:00
Luc LosCan
f90e67d775
Save new queueId/response on locally requeued messages
2017-07-10 12:13:17 +02:00
vladimir
1e3fe96825
[bugfix] Blacklisted emails counter not set to 0 on campaign reset
2017-05-27 14:14:32 +02:00
vladimir
25bb4afa80
Merge with upstream
2017-05-27 14:07:56 +02:00
vladimir
59912e3c29
Separate disable opened/clicked tracker to 2 options
2017-05-27 14:04:49 +02:00
Tomas Bures
a6d25e668b
Release candidate of the selectable unsubscription
...
Implemented the resubscription process - i.e. pre-filling in the form when the subscription link is clicked in the unsubscription notice.
2017-05-04 17:42:46 -04:00
Tomas Bures
bd4961366f
More or less all the functionality for selectable unsubscription process. Not tested yet!
...
Sending emails moved completely to controller. It felt strange to have some emails sent from the controller and some of them from the model.
Confirmations refactored to an independent model that can be potentially used also for other actions that need an email confirmation.
2017-05-03 15:53:34 -04:00
Tomas Bures
8237dd5d77
The "Reports" feature seems functional.
...
Some small refactoring (column widths) of rendering tables in Lists, Templates, and Campaigns so that it is the same as Reports.
2017-04-20 19:42:01 -04:00
Tomas Bures
6ba04d7ff4
This is a preview of the Reports functionality.
...
It allows defining report templates and then create reports based on the templates.
A template defines:
- parameters - to be set in the report (currently only selection of campaigns, in the future to be extended to selection of lists/segments, and selection from pre-defined options)
- data retrieval / processing code (in Javascript)
- rendering template (in Handlebars)
This main functionality is accompanied by a few minor tweaks here and there. Worth notice is the ability to use server-side ajax table s for multi-selection of campaigns. This is meant for reports that compare data across multiple campaigns. This could possibly be even used for some poor man's A/B testing.
Note that the execution of custom JavaScript in the data retrieval / processing code and definition of custom Handlebars templates is a security issue. This should however be OK in the general case once proper user management with granular permissions is in. This is because definition of a report template is anyway such an expert task that it would normally be performed only by admin. Instantiation of reports based on report templates can be then done by any user because this should no longer be any security problem.
2017-04-16 18:09:08 -04:00
Tomas Bures
9fdf52674e
Lists and Templates overviews refactored to use ajax. Before the refactoring, they behaved and looked a bit different to the other (Ajax) tables. The main difference in the behavior was in the row numbers (1st column) when sort order was switched. The non-ajax tables rearranged the numbers in the 1st column while the ajax-tables didn't.
...
Some small tweaks in table-helpers to allow selecting which fields are pulled from DB (and how they are renamed).
2017-04-16 03:22:32 -04:00
Tomas Bures
e5190c9b20
Code de-duplication of list and filter methods. The common functionality moved to table-helpers.js
...
This should make developing new table-based views easier.
2017-04-15 08:24:58 -04:00
witzig
9c2444488f
Satisfy ESLint no-unused-vars
2017-04-02 14:00:42 +02:00
vladimir
3b39f619b1
Small visual change in device/country charts
2017-03-31 11:51:26 +02:00
vladimir
8caf334fcc
Cosmetic changes
2017-03-21 01:06:05 +02:00
vladimir
10dd23fee4
Merge remote-tracking branch 'upstream/master' into clicks-by-device-type
2017-03-20 14:50:10 +02:00
vladimir
1ba3bce6eb
Add device type detect and stats calculation for open/click rate by device type and country
2017-03-20 14:44:17 +02:00
Andris Reinman
ae6affda81
do not allow script tags in description html
2017-03-19 14:22:44 +02:00
Andris Reinman
d25565b6f8
Updated translation support
2017-03-07 16:30:56 +02:00
witzig
a11d95f3d7
Support for custom HTML editors
2017-03-02 19:30:40 +01:00
Andris Reinman
59c7e1dd8b
allow using only text content
2017-01-29 18:23:00 +02:00
Andris Reinman
8ca1fbb535
Added option to spawn multiple sender processes
2016-12-11 00:38:54 +02:00
Johannes Zellner
901591dde4
Ensure the campaigns model picks up reply_to
2016-11-25 17:10:44 +01:00
Andris Reinman
8d2e5f23e6
fixed campaign error
2016-11-13 13:50:51 +02:00
Andris Reinman
35bce32529
Full support for message attachments
2016-09-09 23:09:04 +03:00
Andris Reinman
bfc6983c93
Added attachments to campaigns
2016-09-09 22:12:03 +03:00
Andris Reinman
95379f731f
v1.18.0
2016-09-08 14:39:41 +03:00
Andris Reinman
fb7fd7238f
Encode List-ID header, allow access to campaigns with deleted list
2016-08-10 20:45:29 +03:00
Andris Reinman
4e33cc471f
status
2016-06-22 15:25:36 +03:00
Andris Reinman
b16209f23e
Added initial support for trigger based automation
2016-06-22 14:32:15 +03:00
Andris Reinman
8546040e97
v1.10.1
2016-05-26 12:53:12 +03:00
Andris Reinman
773977dd96
v1.10.0
2016-05-25 23:58:17 +03:00
Andris Reinman
408f021c36
Added views for bounced/unsubscribed/complained etc.
2016-05-14 12:49:42 +03:00
Andris Reinman
54ff4169d9
fixed click tracking
2016-05-13 15:46:39 +03:00
Andris Reinman
0d038f8a06
list clicked subscribers
2016-05-13 15:32:29 +03:00
Andris Reinman
09de6e4576
Added links click count stats to campaign view
2016-05-05 14:34:54 +03:00
Andris Reinman
84869dafa7
v1.4.1
2016-05-04 19:11:41 +03:00
Andris Reinman
4f2d66c30c
Use juice to prepare html messages
2016-05-03 19:21:01 +03:00
Andris Reinman
c031ea7747
first actually working version of RSS campaigns
2016-05-03 14:04:46 +03:00
Andris Reinman
fd0e75da27
added view for RSS campaigns
2016-05-03 12:36:06 +03:00
Andris Reinman
09103ac58b
Started adding support for RSS campaigns
2016-05-03 00:04:43 +03:00
Andris Reinman
bc34ed2e39
u
2016-04-30 18:19:48 +03:00
Andris Reinman
5876977f43
use ajax to load campaign listing instead of prerendering
2016-04-29 11:52:02 +03:00
Andris Reinman
e4c71f4026
First take on the "send from url" feature
2016-04-26 19:07:07 +03:00
Andris Reinman
e396219c03
Added option to schedule sending
2016-04-26 15:18:41 +03:00
Andris Reinman
e5e71e0407
Added VERP support
2016-04-10 20:26:20 -07:00
Andris Reinman
0392473ecd
Fixed a bunch of MySQL pooling issues where connections were not properly released or were double-released
2016-04-05 15:29:42 +03:00
Andris Reinman
54fa30701e
Initial import
2016-04-04 15:36:30 +03:00