Gerard Krol
8b2e3b47b0
Add note about generated names of custom fields.
2017-11-08 10:54:18 +00:00
Gerard Krol
ac09ba81dd
Add API documentation for GET /api/subscriptions/:listId
2017-11-06 10:34:55 +00:00
witzig
0a369e2475
Fix grouped custom fields not saving deselected values #333
2017-10-05 13:39:53 +02:00
witzig
46acece89c
Improve CSV import error handling, closes #324
2017-09-29 00:32:00 +02:00
witzig
83e62e990b
Update import.hbs
2017-09-29 00:19:19 +02:00
witzig
c5b481a266
Add option to preserve unsubscribed status on list import, #325
2017-09-28 00:55:19 +02:00
witzig
bd570000e1
Added documentation for API endpoint /api/field/:listId
...
This has accidentally been removed with PR #203 .
2017-07-06 15:08:35 +02:00
witzig
f0e32ef5a5
Added note about blacklist, #272
2017-07-01 01:50:50 +02:00
witzig
3c4558d70c
Refactored and linted editorapi image handling
2017-06-20 19:08:14 +02:00
Andris Reinman
8b900a9c44
Removed ads from code
2017-06-20 16:47:25 +03:00
witzig
a7b2c33b30
GrapeJS MJML Integration (Experimental)
...
#215
2017-05-31 02:08:44 +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
62cc881fd4
Merge remote-tracking branch 'upstream/master'
2017-05-18 22:46:53 +02:00
witzig
6c35046ab2
e2e tests (draft)
2017-05-10 01:40:02 +02:00
Tomas Bures
11990d62b2
Merge branch 'master' of github.com:Mailtrain-org/mailtrain
...
Conflicts:
languages/de_DE.po
2017-05-04 17:58:55 -04: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
witzig
408db13fd4
Updated RSS merge tag reference
2017-05-03 23:13:05 +02: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
32e2e61789
Unsubscription is identified by subscriber cid. This effectivelly allows only the recipient of the email to unsubscribe. This addresses issue #221 .
...
I also scraped the "auto" parameter which automatically submits the unsubscription form when the link is clicked in a campaign email. Instead, I introduced the
unsubscription options ONE_STEP, ONE_STEP_WITH_FORM, TWO_STEP, TWO_STEP_WITH_FORM. The options without "_WITH_FORM" shall behave like when called with "auto".
This functionality is to come. Currently it behaves as ONE_STEP_WITH_FORM.
2017-04-30 13:01:22 -04:00
Tomas Bures
3783d7c2ce
Halfway through extending subscriptions by selectable unsubscription process. Also contains changes towards better handling of scenarios when address is already subscribed.
2017-04-30 10:51:47 -04:00
Tomas Bures
3072632d8d
Fixed eslint errors
2017-04-23 15:24:31 -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
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
bc669c1e05
Remove pencil icon from GrapeJS image toolbar, #195
2017-04-07 23:12:01 +02:00
witzig
60907c0d86
Subscription Widget
2017-04-03 20:42:04 +02:00
witzig
52bbdb1a09
Fixed NodeList.forEach (and some refactoring)
2017-04-02 13:58:42 +02:00
vladimir
1547e887c3
Add option to disable email cheking for imported CSV
2017-03-31 11:20:43 +02:00
Andris Reinman
47705c212d
Replaced andris9 with Mailtrain-org
2017-03-23 15:47:00 +02:00
witzig
56f621079f
Updated Screenshots
2017-03-21 10:53:35 +01:00
witzig
038c8f4adb
Fix closing tag
2017-03-21 10:26:26 +01:00
witzig
0e7f85f13e
Add .logged-in and .user-username to body
2017-03-21 10:24:48 +01:00
vladimir
3152ecb228
Merge remote-tracking branch 'upstream/master' into clicks-by-device-type
2017-03-21 10:26:50 +02:00
vladimir
97d5d1a462
Replace if-else with unless function in clicked view
2017-03-21 00:16:50 +02:00
witzig
9f68fe9cbb
Removed defaultPostaddress from subscription footer
2017-03-20 22:39:13 +01:00
witzig
8852f33f03
Added note about MJML usage
2017-03-20 22:32:32 +01:00
vladimir
e3cb6ca679
Fix formating and rewrite migration script
2017-03-20 21:50:53 +02:00
vladimir
7d768ebd48
Fix link.id in opened links
2017-03-20 16:53:13 +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
477aff95d5
Moved scripts out of layout.mjml.hbs
2017-03-19 16:14:31 +01:00
witzig
2e50fbc8ae
Custom Forms
2017-03-19 13:36:57 +01:00
witzig
6c7a31dcb4
Updated some screenshots
2017-03-12 12:37:56 +01:00
witzig
82cac028b8
Fixed position of API screenshot
2017-03-12 03:06:51 +01:00
witzig
a2450507c6
Rename index-2.hbs to index.hbs
2017-03-12 01:10:08 +01:00
witzig
648a6ea57c
Cleanup landingpage
...
Changed to title case
Made carousel lazy load
Feature specific screenshots
2017-03-12 01:04:43 +01:00
Andris Reinman
2098527c1d
Merge branch 'landingpage' of https://github.com/witzig/mailtrain into witzig-landingpage
2017-03-11 17:41:10 +02:00