Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/teamcfadvance/cfspeakerlist

A simple CFML application for managing a list of available speakers (e.g. for user groups, conferences, etc.)
https://github.com/teamcfadvance/cfspeakerlist

Last synced: about 2 months ago
JSON representation

A simple CFML application for managing a list of available speakers (e.g. for user groups, conferences, etc.)

Awesome Lists containing this project

README

        

[![Build Status](https://travis-ci.org/teamcfadvance/cfSpeakerList.png?branch=master)](https://travis-ci.org/teamcfadvance/cfSpeakerList)
cfSpeakerList (BETA2)
=====================

A simple CFML application for managing a list of available speakers (e.g. for user groups, conferences, etc.). This application allows speakers to enter their information into a database, requires them to verify their email address and upon verification activates their listing in the database. The speaker can self-maintain their information to change details as needed, update their password, etc. Administrators can delete speakers and edit their information as needed. Any visitor to your site can then use the search or browse functions to search for speakers to contact about speaking at events.

**NEW**
Speaker requests are now logged in three ways - the number of requests a speaker has received, the number of requests a speaker has accepted and the number of requests the speaker has completed. When a speaker request email is sent, a link to accept the speaker request is included. This is currently only for tracking purposes, but may gain further purpose later.

X number of days (configurable) after an accepted request's event date has passed, the requestor can be sent a feedback request to give feedback about the speaker and the speaker can be sent a feedback request to give feedback about the event/venue.

Speaker request statistics and feedback can be displayed for the speaker on the speaker information page (or not, configurable).

--------

**COMPATABILITY**

Currently tested with:

* Adobe CF 9.0.2 and MySQL 5.x

--------

**SETUP**

* Import database SQL into MySQL 5.x database server
* Edit Application.cfc ([generate encryption keys](http://www.dvdmenubacks.com/key.cfm)):

```ColdFusion














// datasource name set-up in your administrator
APPLICATION.ds = "";

// encryption keys, algorithms and encodings
APPLICATION.dbkey1 = '';
APPLICATION.dbalg1 = '';
APPLICATION.dbenc1 = '';
APPLICATION.dbkey2 = '';
APPLICATION.dbalg2 = '';
APPLICATION.dbenc2 = '';
APPLICATION.dbkey3 = '';
APPLICATION.dbalg3 = '';
APPLICATION.dbenc3 = '';

// short site name, shown in page title
APPLICATION.siteName = 'UGS List';

// long site name, shown in header and on homepage
APPLICATION.siteLongName = 'User Group Speaker List';

// flag to turn debug on or off (true/false - useful for debugging, turn off for production)
APPLICATION.debugOn = true;

// name of the table where speakers are stored (DO NOT MODIFY)
APPLICATION.iusTable = 'speakers';

// name of column in table where speaker keys are stored (DO NOT MODIFY)
APPLICATION.iusColumn = 'speakerKey';

// email address shown as 'from' email when system sends out emails
APPLICATION.fromEmail = '[email protected]';

// blind carbon copy - enter an email address to be copied on all email sent by the system
APPLICATION.bccEmail = '';

// email address where reports of abuse are sent
APPLICATION.abuseEmail = '[email protected]';

// number of hours before verification emails become invalid
APPLICATION.verificationTimeout = 12;

// name of the session id cookie maintained by cfSpeakerList
APPLICATION.cookieName = 'cfslid';

// number of minutes before a session becomes inactive
APPLICATION.sessionTimeout = 30;

// flag (true/false) to send feedback request emails and display feedback for speakers (to requestor)
APPLICATION.sendSpeakerFeedbackRequests = true;

// flag (true/false) to send feedback request emails for events (to speaker)
APPLICATION.sendEventFeedbackRequests = true;

// number of days after an event to send the feedback request(s)
APPLICATION.daysToFeedbackRequest = 2;

// flag (true/false) to display request statistics for speakers
APPLICATION.showRequestStats = true;
```

* Add an admin account (see [this gist](https://gist.github.com/ddspringle/9335942) for an example)
* Configure a scheduled task for tasks/sendFeedbackRequests.cfm once per day if using feedback notifications
* Start notifying speakers they can sign up!

--------

**DEMO**

You can view a live demo of this code at [cfSpeakerList Demo](http://ugslist.dvdmenubacks.com)

--------

**BUG REPORTING**

If you find any problems with this code, please add a new issue to this GitHub repository and we will address them as best we can.