innoraft / kabootr Goto Github PK
View Code? Open in Web Editor NEWAn email marketking and newsletters solution by Innoraft.
An email marketking and newsletters solution by Innoraft.
As evident from the sendy snapshot below there are various kind of statistics that are available for a mailing campaign.
We need to do a quick research (not implementation, just getting to know) to figure if deeper integration with Amazon SES is required (beyond just using the drupal SMTP module, or drupal php sendmail() to talk to SES) for sending mails in a way such that we have statistics avaiable.
Or may be sendy is getting all these stats some other way?
This issue can be successfully closed after we have a rough quick document of how we would need our kabootr drupal talk with Amazon SES. This issue does not deal with the implementation.
Sendy's code can be looked upon from here - https://github.com/AamAadmiParty/mass-emailer-sendy/ and I am sending the unlocked code (sendy has 2 locked files) over email.
Currently when we create newsletter or subscription list, many user are subscribed to newsletter category. So there is chance of php time out. So I am setting batch for this operation.
Create Amazon SNS end point in kabootr which will receive notification from Amazon SNS.
Create Kabootr reports interface for bounce / spam / unsubscribe
reference : #38
Kabootr menu system discuses with sumeet.
https://docs.google.com/a/innoraft.com/document/d/15jCORZ9iT09JJxgzB17JmmlzCLsZFq5iD4Nw5BsXCOw/edit
Need to study and understand all aspects of simple newsletter module.
And then create a functionality such that if we run a query that outputs N number of user ids, that should create a new list of simple newsletter subscribers on the fly.
User login blocking for all non admin users
reference : #46
Setup an Amazon EC2 micro instance for Kuldeep to put the Drupal application over there.
Create arch to support bounces / spam / unsusbcribe - against lists and nodes
Gaurav and Kuldeep views
Past discussion with Mukesh
So For supporting bounces / spam / unsusbcribe
Acceptance Criteria
This needs to be expanded as per disucussion and new smaller issues referencing this need to be created.
Take full back of kabootr dev.
Export 100-200 records from AAP lists in Sendy.
Study them and create "data fields" on kabootr dev.
Edit the sample AAP data to use safe INNORAFT mails.
Import this data to kabootr
Create multiple dynamic lists with different types of filters.
Name these lists such that they describe the filter
Create and send campaign. Be 200% sure that all mails are only going to INNORAFT addresses.
From the entire process create notes on what we need to work on next for DCD release of Kabootr.
I have created EBS volume of capacity 10 GB,
Then for mounting running this command sudo mount /dev/sdf /var
seeing this output mount: special device /dev/sdf does not exist
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html
create roles - system manager, campaign manager, subscribers
all the roles should be locked
no subscriber should be able to login unless he is in other roles too
We need to check that is DKIM related changes are actually done on the server, do they really get picked up by the AWS API call in Kabootr and the domain or email shows as DKIM verified?
Make the module that allows drupal to send mails via Amazon AWS + SES contributable.
Details to be filled soon.
AWS SNS setup should be able to talk back to Kabootr
(stub) Exclude bounces and spam marked in future
Way of sending Simplenews module email
Email Sending in Amazon
So by studying above points, we have some conclusion.
Kabootr must be able to send formatted emails.
reference : #46
See the images below
The incoming mail from kabootr should reach our inbox and we should be able to verify the from address and the 'via amazon ses' part as shown below.
The order, name and paths of the links to be used can be picked from this google document - https://docs.google.com/a/innoraft.com/document/d/15jCORZ9iT09JJxgzB17JmmlzCLsZFq5iD4Nw5BsXCOw/edit
The AWS access key and secret entries form should have the right default value set.
After verification of the sender ID the page where the control goes to is wrong. There is a typo in the URL that needs to be fixed.
(stub) Basic reporting of sent count, opened, spam mark, bounce should be there
First simplenews category should be called MASTER LIST and not the site name
From the entire process of testing kabootr, create notes on what we need to work on next for DCD release of Kabootr.
reference : innoraft/kabootr #36
@sumeetpareek Url of amaozn SNS end point that will be put into Amazon SNS topic.
[site-url]/kabootr_end_point.php.
In our new AAP server it would be
http://messenger2.aamaadmiparty.org/kabootr_end_point.php.
After deleting all the users, create a list of volunteers from the aap sandy messanger, import them to app kabootr
Right now we have modules with functions to be able to talk to Amazon AWS SES which call call functions and prepare and send mails via SES. Currently, for sending out simplenews module's content a separate custom module with it's cron implementation is created. Where on cron run things are done to see what simplenews needs to go out and then mails are sent via SES.
Now, a lot of this custom functionality is already present in simplenews module, which makes us wonder if there are better ways of sending out mails via SES such that existing code in simplenews module does what is already does, and only the outgoing mail part is handled by us.
A good stop for this is to research the below modules that add some kind of support for outgoing mails -
Acceptance criteria = A google doc with useful observations of the module that are relevant to what we are trying to do. Questions and suggestions listed separately. Followed by a tech meeting to take the final decision.
(stub) We should be able to send a campaign to multiple lists.
Currently only 1 list per campaign is allowed, I think, but I am not sure.
If it is not feasible to finish before DCD release we should see if cloning node temporarily is a good option. In cloning and sending to multiple lists we need to check how same emails in multiple lists are handled?
@gauravgoyal You seem to be pushing branches to Kuldeep's fork and not to the parent repository. See image below. To fix this, you can git remote rm KULDEEP REMOTE
and then do a git remote add NAME(TYPICALLY=ORIGIN) PARENT-REPO
@gauravgoyal Can you also explain @tkuldeep that for kabootr we will stop using 'fork and pull' model and use the 'shared repository' model instead. Details of both can be found here - https://help.github.com/articles/using-pull-requests
On fresh installation of kabootr in new machine, following action will be taken by kaboot
Followed by Summet
Has to be verified
Add new role to kabootr, for secure access of kabootr
I will create two new role
In kabootr for importing users from source data, we need feed importer..
Export 100-200 records from the AAP lists in sandy, study them, and create user account field list on kabootar dev.
Before sending the mail, be 100% sure that no mail is sent to the actual user.
reference : innoraft/kabootr #36
On complain or bounces of mail, we inactivating the subscriber, So it showing error when we create new newsletter category or update existing newsletter category.
If we just use the /etc/hosts entries we will not be able to test Kabootr and SES talking back to each other. We need to setup real domain names as noted in this comment.
The reports page is visible to ANON user. Should not be.
This needs to be deployed on AAP too.
Placeholder issue for project management notes. I am not even sure at this point, what stuff I will push in here :-p
But I will keep this issue active only till the DCD Release.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.