Giter Site home page Giter Site logo

harmonious-elements / concrescent Goto Github PK

View Code? Open in Web Editor NEW
3.0 4.0 6.0 1017 KB

CONcrescent is the fandom convention registration system.

License: Mozilla Public License 2.0

PHP 85.42% JavaScript 12.26% CSS 2.31%
registration fandom-convention-registration event-registration convention-registration

concrescent's Introduction

CONcrescent

CONcrescent is the fandom convention registration system.

CONcrescent has been used successfully to run BABSCon, the second-largest My Little Pony convention, every year since 2015.

Features

CONcrescent provides everything a fandom convention needs in a registration and HR system, including:

  • Attendee registration
  • Vendor and artist applications
  • Panelist and event applications
  • Community guest applications
  • Press/media applications
  • Staff applications
  • Registration check-in and badge printing
  • Registration and application statistics with line chart
  • Fast searching over records with advanced search syntax
  • Multiple badge types
  • Customizable registration and application forms
  • Promo/discount codes for attendees
  • Blacklisting
  • Customizable email notifications
  • CSV export
  • Vendor/artist table management
  • Panel scheduling
  • Interview scheduling
  • Department hierarchy management
  • Staff org chart generation
  • Staff mailing list generation
  • Badge artwork management and layout
  • Badge preprinting
  • Payment requests
  • Multiple admin user accounts
  • Integration with PayPal for payment
  • Integration with Slack for notifications

Installation

  1. Check out the cm2 directory.
  2. Edit cm2/config/config.php, replacing the default values with values specific to your web server, PayPal account, and event. Also make sure to add a default admin username and password.
  3. Upload the cm2 directory to your web server.
  4. Navigate to cm2/admin/doctor/ to verify CONcrescent is set up correctly. All rows should turn green and start with PASSED.
  5. Once all issues (if any) have been resolved, chmod a-x cm2/admin/doctor.
  6. Log in to cm2/admin/ with the username and password set in the configuration file in step 2.
  7. Go through each section in the side nav to set up badge types, form questions, blacklists, email notifications, rooms and tables, departments, badge artwork, admin accounts, etc.

You may rename the cm2 directory to anything you like, move it to a subdirectory, or even move the contents of the cm2 directory into the root of your web server. CONcrescent will figure out where it is installed and generate appropriate URLs without needing to be told.

Troubleshooting

Once set up, CONcrescent should work without issues under most web hosting configurations. If you encounter any issues, chmod a+x cm2/admin/doctor and run cm2/admin/doctor/ again and/or check the following.

The application is completely broken or I can't log in.

  • Make sure you're running PHP 5 or later (5.5 or later recommended). CONcrescent will not run under PHP 4.
  • Make sure the configuration file is syntactically correct and contains the correct values.
  • Make sure the database section of the configuration file is correct.
  • Make sure the default admin password is set.

There is a blank screen or the error message "500 Internal Server Error" or "Communication Failure" when registering, submitting an application, or accepting an application.

  • Make sure the cURL extension for PHP is installed.
  • Make sure OpenSSL is up to date.
  • Make sure sendmail and PHP are correctly configured to send email.
  • Make sure the PayPal section of the configuration file is correct.

Some images, such as QR codes, the Rooms & Tables map, or badge artwork, do not appear.

  • Make sure the GD library for PHP is installed.
  • Make sure the badge printing section of the configuration file is correct.
  • Make sure the settings on the Badge Printing Setup page are correct.

Badge types become available or unavailable at the wrong time, or CONcrescent is treating some minors as adults or vice versa.

  • Make sure the web server's time is set correctly.
  • Make sure the MySQL server's time is set correctly.
  • Make sure the correct time zone is specified at the top of the configuration file.
  • Make sure the correct time zone is specified in the database section of the configuration file.
  • Make sure time zone tables have been loaded in the mysql database using mysql_tzinfo_to_sql.
  • Run cm2/admin/timecheck.php to verify PHP time and MySQL time are synchronized.

Search pages do not return the correct search results, or return search results with incorrect or incomplete information.

The search index may be out of date. Press Ctrl-Shift-Zero on the search page with the issue to access the "rebuild search index" page. Rebuilding the search index may take several minutes, and if the rebuilding process fails, you will have to start it all over again, so do not make a habit out of doing this.

I'm using a QR code scanner to check people in.

Press Ctrl-Shift-8 on the check-in page to enable check-in with QR codes. When a QR code is scanned that was produced by CONcrescent, the check-in page will immediately display that person's record.

I'm not using a QR code scanner to check people in.

Press Ctrl-Shift-9 on the check-in page to disable check-in with QR codes.

concrescent's People

Contributors

rebeccargb avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

concrescent's Issues

Checkbox for send email or not on both Review and Edit pages

