Table of Contents

Website and other web tool details

Protohaven's Website

Domain Registration

Protohaven.org

Protohaven.com

TLS/SSL Certificates

TLS (Transport Layer Security) and SSL (Secure Sockets Layer) both extensively mean the same thing, technically it’s all TLS and SSL has been deprecated but many ppl still say SSL.

Current Certificate Expires: Sunday, October 29, 2023 at 7:59:59 PM

Credit for Renewal good for 5 years, it’s not clear on the exact end date other than there are 1824 days remaining on 9/29/2022

protohaven.org / www.protohaven.org TLS certificate comes from the namecheap SSL hosting section. The current TLS purchase is good for 5 years. However a specific certificate is only good for 1 year and each year a new CSR will need to be generated and a certificate will need to be minted and installed into the SSL/TLS section of cpanel

Certificate Refresh Directions

Note: For two years in a row, Namecheap has failed the auto CSR signing process with an internal error. This has required reaching out to support to do the verification manually. The process takes up to 1-2 business days on the Certificate Authority Sectigo end; requirements can be checked here: https://www.namecheap.com/support/knowledgebase/article.aspx/9502/68/what-do-i-need-to-validate-an-ov-certificate/. After the validation is finished and SSL is reissued, a follow-up email ticket gets sent to purchasing@protohaven.org

  1. Login to the accounts area at namecheap.com
  2. Click Hosting List then Go To Cpanel for protohaven.org
  3. In the Security section of the das hboard click SSL/TLS
  4. Click Generate, view, or delete SSL certificate signing requests.
  5. Complete the CSR Form
    1. Add “protohaven.org” and “www.protohaven.org” in the Domains text input, separated by a newline
    2. Pittsburgh, PA, US for city, state, country
    3. Protohaven for company
    4. system@protohaven.org for email address
    5. Do not set a passphrase
  6. Click “Generate” to generate the CSR
  7. Open the accounts area at namecheap.com in a new tab
  8. Next to the protohaven.org entry click the down arrow and reissue.
  9. Copy and paste the encoded contents of the CSR (including hyphenated header and footer) into the textarea where it says to enter the csr. Click Next.
  10. Ensure you have group membership in webmaster@protohaven.org (via admin.google.com) and set the DCV method to “receive an email” with webmaster@ as the target. Click Next.
  11. Fill in representative information, click Next.
  12. Review and click Submit.
  13. After the new certificates are minted download and extract the zip file. As of 2024 this is done in the SSL Certificates NameCheap page.
  14. Go back to the other tab where the cpanel TLS pages are and go to: Generate, view, upload, or delete SSL certificates. (Many of these pages have a “go back” link at the bottom if you’re feeling lost.)
  15. In the section where it says upload new certificate choose to upload the protohaven_org.crt file and click upload certificate.
  16. Once uploaded you’ll see a new entry under “Certificates on Server” with an expiry date 1 year from now. Click Install.
  17. Paste the contents of protohaven_org-ca_bundle file into the textarea for ca-bundle if it isn't already populated.
  18. It may take 5 minutes before the new cert is live on the server, check the server’s certificate and verify that the new expiry date is shown. (Click on the lock icon by the protohaven.org domain on the web browser and view the certificate.)

Web Hosting

Wordpress

Wordpress its the CMS for the Protohaven website. It is managed via softalicious, link to deployment.

Database Backups

There is a script in the ~/bin directory on the webhost that runs via cron in cpanel twice a day. it does a mysql dump and stores the files in ~/backups_mysql. I would put more in here but something in the code is forbidden.

Dokuwiki

Dokuwiki is installed via Softalicious and is automatically updated, it's softalicious listing is here.

Editing

Check out the syntax page for info on how to edit the wiki.

Non Bundled Plugins

We don't want to have extension proliferation and want to keep this list to a minimum of necessary ones.

oauth generic customizations

I had to make a one line change in the module to make it work with the neon one api authentication. The patch and the description of the patch is on GitHub

Booked Scheduler

Is our equipment reservation system at reserve.protohaven.org.

