From Hive13 Wiki
(Redirected from Membership Database)
Jump to navigation Jump to search

Hive13 Project
Status: Active
Project Owner: CTO and Intweb Development Team[1]
Project Location:
Where to contribute:
Start Date: 2/24/2017

This is the central web interface for managing member information, group membership and badge access. Started in February 2017 to replace the old "door" system, it went into effect in April 2017.

Intweb Documentation to-do list

  • Buzzkill input and management
  • Member Storage
  • Voting
  • Access Log, displays, heatmap
  • Certification Log - Access to Equipment control

User Guide

New Member Sign-Up Process

The Hive13 community grows better through the energy of new members. Prospective new members may find Hive13 by:

  • A personal invitation from a Hive13 member. Invite your friends and family to take a tour and meet Hive13 members.
  • Touring during a Tuesday evening open house.
  • A phone call to the Hive13 house number 513-909-4483
  • An email to Leadership or Membership
  • Any of our many social media accounts. (Facebook, Instagram, Twitter, Tiktok)
  • An online membership application.

Before completing the New Member Sign-Up Process you should give them a shop tour and explain how Hive13 operates. Be sure to explain the Plus One policy.

A prospective new member may start the application on-line before ever meeting a Hive13 representative, or may fill out the application as the result of visiting Hive13. This process applies to all member applications, including complementary plus one members.

  • Option 1 - a prospective new member starts the application on-line before ever meeting a Hive13 representative:
  • A designated member of Leadership shall send a follow up letter to that member, invite them to a meeting (virtual) and make arrangements to meet them in the space (physical) for a tour and to complete the paperwork.
    • Explain to prospective new member that the application is made on-line but must be finalized in person at Hive13. Membership Application
  • Option 2 - a prospective new member visits Hive13 and is interested in becoming a member.
    • Have them register on intweb - Go to - Use the QR code posted by the front door. How do I Join Hive13?
    • The link to submit an application is shown to anyone who is not in any of the groups members, pending_applications, or pending_payments.
    • Register -
    • Confirm email - If you cannot find the email, remind them to check their SPAM/JUNK folders.
    • Go back and sign into Intweb (or refresh ) - An Apply for Membership link will appear.
    • Once a person submits an Application, that user is added to the pending_applications group and the alert e-mails are sent out.
    • Insert (Sample alert e-mail)
  • All New Member Applications will appear on a member of Leadership's Home page. (Insert image of pending applications

