This repository has been archived by the owner on Jul 27, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 20
The web's simplest feedback form - build using the CodeIgniter framework.
License
ollieza/barometer
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Barometer - http://getbarometer.com - running on CI 2.0.1 Reactor ======================================================================== The easiest way to add a stylish feedback form to your website. Enter your email address to create your barometer. You will get a few lines of code to add to your website to enable your feedback tab. INSTALL ------- 1. Add your base_url to application/config/config.php -> It is crucial that this is hard coded as a host won't be automatically assigned when accessed via cron. 2. Database -> Install schema using the table schemas in /schema -> Copy application/config/database.php-default to application/config/database.php and add your database settings 3. Setup local constants -> Copy application/config/constants.php-default to application/config/constants.php -> Add your settings including SMTP server details, PROCESS_EMAIL_QUEUE_KEY (to prevent queue processing being triggered by a normal user) 4. Barometer assets -> The feedback tab installed on external websites uses a few static files barometer.js, barometer.css, barometer_iframe.css and some images. These can all be found in /web/assets/barometer. They are separated into this directory so they can be hosted on a external webserver such as Amazon S3. To do this you need to upload the directory assets/barometer keeping the directory layout the same e.g.http://getbarometer.s3.amazonaws.com/assets/barometer/ and add the hostname to BAROMETER_ASSETS_URL in application/config/constants.php -> The file /web/assets/barometer/javascripts/barometer.js has two hardcoded urls. These need to be changed to your base_url as defined in application/config/config.php 5. Setup cron -> Barometer uses a email queue, to store emails which fail to send. This queue is processed via a cron job using the bootstrapper script found at /cron/cron_job_bootstrapper.php -> Change the local path (line 41) to your CodeIgniter installation index.php file -> Add a cron. The queue is also processed when any message on the system is sent, so we don't need to run very regularly. Once an hour works well. Add your PROCESS_EMAIL_QUEUE_KEY as defined in application/config/constants.php e.g. 45 * * * * /srv/www/vhosts/getbarometer.com/cron/cron_job_bootstrapper.php --run=system/process_email_queue/your-queue-key-here Future development ------------------ 1. Spam prevention -> Although it is yet to be an issue, simple spam prevention has been built in. If a ip sends 5 messages in the last 90 seconds their feedback will not be sent. This could be improved by storing their ip in the db (example schemas at /schema/ip_address_ban-schema.sql & /schema/ip_address_spam_schema.sql) and operating spam and ban lists. 2. Include referral url in Barometer feedback email -> When Barometer sends a feedback email, the website it was sent from is not included. This makes things a little confusing if you have Barometer installed on multiple websites. The referring domain is stored when a Barometer form is opened (/schema/barometer_form_lods-schema.sql). This could be cross referenced with the ip that sent the form to get the referring domain and include it in the email Barometer sends.
About
The web's simplest feedback form - build using the CodeIgniter framework.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published