Quantcast
Channel: Discourse Meta - Latest topics
Viewing all 60721 articles
Browse latest View live

Discourse vs. mailing lists (Majordomo or otherwise)

$
0
0

@Gunnar wrote:

The Jag-lovers Forums can be found here:

Background

In effect, we migrated to Discourse from a Majordomo mailing list archive with around 20 mailing lists and 1.8 million messages, going all the way back to 1993.

As the users saw it, we did have a “web forum". It was a home-brew solution, written for the LAMP stack by one of our admins, Tony Bailey, back in the late 90s. People were asking for ways to join the discussions via the web, so Tony wrote what was in effect a web frontend to our mailing list messages. Users could browse, search, and participate via the web.

The code for doing this was complex and contained many moving parts. There were indices in MySQL for searching, HTML copies of the individual messages for browsing, and scripts for interfacing with Majordomo for list management.

Some users, who had been with us for decades, loved the old interface and were very resistant to change. Others came to us with fresh eyes, used to modern UX design, and couldn’t believe how backwards our site was. They soon got frustrated with our unique interface, and the delays from posting until their messages showed up on the forums (they had to pass through a maze of code, and be delivered via SMTP), and left us for other fora.

The pros and cons of Discourse vs mailing lists

Mailing lists
Pros: Very light resource use if you don’t start creating a web frontend for them. Anyone can participate from almost any platform, over any connection, even RFC 1149. Email (or more precisely, SMTP) has existed since 1982 and won’t go away anytime soon.
Cons: Searching is a manual process of downloading the archives and searching through them locally. No web interface, unless you create one. Most users expect a web frontend these days, and instant gratification. Their attitude seems to be that email lists are for spammers. You’ll lose many potential users if all you have is a mailing list.

Discourse
Pros: Very modern, yet lightweight design. Based on modern technology. Easy to use, easy to search, fast. Fits in nicely with Wordpress, Slack, and other modern tools. New users will take to it like fish to water. Distribution is slick, via Docker, making for an easy install.
Cons: Hard to hack, unless you’re intimately familiar with RoR, json, CSS, Postgres, nginx, and Docker. Besides, the tools that are all the rage today could go out of fashion tomorrow. If your list/forum is very long lived, you may want to start planning your next iteration now, as you’re probably going to need it some day. If you have a bunch of longtime users, they may grumble at all the modern whizz-bangs. Distribution and installation is almost too slick, via Docker, creating a bit of a “black box” feeling.

Importing our lists

We faced a daunting task in moving all of our home-brew code to a different platform, and were very happy when we found Discourse. Not only does Discourse have an MBOX import tool, but it also allows users to subscribe to topics via email, and even participate in discussions via email. Not many of our users still do, but those who do are adamant that they want to continue doing so.

What made life much easier for us was that we had saved every single mailing list message since the beginning in MBOX format. We used the Majordomo archive2.pl tool for creating monthly MBOX archives for each list. We started doing this a long time ago, “just in case”, even though it wasted a lot of space since the messages were also stored individually in HTML format for browsing from the web.
We decided to skip trying to import our user database, since we were going to force all users to change their passwords on the new platform anyway. Forcing a password change not only increased security, since Discourse can enforce password complexity and our old web frontend was fairly rudimentary in comparison, it also gave us a metric of how many users would follow us over to Discourse. Finally, it made the move a lot easier and a whole lot faster.

The Discourse MBOX import tool creates new users automatically, based on the email addresses it finds as senders of the messages. This took care of the vast majority of our users. Some had of course used several different email addresses over the years, which meant that they’d have several accounts created on Discourse, with messages attributed to each account. The only way to fix this is to manually merge the accounts after the import.

We followed the instructions on “HOWTO: Import MBOX (mailing list) files” found here:

If you scroll down and read the discussion, you’ll find some details of the various problems we encountered.

