GCCR / GCCR.github.io

Official GCCR Website
https://gcchemosensr.org/
MIT License
5 stars 1 forks source link

Membership form #8

Closed cbouy closed 4 years ago

cbouy commented 4 years ago

@GCCR/website The membership form apparently isn't working, and we can't rely on a Google form because Google is blocked in some countries. For now, we should probably just show a popup with the info and ask to copy-paste and send to the GCCR mail address, or even quicker is this. I know it's old-school but at least the country names are standardized.

Also Maria asked me to add the following to the form (which currently has name, institution, country, and membership agreement checkbox):

kwcooper commented 4 years ago

TLDR; We need to think about this some more.

So my quick and dirty solution for the contact form (literally realized this error the night before the launch), was to use a third party service.

You may know this, but since this is general limitation with the entire site that we'll have to keep in mind, let me offer explanation on why:

Github only supports static pages (this means no dynamic page updates, and key to this issue, no server side scripting such as databases). The php template I took from another of my websites needs dynamic websites that support server side scripting. I was busy working on the other parts of the site and couldn't get around to a solution for this until then. Frankly, if this website didn't have to be put together in a few days, then I would have shopped around for a different hosting platform altogether, and probably implemented a back end database to handle all of this. But no one really knew what the scope would be, and not to mention the short timeline, money, etc ya know?

While I think there's a way to do this in javascript, for now I'm using formspree.io. I have a GCCR account I can share if you want to build a member's form a similar way. There's things about this that I do and don't like though, which will be exacerbated by website growth and scaling. This method may quickly become unmanageable unless we can build a dedicated set or team of people to maintain it. We already have almost 50 messages, and the site has been live for 1 day. That also leads me to think your suggested mailto solution may not be the best bet either.

So with that said, we should think of a better solution. A normal website would have a server, database, etc and this would all be trivial once implemented. But for now, we need to think of static website methods.

I don't know this off the top of my head, but I'm sure this is a common enough problem that there are solutions. The existence of formspree.io is evidence for this. I have a gut feeling that we may be able to leverage javascript voodoo somehow, but I'd have to sit and learn this, so either you @cbouy may want to head this, or we find someone else. You may also know some Jekyll magic, I mean it exists for this purpose of static website shortcomings.

Whew.

cbouy commented 4 years ago

This looks interesting: https://github.com/dwyl/learn-to-send-email-via-google-script-html-no-server. Basically using a Google spreadsheet as a database.

2 problems though:

kwcooper commented 4 years ago

I love hacky solutions like this. If there's a will there's a way.

Yeah, this echo's my first thought from the outset: Google form. Makes perfect sense except for the blocking. BUT... on second thought... how many countries really block google? https://techcrunch.com/2010/04/19/google-censorship/ (Answer: 25)

Something I initially wondered is if we just use the google form and then say if the countries are blocked then email? If we have to still manually curate then as is then that might not be as bad. Still not the best solution...

I need to think a bit more about possible shortcomings with the method you proposed. To be honest, it uses the same logic as formspree.io, namely form POST methods to and outside source, namely formspree's servers. In your case that source is a spreedsheet.

cbouy commented 4 years ago

As discussed during our meeting, I'll implement a formspree for the time being

Edit: the new form is live. I didn't implement the fields for gender, minority, and job/occupation yet for reasons mentioned in issue #10 : people might not be comfortable with a third party (formspree) having this information. I'm removing the !urgent and bug tags for now

kwcooper commented 4 years ago

I think formspree is working pretty well. (Let me know if this isn't true) How badly do we need the other fields? Maybe an internal survey will be a better route. (More inclusive to privacy concerns and better for an "opt in" approach)

cbouy commented 4 years ago

Since it's only for internal reporting I don't think we really need them on the form, but I'd prefer to have @mariaveldhuizen opinion before we decide something. As you suggest, another poll on slack might be a better option.

mariaveldhuizen commented 4 years ago

agree

kwcooper commented 4 years ago

So what is needed to close this? Or can we go ahead?

cbouy commented 4 years ago

I'll go ahead and close it