A notification app for Django
Django vox is a django app that allow you to create and issue different types of notifications. Notifications can have different kinds of parameters which allow for convenient editing in the admin.
- Add and edit notifications from the admin
- Built-in message editor provides drop-down of available template variables and supports previewing
- Supports many backends: email (html & text), SMS (Twilio), Twitter, Slack, Postmark, XMPP, JSON webhooks, and Activity Streams
- Supports attachments
- Built in site contacts that can be used to send emails to admins, or update your organization‘s Twitter account, or send out webhooks
- Flexible API allows you to define your own user preferences about which user gets which kind of notification
- Set custom “from” addresses
- Send messages in bulk (all together) or individually customized messages
Why this exists
TLDR: Because I am lazy and I don’t want to spend my evening doing a deploy just because marketing wants to update the text in their latest spam mail.
In a few more words:
- Editing copy for notifications shouldn’t have to be done by programmers.
- The notification templates should be editable in the admin
- The information necessary to correctly make a template, whether it’s a template ID or parameters) should be available in the admin page. It shouldn’t be necessary to look through source code just to make a notification work.
- Number 2 is actually a fairly difficult problem.
- People have different ways of interacting with computers, and one
way of doing notifications (i.e. email) doesn’t always make sense.
- Added to that, sending a text message that’s as verbose as an HTML email is simply ridiculous. Each medium begets its own kind of content.
- Since, as we mentioned earlier, content should be manageable by non-programmers, the different ways of sending messages should be manageable by non-programmers.
I want it, stat!
Well, why don’t you just head over to the documentation and we’ll get you started. A word of warning, it’s not super simple to setup, but it’s worth it.
- Fix a bug where a contact could get the same notification twice
- Fix another circular import dependency issue
- Fix a potential circular import dependency issue
- Fix a bug with get_recipient_choices ignoring the registered channels
- Fix a bug when Notification.issue is passed SimpleLazyObject
- Fix a bug with Channel.field
This version includes a new registration system for models so that you don’t have to subclass VoxModel (which is a problem for 3rd party models). The new way of registering the models is described in detail in the documentation.
Incompatibilities with Version 3:
- The actor & target arguments on Notification.issue must be specified by keyword arguments now. This doesn’t affect VoxModel.issue_notification, so it’s only relevant if you were manually loading Notifications and triggering them.
- A few default backends were are no longer defaults
- Backend settings can just reference the class, and not the module
- Notify will use a default address if none is specified
- Notifications now have a “last updated” field
- Fix bug in notification editor where switching one template’s backend would alter the state of the another template form.
- Add more tests
- Make Backend.send_message an instance method, and instantiate backend objects when sending messages. This is a significant API change, but it’s unlikely to actually cause backwards compatibility issues.
- Add title to notify page
- Fix bugs in demo caused by slug
- Add icon
- Add better support and testing for non-ID primary keys
- Fix packaging problem (missing files)
- Add one-time message admin actions
- Fix crash when a non VoxModel model is registered
- Pin to a newer version of august, it works much better
- Be slightly more sophisticated with our activity data parsing
- fix implementation of activity_type parameter
- Fix bug issuing notifications with non VoxModel objects
- Fix bug where django will crash if to_addresses is a generator
- Omit skipping message when notification is not from code
- Fix bug where we kept recreating notifications
- Keep orphaned notifications with templates so we don’t delete data
- Add ability to remove notifications of deleted classes
- Fix error in notification editor when using grappelli
- Rewrite that add support for multiple participants
- add read_at field on inbox items
- Users should be posting read activities to outbox, duh
- Add the ability to post to inboxes and read messages
- Redo activity schema so that its more straightforward
- fix bug in background_task implementation
- Add activity backend
- Replace newlines in subject with space
- Add support for resending failed messages
- A few improvements to the admin
- Add Grappelli compatibility
First stable release
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size django_vox-4.0.6-py3-none-any.whl (110.4 kB)||File type Wheel||Python version 3.6||Upload date||Hashes View|
|Filename, size django-vox-4.0.6.tar.gz (120.3 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for django_vox-4.0.6-py3-none-any.whl