We fired up a massive EC2 instance on AWS, installed the Discourse dev environment, and set to work running the MBOX import tool. There were some gotchas, such as older messages having 2-digit year dates, or otherwise non-standard date headers. Since our messages go all the way back to 1993, this was to be expected. Some messages ended up with dates in the future (“93” becoming 2093), and some had headers so badly non-standard (“bang” addresses and the like) that they errored out and were simply dropped.

The MBOX import on the dev node was slow and took the better part of three weeks, even with massive amounts of CPU, RAM, and the database and work file systems mounted on memory file systems. We tried speeding things up by running multiple imports in parallel, but this created other problems since the processes were all trying to talk to the same database instance. There were a lot of crashes and a lot of hand-holding of the whole import process. This may not be the case for you, if your import is smaller.

We started by importing everything from the beginning of time until the last day of the previous month. In our case that meant everything from March of 1993 until the end of October, 2016. This is the part that took three weeks.

The whole time we had a page up explaining what was happening, and what was about to happen in the coming days and weeks.

Once done with the initial import, we notified our users, set our old forums to read-only and added an auto-bouncer to the mailing lists with a text explaining about the move. We then started importing all new messages posted since November 1st, 2016 until the present day, which was November 22, 2016. This import took about 20 hours. Once that was done, we’d successfully imported the vast majority of our 1.8 million messages, and had around 38,000 users created for us in the Discourse user database. Our old site had well over 100,000 users defined, but over 60,000 of them had been lurking and had never posted anything. Because of that, they never got created on the Discourse side by the MBOX import tool. We still have the old user database, so if we want to, we could one day do something about this.

Finally, we copied the Discourse instance over to the production site per the “Move your Discourse Instance to a Different Server” HOWTO:

We made sure the site looked OK, and that we had links up with instructions on how people could reset their passwords so they could log in. Once we were happy that everything was ready, we opened for business on our shiny new Discourse site.

That’s when we encountered the biggest gotcha of the entire process. Discourse decided that all 1.8 million messages were new to all 38,000 users, so it started sending out massive amounts of digests to everyone. This very quickly got us flagged as spammers. We ended up disabling digest emails for all users as a result of this.

Final notes

Other than that, the move went surprisingly well. Our site is still quite busy, although some people are still grumbling about the change, 8 months later. The die-hard email users are still able to participate, which came as a bit of a pleasant shock to them. I think they were fully expecting that once we moved to a modern platform, they’d be forced to use a web interface.

Best of all, we got a lot of help from the Discourse community and the Discourse devs. They’re still an invaluable resource when we experience problems or have feature requests.

Posts: 2

Participants: 2

Read full topic


Discourse Math Plugin

$
0
0

@sam wrote:

Repo: https://github.com/discourse/discourse-math

Screenshot

Usage

The math plugin uses MathJax to render maths.

You can render blocks of maths by wrapping with $$

$$
E=MC^2
$$

You can render inline math by wrapping with a single $ like so: $E=MC^2$.

Discourse math uses a heuristic to ensure that sentences such as: “I spent 20$ and another 100$” do not get MathJax treatment.

Note

This plugin only works with the latest version of Discourse with experimental markdown it enabled.

:warning: This plugin is disabled by default, after installing be sure to enable it via site settings.

:warning: This plugin requires that enable_experimental_markdown_it be enabled.

Future work

  • We would love to support server side rendering, there is already an online sample.

  • We need to discuss a syntax for asciimath. Once a syntax is picked support will be very easy to add.

  • We are open to adding optional support for Katex.

What about the old plugin?

There is a plugin maintained by @Kasper/ @masda70 called Discourse MathJax. This plugin is a ground up re-write to support the new markdown it engine. The main differences are:

  • It is much stricter about block and inline syntax, only $ and $$ blocks are supported

  • It embeds MathJax so you do not need to use a CDN

  • It only loads MathJax if it detects equations on the page.

  • It surgically applies MathJax as opposed to performing full page scans.

  • It is well specified using specs

Posts: 6

Participants: 5

Read full topic

