No internet connection
  1. Home
  2. Ideas

Embedded forum categories

By KajMagnus @KajMagnus2018-11-05 10:06:35.194Z2018-11-05 10:18:08.498Z

Right now, one can embed Talkyard discussion pages, to use as embedded blog comments, like Disqus comments. (Here's a landing page for such embedded comments: /blog-comments/. ) It'd be nice if one could also embed whole forum categories, and have embedded forum categories get created lazily when needed — just like embedded comments pages get created on demand.

Use case: A company lets their usersbuild plugins for the company's software. And each person who builds such a plugin, wants a place to provide support, for the plugin. It'd make sense to have a "Plugins" forum category, and each plugin provided support, in its own sub category. And it'd be user friendly, if, on the web page about the plugin itself, the forum sub category about that plugin, was shown (in an <iframe>). Then people who visit the plugin page, could see directly on that page, a list of the most interesting / most recent questions others have had, about that plugin.

Initially, clicking a topic in the embedded category, could redirect to that topic, over at the forum (one would get redirected to the forum — not stay on the plugin page). Later on, could maybe experiment with opening the topic in the iframe, however this might cause UX problems, e.g. Talkyard's sidebars might cause confusion, when inside an iframe. And deep linking to a discussion, would be tricky. Maybe better avoid.

What's needed for embedded categories to work:

  • Implement sub categories.
  • Implement per category subscriptions. So the plugin owner(s), can subscribe to the sub category for their own plugin, and get notified about new topics in that category.
  • Automatically create categories, when a plugin page iframe-embeds a Talkyard URL like talkyard-server/-/embedded-category?categoryId=...&categorySlug=...&categoryName=...&defaultTopicType=...
  • Rate limits and security checks, so people cannot create "bad" categories. Maybe a urlAndSysbotApiSecretSha256Hmac=.... query param? which would be a HMAC of the URL (example URL just above) + an API secret, for the Sysbot user. (About HMAC.)
  • Review / performance-test SQL queries and verify they'll work okay with 100s of categories.

The first things (sub categories, per category subscriptions) are things I need to implement sooner or later anyway. So it'd make sense to start with them.

All this seems to be fairly much work, and will probably not be finished within two months. I'm slightly wondering, if the fastest way to make all this happen, is if I make it simpler to contribute to Talkyard, so others can clone the Git repo and help me with coding and/or testing. (?)

  • 4 replies
  1. A
    @aeciusssnim
      2018-11-26 00:05:31.238Z

      Hello there,

      I've just found your amazing platform, but I was wondering whether it was possible to embed a community like the comments on a static website hosted on platform such as Github for example. I have looked through your documentation, but I have yet to find anything related to this. I'm wondering if this post is related in some ways to my question.

      What I would like to do is basically have the forum-like platform hosted through my github page in an Iframe or something like this. I just want a basic page where people can add comment to a current discussion or add a topic, etc.

      Cheers,

      1. Hi @aeciusssnim, ok nice that you found your way to here. Can I ask, how did you find out about Talkyard?

        If I rephrase what I think you wrote: You're looking to embed a whole forum, in an <iframe>, on one specific page, in a static website? (Or should the same forum, appear on many pages? Or maybe different parts of the forum, on different pages?)

        I just want a basic page where people can add comment to a current discussion or add a topic

        If one clicks on a discussion topic, in an embedded topic list — then, would you want the topic to open, inside the iframe? Or should the topic open on a new page, with its own URL? (then, one can deep link to it)

        Can I ask, what is your website about? What will people talk about? :- ) Will there be only one category, or should the topics be sub divided in different categories?

        What is the reason you apparently prefer embedding a forum, inside a page at www.your-static-site.com, rather than having a forum at forum.your-static-site.com? (One can tweak colors and the top nav header, so the forum looks like part of the main www site).

        1. A@aeciusssnim
            2018-11-26 15:56:22.959Z

            Wow, first I'd like to thank you for your fast reply! Greatly appreciated. I found out about you while searching on google some stuff on embedding a forum-like type of platform into a GitHub website.

            I'll try to rephrase and be more specific: I am the student representative of my research centre at the hospital I'm doing my PhD at. I have really minimal skills when it comes to computer science or building website (as you can tell by my previous post ^^). That being said, the simplest and cheapest way to get a site running for our student community was to host a static website (with the help of Jekyll) hosted on GitHub. You can have a look at the website here. This is really basic, but it fulfills our need for now. However, students have asked me if we could have something like a forum (and a chat if possible) where one can announce he is going to conference XYZ in 3 months and would like to know if anyone wants to share a room. I don't think the forum would get extremely busy, but I think it is a nice option for students who'd like to reach other students out. This can be as simple as having a category "Who's free to go get lunch outside the hospital?". I want to create a place where we, the student, can prevent the loneliness of our lab research.

            So, regarding my situation, I don't think that having the website + having the https://aeciusssnim.talkyard.net/ separately will work in the long run because it is too many new things for the students. But, because my website is hosted through GitHub, I don't think I could have a forum.my-static-site.com. Correct me if I'm wrong please.

            Put simply, I thought I could create a page (e.g. https://my-static-site.com/discussion), in which one would only see a forum-like discussion with the website's header. I don't think it's as simple as embedding a comment section, but I hope I am wrong :).

            Thanks very much once again,

            PS: If anyone has any tip or advice to make it easier (even if I need to host is somewhere else than GitHub), feel free to share! :) Please, note that we have exactly 0$ for this, so I'm trying my best!

            PPS: I'm part of an Open Science project and we (not me, the people who know how to build things from scratch on the team) seriously think of self-hosting your wonderful platform on our website! I showed them this, and they were like: Wow, that's a nice blend of Gitter and Discourse!

            1. Thanks for the info & more detailed details. Ok, sounds like a good idea, to have a place online for the students, ... to talk and to create meetings in real life :- ) thanks for the link to the website.

              Hmm yes I agree it'd be a bit better to have the forum, and the website, at the same domain. I think a good alternative, is that you buy a domain name — costs like $10 or $20 per year — and then you'd place your main GitHub website, at www.your-domain.org, and the forum at maybe forum.your-domain.com. (I think you're correct that you cannot place the forum at your-forum.github.io — you don't have access to GitHub's DNS servers (domain name servers).)

              Another alternative: You could leave everything as is, and I can help you configure a header for the forum, so it looks as part of the main website (which then would still be at GitHub's domain, aeciusssnim.github.io). People would click "Forum" in a top navigation item, at your GitHub website, and then they'd go to the forum, on Talkyard's domain. I think people typically don't look at domain names anyway, so I think this won't really matter. ... Then, half a year later, maybe I will have implemented some kind of embeddable forum, and you can use that. At the same time, ...

              I thought I could create a page (e.g. https://my-static-site.com/discussion),

              ... A problem with the embedded-forum approach, is that it's then tricky to link to forum topics. Because if all discussion topics open inside an iframe, they don't really have their own URL. Students might accidentally share the URL to the forum itself, with each other — when they intended to share a link to a topic inside the forum. Therefore if I were you, I'd probably want to avoid embedding a forum. Or, maybe it'd make sense, to just embed a list of topics — and, if one clicks a topic title to open the topic, the browser could navigates to aeciusssnim.talkyard.net/the-topic-name (i.e. a different URL). (Plz feel free to ask if something I'm writing is unclear :- ))

              Can I ask, what is the Open Science project about? For example, what kind of science? And who would the members be? (students? researchers? teachers?)


              About money. To me, it'd feel good if Talkyard could be free, for non-profit things that contribute to society, like your students community. A bit similar to how GitHub works. (I mean, GitHub is free in your case.) And Talkyard could instead make money from for-profit companies. ... At the same time, I'll need to pay the rent and find freelancers to work with and pay them. And what if "everyone" who uses Talkyard, turns out to be not-for-profit people? ... So, maybe I cannot promise that this will be free. Anyway, it can be free, in your case, for, say, 2 years? Does that sound ok? And later on, maybe it'd cost €12 * 50% discount = €6 per month.

              If it's ok that I ask, then, what's a reasonably monthly or yearly fee, would you say? (instead of €6.) For your use case, which, as you mentioned, won't get so terribly busy? How many staff users would you want to be? (they can approve or ban other "normal" members, and moderate comments.) And about how many other members, would you guess?