django-drip-campaigns icon indicating copy to clipboard operation
django-drip-campaigns copied to clipboard

Plans / Goals behind this project?

Open banagale opened this issue 3 years ago • 7 comments

I am looking for an email drip system for my django project and see all the forks off the zapier project.

This looks like a pretty recent / updated effort, and I wanted to check in on the reasoning for creating it and plans.

For example, are you looking to just have it be updated and work on the newer version of django? Do you hope to keep adding features and have it become a more full-fledged product?

Ultimately, I'm looking for something that can do email flows like welcome / product tours. But also integrate with a web analytics data pipeline like what comes out of Mixpanel.

banagale avatar Nov 23 '20 06:11 banagale

Hey! The project is actively maintained and we plan to add new features to it. My focus recently was more on making the project more developer-friendly and easy to extend, but we definitely plan on adding more product features in the future

kaozdl avatar Nov 23 '20 13:11 kaozdl

Cool. Thanks for getting back. I saw it looked like maybe this started as a hacktober project is that right? Was this the thing that made you and other folks pick this up recently?

banagale avatar Nov 23 '20 14:11 banagale

Actually this started earlier because in Rootstrap we have some initiatives and one of them is to maintain an open source software project. Also because we think it's a very useful project. Please feel welcome to contribute in any way you want!

brunomichetti avatar Nov 23 '20 15:11 brunomichetti

I see. I maintain django-address and have been contributing to some more frontend projects right now.

However, I tried implementing a drip system for django from scratch and failed about a year ago. So it would be much better to start with something working and some energy behind it and I'd be happy to share any improvements back into the project.

banagale avatar Nov 23 '20 15:11 banagale

@banagale The main difference between the zapier project and this are:

  • Support for Django 2.2+
  • Another scheduler for send_drips besides from cron
  • Abstract base classes from where you can subclass to apply your custom behaviors.
  • Ability to use and/or in the query rules.

kaozdl avatar Nov 27 '20 17:11 kaozdl

Glad to see someone else has taken up maintenance of this useful component!

I posted some modifications I made to the original drip package in your discussion area under ideas (#118). I know my changes are getting a bit broad in scope since I modified the mailer for part of them, but unsubscribe links and targeted email to django groups are two basic things that were missing from the original which seemed obvious to me to implement.

Personal opinion, but before I would work a lot on third party schedulers and message queue support I would simply point out in the docs that anyone looking to do such a thing as what this component provides is going to need email sending capability beyond the traditional unix mail queue of 1 email -> 1 recipient looped over.

I find cron to be fine for emailing thousands of users, personally, assuming the django installation is configured with a mailer capable of sending mails out by API rather than by SMTP. The org I mentioned in the linked comment does fine with cron email sending, but the kicker in performance terms is sending mail via the AWS SES API rather than by SMTP, which allows bulk transfer of the actual mail objects.

SMTP, imo, is the bottleneck which requires replacement, not necessarily django's implementation of generating templated emails.

RNCTX avatar May 07 '21 20:05 RNCTX

Great work! Looking forward to new features!

PatrickChrist avatar May 27 '21 07:05 PatrickChrist