Consolidating Community Knowledge: Gauging Interest and Making it Happen

So I’ve kicked this idea around for a bit now, both on this forum and on the dev forum, but it seems like it might a good idea to establish a Safe Network knowledge base or community wiki of some sort. I’m making this post for two reasons. One is to get a gauge of interest. The other is to pose some questions about logistics and what the best way to go about it might be.

Would you be interested in a Safe Network community knowledge base?
  • Yes
  • No

0 voters

Could you see yourself contributing to a Safe Network community knowledge base?
  • Yes - core dev topics
  • Yes - dApp dev topics
  • Yes - user topics
  • Yes - related project topics
  • Yes - other
  • No

0 voters

Why?

The information on the Safe Network right now is mainly housed on this forum. For evidence of this, just take a look at mega threads like how to buy MAID and best farming hardware.. Beyond this, there’s also the Network Primer and the CLI User Guide. And don’t forget the Dev Forum… And the Safe Network Tech website… Weekly Updates… Weekly update translations… And the weekly marketing meetings… The list goes on as you see.

Now this is fine for small communities, but it makes it non-trivial for newcomers to immediately figure out what’s going on. Depending on their entry point to the Safe Network, they may not even know where to look for information.

As the Safe Network runs more test nets, goes into Beta, and inevitably launches, there will be (and has been recently) a rise in forum participation I believe (or at least in community contributors). There’s an influx of people who are willing to help, but a non-trivial amount of effort to get up to speed because of how we store information in such a “tribal” way right now. Not to mention the amount of redundant threads/questions/etc. that’ll inevitably be created.

The MaidSafe team does what they can to document the technology and their work, but they don’t have the bandwidth, nor can they be expected to document everything revolving around the Safe Network. I think it’s up to the community to consolidate our knowledge and streamline the process of new users, potential contributors, dApp developers, etc. getting up to speed with the Safe Network.

What That Looks Like

If we decide that it’s worth it to do so, the question is now one of organization.

I think the natural fit is a wiki, but maybe somebody has another idea. There’s also enterprise “knowledge base” software out there, with other functionality (e.g. Guru, though these obviously aren’t cheap). Though I think something like Tiki or MediaWiki are good options as they’re free and open source, and do what we need.

What about user permissions? Who can contribute to this? My initial thought is to let pretty much anybody with an account contribute and we can always roll back articles to earlier versions if need be.

Then there’s the question of hosting. Eventually, moving migrating to safe seems like a good idea, but for now that’s not really stable enough. Commercial hosting services seems like a good idea for the interim, but then which one? BlueHost? Host Gator? AWS? I don’t have enough experience in this realm personally to make anything more than a semi-educated guess as to that…

Conclusion

Comment what your thoughts are. Good idea? Bad idea? Is the current system OK? Is there a better alternative I don’t know of? Why would you use or not use such a service? What kind of info would like to see housed that wasn’t mentioned?

18 Likes

We’ve been talking for a while about using something like Docusaurus for this, to replace the dev hub, code documentation, and also a suitable place to host things like the primer.

Needs to be something that can allow robust information architecture, dovetail with the existing sites (so we can streamline the web footprint and navigation) and allow updates via GitHub and non GitHub routes for accessibility.

10 Likes

Just for clarification, do you mean “we” as in MaidSafe proper or “we” the community? I’m wondering with regard to the question of who’s in charge of hosting/site maintenance. Would that fall to MaidSafe to run the site and the community would help maintain it, or more along the lines of entirely community owned/run?

On a related ntoe, how is this currently handled with this forum/DevHub? Who’s “in charge” of (i.e. paying for hosting) for the various sites right now? Individuals or MaidSafe? My initial impression was that it would not fall on MaidSafe to be involved officially since the scope seems to be a bit larger than just MaidSafe the company, but I admit I don’t know if there’s precedent.

2 Likes

I suspect we should try and make sure the BGF committee handle these sites now. Get things fired out to the community.

7 Likes

