Tomas Bures
e7d12f1dbc
Halfway through in refactoring the report generation to a separate process running asynchronously of the Express server.
2017-04-17 18:31:01 -04:00
Tomas Bures
2056645023
Added the option to select lists in report.
...
Added an option to generate a CSV report.
2017-04-17 16:30:31 -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
c74232e9c5
Added option to mark a list as not being allowed to be subscribed by public users using the form.
...
The settings is a checkbox in list create/edit.
2017-04-14 08:57:47 -04:00
vladimir
c9136f8abd
Add blacklist function
2017-04-11 10:10:02 +02:00
witzig
100fd41713
Fixes widgets for custom forms, #201
2017-04-10 08:44:33 +02:00
witzig
60907c0d86
Subscription Widget
2017-04-03 20:42:04 +02:00
vladimir
1547e887c3
Add option to disable email cheking for imported CSV
2017-03-31 11:20:43 +02:00
Andris Reinman
d7c06e0a5a
Do not use .stack property with error objects
2017-03-24 13:04:38 +02:00
vladimir
3152ecb228
Merge remote-tracking branch 'upstream/master' into clicks-by-device-type
2017-03-21 10:26:50 +02:00
witzig
8852f33f03
Added note about MJML usage
2017-03-20 22:32:32 +01: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
witzig
b09af60fac
Merge branch 'master' into custom-forms-mjml
...
# Conflicts:
# lib/tools.js
# package.json
2017-03-19 13:44:24 +01:00
witzig
2e50fbc8ae
Custom Forms
2017-03-19 13:36:57 +01:00
Andris Reinman
9d5fb816c9
Fixes issue with HTML entities
2017-03-19 13:39:34 +02:00
witzig
3aaf9bc6bf
Fixed title case
2017-03-12 01:13:24 +01:00
witzig
a2450507c6
Rename index-2.hbs to index.hbs
2017-03-12 01:10:08 +01:00
witzig
fca8313a5e
Landing Page Proposal
2017-03-11 13:21:07 +01:00
witzig
1ea399cbe9
Reduce error handling noise
2017-03-10 15:38:04 +01:00
Andris Reinman
020a77c78f
applied some code style changes
2017-03-10 14:14:38 +02:00
witzig
588eed008b
GrapeJS and Mosaico Integration
2017-03-10 09:59:25 +01:00
Andris Reinman
37531f2550
Merge branch 'master' of github.com:andris9/mailtrain
2017-03-07 16:31:34 +02:00
Andris Reinman
d25565b6f8
Updated translation support
2017-03-07 16:30:56 +02:00
witzig
a164a7fb40
Moved tracking scripts to partial and made tools.formatMessage() less greedy
...
The change in tools.formatMessage() prevents stripping CSS like
a[data-foo] and arrays in JS. Thus only replacing mergeTag it knows
about.
2017-03-06 14:52:22 +01:00
witzig
66dc1091a8
Merge remote-tracking branch 'upstream/master'
2017-03-04 21:52:10 +01:00
witzig
8fdb2840c4
Moved Merge Tag Helpers to helpers.js
...
… to satisfy ESLint top-level module scope.
2017-03-04 21:50:44 +01:00
Andris Reinman
bd6ba90eca
Added 'created' column for subscribers lists table
2017-03-04 22:02:46 +02:00
witzig
d9c1d8e595
Merge remote-tracking branch 'upstream/master'
2017-03-04 18:38:44 +01:00
witzig
633463108e
Merge tag reference abstraction/partial
...
Perhaps helpers.js would be a more suitable place for
getDefaultMergeTags() and getListMergeTags() … ?
2017-03-04 18:37:41 +01:00
Andris Reinman
ba8bd12123
initial translations support
2017-03-04 18:15:16 +02:00
witzig
9f191bd7da
Update archive.js
...
Ups.
2017-03-02 22:49:28 +01:00
witzig
a11d95f3d7
Support for custom HTML editors
2017-03-02 19:30:40 +01:00
Andris Reinman
66bfcebd47
added support for ses
2017-02-17 15:56:55 +02:00
Andris Reinman
c42c71a308
allow using only text content
2017-01-29 18:36:10 +02:00
Andris Reinman
fa5d2d012d
allow using only text content
2017-01-29 18:33:40 +02:00
Andris Reinman
59c7e1dd8b
allow using only text content
2017-01-29 18:23:00 +02:00
Andris Reinman
50f6c8d101
Reload mailer config once admin updates Mailtrain settings
2016-12-25 17:59:50 +02:00
Andris Reinman
efe65ffc3c
Treat on,y Permanent bounces as hard bounces, skip everything else (eg autorseponders)
2016-12-12 21:45:53 +02:00
Andris Reinman
37b0ac9aec
Do not use array.includes to support some older versions of node
2016-12-08 13:49:31 +02:00
Andris Reinman
7fce6e28fa
Allow updating subscribers email address
2016-12-07 16:12:26 +02:00
Johannes Zellner
ac72abd993
Ensure replyTo is picked up for campaign creation page
2016-11-25 17:43:38 +01: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
e1ace459cf
Require subscribers to have JavaScript turned on
2016-09-08 20:43:02 +03:00
Andris Reinman
7171c236bd
Require JavaScript to be turned on for subsciption confirmations
2016-09-08 17:50:25 +03:00
Andris Reinman
78083c33fd
Require JavaScript to be turned on for subsciption confirmations
2016-09-08 17:49:01 +03:00
Andris Reinman
dcc22e55b9
fixed dkim handling
2016-09-08 16:32:39 +03:00
Andris Reinman
d651cca039
Updated installation script
2016-09-08 15:31:38 +03:00
Andris Reinman
95379f731f
v1.18.0
2016-09-08 14:39:41 +03:00
Andris Reinman
82227f49f6
Merge branch 'master' of github.com:andris9/mailtrain
2016-09-08 11:20:45 +03:00
Andris Reinman
d2f0d16980
Updated install script to bundle ZoneMTA
2016-09-08 11:20:33 +03:00
Thi
904b61467d
Fix typo
2016-08-30 12:24:33 +08:00
Andris Reinman
7cb5af94b0
return tag
2016-08-29 14:09:07 +03:00
Andris Reinman
896fc01015
v1.16.0
2016-08-29 13:57:27 +03:00
Andris Reinman
1469e08063
Added API call to create new custom fields
2016-08-29 12:27:14 +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
aad08c4f12
v1.15.0
2016-07-28 17:10:38 +03:00
Andris Reinman
b6555ffd04
Added links to preview delivered messages
2016-07-06 20:10:34 +03:00
Andris Reinman
cf0042c50a
Added support for throttling
2016-07-05 19:31:57 +03:00
Andris Reinman
10bd4614ef
Add an option to disable un/subscribe confirmation messages
2016-07-01 00:06:46 +03:00
Andris Reinman
c72f03ff5e
Added API method to delete subscribers
2016-06-24 14:29:07 +03:00
Andris Reinman
eab46d758a
Display a list of triggered users
2016-06-24 14:12:21 +03:00
Andris Reinman
b16209f23e
Added initial support for trigger based automation
2016-06-22 14:32:15 +03:00
Andris Reinman
a229f80e22
Added support for relative date ranges in segments
2016-06-01 16:36:24 +03:00
Andris Reinman
9bd6db2624
v1.11.0
2016-05-31 17:32:36 +03:00
Andris Reinman
3fa0e109af
Count only subscribed subscriptions for segments
2016-05-31 16:19:04 +03:00
Andris Reinman
f29a8a1b67
Fetch multiple unsent messages at once to speed up delivery
2016-05-25 18:01:39 +03:00
Andris Reinman
9a5d723663
Fixed unsubscription bug #49
2016-05-25 13:47:14 +03:00
Andris Reinman
408f021c36
Added views for bounced/unsubscribed/complained etc.
2016-05-14 12:49:42 +03:00
Andris Reinman
5b20ff2242
v1.8.2
2016-05-13 21:08:44 +03:00
Andris Reinman
d933f07eac
v1.8.1
2016-05-13 20:08:42 +03:00
Andris Reinman
4461b6d612
Updated clicks view
2016-05-13 15:57:16 +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
c26f8b15d7
v1.7.0
2016-05-12 19:21:56 +03:00
Andris Reinman
11f412ded1
Working API for subscribing and unsubscribing
2016-05-07 14:28:24 +03:00
Andris Reinman
3b9f3559a4
v1.5
2016-05-05 17:02:22 +03:00
Andris Reinman
3273c43184
Added clicks stats to links table
2016-05-05 14:57:56 +03:00
Andris Reinman
09de6e4576
Added links click count stats to campaign view
2016-05-05 14:34:54 +03:00
Andris Reinman
8bc85a0b63
RSS campaigns
2016-05-04 16:54:09 +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
b0d36be790
Added option to include GA tracking
2016-05-02 19:50:43 +03:00
Andris Reinman
bc34ed2e39
u
2016-04-30 18:19:48 +03:00
Andris Reinman
6e514e1ccc
use moment to detect timezones
2016-04-29 19:13:51 +03:00
Andris Reinman
ae8a79ea07
Intial timezone support
2016-04-29 15:35:00 +03:00
Andris Reinman
478237e60f
Started adding timezone support
2016-04-29 14:57:13 +03:00
Andris Reinman
33e075ecdc
fixed subscription listing
2016-04-29 11:56:49 +03:00
Andris Reinman
8274d148df
fixed subscription listing
2016-04-29 11:55:25 +03:00
Andris Reinman
5876977f43
use ajax to load campaign listing instead of prerendering
2016-04-29 11:52:02 +03:00
Andris Reinman
ffcc873ef3
Support URL-based archive pages
2016-04-26 21:14:48 +03:00
Andris Reinman
e396219c03
Added option to schedule sending
2016-04-26 15:18:41 +03:00
Andris Reinman
d9f7d5b1af
Rewrite merge tags in links
2016-04-25 16:19:55 +03:00
Andris Reinman
172c8ce56f
Display failed imported addresses
2016-04-25 15:39:17 +03:00
Andris Reinman
9e3b42e11c
Send welcome and unsubscribe confirmation emails
2016-04-21 20:17:19 +03:00
Andris Reinman
9c9af58eb5
Added PGP pubkey download button
2016-04-16 14:09:23 -07:00
Andris Reinman
db2a7f8aff
sign gpg messages
2016-04-16 10:51:22 -07:00