tinyFeedback WordPress plugin

In order to make unobtrusive feedback collection just a little bit easier, I recently rehashed the original tinyFeedback script as a WordPress-plugin, adding in a ton of new features whilst doing so.
The first version of tinyFeedback, which sprung from a request in a V7N Forums thread, was little more than a quick hack in dire need of a rewrite from the very beginning – much in accordance with the teachings of The Mythical Man Month. This new version offers a unified administrative interface, optional cookie tracking for “smarter” display, Analtyics- and Akismet-integration and setup with zero need for manual configuring and/or coding knowledge.
If you already know this is what you’re looking for, you can find the latest and greatest version of tinyFeedback in the WordPress Plugin Directory.
Appearance
The default front-end theme and the administration panels. Click for larger view.
List of features
- Positive, negative and written feedback accessible directly in the control panel
- Intergrated spam-filtering through Akismet
- Google Analytics event tracking
- Cookie tracking for smarter functionality
- Configurable jQuery and CSS insertion
- Texts fully configurable through control panel
Functionality
tinyFeedback adds a small tab to your website, petitioning your visitors for a positive or negative answer to a question – such as “Is this page what you were looking for?” or simply “Helpful?” (the default option.)
If the positive option is selected, a counter for the positive feedback for the given page is incremented and the tab is removed. Should the negative option be selected, a small form is displayed in a common lightbox fashion, asking for further information. Naturally, the corresponding counter is incremented once for the negative option.
There is a separate counter for written feedback, and all feedback events can be easily integrated into your Google Analytics account – in case you have Analytics installed on your website, simply activate the option from the control panel.
Optionally, you can choose to enable cookie tracking – which makes the tab display a tad smarter. In case the visitor has already left feedback on a certain page, the tab will not appear. Please do keep in mind to inform your visitors about the use of cookies in your privacy information, though.
The information provided by your visitors is easily viewed through the administration panel, and is naturally stored in your WordPress database.
Installation
Installing tinyFeedback is terribly easy; just add the tinyFeedback directory to your wp-content/plugins/ folder, activate it from the plugins menu, and you’re ready to proceed to configuration!
Please do not hesitate to contact the author should you encounter any problems during setup or configuration.
Configuration
All tinyFeedback configuration is performed from the Feedback > Options administration panel.
tinyFeedback strives to be fully configurable, letting you modify all texts and options such as cookie usage, Akismet- and Analytics-integration, CSS and jQuery-insertion and so on.
Styling
tinyFeedback currently comes with one default theme, “Blue Vertical,” which should render satisfactory in all major browsers – with a few reservations such as rounded borders in Internet Explorer.
Creating and using your own styles is very easy. Simply add the .css-file in the tinyFeedback/styles/ directory, with its name delimited by dashes (-). When the options panel is loaded, the directory is traversed, adding each available stylesheet to the dropdown list.
Note: Should you be interested in contributing with a style for public usage, I’d be more than happy to add it to the main distribution. Please keep in mind to keep
credits to one instance in the head section of the .css-file, and to bundle any and all images with the file, or base-encoding them for that matter. No remote inclusions though, please.
Download tinyFeedback
tinyFeedback is now available in the WordPress Plugin Directory.
Folder contents
- tinyFeedback.php
- tinyFeedback.js
- tinyFeedback.png
- handleFeedback.php
- uninstall.php
- readme.txt
- admin/
- admin.php
- about.php
- configuration.php
- statistics.php
- written-feedback.php
- styles/
- blue-vertical.css
- black-vertical.css
Changelog
- Version 1.5 (2012-01-17)
- Added error-handling on installation
- Implemented database versioning and wpDelta – the installation issue should now be properly resolved
- tinyMCE re-implemented WordPress 3.3-style
- Version 1.4.1 (2011-11-05)
- Minor: Modification of default settings
- Version 1.4 (2011-10-24)
- Apostrophes and quote marks are now correctly handled in text content
- Silent index files added to directories to avoid exposing files on insecure server configurations
- JavaScript- and CSS-files minified
- Version 1.3 (2011-09-31)
- Malfunctioning bulk action revised
- jQuery insertion option removed; wp_enqueue_script handles insertion
- Database tables are now removed when uninstalling the plugin
- About-page extended
- Black vertical style added
- Version 1.2 (2011-09-25)
TinyMCEInserted jQuery no longer breaks wpdialogs- Version 1.1 (2011-09-20)
- Installation bug remedied – Name mismatch
- Version 1.0 (2011-09-19)
- First release
- Mark configuration fields as required
- Ensure CSS loads before JavaScript
- Make script loading asynchronous
- Menu counter for unread feedback
- Change the menu icon
- Add more default styles
- Extension
- More selective display options – ie. posts only
- More extensive feedback options – polls, etc.
- Enable written feedback positive feedback
- Implement tagging of written feedback types; issues, compliments, errata, etc.
Legal disclamer & Copyright
This plugin is distributed under GPL2. You are free (and encouraged!) to redistribute and modify it under the terms stated in the licence.
Please do note, that this program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
To do / Known issues
tinyFeedback is still in its cradle; there is lots of work to be done. Do you feel something should be added to this list? Please let me know!
Miscellaneous notes and rantings
Various notes on things not directly related to the plugin, but might be of interest to some (if they for some reason manage to find it).
TinyMCE inclusion
UPDATE: With the release of WordPress 3.3, inclusion of TinyMCE has become much easier. Multiple editors now play along nicely; all that needs to be done is to use the function wp_editor().
Inserting multiple instances of tine WYSIWYG editor TinyMCE turned out to be quite a hazzle for the current version(s) of WordPress. I found several valuable resources on the topic, before finally realizing that I was looking at the wrong place.
Long story short, if you want to include jQuery – or any scripts for that matter – be a good boy and use the provided tools to save yourself one heck of a headache.
In my case, I managed to break the wpdialogs, used to insert links, of all other Tiny MCE editors on the administration panel, because I roughly included a differing jQuery version.
Where the new logo? Dude!
Honestly, I’m having a real hard time deciding which one I prefer. I like the one you made a lot; I’m just wondering if it might actually look a bit too “professional” for the purpose – more like a company logo than a plugin. I’ve been switching between them tons of times, but I haven’t been able to make my mind up yet.
On another entirely different note, love the Diablo 3 button you made! Was it for some special purpose, or just pure fandom? Can’t wait for the game to get out. And now I lost the Game. :(
I installed the plugin however under select style drop down when configuring it there is no drop down and it says Manual CSS mode. When I finish configuring and click updated settings it just seems to refresh back the blank fields and nothing happens. Any idea what the issue could be.
Hello Dustin, thank you very much for letting me know about this!
I assume you experienced the issue doing a fresh install of the latest version of the plugin (1.4).
I noticed that – due to an unfortunate mistake on my part – the default configuration of “Insert CSS in header,” the second radio-button option on the configuration page, is set to ‘Yes.’ If you change this to ‘No,’ you should be able to see the drop-down and select a theme from it.Sometimes one can be too rushed; the default configuration should have been fine. I might need to review my naming policy though. By “Insert CSS in header,” the plugin should indeed take the style selected in the drop-down (which should be displayed) and insert it into the header. If the insertion is disabled, it is up to the webmaster to manually add it to the stylesheet.
As for the issue with the updates not being saved properly, I have to admit myself confused. I’ve tested it rather thoroughly on a few WordPress installations without issues. Would you mind informing me which version of WordPress you’re using? Do you receive a message in a yellow notification box saying “Your configuration has been successfully updated.”?
Again, thank you for the feedback! I’ll be updating the default configuration immediately.
I am running wp 3.2.1. I recorded a quick video of the setup and what happens so you could see what I see. You can see it here. http://youtu.be/TSqGnJuCLm0. Take note that when I click on the yes radio button the no button stays clicked and at not time am I given options in the drop down. I appreciate you looking into this.
Forgot to confirm that it was fresh instal of 1.4. It is.
Thank you Dustin, that video certainly demonstrated the issue clearly. Incredibly helpful of you!
One thing that does come to mind, as I encountered it during testing, is that the corresponding tables actually doesn’t exist. When the plugin is installed, three tables should be added to your database: tinyFeedback_URLs, tinyFeedback_settings, and tinyFeedback_textual. If for some reason these were not created – your WordPress database user having limited privileges, for instance – I suppose that could happen.
Now that I see it live, the lack of adequate error handling on install is quite a major flaw. I will certainly add this as soon as possible.
Please have a look and see if the three tables mentioned above do exist.
Hello Fredrik, got the tables added but still not working. I gave my IT guy your Skype contact and he is adding you. If you could touch base with him that would be great so we can get the plugin working.
Hey I work with Dustin and I have confirmed that the database user used by the WPress blog has “All Privileges” on the database and all the tables are there, though they do not have any data in them. So there should not be a rights issue. What else can I check.
Hi Dan,
Sorry for the delay. It’s really strange that this issue arose, as the tables were indeed created but for some reason weren’t filled. If you try to add the required fields to the tinyFeedback_settings-table manually, the configuration page should work fine. You can find the setup in the file plugins/tinyFeedback/tinyFeedback.php, in the function install(); from line 61 to 77.
I’m really dumbfounded as to why this happened in the first place though.
Thank you again for all your input – I really appreciate it!
Hey Fredrik – Really love that you made this plugin!
I had the same problem as Dustin, plugin appears, but is not able to be configured, and the feedback widget doesn’t show up anywhere. Clean install of version 1.4, on WordPress 3.2.1.
I try to save the config, and it fails.
Tried it twice (deleting plugin and reinstalling) and it doesn’t work.
It doesn’t look like the database tables were created at all.
Any suggestions? All other plugins have installed perfectly OK so I doubt it’s a permissions issue.
Thanks,
Luke
Hi Fredrik,
I too am having the same problem with manual css displaying and fields not being saved.
Thank you for the feedback!
I suspect many people are experiencing this terrible issue, the only cause I can think of is database user privileges though – although it’d be a bit strange since the WordPress installer normally creates tables then proceeds with using the same credentials for the connection. Has any of the other plugins you’ve installed created new tables, or are they all incorporated in existing ones such as wp_options?
In the upcoming few days, I’ll be implementing error detection in the installer (I’m a bit ashamed I have not already) – I’ll also make sure to research what might be the cause of this more in-depth.
If you’ve got access to your database you could perhaps create the tables manually like Dustin did, if not I’ll be pushing out that update as soon as I can.
Again, thank you for letting me know about this!
Thanks for the reply Fredrik – I have AdRotate, for example, installed, with it’s own tables in the dbase, plus some others too.
Hope that helps!
Luke
At long last, I’m happy and relieved to state that the installation issue is no more. With the release of version 1.5, it should now install properly and work well with the TinyMCE editor in WordPress 3.3.
I have installed and configured tinyfeedback, but how do I make it show on the wordpress site? I am missing a step please help.
Thank you!
Hi Jerome,
The tab should appear as soon as you’ve activated the plugin; it inserts a piece of code through the function wp_footer(). Are you by any chance using a custom theme? If so, please verify that it does indeed run the functions wp_header() and wp_footer(). If you’d give me a link to your website I could check if something seems to be missing. (Can’t tell about the functions though, as that’s on the server side.)
Thank you for trying out tinyFeedback!
[2012-01-04] Update: As discussed via e-mail, the issue seems to be that the plugin has been configured to trigger a Google Analytics event, although said software hasn’t been installed on the website.