Completing the Membership Application

  • Confirm the prospective Members Interest in Joining. Show them the bylaws and membership form.
  • You may expand the Pending Application listing to view the application and proceed. Pertinent member contact data will also be visible on the intweb member record at
  • The member should attach a Photo (.jpg) which may be taken from a personal phone or the administration PC in Hive13.
  • An application cannot be accepted unless a photo is attached to the new Member's profile.
  • If the application is updated, another e-mail is sent out (this includes attaching photos, submitting applications, and so on)
  • With the prospective new member present in Hive13, have them fill out a blank 'Membership Agreement' form,[on the admin desktop] Have them manually fill it out. Check their ID to verify identity, have them sign the application. One member of leadership then signs the application.
  • Scan the application (signature page only) using the scanner attached to the Admin PC. Save the scan as a .jpg image.
    • on the admin computer, check scan snap software (icon (S) in lower right tool bar is set to use the Quick Menu (checkbox in upper left corner) Image should land in Pictures folder.
  • Upload the scanned .jpg image to the member application on intweb.
  • Click - Mark the application status as finished. Select the disposition - Accepted
  • Click the Green Plus sign to open the RFID tag window and assign an RFID keyfob or RFID card to the member record. Scan the tag to enter the number in the field or manually Enter the RFID tag number into the member intweb record.
  • Click Submit
  • The member record is marked pending_payments

Additional Steps for adding a complementary Plus One membership.

  • Complementary Plus One memberships must complete the New Member process outlined above.
    • What does Plus One status mean?
      • Plus One members are FULL Members with all membership rights.
      • Hive13 has a tradition of Plus One leaders, Wardens, Officers and Board Members.
  • Manually Add the complementary plus one members name to the Linked Account list of the sponsoring Full Member
      • Note if a plus one is added before the first member pays their subscription, the plus one is activated and receives emails at the same time as the first member.

** If the plus one member is added after the first member is active these steps must be followed:

  • Log into intweb
    • Manually uncheck the intweb pending_payments box for the complementary plus one member.
    • Manually check the complementary plus one members intweb member box.
    • Manually invite the complementary plus one member to SLACK and the mailing list

Next Steps

  • Once the application is marked finished, an e-mail is sent out to Leadership.
  • Notify the member that they may now make their first payment which will activate their membership.
  • Once the member application is marked finished, the pending Member can access the intweb payment links.
  • Once PayPal notifies us of the new Member's first payment, that Member is added to the members group, and an e-mail is sent to Leadership and that member.
  • Take the member to the front door to verify the RFID reader accepts their code.
    • RFID troubleshooting
      • If the RFID does not work to admit the new member and they have received a Paypal payment confirmation email, then ask Is your Paypal email different from the email you used on your Hive13 application?
      • If so, add the Paypal email to the members intweb record.
      • NOTE: You can often find the member paypal email address on the intweb/Administration/Reports/Member Status Report under Unknown Payments.

Give the new member the orientation tour. Invite them to an event. Tell them how to get certified on tools.

Developer Guide

Group Assignments

Group Name Description
board Board and Officers
wardens Wardens
members All active Members
laser Will eventually be people certified on the laser
storage Members who respond to storage requests
pending_applications People with outstanding applications
pending_cancellations Members who are late on payment
pending_expiry Members who have confirmed cancellation and will be automatically removed when their Membership expires
late_payment_40 Groups for the three late payment reminders
pending_payments People whose application has been accepted - they will me moved to members upon payment
needs_storage_renewal Members who have been alerted as to their storage slot expiring
ptfna People That Fucking Need Access - used for non-member accounts that need RFID access to the space (ex: gas delivery vendors)

Payment Handling

PayPal provides us with IPN messages when certain events occur. First step is to take in the message, store it as-is in the DB, and acknowledge to PayPal that we have received it in HiveWeb::Controller::PayPal.

We then handle a small subset of them in HiveWeb::Schema::Result::IPNMessage. First step is to match the e-mail address to a member. We first look try to find a match with a Member's e-mail address. If that does not work, we look at Members' PayPal e-mail addresses. If we find multiples here, we log the duplicate and don't guess. After finding which Member it belongs to, we update the IPN message's member_id field. Then, we process each message type:

  • subscr_signup and subscr_modify are completely ignored.
  • subscr_cancel is when the user deliberately cancels the subscription. This queues an action to send an "Are you sure?" e-mail to that member.
  • subscr_failed is when a payment has not gone through. This queues an action to send an e-mail to the Member. Apparently PayPal doesn't send any sort of alert in this case.
  • subscr_payment triggers the payment handling logic.

The payment logic simply creates another row in a new table to record actual payments. This is one of the few places data is de-normalized in the database. If, at this time, the member is in the pending_payments group, a welcome e-mail is queued, a Slack invite is sent, and the member is moved to the members group. (Any linked members have the same group membership changes as applied to the master by default.)

Background Tasks

Each background task is ran by cron and has its own script.

  • The queue runner watches the queue for e-mails to send.
  • The membership expirer looks at all members overdue, determines if it should queue a reminder or terminate access, and does so.
  • If anyone changes any PayPal e-mail field, a PayPal refresh is queued. The PayPal refresher then comes by, tries to associate any IPN message that's not attached to a member again, and processes it.
  • There is a process that runs and deletes any orphaned uploaded images.
  • There is a process that queues e-mails when a member needs to renew a storage slot.
  1. Hive13 Bylaws section "Officer Duties" point 2 "Officers may enlist the help of other Members and non-members in meeting their responsibilities."