I did a release of Demisauce (Source code on github) recently and wanted to show off what it is, so include the capabilities for Comments, Polls, and the Help/Idea/Feedback badge on my Potlatch Blog code (hosts this site). Also, the demo Django app shows how to use these services.
With Demisauce.com now hosted on Amazon EC2 I am more confident it can handle the load and I will look to start using it for higher volume applications, so if you are interested in using it please go to the signup page and enter your email. I am only allowing a few signups for right now to ensure the servers have capacity but will allow a few to start.
Comments I know that Disqus.com is a great comment service, currently vastly superior to the one offered here. BUT, the difference I believe is use case. Demisauce comments are meant to be embeded within an application more like native functionality or added to corporate apps whereas Disquis is more of a consumer oriented (IMHO) service. By embedded I mean used as a component for development, the component happens to be a service, but allows for distributed application development.
Feedback Badge Again, there are great services like Uservoice.com, and Getsatisfaction.com that offer great feedback. However, the use of Javascript as integration is convenient and easy but can cause performance issues, and you would still need to do user integration. These seem to be catering to consumer oriented applications. The applications I want to use them on at work would be corporate employee applications. I see the API's and ability to have private have improved at UserVoice and Getsatisfaction, however maybe it just comes down to wanting open-source products as an option. Also, the ability to use one identity integration.
Polls This is a simple polls service, however I believe the big advantages are: Open-source, more able to be embedded in corporate applications, but also it is a able to be cached (memcached, or your local cache) so that client side javascript is not a performance issue.
How to EmbedHere is an example of how to embed the poll (in Django app, there are php examples in the demos folder).
{% dsview "feedback" "badge" %}
From source.. Or
Service definition on demisauce.
I have the Activity Graphs also ready to go, but have not created the Services API for how to use them so will get those next time along with an article on how to embed these services in your app.
A lot of work on the Demisauce Help system, using facebox jquery plugin for the popup page, or at least a heavily modifed version of Facebox. I had to implement quite a few changes to allow for content to be gathered from the Demisauce server, which would be a different domain. Therefore, the traditional ajax get in the Facebox wouldn't work, and i had to modify it to do a Document.write instead.
I added this method to Facebox to route requests via an inserted script.
// in facebox.js
function fillFaceboxFromDocumentWrite(href, klass) {
if ($('#facebox .content').attr('src') == href){
$.facebox.reveal(null, klass,href);
}else {
var ds_html_script = document.createElement('script');
ds_html_script.type = 'text/javascript';
ds_html_script.src = $.facebox.settings.base_url + href;
document.getElementById('facebox').appendChild(ds_html_script)
$.facebox.reveal(null, klass,href);
}
}
The script that gets called is dynamically generated to produce javascript, which will get inserted into the Dom of the remote server.
// python code to generate ds_help_output
document.getElementById('facebox_content_holder').innerHTML = ds_help_output;
The end result is this help system. You can edit content at the Demisauce Hosted Server or can host a version of demisauce, then include a line of javascript in your apps to get built in help system. Here is a screenshot.
Also, modified Demisauce to allow for Comment notification's.
Wow! A whirlwind of hacking has produced the first version of the comment system that i am going to use on this Potlatch blog, a Google App engine powered blog. The comment system is built as a proof of concept for Demisauce, the open source project i have been working on. The core idea of Demisauce is an open source set of web services that allow you to add functionality to your app. This service is mostly a javascript service that you embed on your app, allowing comments on anything. The other Demisauce services so far are XML services and html. This service (comments) is not better than the other comment systems out there (Disqus.com is very nice, and obviously Wordpress.com has comments for all blogs at Wordpress), but it is able to be installed and run behind a corporate firewall. I am thinking of using it for some applications at work to comment on just about anything, not just blog posts. Think of comments on images (flickr), or commenting on a purchase order, or requistion, or request to hire someone that are in corporate systems.
The configuration Page with the javascript you would need to copy, and embed in your pages. Also shows comments by this user.
Here is an actual view of the comments in a blog, showing comments, comment box, login etc.
Here is a view by a user not logged in (uses google Authentication or you can create an account).
This shows a user that has clicked on "Logon" but is already authenticated.
These are the Logon Comments
The features
- Google Authentication for Users (optional)
- Gravatar Icons
- Native authentication for users (if Not using Google)
- Configuration tools to setup javascript for your app
The application is built on the Python, Pylons base of Demisauce, but the core of the presentation is Javascript/Jquery. You can get the code at Demisauce on google code or get this blog code at Potlatch Blog on Github.
Although Comment systems are not the services I wanted to build first for Demisauce, I decided it is a great example for a service that combines Javascript, Data/Persistence, Widget/Embedding. I am planning on enhancing this a bit more, possibly doing a Django Book style pop-up comment system. Also, been wanting to enhance the help system some more, which uses the content management system which although not fancy is usable. If anyone else has some ideas on what they would like to see first I would love to hear them.