Sorry, yeah that was unclear. I meant it’s something we’d been chatting about on the MaidSafe slack, but thinking about how we also make it a community accessible thing, hence the GitHub chat and also making sure it could accommodate those who want to make regular easy submissions, without the need to GitHub, but would also have some sort or review process too. Docusausus seemed to fit the bill.

As far as hosting goes, I think it’s not something we need to worry about from a cost POV, that can be handled, my main concern in it was making sure we could have a consolidation (or at least a good consideration of them all) of web assets and plan things into an overall IA and navigation scheme, so we’re making something cohesive, especially for newcomers.

7 Likes

Great idea, @Scorch! I’d be happy to help however I can :smile:

6 Likes

It hadn’t occurred to me, but, yea, it seems like these kinds of things might be a natural fit for BGF

Yea, I really like Docusaurus in general, but I don’t think it well addresses the question of user-generated content very well. You still need to go through GitHub, the git flow, etc. to add to it, which is still non-trivial for newcomers. I feel like its important to make it something that anybody can edit (to an extent, which is where permissions, page-reviews, etc. are important).

I ran across Wiki.js which I think might be a good solution for user-generated content with the ability to house docusaurus-like reference material with slightly different requirements like you mentioned. It’s rather reminiscent of Confluence, but more modern.

Seems like the best open-source (GPL), “enterprise-grade” software I see with a big ecosystem for common integrations like GitHub, Slack, Youtube, Google login, etc. From an IA perspective, I could see this being a solid one-stop-shop. Let your imagination run wild, but I can see things like a blog dedicated to archiving dev updates, versioned docs/FAQs/best practice guides, multiple language support, tagging, searchability, a showcase for related projects, user profiles/permissions, calendar for SafeNet events, etc. Check it out yourself, but I was personally rather impressed and reviews are rather high on it.

Maybe what I can do is mock-up something on a server as a starting point and post a link for people to play with. Then see what what feels good and gather some feedback :thinking:

5 Likes

This sounds great IMO. If you’re up to fire into a mock up, I’d say that’s an awesome start.

6 Likes

Alright, I went ahead and started building up a little test site, and the plan is to run it on a digital ocean droplet starting sometime this week or next for about a week or two. That way, people can feel around, make pages, explore features, etc. In the meantime, those who want to participate beyond just reading (e.g. editing articles, exploring the account interface, etc.) should DM me an email you want to use as a login (it’s just for login purposes, it doesn’t even need to be a real one), and I’ll give you back a temporary password (you can reset it on login).

Self-registration works well out of the box, but, since there’s an email verification component, it’s more pain than it’s worth to get automated emails going because the server IP isn’t tied to a domain name yet. It’s way easier if I just pre-register people manually to skip the email confirmation.

In general though, the experience was really seamless. Feels very modern, although I did notice there are some tertiary features that are still WIP. They do have some other cool things though like easy-to-build flowcharts and LateX rendering. Some of the admin tools are nice too. If you want to play with those, it’s also really easy to setup a local docker instance and run your own wiki.js. Overall, I’m so far optimistic about the software :slight_smile:

TLDR

Moral of the story is just DM me an (fake if your prefer) email to use for login you want if you want to participate in this little dry run.

9 Likes

Hey all, so I spun up a little server (tiny actually… 1 virtual CPU core and 1GB Ram… Be gentle!).

You can check it out by pasting the below address into your browser. Ignore the sketchy raw IP link for now, it’s just because my Digital Ocean droplet doesn’t have a domain or SSL set up since this is just a little dry-run. I’ll leave the server up for ~2 weeks (until Wednesday April 7, let’s say) and in that time feel free to explore this little mockup. Afterwards, I don’t know what state it’ll be in, so I can’t guarantee your account or anything you post will stick around.

http://134.209.74.224/

Again, if you want an account to edit/write posts (any post in the directory /users_can_edit is editable), DM me. If login isn’t working or something’s broken, let me know and I’ll see what I can do, but know that it might take time due to different time zones/real life/etc. I did some light testing with a sample user and I don’t have reason to believe anything’s broken though.

If people like the look and feel of Wiki.js, and think this might be a good solution, I’ll setup a proper site and go through the process to associate a domain, get a cert for HTTPS, recruit more compute resources, and get proper self-registration going.