I get this error when embeding: "The target origin provided does not match te recipient window's origin"

$
0
0

@ggiwebchimp wrote:

Hey guys, I started implementing discourse for my company. I’m having an issue I haven’t found solved in other topics, and its the mis-match on recipient window origin.

I have this link:
https://learn.growthinstitute.com/discourse-test.html

The embed gets me a message saying: Error Embedding.

I use the embeding code provided by my discourse account admin:

<script type="text/javascript">
DiscourseEmbed = { discourseUrl: 'https://discourse.growthinstitute.com/', discourseEmbedUrl: 'https://learn.growthinstitute.com/discourse-test.html' };

(function() {
	var d = document.createElement('script'); d.type = 'text/javascript'; d.async = true;
	d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';
	(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
})();

I have learn.growthinstitute.com as an allowed host.

And still no luck.

Any idea how to get this working?

Thanks!

Posts: 1

Participants: 1

Read full topic

How can turn off similar topic when i create a new topic?

Docker: 'system' is not a docker command. Unable to run ./launcher cleanup

$
0
0

@SMT wrote:

./launcher cleanup
flag provided but not defined: --format
See ‘/usr/bin/docker info --help’.
You have less than 5GB of free space on the disk. You will need more space to continue

Would you like to attempt to recover space by cleaning docker images and containers in the system?(y/N)y
docker: ‘system’ is not a docker command.
See ‘docker --help’.

Posts: 6

Participants: 4

Read full topic

Let’s Encrypt problem after upgrading to 1.9.0.beta3

$
0
0

@saluzi wrote:

After upgrading to 1.9.0.beta3 , the SSL(Let’s Encrypt) rating has changed from A+ to A,the problem is HSTS.

Thanks very much

Posts: 7

Participants: 3

Read full topic

Sending email failed with SMTPS port 465

$
0
0

@manishramteke wrote:

Hi Team,

Using email service from godaddy and smtp ssl port 465 in config, but sending mail fails with
Job exception: end of file reached.

For me 465 works with email client such as thunderbird. What can be done to make email work with discourse on port 465.
Running SMTP on other port such as 3535 works well. If I go with non secure port will security of my email contents and credentials get compromised?

Regards
Manish

Posts: 3

Participants: 2

Read full topic

The Markdown parser fails to process the [[**text**]](url) expression


[Tab] should work after "edit title" or using hotkeys

$
0
0

@Sujan wrote:

When you use the “edit title and category of this topic” button next to the title or e on the first post, Tab doesn’t do what I expect/hope it to do: Jump to the first input field there, then to the second and so on. Seems the focus stays on where you were before.

Posts: 1

Participants: 1

Read full topic

Failed to bootstrap

$
0
0

@Jay_Patel wrote:

HI all,

I was getting " failed to bootstrap error. so followed from other posts. it works when i disable backup to dropbox plugin with latest release 1.8.2 anyone else having same problem?

Thanks,
Jay

Posts: 2

Participants: 2

Read full topic

Intructions on right and feedback on "wrong" keyboard shortcut usage

$
0
0

@Sujan wrote:

I knew about the “Keyboard Shortcuts” modal for quite some time, but honestly didn’t know how they worked. Just now, when I investigated a bit further and read some specific instruction by another user, that I first have to j/k in a topic to go through the posts before I could use e and similar, I understood the concept behind it better.

Before I tried to combine the keys with alt, ctrl, shift in a random manner and didn’t get any further. Also just hitting e when focusing a post in a topic with the mouse - and nothing happened.

I think it would be need to
a) more information on usage to the Keyboard Shortcuts modal and
b) give feedback when you press e but have to j/k first:

Select a post by using j/k first.

as a “toast” or some similar kind of notification shown temporarily to the user as feedback would be nice. Could also include a link to a more elaborate “How to use Keyboard Shortcuts” explanation.

Posts: 4

Participants: 2

Read full topic

Can we make the sidebar for discourse?

