u-pyon / feedback Goto Github PK
View Code? Open in Web Editor NEWThis project forked from jsboulanger/feedback
Feedback is a Rails plugin that adds to your app an ajax-based feedback form triggered by a sticky tab.
License: MIT License
This project forked from jsboulanger/feedback
Feedback is a Rails plugin that adds to your app an ajax-based feedback form triggered by a sticky tab.
License: MIT License
= Feedback Plugin for Rails Feedback is a Ruby on Rails plugin that adds an ajax-based overlay feedback form triggered by a side-screen tab or a link. The result of the feedback form is sent through a ActionMailer. The plugin was inspired from the "feedback" widget of GetSatisfaction.com and UserVoice.com. The plugin uses a generator to generate boiler-plate Javascript, CSS, HTML, and ruby code into your application. It sets up a ready to use feedback form (with minimal styling) that you can further customize. == Features * Helper to display a sticky "feedback" tab. * Display feedback form as an overlay with Ajax. * Sends feedback result by email through an ActionMailer. * Uses a generator such that you can customize the code and style to fit your app. * Generates unit and functional tests. * Works with Prototype and JQuery, choose through a generators flag. * Currently supports IE6, IE7, IE8, FF2, FF3, Chrome2 and SafariX == Motivation Collecting feedback from users is really important. Third-party services such as GetSatisfaction.com and UserVoice.com are awesome tools to manage your feedback. However, we found out that in many instances such as for small sites or back-ends, we wanted a similar feedback form integration/experience but simpler, local, and customized. == Install and Getting Started Install the plugin: ruby script/plugin install git://github.com/jsboulanger/feedback.git Run the generator: ruby script/generate feedback_form By default it will generate the Prototype code, you can use jQuery if you prefer: ruby script/generate feedback_form --jquery Make sure Prototype is included in your header: <%= javascript_include_tag :defaults %> Include the feedback.css and the prototype.feedback.js files into your header. There is a helper to do that: <%= feedback_includes %> To add a sticky 'feedback' tab to your site, in the header place: <%= feedback_tab(:position => 'top') %> Configure the action mailer in app/models/feedback_mailer.rb def feedback(feedback) @recipients = '[email protected]' @from = '[email protected]' @subject = "[Feedback for YourSite.com] #{feedback.subject}" ... == How-to's === How to customize the position of the feedback tab? The feedback_tab helper takes the option "position" which has four different values (top|bottom|left|right) that corresponds to class in the feedback.css file. You can fine tune the position by changing the left/right, top/bottom attributes of those css classes. === How to trigger the feedback form from a custom link? The feedback_link(text, options={}) helper allows you the create a link that will trigger the feedback form. <%= feedback_link "Leave us feedback!" %> Your layout header must also have the includes: <%= feedback_includes %> === How to customize the email message? Edit the /app/views/feedback_mailer/feedback.html.erb generated file in your app === How to store the feedback results in the database? Feedback generates a model that is not an active record model. In order to store the feedbacks in your database, make it an active record model: class Feedback < ActiveRecord::Base validates_presence_of :comment end You must also write a migration to create your table: class CreateFeedbacks < ActiveRecord::Migration def self.up create_table :feedbacks do |t| t.string :subject t.string :email t.text :comment t.timestamps end end def self.down drop_table :feedbacks end end == Limitations (TODOs) * No unit tests for Javascript * Feedback PNG with transparency supported by IE6 * Graceful fallback if Javascript is not enabled/supported * More customization options through helpers: (overlay style, tab color, etc...) == Acknowledgements Thanks to GetSatisfaction.com for the idea of the "feedback" tab. Part of this plugin was inspired from other software. Thanks to their respective authors. * Facebox: http://famspam.com/facebox * restful_authentication: http://github.com/technoweenie/restful-authentication/tree/master Copyright (c) 2009 Jean-Sebastien Boulanger <[email protected]>, released under the MIT license http://jsboulanger.com
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.