Quantcast
Channel: Sendy Forum
Viewing all articles
Browse latest Browse all 1418

My filtered lists project

$
0
0

Hey all,

I posted in another thread on my early concept on creating filtered lists based on your custom fields. I got a bit ahead of myself and ended up completing most of it over the weekend. I'm posting here to see how much interest there would be for this feature and hopefully convince the Sendy folk to implement something like this :)

The basic concept is to use an existing list to generate a new list based on filters you specify on each of the custom fields.

  • Under lists I have broken down the lists into two categories so you can see which are "main" lists and which are filtered lists. I also added pagination so you don't load tons of list details every time you load this page. You can click the create filtered list button, it will then ask you which parent list you want to use. https://dl.dropboxusercontent.com/u/14569277/Screenshot 2013-11-25 12.21.04.png
  • If you click through to a list that has custom fields there is a new option to add a filtered list from this screen. https://dl.dropboxusercontent.com/u/14569277/Screenshot 2013-11-25 12.21.32.png
  • When you click this option you are shown a list with all you custom fields, you can then chose which one you wish to filter on and which values you want to filter off (I added a new data type called Numeric also to handle number ranges). You can check the option to "Include all custom fields in new list" so you will have your custom fields in that list too, if you don't check this it will only export name and email to the new filtered list. https://dl.dropboxusercontent.com/u/14569277/Screenshot 2013-11-25 12.21.51.png
  • The filter on the text field is very rudimentary at the moment, it just matches any text you put in there. E.g. If you want to include all countries that have the letters "can" in them you just enter "can" in the text field. I want to improve this but due to the way custom fields are stored it may just slow things down too much. https://dl.dropboxusercontent.com/u/14569277/Screenshot 2013-11-25 12.22.00.png
  • When you have selected your criteria and click "Create" your list will start filtering the data you selected for. Due to the fact that custom fields are all stored in one column in the table on the database it is not very efficient as the filter function has to break this up first then check for matches. Using this feature on huge lists probably will cause Sendy to time out, I would suggest you increase your timeout limit in your php.ini to get best results. I've been testing with a 200k row list which has 12 custom fields, it takes between 30 to 60 seconds depending on how many fields I filter for, it will also depend largely on how fast the host machine is. I have put a simple spinning wheel overlay here so the user at least knows its busy working. https://dl.dropboxusercontent.com/u/14569277/Screenshot 2013-11-25 12.22.25.png
  • Once your list is filtered it will tell you how many records your new lists will contain and asks you to confirm. During the previous filter process a csv file was already created which will be used to create the new list, it relies on the import cron to work. https://dl.dropboxusercontent.com/u/14569277/Screenshot 2013-11-25 12.22.37.png
  • When you confirm the list it will take you to the filtered lists section and show you the progress of the import, again this relies on the import csv cron to be active however you won't be able to use the filtered lists option if you don't have the cron enabled. https://dl.dropboxusercontent.com/u/14569277/Screenshot 2013-11-25 12.22.49.png
  • When your data is imported into the new list it will work like any other list and you can then send a campaign using this list. In filtered lists you will also have a new option in the subscriber screen called "Filter info" which will show information on the list like which list it was filtered from and the criteria which were used. https://dl.dropboxusercontent.com/u/14569277/Screenshot 2013-11-25 12.23.13.png
  • Modal that appears when clicking "Filter info": https://dl.dropboxusercontent.com/u/14569277/Screenshot 2013-11-25 12.23.26.png
  • You can create a filtered list off an existing filtered list, providing you included the custom fields by checking the "Include all custom fields in new list" when creating it.

I am sure there is a much more efficient way to handle this but I only had a weekend to come up with a solution but maybe this solution would be ideal for many people. I would love to see something like this in the official release, my code is almost done (just some clean up needed) and I will make this available to whoever wants to use it, as long as that is allowed of course.

Cheers!


Viewing all articles
Browse latest Browse all 1418

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>