Booked scheduler is a hosted service that we have an annual subscription for.

Billing

Nick from Twinkle Toes Softare will email an invoice when our subscription is due which is Mid December each year.

Support

Support can be had by emailing nick@twinkletoessoftware.com if there is something wrong with the software.

Also check out the documentation at https://www.bookedscheduler.com/help/

Custom Oauth

Configuration Link

Example Configuration

We paid the developer of Booked to adapt his oauth to work with Neon CRM. It uses neon CRM as the Oauth Identity Provider. When a user tries to login it will redirect them to Neon and be redirected back to booked. If it's their first time logging in booked will make an api call to neon and retrieve their name and email.

Administrators

There are two places to set up Administrators. One is to add users to the Administrator Group. the second is to go into the site settings and set up email addresses of administrators in the appropriate text box. This will allow list that login with the email to be an admin.

We should have core admins listed there, then additional admins like people making reservations on behalf of classes etc in the Admin group.

Configuration Admins:

Admin Group Members:

Integrations with Other Systems

Set Equipment Status from Airtable

Any time the status of equipment is changed in airtable with the Set Tool Status Form it will trigger an automation in Airtable that will set the reservable status in Booked to match. The source code is managed in our Github.

The booked credentials that Airtable uses to auth with booked is the airtableapi user.

Member clearance Sync

This is still on the backlog https://app.asana.com/0/1200386169577785/1203803204755526

Neon CRM

App Users login here: http://neonsso.com/ Constiuient user login here: https://protohaven.app.neoncrm.com/login

Testing users:

API Keys

Below are various API keys that are setup so that other programs are able to interact with Neon.

User Account Beginning of API Key Permissions Used For
Jeff Bearer 0fb Admin Just for reference encase it's found somewhere.
API Key - Dokuwiki dc9 Members Read Dokuwiki - Oauth Generic Plugin
API Key - Booked faf Members Read Booked Scheduler - Oauth Plugin
API Key - Airtable 98b Admin

Oauth Keys

The site has a single oauth key that can be found by Admins here.

Airtable

Airtable is an easy to use web based database that we use to help build tools and apps needed to run Protohaven's data systems. It's often the middle man in most of the tools that we use.

There is 1 paid account for Airtable and it's admin@protohaven.org The password is available from Jeff and others.

There is one Workspace “Protohaven” and there are several “bases”

Bases

Short for database I guess.

Tools & Equipment

Tools & Equipment is the main base, it handles the master equipment list, tool reports, and recurring tasks. It leveraverages shared links of views and forms so that people who don't have accounts can use the system.

It also uses automations inside the airtable base as well as zapier to do actions.

Tables

Shared Forms

Automations

Update Booked Status

In Airtable under the Tools & Equipment base there is an automation that will update the booked status for equipment if the status in airtable goes red, or worse.

The credentials used are the booked “airtableApiUser” in booked.

The script is published to our github here: https://github.com/protohaven/systems-integration/blob/main/airtable-automations/UpdateBookedStatus.js

Neon Data

Neon Data is a base that receives the synched data from Neon and builds apps upon that data.

Tables

Shared Forms

Automations

Sync Account, Event and Registration Data from Neon

In Airtable under the Neon Data base there is an automation that syncs data from Neon.

The credentials used are the neon API Key - Airtable key listed above.

The script is published to our github here: https://github.com/protohaven/systems-integration/blob/main/airtable-automations/neon-integration/

Github

We've use the Protohaven Github account to control the revision history of source code used to run the orginization or to share to the public.

Any code that creates integrations between systems or customizations of systems should have a directory published to the systems-integration repository.

Zapier

Zapier is a 3rd party service that interacts across many 3rd party API's and makes it easy to link services together. We use Zapier to link, Asana, Discord, Google Docs, Airtable, NeonOne, Square.

It's a shared account for admin@protohaven.org password is known by Amber and Jeff.

Zaps

Connectors

https://zapier.com/app/connections

Wyze

Facebook

Instagram

Google

Zoom

Asana

August Lock