In v1 there is text on the Edit page that explains that changing the status will not send an email, and to use Review if you want an email sent. Added in zebranky's pull request is text on the Review page that explains that changing the status WILL send an email, and to use Edit if you DON'T want an email sent. How about replacing both with a checkbox that you check if you want an email sent, and don't check if you don't want an email sent?

Button for authorized users to refund

Ad an option to allow automated refunds for authorized users to easily refund badges using the PayPal data received from the transaction.
This action will invoke an endpoint call, which will cause PayPal to send a notice to the recipient upon completion, and upon success ConCrescent will automatically mark the badge refunded, appending the results to the PayPal field.

Mailing list generation

Once Departments are implemented, use that information to automatically generate mailing lists for event staff. Solves oh so many problems with keeping track of email aliases. :P

Slack integration

Post a message in a Slack chat room when staff applications are submitted or accepted. From zebranky's pull request.

Can't add already registered badge to vendor application

Steps to reproduce:

  1. Edit a vendor application
  2. Click "Add" to add a badge
  3. Click "select" to select an attendee ID
  4. Select an attendee

Expected result: form populates with attendee data and can be saved
Actual result: attendee ID populated, but no other data and form can't be saved: "Save failed. Please try again."

Looks like it just needs to fill in the missing attendee data.

Staff blacklisting

Add a staff blacklist to keep track of individuals who should not be staff. However, do not prevent submission of a staff application that matches a blacklist. Also do not automatically reject the application, and do not send any email notifications. Instead, display a notice on the application itself.

Custom messages for form submission

In v1 the messages that appear when a form is submitted ("Your table application has been submitted." and so on) are hard-coded. Make them customizable. From zebranky's pull request.

CONcrescent Lists Should Be Scrollable on Mobile Devices

Environment:
Device: iPhone 6s
OS: iOS 10.2.1 (latest as of this issue filing)
App: Safari

Description:
On mobile devices like the iPhone 6s, the user is able to vertically scroll the sidebar on the left, but not vertically scroll the list items and applications on the right. Attempting to scroll the items vertically results in scrolling the entire CONcrescent page. The user can, however, scroll the items horizontally.

Being able to scroll through items normally is a big help too when browsing items such as staff applications.

Repro Steps:

  1. Open CONcrescent on a mobile device.
  2. Tap on Staff Applications or Org Chart (ensure the list is long enough to require scrolling).
  3. Attempt to scroll through the list.

Actual Behavior:
Attempting to vertically scroll through a list of items on CONcrescent on mobile devices scrolls the entire page.

Expected Behavior:
User is able to scroll through lists of applications on the right both vertically and horizontally. User should still be able to vertically scroll through the sidebar on the left.

One-click blacklisting

Add an attendee or staff member to the attendee or staff blacklist from the review or edit page.

Press Applications

Integrate press applications so members of the press can be checked in through CONcrescent just like other badge types.

Departments

Keep track of the organization of the event staff: departments, positions, and their hierarchy.

Sponsor swag

Add a field to badge types for "sponsor swag". We can use this to automatically generate a list of items attendees should pick up at the event.

Unicode input gets mangled?

Panel application titled "We ♥ Sunset Shimmer" came out "We ? Sunset Shimmer". Editing the application did not fix the encoding issue.

Org charts

Once Departments are implemented, use that information to automatically generate an org chart or contact sheet for the entire event staff.

More statistics

In addition to the figures shown on the current Attendee Overview page, add a column for badges printed and rows for panelists, vendors, guests, staff members, etc. At the very bottom put a BIG RED FINAL NUMBER for immediate attendance count PR goodness.

Attendee notes

Rather simple: an open-ended notes field for staff to record unstructured information about attendees.

Payments module

As in v1, though with some changes:

  • Able to request a payment being a separate privilege
  • Multiple mail templates that the sender can choose from

"Finish checkin" action should automatically clear and focus the search bar

When finishing checkin, the user must manually clear the search bar in order to start the new search. It would be a nice speed boost to not have to do this (even if there's a keyboard shortcut "Escape").

The potential downside is when checking in multiple attendees at a time with the same search parameters (i.e. a family), this might not be desirable. As a workaround, I would suggest preventing search results from refreshing in this case until keyboard input is received in the search box, in case prior results were still needed.

Feature: Macro for form letters to include text based on question response

Example use case: Acknowledge theme engagement response.

Sample definition:
If the applicant chose a value of 2 (or the second choice)

[[response:13:2:We see that you have declined to have Convention Theme involvement in your panel. We thank you for your honesty and response, and will honor your wishes.]]

If the applicant did not make a choice:

[[response:12::Please note that as you did not indicate special space/setup needs, you will only be provided with the standard panel-room setup, which includes table and microphones for up to five panelists. If this is in error, please contact us immediately at [email protected] .]]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.