Hi there!! I’m working on a new extension that allows to manage
newsletters.
Basically a page can be a newsletter (NewsletterPage type) and it has
its
own subscribers.
Each one of its children is an email to send.
If you want to try it you can check it out with:
Nice work, Andrea! Nice use of shards, too. I’m glad to see I’m not
the only one using it successfully.
Thank you for the shards extension Sean!!! It’s very useful to
customize
the radiant ui!
Peter, I’m going to add ar_mailer support! Using it we can send emails
with
a rake task using cron,
because it currently sends a mail for each newsletter_subscriber.I hope
to
finish in an hour :).
Nice, I will take a better look this weekend. First I have to catch up
some
sleep
I’ve just added ar_mailer. When you click on the send button, emails are
saved in the NewsletterEmails table.
Then you can send them with the following rake task:
rake radiant:extensions:newsletter:email:send
You need to add smtp configurations in the environment.rb file.
Suggestions and patches are welcome
Nice work with this extension. I’m going to use it for my current
Radiant project. I’m not so sure I like the idea of having to setup a
scheduled task to call the rake task at intervals to get newsletters
sent, but on the other hand it’s not very nice to make mongrel send
them immediately either.
I’m planning to add some basic tracking stuff to your extension. I was
thinking to add two tags:
<r:newsletter:tracking:bug /> (inserts an image tag which invokes the
server when the user opens the newsletter. This should be inserted in
the newsletter layout)
<r:newsletter:tracking:link url="…">…</r:newsletter:tracking:link>
(wrapping links so the clicks are tracked before the user is
redirected to the given url)
but the bug could also be inserted always, and all links could be
wrapped automatically.
So I thought to add a rake task…maybe we can add a page that call
in ajax
the controller that send 20 emails each request but I don’t know…
I think it’s best to add instructions on how to easily schedule the
rake task to be called every 5 minutes or so. Relying on an Ajax call
sending 20 pr. call sounds pretty vulnerable to me.
An other problem is that every time you send a mail, the controller
loop
through all the subscribers to create a new NewsletterEmail.
Does exist a way to do it better?
Well, it could probably be optimized to a single query using an
INSERT … SELECT statement, but since it an admin call it’s not
really a big issue I think.
Do you want to add that image just to track how many times the email
is
opened?
Well, yes. Clients seem to be pretty happy about knowing how many of
the recpients has actually opened the newsletter, and how many of them
clicks the links in it. It just a call to a controller returning a 1x1
transparent pixel (Web beacon - Wikipedia).
Nice work with this extension. I’m going to use it for my current
Radiant project. I’m not so sure I like the idea of having to setup a
scheduled task to call the rake task at intervals to get newsletters
sent, but on the other hand it’s not very nice to make mongrel send
them immediately either.
Thanks for your support Casper
I think that if you have more than 200 subscribers, it’s impossible to
send
all the emails during a request.
So I thought to add a rake task…maybe we can add a page that call in
ajax
the controller that send 20 emails each request but I don’t know…
An other problem is that every time you send a mail, the controller loop
through all the subscribers to create a new NewsletterEmail.
Does exist a way to do it better?
but the bug could also be inserted always, and all links could be
wrapped automatically.
What do you think?
Do you want to add that image just to track how many times the email is
opened?
Well, yes. Clients seem to be pretty happy about knowing how many of
the recpients has actually opened the newsletter, and how many of them
clicks the links in it. It just a call to a controller returning a 1x1
transparent pixel (Web beacon - Wikipedia).
If you think that this functionality is closed related to a newsletter
we
can add it!Otherwise you can create a separated controller or extension
to
track all these kind of statistics.
What do you think?
Iam installed radiant cms and developed web application upto here
every thing is okay… and now iam facing problem in adding newsletter
feature to my application…i have done all commands which are below
mentioned…
it is created one page, called newsletter where it shows all the field
tags…
but when iam trying to execute
“http://localhost:3000/newsletter/newsletter_logs/” with this url… am
getting “File not found”
but when iam trying to execute “http://localhost:3000/newsletter”
getting “This is newsletter page”… i knw which page and which tab is
executed…
But my intension is to showing up all the information reg the
newsletters in that page…
it is nice when we execute the cmd rake RAILS_ENV=production
radiant:extensions:newsletter:page:new… creates a new page…
Plz suggest me asap
Hi Sridhar, you need to create a site with radiant. After installing it
check out the newsletter extension with subversion inside the
vendor/extensions directory.
Now, from the radiant root type the following commands:
Edit the environment.rb adding smtp settings. There is an example in the
README file of the extension.
Restart the server, and configure your newsletter editing the newsletter
page. Add a child page, save it and send it.
Let me know if you have any problems.
Am newbie to RoR and Radiant CMS…
I want to use newsletter extension in my application which is developed
in ruby on rails…
Please suggest me how i can use Newsletter extension…
Hi Sridhar, you need to create a site with radiant. After installing it
check out the newsletter extension with subversion inside the
vendor/extensions directory.
Now, from the radiant root type the following commands:
Edit the environment.rb adding smtp settings. There is an example in the
README file of the extension.
Restart the server, and configure your newsletter editing the newsletter
page. Add a child page, save it and send it.
Let me know if you have any problems.