[Ctrl] + [Enter] could work for "Flag -> Send @user a message" input field

$
0
0

@Sujan wrote:

When you send a user a message via the flag feature, you have to use your mouse to send the message right now. Would be nice if Ctrl + Enter would work here.

Posts: 1

Participants: 1

Read full topic

Discourse sending HTTP instead of HTTPS links in activation emails

$
0
0

@Jeremiah_Schultz wrote:

Using lets encrypt for SSL. It shows in my Browser that the site is fully secured.

As I said the activation emails are a http link, when clicked it redirects to https and shows: Oops! That page doesn’t exist or is private.

Any idea what the problem is? Ive never had this happen when installing discourse before.

Thanks

Posts: 9

Participants: 3

Read full topic

Group choice during the registration

$
0
0

@Yohan wrote:

Hi,
I want to force people to choose a group during their registration. So, i have modified the file /templates/modal/create_account.hbs in order to insert a new field. But i m unable to get the groups.
How can i do? I have tried to use Discourse.Site.currentProp(‘groups’), but it returns all groups (not only the public groups). And how to create the select input after and to save the new registration (with the group)?
In the parameters, i have created new user field ‘group’ in the administration, but i don’t understand because i have recreated the same groups as groups users… but there are no link between them?!..
ty for your help

Posts: 1

Participants: 1

Read full topic


Changing hostname

$
0
0

@Hung_V_PHAM wrote:

I installed Discourse with Docker on AWS EC2 Ubuntu instance, it worked fine. I’d like to change the hostname but it didn’t work, when I access to new domain (dev-talk.mydomain.com), it redirected to the old domain (talk.mydomain.com). What I did is:

  • Edit the hostname line in app.yml

##The domain name this Discourse instance will respond to
DISCOURSE_HOSTNAME: ‘dev-talk.mydomain.com

  • Comment out using CDN

#DISCOURSE_CDN_URL: //xxxxxxxxxxx.cloudfront.net

  • Rebuild app after change

./launcher rebuild app

Is there anyone can help? Thanks!

Posts: 1

Participants: 1

Read full topic

My app.yml is missing...?

$
0
0

@TheDrDentz wrote:

I tried to rebuild my app after loading a backup, because I had some weird artifacts on the site. But the server responds with:

Config file was not found, ensure containers/app.yml exists

ls: cannot access '*.yml': No such file or directory
Available configs ( )

What happened? And how can I fix this?

Posts: 12

Participants: 5

Read full topic

Documentation on how to moderate effectively?

$
0
0

@jsha wrote:

I love all the great moderation features in Discourse, but I often feel like I have to learn from scratch how to use them most effectively. Has anyone documented practices that have worked well for them? For instance, how many times do you typically flag someone’s posts off before giving them an official warning? How many warnings do you typically allow before a block, suspend, or IP ban? How do you decide how long to apply a block or suspension for? Obviously these things will all vary greatly based on the particular forum and behavior being observed. But I feel like there must be a good body of knowledge, and I’d like to benefit from it. My ideal would be if Discourse shipped with such documentation, like it ships with a good default Guidelines.

Thanks,
Jacob

Posts: 3

Participants: 2

Read full topic

Images disappearing, reappearing, disappearing....(not Photobucket)

$
0
0

@ron_jeremy wrote:

VERSION: 1.9.0.beta2+29

This issue seemed to appear a few days ago where images uploaded to the forum are not displaying. Oddly enough, and without intervention by me or the poster, they suddenly start showing, then disappear again. It is also random, affecting some posts but not others.

See here for an example:

Is this a ‘Sidekiq’ issue? Disclaimer: I don’t really know what Sidekiq is, but often see it mentioned in posts when there are image issues.

If this is likely a Sidekiq issue please let me know which tabs you’d like to see and I’ll post some screenshots.

Posts: 4

Participants: 3

Read full topic

Align Categories and Latest

Viewing all 60721 articles
Browse latest View live




Latest Images