My initial impression is that it’s a solid wiki platform, but with a lot of growing yet to do. Not sure what your guys’ take is, but share your likes, dislikes, thoughts and impressions below :slight_smile:

9 Likes

So bit of an update here. Seeing as the test net is incoming “soon”, I thought this might be a good opportunity, since a lot of new things will be found out and information gathered as we go through the testnet/debugging phase together.

I got a domain, enabled HTTPS, and I also allowed login through Auth0 and Google login, so that people can have some stronger guarantees about their information other than me storing it on a local database on the server. I can also add other third-party auths like GitHub, etc. if that’s something people are interested in. That has the side-effect that, even if you currently have an account, you’ll have to register yourself via the new secure login interface.

The site is registered as “Safe Net Wiki” and can be found at https://safenetwiki.com.

I’ve started populating some pages slowly in my free time, but you can feel free to start adding as well. Anybody can write/edit user and farming-related pages, but there’s also a few other page types for app-devs, core devs, etc. For those, you can request extra permissions separately (details on this wiki page).

If nothing else, I hope there’s somebody who finds the site useful during the test net event. Questions, comments, suggestions are also welcome as aways :grinning_face_with_smiling_eyes:

10 Likes

Cool, small oauth issue though

Oops, something went wrong…
insert into “userGroups” (“groupId”, “userId”) values ($1, $2), ($3, $4) returning “groupId” - insert or update on table “userGroups” violates foreign key constraint “usergroups_groupid_foreign”

2 Likes

Here is a nice write up of routing’s handling of churn (nodes join/leave etc.) if you want to include this? Churn - HackMD

3 Likes

Thanks for the heads up. I’ve been looking into it for the past few hours now and I think it might an issue with upstream unfortunately (new patch was released, so it’s definitely possible). When the site tries to automatically assign permissions it hits this. I need sleep now, but I’ve submitted a bug report anyway and I’ll keep hacking at it later.

I can manually add the permissions back in as, the admin, after you get this message and it should be ok anyway. I went and tried it on two different test accounts and it worked for those.

It’s a hell of a wonky workaround to tell people to ram intentionally into the bug and fix up the broken pieces after, but I need sleep for right now and I can work on it in the morning. I’ve gone ahead and patched your account back together, along with any others that had similar problems as of just now, so your login should work now, for the record.

Until I figure out the root cause, I’ll keep periodically checking for people who tried to create new accounts and patch them through manually.

I can include this as well, thanks for the link!

2 Likes

That document and its links are a treasure trove. Do you mind if we sign-in and add some comments? It could get messy if too many people do so… maybe some review threads on the forum are cleaner as a review/comment method?

1 Like

So update on the login. Issue was with an upstream bug. Good news is I can fix it by twiddling some bits on my end, but bad news is that I’ll need to bork the login entirely until then :expressionless:. Pages are still up for read at least.

3 Likes

https://safenetwiki.com/ isnt loading for me just now

3 Likes

Yea, that would be me “twiddling the bits” :slight_smile:

So I think I’ve ironed it out and I sucesfully created two different users again using Auth0 and Google logins. Afaik, account creation back up and running.

If you attempted to make an account earlier and it broke, I believe your account should be back in tact now, and you can login normally.

If your browser still doesn’t connect to the site, you may need to flush the DNS cache.

Thanks for bearing with me. Trying to balance real life and server debug simultaneously isn’t always smooth :sweat_smile:

If anybody (who isn’t me) can confirm login works again, I’d appreciate a quick DM or reply to this. That way I know if I can consider this state of things “””stable””” enough and I’ll snapshot the current server state

3 Likes

Imagine how easy it will be to setup on safe network. Upload files, create NRS map and voila! :grin:

4 Likes

Hahaha I couldn’t help thinking that myself! Although I do have a renewed appreciation for all of the sys-admins out there

Edit

I also pasted over the article David linked about churn. It’s just the markdown dump right now, but when I’m back in front of my computer (and not messing around at work :grimacing:) I can clean up the formatting, etc. Really interesting read though!

5 Likes