2009-08-29 13 views
8

Quelqu'un peut-il recommander une bonne gemme ou une bibliothèque pour gérer une liste de diffusion avec Ruby? Si possible, aucune solution Rails (je ne veux pas avoir de dépendances d'ActionWhatever, cela sera probablement fait avec Ramaze). J'ai juste besoin de fonctionnalités de base, comme la gestion de la liste elle-même (opérations CRUD sur la liste des utilisateurs), en plus de pouvoir envoyer des notifications, des messages de bienvenue et répondre automatiquement aux questions de base. De manière optimale, les gens devraient pouvoir s'inscrire via une page web Ramaze (c'est-à-dire que j'aurais un appel Ramaze/accéder à l'API de la lib), ainsi qu'en envoyant un email à une adresse email spécifique. Mais je suis prêt à renoncer aux opérations par courrier électronique. Je suis prêt à divertir des solutions non-Ruby, ou non-programmatiques, si elles sont bonnes, mais la possibilité de s'abonner à partir d'une page web [sous mon contrôle] est un must.Ruby: Bibliothèque de listes de diffusion ou gem

EDIT: Désolé, un détail important que j'ai oublié d'ajouter: Ceci est destiné à être une liste de diffusion unidirectionnelle. Autrement dit, les gens devraient pouvoir s'abonner et se désabonner correctement, mais une seule personne devrait être autorisée à envoyer à la liste pour diffusion.

+0

Solution non-programmatique: vous pouvez créer une liste de diffusion sur Google Groupes gratuitement. –

+0

@silky: Si vous écrivez ceci comme réponse, je l'accepterai comme solution choisie. Si vous ne le faites pas dans quelques jours, je vais l'écrire moi-même. – Pistos

Répondre

1

J'ai fini par utiliser Google Groupes. (Si soyeux tiens à ajouter une réponse officielle à cet effet, je le marquerais volontiers comme la réponse officielle acceptée.)

Google Groupes vous permet de modifier les paramètres afin que vous puissiez avoir une "newsletter" comme je le voulais (c.-à-d. expéditeur unique, destinataires multiples). Il dispose également d'un extrait HTML intégrable prêt à être inséré rapidement à partir d'une page Web sous votre contrôle.

4

Je ne suis pas vraiment sûr de vos besoins. Si vous n'avez besoin que de fonctionnalités de base, pourquoi vous souciez-vous de la langue dans laquelle elle est implémentée? Vous n'auriez besoin de le savoir que si vous avez besoin de fonctions avancées que vous devez implémenter vous-même!

Compte tenu de vos besoins, à peu près un serveur de liste de diffusion répondra à la facture.

Cependant, il y a une suggestion spécifique que je voudrais faire, juste parce que je pense que c'est un exemple extrêmement cool d'une prise rafraîchissante sur les applications de messagerie: Lamson. Lamson est pas serveur de liste de diffusion, mais plutôt un framework de développement d'applications de courrier électronique (similaire à Rails est un framework de développement d'applications web). Lamson n'est pas écrit en Ruby, mais en Python, mais c'est tout simplement la meilleure chose qui soit arrivée à l'e-mail depuis, eh bien, jamais. Il a été écrit par Zed Shaw (de Mongrel renommée), et est basé sur la prémisse que, tout comme Rails a prouvé que le développement web ne doit pas être un PITA, le développement d'e-mail ne doit pas l'être non plus. (De cette façon, il est similaire à Adhearsion, qui a également pris les idées de Rails et appliqué à un domaine totalement différent, dans ce cas la téléphonie.)

Il existe déjà un service de liste de diffusion basé sur Lamson, appelé Libre List, qui (naturellement) héberge les listes de diffusion Lamson, entre autres. The source code to Libre List est inclus dans la distribution de source de Lamson à titre d'exemple.

+1

La raison pour laquelle je m'intéresse à la langue dans laquelle il est écrit est que je veux pouvoir m'abonner aux adresses e-mail par programmation. Si cela peut être fait via une sorte de demande GET ou POST spécialement formulée, cela le ferait aussi. Je vais vérifier Lamson; Merci pour la suggestion. – Pistos

+0

De nombreux gestionnaires de listes de diffusion populaires utilisent une base de données pour le stockage. Vous pouvez simplement écrire les adresses dans la base de données avec un peu de code Sequel/DataMapper/ActiveRecord. Notez que Lamson/Libre List peut utiliser un tas d'options de stockage différentes, y compris (mais sans s'y limiter) des fichiers texte, des modèles Django, SQLite. Encore, il devrait être trivial d'écrire à une telle chose de Ruby. Et enfin, si vous finissez par utiliser Lire List, ajouter une seule action REST simple qui vous permet de "POST" une adresse pour vous abonner ne devrait pas être trop difficile, même si vous ne connaissez pas Python et/ou Django. –

+0

Ça a l'air bien, Jörg! Merci. Je ne suis pas contre l'écriture Python, mais si elle peut accepter un simple POST pour s'abonner, alors cela devrait être faisable à partir de n'importe quelle langue. – Pistos