[MailWizz 3.0] - Should it require its own server to run?

Should MailWizz 3.0 require its own server to run?

  • Yes

    Votes: 11 55.0%
  • No

    Votes: 9 45.0%

  • Total voters
@redpill - the idea with docker containers is that the setup will work the same no matter your vps provider, you'd just run a single command from command line and the script we will provide will do the rest, auitomatically.
However, please read the above replies, we will continue to offer MailWizz as we did do far and additionally, we will offer the containerisation option.
You can always require custom hooks(actions and/or filters) in the app if that makes your life easier and we can add them if they make sense.
That is how we've done it, we have added our own custom filters to minimise the amount of code we need to change in mailwizz.
Our filters are in the API.
We needed to add the ability to search between date ranges and other additional fields, sort by different fields, increase the maximum page length more than 50, plus we also needed to add some extra fields to the output. While this was primarily for the subscribers end point, we did this to all end points that return paged results.
To do this we needed to add three filters:
- One filter before ::model()->count($criteria); to modify the $criteria with new search parameters that will affect the count.
- Another before ::model()->findAll($criteria); to modify $criteria again with page length and sort order changes
- And finally a filter before $data['records'][] = $record; to modify $record with any additional fields we needed in the output.

If you feel like it is useful to add these filters that would be nice! but I understand if that doesn't make sense.
@bolty - Do you think something like this would do it:

Screenshot 2023-05-30 at 12.39.32.png

I haven't had a chance to discuss it with the other team members, but I thought I'd show it to you for some initial debate.
For the above, for each new filter hook, the 'list_subscribers' part will change depending on the collection resource you try to access, i.e: campaigns, lists, templates, etc.
@bolty - we have merged the above changes in the master and will be available in the next release, here's the full changelog for them:

[ADD] - Added api_{campaign_bounces,campaign_delivery_logs,campaign_unsubscribes,campaigns}_collection_{min,max}_records_per_page filter hook 
[ADD] - Added api_{campaign_bounces,campaign_delivery_logs,campaign_unsubscribes,campaigns}_collection_{count,find}_criteria filter hook 
[ADD] - Added api_{campaign_bounces,campaign_delivery_logs,campaign_unsubscribes,campaigns}_collection_{record,data} filter hook
[ADD] - Added api_{countries,delivery_servers,list_segments,list_subscribers,lists,templates,transactional_emails}_collection_{min,max}_records_per_page filter hook 
[ADD] - Added api_{countries,delivery_servers,list_segments,list_subscribers,lists,templates,transactional_emails}_collection_{count,find}_criteria filter hook 
[ADD] - Added api_{countries,delivery_servers,list_segments,list_subscribers,lists,templates,transactional_emails}_collection_{record,data} filter hook