The-Yak-Collective / yakcollective

The Yak Collective website & related automation.
17 stars 9 forks source link

Move member data back-end from flat files to Knack #71

Closed necopinus closed 2 years ago

necopinus commented 4 years ago

It's become obvious at this point that the _members collection is not going to cut it as our "source of truth" long term. We should implement a separate "member database" (Knack has been suggested by @djinna, but I'm not familiar with that system, and don't currently have a strong preference).

This member database should allow people to easily update their own profiles without giving them write access to other folks' profiles. There may be a need/desire to store "private" information (either to the YC, or to the member) in that profile. Ideally, we should be able to port some minimal information into that database from Discord.

Once we have that database, we need a method of translating relevant entries from it into the relevant markdown file in _members + applicable member avatar, or whatever the equivalent system is at that point. (We might also use API calls to pull member information directly into the site build process, but I'd rather keep some kind of intermediate file cached in GitHub in order to prevent issues if the database goes offline and to create some sense of a "version history" for member data changes.)

tilnow commented 4 years ago

see demo at https://competent-shockley-33f53c.netlify.app/members/ which is not perfect (yet) but reads all its data from knack

necopinus commented 3 years ago

Updating title to reflect that Knack is where we want to head for this.

necopinus commented 3 years ago

Integration code for member login (courtesy @djinna):

<script type="text/javascript">
    app_id="5f70876d8e7037001504bfe8";
    distribution_key="dist_2";
</script>
<script type="text/javascript" src="https://loader.knack.com/5f70876d8e7037001504bfe8/dist_2/knack.js"></script>
<div id="knack-dist_2">Loading...</div>
necopinus commented 2 years ago

Live in production now!