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

With Uploads -- That page doesn’t exist or is private

$
0
0

@SaraJChipps wrote:

Hi! I am on v1.7.0.beta8 +135.

Just upgraded max file size to 25m. Uploaded a file and when I click on it I get "page doesn't exist", however, when I put the url in manually it works.

Any insight? I saw a similar topic earlier that was closed. Thanks.

Posts: 4

Participants: 3

Read full topic


How to determine SMTP setting from Exim?

$
0
0

@Fran wrote:

I'm about to try the Docker install on a linux box running Exim. I'm reading the guide in pre-flight mode, trying to make sure I understand the process before starting. I come to the SMTP setting part:

SMTP server address? [smtp.example.com]:
SMTP user name? [postmaster@discourse.example.com]:
SMTP port [587]:
SMTP password? []:

And I don't know where to get the exact values to put in these. I scanned the massive Exim config files in /etc, where I found:

in the local file:
daemon_smtp_ports = 25 : 26 : 465 : 587

And nothing else that looks remotely like the options in the sample. I did a few hours of web searching for "smtp setting exim" and so on, but nothing was even close. The above values are utterly meaningless to me, three of the four have values but convey no information about what is expected or why those values were chosen. Given the large number of questions about email settings I find here, I'd expect there to be some docs that go into detail and help those of us who have never configured a mail server or depended on that configuration. Is there a document I've overlooked?

Thanks.

Posts: 4

Participants: 2

Read full topic

Disabling full name changes

$
0
0

@thekoalaz wrote:

Hi,

I have just begun operating a small discourse for real life friends and I wanted to enforce a Real Name policy.

I've required full name on sign up and an approval only policy, but after sign up users can edit their Full Name. I want to disable this so that an approved user's full name is essentially locked after sign-up, but an admin can still edit the field.

I was looking at where this check happens and it seems there's no logic that will let me enforce this policy exactly:

Username and e-mail have settings that relate to whether a user can self-edit them, but there are no such settings for full names. Is this true? Is there some work around?

Thanks!

Posts: 5

Participants: 2

Read full topic

Prospective Feature: Highlight Posts That Surpass Defined "Likes" Threshold

$
0
0

@LilTrashPanda wrote:

This is a follow-up to "Identify and highlight post with the most likes in a given topic" (which seems a bit dead in the water and I didn't want to resurrect this far past).


Feature Specifications

I'd love to replicate Blizzard's approach to highly rated posts (in Blizzard's case, they implement the upvote/downvote system -- not a huge fan of that, but I am a fan of how they "reward" the users that are posting well-received content). In their case, a highly rated post has a "plaque" applied to it that visually distinguishes it from other posts in the thread as one the user should take note of.

Since we already have a "Likes" system in place (and it already shows how many :heart:s were given and by whom) , I'm curious if we can build off that pre-existing data for this "plaque" of honor on a per-post basis. I don't personally have enough familiarity with programming to create my own plugin, but hopefully the information I've provided here is enough of a "spec" for someone with the time, expertise, and passion to make this a reality!

Why Do I Want It?

I personally would love this system (beyond the psychology behind it for the end-user) to assist in AMAs or as a simplified crowd-sourced "voting" method. I do realize that there is already a voting plugin, but that's a topic-based voting plugin rather than a post-based one, which doesn't help me very much for our intended purposes. Blizzard (again) has used this feature on their forums to assist in bubbling up the questions that their community wanted the answers to most, as seen here: https://us.battle.net/forums/en/wow/topic/20749667310

Posts: 9

Participants: 4

Read full topic

SSO user creation error

$
0
0

@aedensixty wrote:

I am getting the error below. Is this due to the avatar_url beind undefined or has anyone seen this before? Are there defaults I need to set? Can I just not pass a parameter if empty/undefined?

Failed to create or lookup user: undefined method `edit_history_public=' for #.


nonce: e26e71fc8fa14efe20e3eeb4d6d889f9
name: Nonce
username: nonceTestandUserName@test.com
email: nonceTestandUserName@test.com
avatar_url: undefined
avatar_force_update:
require_activation: false
about_me:
external_id: f7164f5c32d2421d8a4724c17f376643
return_sso_url:
admin:
moderator:
suppress_welcome_message:

/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activemodel-4.2.6/lib/active_model/attribute_methods.rb:433:in `method_missing'
/var/www/discourse/app/models/user_option.rb:37:in `set_defaults'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.6/lib/active_support/callbacks.rb:432:in `block in make_lambda'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.6/lib/active_support/callbacks.rb:164:in `block in halting'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.6/lib/active_support/callbacks.rb:504:in `block in call'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.6/lib/active_support/callbacks.rb:504:in `each'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.6/lib/active_support/callbacks.rb:504:in `call'

Posts: 1

Participants: 1

Read full topic

How to do “Css animation effects”

Infinite scrolling cons

DigitalOcean does NOT recommend swap for SSD storage

$
0
0

@dsanchez wrote:

Note: Discourse requires a swap file if you are using 1 GB of RAM. Although swap is generally recommended for systems utilizing traditional spinning hard drives, using swap with SSDs can cause issues with hardware degradation over time. Due to this consideration, we do not recommend enabling swap on DigitalOcean or any other provider that utilizes SSD storage. Doing so can impact the reliability of the underlying hardware for you and your neighbors. Hence, we recommend a minimum of 2 GB of RAM to run Discourse on a DigitalOcean Droplet. Refer to How To Add Swap Space on Ubuntu 16.04 for details on using swap.

Any thoughts on this?

For small forums like mine's (100K posts and 5K users but currently low activity) increasing from my shared hosting (100 USD/year) to DigitalOcean 2GB RAM plan (240 USD/year) is not an option. 1GB is more than enough IMO.

Posts: 5

Participants: 2

Read full topic


How to import only last two years of topics and posts (phpbb3)

$
0
0

@Janno_Liivak wrote:

Hi! We're in a process to make a move from phpbb3 to Discourse. We would like to not import older data and go for example with posts starting from year 2014 or 2015. How can this be done? Has anyone experience with such thing?

Posts: 7

Participants: 3

Read full topic

How does the Discourse JS API get the info from a page

$
0
0

@hidr0 wrote:

Hello, guys this is my problem.

So we have different recourses like:
Courses: http://www.fllcasts.com/courses/7 (http://discourse.fllcasts.com/t/robotics-lessons-and-resources-fllcasts/410 )

And I am using the Discourse JS thing to create the topics, but it doest not create the topics with the correct info for the Title and Description.

I can change the title manually, but the description of the topic is fixed. Can you help me, by telling me what to do so Discourse gets the correct info for the topic and description. And can I delete a topic, so I can create a new one with the correct info?

Thanks for the help. :slight_smile:

Posts: 2

Participants: 2

Read full topic

Editor keyboard shortcuts conflict with some international keyboard layouts

$
0
0

@ibnesayeed wrote:

Some international language keyboard layouts use modifier keys (such as Shift, Alt, Ctrl, or combination of these) to fit extended set of letters, numbers, and symbols and different variations in the keyboard. One such keyboard layout used in our community has mapped a symbol on AltGr+1 or Ctrl+Alt+1 which conflicts with the Markdown editor's keyboard shortcut for h1 heading. Would it be better to respect the actual character typed (key) and not just based on the physical key pressed (code), then make decisions whether to trigger shortcuts only if the combination of the code and key attributes match certain criteria? This would only be an issue when a keyboard input is desired such as in the editor.

This is a rather serious problem for international communities. Recently, the Atom editor solved this issue elegantly and blogged about it.

Posts: 5

Participants: 3

Read full topic

Feature Request: Last known good email

$
0
0

@JagWaugh wrote:

There is nothing stopping a user changing their email address. We thought this to be a good thing, so we enabled it.

However... Users, being users, sometimes mistype an email address. In the grand scheme of things this is only a minor transgression. But if the user happens to do this in their preferences, then, well, it can lead to some confusion.

Since it isn't possible to make sure that the email address which the user types is correct, would it be possible to add a table of "previous good emails" to the admin interface?

Here is a scenario:
User "meatbag" logs in and decides to change his email from Enlightened@highlyintelligent.org to Ihavethickfingers@hitwithahammer.org, but mistypes the new email as Iamthick@nowandthen.org.

So I then get an email via our helpme@ address, from Ihavethickfingers@hitwithahammer.org, who purports to be user "meatbag", I do my usual tapdance, and trigger a forgot password email for meatbag's account, then I write my usual polite email from helpme, stating "I have triggered a reset email for that account, it should arrive before this email, if you can't find it please check your spam folders. If you continue to have difficulties, please contact me again at this address".

Not long thereafter I get a new message from meatbag, who may even confess the whole sordid story. But I have no way to distinguish an honest meatbag, from a lying meatbag.

If I had a "Previous_good_email" which I could call up then I could put my pokerface on and say "Please send me a new email and name the last good email address which you used".

It isn't perfect, but it would help me to distinguish between honest, and lying meatbags.

Posts: 5

Participants: 3

Read full topic

Subfolder Issues

$
0
0

@jomaxro wrote:

Just discovered another bug with subfolder installs. Wanted to get it detailed here, as well as all the other bugs I've found with subfolder installs (detailed deep in other topics).

  1. Link on admin dashboard doesn't respect subfolder. Instead of pointing to example.com/forum/admin/upgrade it points to example.com/admin/upgrade. For reference, it's this link:
  2. Mini profiler doesn't work. It does not appear at all, and the following error is in the console:
  3. Right clicking or Ctrl/Shift clicking the logo in the top right does not respect subfolder, points to example.com/ instead of example.com/forum. (Left clicking works, I've been told the router catches that)

Posts: 3

Participants: 3

Read full topic

Error while upgrading Discourse from v1.7.0.beta8 to v1.7.0.beta9

$
0
0

@STiNGER wrote:

Tonight I received a notification by mail that I should upgrade to v1.7.0beta9. I entered the Admin Dashboard and clicked the link to upgrade.

At approx. 50% through I got error:

Sorry, there was an error upgrading Discourse. Please check the logs below.


The error seemed to appear when the log said "purging temp files".
So I re-tried upgrade and it failed again at the same point.
I retried again and it failed at the same identical point.


Here is the log from the 3th try:

$ cd /var/www/discourse && git fetch && git reset --hard HEAD@{upstream}
HEAD is now at a9acced FIX: Broken tests after removing attribute
********************************************************
*** Please be patient, next steps might take a while ***
********************************************************
$ bundle install --deployment --without test --without development
Fetching gem metadata from https://rubygems.org/............
Fetching version metadata from https://rubygems.org/..
Fetching dependency metadata from https://rubygems.org/.
Using rake 11.2.2
Using i18n 0.7.0
Using json 1.8.3
Using minitest 5.9.1
Using thread_safe 0.3.5
Using builder 3.2.2
Using erubis 2.7.0
Using mini_portile2 2.1.0
Using rack 1.6.4
Using mime-types 2.99.2
Using arel 6.0.3
Using jmespath 1.3.1
Using babel-source 5.8.34
Using execjs 2.7.0
Using ember-source 2.4.6
Using byebug 9.0.6
Using certified 1.0.0
Using coderay 1.1.1
Using concurrent-ruby 1.0.2
Using connection_pool 2.2.0
Using crass 1.0.2
Using daemons 1.2.4
Using diff-lcs 1.2.5
Using thor 0.19.1
Using discourse_fastimage 2.0.3
Using docile 1.1.5
Using unf_ext 0.0.7.1
Using email_reply_trimmer 0.1.6
Using eventmachine 1.2.0.1
Using excon 0.53.0
Using exifr 1.2.4
Using fabrication 2.9.8
Using fakeweb 1.3.0
Using multipart-post 2.0.0
Using fast_blank 1.0.0
Using fast_xs 0.8.0
Using ffi 1.9.10
Using flamegraph 0.9.5
Using fspath 2.1.1
Using sorcerer 1.0.2
Using guess_html_encoding 0.0.11
Using hashie 3.4.4
Using highline 1.7.8
Using hiredis 0.6.1
Using htmlentities 4.3.4
Using http_accept_language 2.0.5
Using image_size 1.4.1
Using in_threads 1.3.1
Using progress 3.1.1
Using jwt 1.5.2
Using kgio 2.10.0
Using libv8 5.3.332.38.1
Using listen 0.7.3
Using logster 1.2.5
Using lru_redux 1.1.0
Using memory_profiler 0.9.6
Using metaclass 0.0.4
Using method_source 0.8.2
Using mock_redis 0.15.4
Using moneta 0.8.0
Using msgpack 0.7.6
Using multi_json 1.12.1
Using multi_xml 0.5.5
Using mustache 1.0.3
Using netrc 0.11.0
Using oauth 0.4.7
Using oj 2.17.5
Using ruby-openid 2.7.0
Using redis 3.3.1
Using pg 0.19.0
Using slop 3.6.0
Using puma 3.6.0
Using r2 0.2.6
Using bundler 1.13.6
Using raindrops 0.17.0
Using rb-fsevent 0.9.7
Using trollop 2.1.2
Using rinku 2.0.0
Using rmmseg-cpp 0.2.9
Using rspec-support 3.4.1
Using rtlit 0.0.5
Using sass 3.2.19
Using tilt 2.0.5
Using shoulda-context 1.2.1
Using simple-rss 1.3.1
Using simplecov-html 0.10.0
Using spork 1.0.0rc4
Using stackprof 0.2.10
Using timecop 0.8.1
Using rake-compiler 0.9.9
Using tzinfo 1.2.2
Using nokogiri 1.6.8.1
Using rack-test 0.6.3
Using message_bus 2.0.2
Using rack-mini-profiler 0.10.1
Using rack-protection 1.5.3
Using mail 2.6.4
Using aws-sdk-core 2.5.3
Using babel-transpiler 0.7.0
Using uglifier 3.0.2
Using barber 0.11.1
Using ember-data-source 2.2.1
Using sprockets 3.6.3
Using unf 0.1.4
Using thin 1.7.0
Using faraday 0.9.2
Using rb-inotify 0.9.7
Using given_core 3.7.1
Using omniauth 1.3.1
Using image_optim 0.20.2
Using mini_racer 0.1.7
Using mocha 1.1.0
Using rack-openid 1.3.1
Using openid-redis-store 0.0.2
Using redis-namespace 1.5.2
Using pry 0.10.4
Using unicorn 5.2.0
Using rbtrace 0.4.8
Using rspec-core 3.4.4
Using rspec-expectations 3.4.0
Using rspec-mocks 3.4.1
Using simplecov 0.11.1
Using fast_xor 1.1.3
Using activesupport 4.2.7.1
Using loofah 2.0.3
Using nokogumbo 1.4.7
Using onebox 1.6.2
Using ruby-readability 0.7.0
Using sidekiq 4.2.4
Using sinatra 1.4.6
Using aws-sdk-resources 2.5.3
Using ember-handlebars-template 0.7.4
Using domain_name 0.5.25
Using oauth2 1.0.0
Using omniauth-oauth 1.1.0
Using omniauth-openid 1.0.1
Using pry-nav 0.2.4
Using pry-rails 0.3.4
Using rspec 3.4.0
Using rails-deprecated_sanitizer 1.0.3
Using globalid 0.3.7
Using activemodel 4.2.7.1
Using shoulda-matchers 2.8.0
Using rails-html-sanitizer 1.0.3
Using sanitize 4.0.1
Using sidekiq-statistic 1.2.0
Using aws-sdk 2.5.3
Using http-cookie 1.0.2
Using omniauth-oauth2 1.3.1
Using omniauth-twitter 1.2.1
Using rspec-given 3.7.1
Using rspec-html-matchers 0.7.0
Using rails-dom-testing 1.0.7
Using activejob 4.2.7.1
Using active_model_serializers 0.8.3
Using activerecord 4.2.7.1
Using rails-observers 0.1.2
Using shoulda 3.5.0
Using rest-client 1.8.0
Using omniauth-facebook 3.0.0
Using omniauth-github-discourse 1.1.2
Using omniauth-google-oauth2 0.3.1
Using omniauth-instagram 1.0.2
Using actionview 4.2.7.1
Using seed-fu 2.3.5
Using actionpack 4.2.7.1
Using actionmailer 4.2.7.1
Using railties 4.2.7.1
Using sprockets-rails 3.1.1
Using discourse-qunit-rails 0.0.9
Using jquery-rails 4.2.1
Using rspec-rails 3.4.2
Using rails 4.2.7.1
Using sass-rails 5.0.4
Using ember-rails 0.18.5
Using rails_multisite 1.0.6
Using spork-rails 4.0.0
Bundle complete! 98 Gemfile dependencies, 177 gems now installed.
Gems in the group development were not installed.
Bundled gems are installed into ./vendor/bundle.
$ bundle exec rake multisite:migrate
Migrating default
---------------------------------

== Seed from /var/www/discourse/db/fixtures/001_categories.rb

== Seed from /var/www/discourse/db/fixtures/002_groups.rb

== Seed from /var/www/discourse/db/fixtures/003_post_action_types.rb
 - PostActionType {:id=>1, :name_key=>"bookmark", :is_flag=>false, :position=>1}
 - PostActionType {:id=>2, :name_key=>"like", :is_flag=>false, :icon=>"heart", :position=>2}
 - PostActionType {:id=>3, :name_key=>"off_topic", :is_flag=>true, :position=>3}
 - PostActionType {:id=>4, :name_key=>"inappropriate", :is_flag=>true, :position=>4}
 - PostActionType {:id=>5, :name_key=>"vote", :is_flag=>false, :position=>5}
 - PostActionType {:id=>8, :name_key=>"spam", :is_flag=>true, :position=>6}
 - PostActionType {:id=>6, :name_key=>"notify_user", :is_flag=>true, :position=>7}
 - PostActionType {:id=>7, :name_key=>"notify_moderators", :is_flag=>true, :position=>8}

== Seed from /var/www/discourse/db/fixtures/004_screened_ip_addresses.rb
 - ScreenedIpAddress {:id=>1, :ip_address=>"10.0.0.0/8", :action_type=>2}
 - ScreenedIpAddress {:id=>2, :ip_address=>"192.168.0.0/16", :action_type=>2}
 - ScreenedIpAddress {:id=>3, :ip_address=>"127.0.0.0/8", :action_type=>2}
 - ScreenedIpAddress {:id=>4, :ip_address=>"172.16.0.0/12", :action_type=>2}
 - ScreenedIpAddress {:id=>5, :ip_address=>"fc00::/7", :action_type=>2}

== Seed from /var/www/discourse/db/fixtures/005_badge_types.rb
 - BadgeType {:id=>1, :name=>"Gold"}
 - BadgeType {:id=>2, :name=>"Silver"}
 - BadgeType {:id=>3, :name=>"Bronze"}

== Seed from /var/www/discourse/db/fixtures/006_badges.rb
 - BadgeGrouping {:id=>1, :name=>"Getting Started", :default_position=>10}
 - BadgeGrouping {:id=>2, :name=>"Community", :default_position=>11}
 - BadgeGrouping {:id=>3, :name=>"Posting", :default_position=>12}
 - BadgeGrouping {:id=>4, :name=>"Trust Level", :default_position=>13}
 - BadgeGrouping {:id=>5, :name=>"Other", :default_position=>14}
 - Badge {:id=>1, :default_name=>"Basic User", :badge_type_id=>3, :query=>"\n  SELECT u.id user_id, current_timestamp granted_at FROM users u\n  WHERE trust_level >= 1 AND (\n    :backfill OR u.id IN (:user_ids)\n  )\n", :default_badge_grouping_id=>4, :trigger=>4, :default_allow_title=>false, :default_icon=>"fa-user", :system=>true}
 - Badge {:id=>2, :default_name=>"Member", :badge_type_id=>3, :query=>"\n  SELECT u.id user_id, current_timestamp granted_at FROM users u\n  WHERE trust_level >= 2 AND (\n    :backfill OR u.id IN (:user_ids)\n  )\n", :default_badge_grouping_id=>4, :trigger=>4, :default_allow_title=>false, :default_icon=>"fa-user", :system=>true}
 - Badge {:id=>3, :default_name=>"Regular", :badge_type_id=>2, :query=>"\n  SELECT u.id user_id, current_timestamp granted_at FROM users u\n  WHERE trust_level >= 3 AND (\n    :backfill OR u.id IN (:user_ids)\n  )\n", :default_badge_grouping_id=>4, :trigger=>4, :default_allow_title=>true, :default_icon=>"fa-user", :system=>true}
 - Badge {:id=>4, :default_name=>"Leader", :badge_type_id=>1, :query=>"\n  SELECT u.id user_id, current_timestamp granted_at FROM users u\n  WHERE trust_level >= 4 AND (\n    :backfill OR u.id IN (:user_ids)\n  )\n", :default_badge_grouping_id=>4, :trigger=>4, :default_allow_title=>true, :default_icon=>"fa-user", :system=>true}
 - Badge {:id=>17, :default_name=>"Reader", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>false, :show_posts=>false, :query=>"  SELECT id user_id, current_timestamp granted_at\n  FROM users\n  WHERE id IN\n  (\n    SELECT pt.user_id\n    FROM post_timings pt\n    JOIN badge_posts b ON b.post_number = pt.post_number AND\n                          b.topic_id = pt.topic_id\n    JOIN topics t ON t.id = pt.topic_id\n    LEFT JOIN user_badges ub ON ub.badge_id = 17 AND ub.user_id = pt.user_id\n    WHERE ub.id IS NULL AND t.posts_count > 100\n    GROUP BY pt.user_id, pt.topic_id, t.posts_count\n    HAVING count(*) >= t.posts_count\n  )\n", :default_badge_grouping_id=>1, :auto_revoke=>false, :system=>true}
 - Badge {:id=>16, :default_name=>"Read Guidelines", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>false, :show_posts=>false, :query=>"  SELECT user_id, read_faq granted_at\n  FROM user_stats\n  WHERE read_faq IS NOT NULL AND (user_id IN (:user_ids) OR :backfill)\n", :default_badge_grouping_id=>1, :trigger=>8, :system=>true}
 - Badge {:id=>14, :default_name=>"First Link", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>true, :show_posts=>true, :query=>"  SELECT l.user_id, l.post_id, l.created_at granted_at\n  FROM\n  (\n    SELECT MIN(l1.id) id\n    FROM topic_links l1\n    JOIN badge_posts p1 ON p1.id = l1.post_id\n    JOIN badge_posts p2 ON p2.id = l1.link_post_id\n    WHERE NOT reflection AND p1.topic_id <> p2.topic_id AND not quote AND\n      (:backfill OR ( p1.id in (:post_ids) ))\n    GROUP BY l1.user_id\n  ) ids\n  JOIN topic_links l ON l.id = ids.id\n", :default_badge_grouping_id=>1, :trigger=>2, :system=>true}
 - Badge {:id=>15, :default_name=>"First Quote", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>true, :show_posts=>true, :query=>"  SELECT ids.user_id, q.post_id, q.created_at granted_at\n  FROM\n  (\n    SELECT p1.user_id, MIN(q1.id) id\n    FROM quoted_posts q1\n    JOIN badge_posts p1 ON p1.id = q1.post_id\n    JOIN badge_posts p2 ON p2.id = q1.quoted_post_id\n    WHERE (:backfill OR ( p1.id IN (:post_ids) ))\n    GROUP BY p1.user_id\n  ) ids\n  JOIN quoted_posts q ON q.id = ids.id\n", :default_badge_grouping_id=>1, :trigger=>2, :system=>true}
 - Badge {:id=>11, :default_name=>"First Like", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>true, :show_posts=>true, :query=>"  SELECT pa1.user_id, pa1.created_at granted_at, pa1.post_id\n  FROM (\n    SELECT pa.user_id, min(pa.id) id\n    FROM post_actions pa\n    JOIN badge_posts p on p.id = pa.post_id\n    WHERE post_action_type_id = 2 AND\n      (:backfill OR pa.post_id IN (:post_ids) )\n    GROUP BY pa.user_id\n  ) x\n  JOIN post_actions pa1 on pa1.id = x.id\n", :default_badge_grouping_id=>1, :trigger=>1, :system=>true}
 - Badge {:id=>13, :default_name=>"First Flag", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>true, :show_posts=>false, :query=>"  SELECT pa1.user_id, pa1.created_at granted_at, pa1.post_id\n  FROM (\n    SELECT pa.user_id, min(pa.id) id\n    FROM post_actions pa\n    JOIN badge_posts p on p.id = pa.post_id\n    WHERE post_action_type_id IN (3,4,7,8) AND\n      (:backfill OR pa.post_id IN (:post_ids) )\n    GROUP BY pa.user_id\n  ) x\n  JOIN post_actions pa1 on pa1.id = x.id\n", :badge_grouping_id=>1, :default_badge_grouping_id=>1, :trigger=>1, :auto_revoke=>false, :system=>true}
 - Badge {:id=>25, :default_name=>"Promoter", :default_icon=>"fa-user-plus", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>false, :show_posts=>false, :query=>"\n  SELECT u.id user_id, current_timestamp granted_at\n  FROM users u\n  WHERE u.id IN (\n    SELECT invited_by_id\n    FROM invites i\n    JOIN users u2 ON u2.id = i.user_id\n    WHERE i.deleted_at IS NULL AND u2.active AND u2.trust_level >= 0 AND not u2.blocked\n    GROUP BY invited_by_id\n    HAVING COUNT(*) >= 1\n  ) AND u.active AND NOT u.blocked AND u.id > 0 AND\n    (:backfill OR u.id IN (:user_ids) )\n", :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>true, :system=>true}
 - Badge {:id=>26, :default_name=>"Campaigner", :default_icon=>"fa-user-plus", :badge_type_id=>2, :multiple_grant=>false, :target_posts=>false, :show_posts=>false, :query=>"\n  SELECT u.id user_id, current_timestamp granted_at\n  FROM users u\n  WHERE u.id IN (\n    SELECT invited_by_id\n    FROM invites i\n    JOIN users u2 ON u2.id = i.user_id\n    WHERE i.deleted_at IS NULL AND u2.active AND u2.trust_level >= 1 AND not u2.blocked\n    GROUP BY invited_by_id\n    HAVING COUNT(*) >= 3\n  ) AND u.active AND NOT u.blocked AND u.id > 0 AND\n    (:backfill OR u.id IN (:user_ids) )\n", :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>true, :system=>true}
 - Badge {:id=>27, :default_name=>"Champion", :default_icon=>"fa-user-plus", :badge_type_id=>1, :multiple_grant=>false, :target_posts=>false, :show_posts=>false, :query=>"\n  SELECT u.id user_id, current_timestamp granted_at\n  FROM users u\n  WHERE u.id IN (\n    SELECT invited_by_id\n    FROM invites i\n    JOIN users u2 ON u2.id = i.user_id\n    WHERE i.deleted_at IS NULL AND u2.active AND u2.trust_level >= 2 AND not u2.blocked\n    GROUP BY invited_by_id\n    HAVING COUNT(*) >= 5\n  ) AND u.active AND NOT u.blocked AND u.id > 0 AND\n    (:backfill OR u.id IN (:user_ids) )\n", :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>true, :system=>true}
 - Badge {:id=>12, :default_name=>"First Share", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>true, :show_posts=>true, :query=>"  SELECT views.user_id, i2.post_id, i2.created_at granted_at\n  FROM\n  (\n    SELECT i.user_id, MIN(i.id) i_id\n    FROM incoming_links i\n    JOIN badge_posts p on p.id = i.post_id\n    WHERE i.user_id IS NOT NULL\n    GROUP BY i.user_id\n  ) as views\n  JOIN incoming_links i2 ON i2.id = views.i_id\n", :default_badge_grouping_id=>1, :trigger=>0, :system=>true}
 - Badge {:id=>21, :default_name=>"Nice Share", :badge_type_id=>3, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"  SELECT views.user_id, i2.post_id, current_timestamp granted_at\n  FROM\n  (\n    SELECT i.user_id, MIN(i.id) i_id\n    FROM incoming_links i\n    JOIN badge_posts p on p.id = i.post_id\n    WHERE i.user_id IS NOT NULL\n    GROUP BY i.user_id,i.post_id\n    HAVING COUNT(*) > 25\n  ) as views\n  JOIN incoming_links i2 ON i2.id = views.i_id\n", :default_badge_grouping_id=>2, :trigger=>0, :system=>true}
 - Badge {:id=>22, :default_name=>"Good Share", :badge_type_id=>2, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"  SELECT views.user_id, i2.post_id, current_timestamp granted_at\n  FROM\n  (\n    SELECT i.user_id, MIN(i.id) i_id\n    FROM incoming_links i\n    JOIN badge_posts p on p.id = i.post_id\n    WHERE i.user_id IS NOT NULL\n    GROUP BY i.user_id,i.post_id\n    HAVING COUNT(*) > 300\n  ) as views\n  JOIN incoming_links i2 ON i2.id = views.i_id\n", :default_badge_grouping_id=>2, :trigger=>0, :system=>true}
 - Badge {:id=>23, :default_name=>"Great Share", :badge_type_id=>1, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"  SELECT views.user_id, i2.post_id, current_timestamp granted_at\n  FROM\n  (\n    SELECT i.user_id, MIN(i.id) i_id\n    FROM incoming_links i\n    JOIN badge_posts p on p.id = i.post_id\n    WHERE i.user_id IS NOT NULL\n    GROUP BY i.user_id,i.post_id\n    HAVING COUNT(*) > 1000\n  ) as views\n  JOIN incoming_links i2 ON i2.id = views.i_id\n", :default_badge_grouping_id=>2, :trigger=>0, :system=>true}
 - Badge {:id=>5, :default_name=>"Welcome", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>true, :show_posts=>true, :query=>"  SELECT p.user_id, min(post_id) post_id, min(pa.created_at) granted_at\n  FROM post_actions pa\n  JOIN badge_posts p on p.id = pa.post_id\n  WHERE post_action_type_id = 2 AND\n      (:backfill OR pa.post_id IN (:post_ids) )\n  GROUP BY p.user_id\n", :default_badge_grouping_id=>2, :trigger=>1, :system=>true}
 - Badge {:id=>9, :default_name=>"Autobiographer", :badge_type_id=>3, :multiple_grant=>false, :query=>"  SELECT u.id user_id, current_timestamp granted_at\n  FROM users u\n  JOIN user_profiles up on u.id = up.user_id\n  WHERE bio_raw IS NOT NULL AND LENGTH(TRIM(bio_raw)) > 10 AND\n        uploaded_avatar_id IS NOT NULL AND\n        (:backfill OR u.id IN (:user_ids) )\n", :default_badge_grouping_id=>1, :trigger=>8, :system=>true}
 - Badge {:id=>10, :default_name=>"Editor", :badge_type_id=>3, :multiple_grant=>false, :query=>"  SELECT p.user_id, min(p.id) post_id, min(p.created_at) granted_at\n  FROM badge_posts p\n  WHERE p.self_edits > 0 AND\n      (:backfill OR p.id IN (:post_ids) )\n  GROUP BY p.user_id\n", :badge_grouping_id=>1, :default_badge_grouping_id=>1, :trigger=>2, :system=>true}
 - Badge {:id=>6, :default_name=>"Nice Post", :badge_type_id=>3, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"\n  SELECT p.user_id, p.id post_id, p.updated_at granted_at\n  FROM badge_posts p\n  WHERE p.post_number > 1 AND p.like_count >= 10 AND\n    (:backfill OR p.id IN (:post_ids) )\n", :default_badge_grouping_id=>3, :trigger=>1, :system=>true}
 - Badge {:id=>7, :default_name=>"Good Post", :badge_type_id=>2, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"\n  SELECT p.user_id, p.id post_id, p.updated_at granted_at\n  FROM badge_posts p\n  WHERE p.post_number > 1 AND p.like_count >= 25 AND\n    (:backfill OR p.id IN (:post_ids) )\n", :default_badge_grouping_id=>3, :trigger=>1, :system=>true}
 - Badge {:id=>8, :default_name=>"Great Post", :badge_type_id=>1, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"\n  SELECT p.user_id, p.id post_id, p.updated_at granted_at\n  FROM badge_posts p\n  WHERE p.post_number > 1 AND p.like_count >= 50 AND\n    (:backfill OR p.id IN (:post_ids) )\n", :default_badge_grouping_id=>3, :trigger=>1, :system=>true}
 - Badge {:id=>18, :default_name=>"Nice Topic", :badge_type_id=>3, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"\n  SELECT p.user_id, p.id post_id, p.updated_at granted_at\n  FROM badge_posts p\n  WHERE p.post_number = 1 AND p.like_count >= 10 AND\n    (:backfill OR p.id IN (:post_ids) )\n", :default_badge_grouping_id=>3, :trigger=>1, :system=>true}
 - Badge {:id=>19, :default_name=>"Good Topic", :badge_type_id=>2, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"\n  SELECT p.user_id, p.id post_id, p.updated_at granted_at\n  FROM badge_posts p\n  WHERE p.post_number = 1 AND p.like_count >= 25 AND\n    (:backfill OR p.id IN (:post_ids) )\n", :default_badge_grouping_id=>3, :trigger=>1, :system=>true}
 - Badge {:id=>20, :default_name=>"Great Topic", :badge_type_id=>1, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"\n  SELECT p.user_id, p.id post_id, p.updated_at granted_at\n  FROM badge_posts p\n  WHERE p.post_number = 1 AND p.like_count >= 50 AND\n    (:backfill OR p.id IN (:post_ids) )\n", :default_badge_grouping_id=>3, :trigger=>1, :system=>true}
 - Badge {:id=>24, :default_name=>"Anniversary", :default_icon=>"fa-clock-o", :badge_type_id=>2, :query=>"  SELECT u.id AS user_id, MIN(u.created_at + interval '1 year') AS granted_at\n    FROM users u\n    JOIN posts p ON p.user_id = u.id\n   WHERE u.id > 0\n     AND u.active\n     AND NOT u.blocked\n     AND u.created_at + interval '1 year' < now()\n     AND p.deleted_at IS NULL\n     AND NOT p.hidden\n     AND p.created_at + interval '1 year' > now()\n     AND (:backfill OR u.id IN (:user_ids))\n   GROUP BY u.id\n   HAVING COUNT(p.id) > 0\n", :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>false, :system=>true}
 - Badge {:id=>28, :default_name=>"Popular Link", :badge_type_id=>3, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"        SELECT tl.user_id, post_id, current_timestamp granted_at\n          FROM topic_links tl\n          JOIN posts p  ON p.id = post_id    AND p.deleted_at IS NULL\n          JOIN topics t ON t.id = p.topic_id AND t.deleted_at IS NULL AND t.archetype <> 'private_message'\n         WHERE NOT tl.internal\n           AND tl.clicks >= 50\n      GROUP BY tl.user_id, tl.post_id\n", :badge_grouping_id=>3, :default_badge_grouping_id=>3, :trigger=>0, :system=>true}
 - Badge {:id=>29, :default_name=>"Hot Link", :badge_type_id=>2, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"        SELECT tl.user_id, post_id, current_timestamp granted_at\n          FROM topic_links tl\n          JOIN posts p  ON p.id = post_id    AND p.deleted_at IS NULL\n          JOIN topics t ON t.id = p.topic_id AND t.deleted_at IS NULL AND t.archetype <> 'private_message'\n         WHERE NOT tl.internal\n           AND tl.clicks >= 300\n      GROUP BY tl.user_id, tl.post_id\n", :badge_grouping_id=>3, :default_badge_grouping_id=>3, :trigger=>0, :system=>true}
 - Badge {:id=>30, :default_name=>"Famous Link", :badge_type_id=>1, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"        SELECT tl.user_id, post_id, current_timestamp granted_at\n          FROM topic_links tl\n          JOIN posts p  ON p.id = post_id    AND p.deleted_at IS NULL\n          JOIN topics t ON t.id = p.topic_id AND t.deleted_at IS NULL AND t.archetype <> 'private_message'\n         WHERE NOT tl.internal\n           AND tl.clicks >= 1000\n      GROUP BY tl.user_id, tl.post_id\n", :badge_grouping_id=>3, :default_badge_grouping_id=>3, :trigger=>0, :system=>true}
 - Badge {:id=>36, :name=>"Appreciated", :default_name=>"Appreciated", :default_icon=>"fa-heart", :badge_type_id=>3, :query=>"      SELECT p.user_id, current_timestamp AS granted_at\n      FROM posts AS p\n      WHERE p.like_count >= 1\n        AND (:backfill OR p.user_id IN (:user_ids))\n      GROUP BY p.user_id\n      HAVING count(*) > 20\n", :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>false, :system=>true}
 - Badge {:id=>37, :name=>"Respected", :default_name=>"Respected", :default_icon=>"fa-heart", :badge_type_id=>2, :query=>"      SELECT p.user_id, current_timestamp AS granted_at\n      FROM posts AS p\n      WHERE p.like_count >= 2\n        AND (:backfill OR p.user_id IN (:user_ids))\n      GROUP BY p.user_id\n      HAVING count(*) > 100\n", :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>false, :system=>true}
 - Badge {:id=>31, :name=>"Admired", :default_name=>"Admired", :default_icon=>"fa-heart", :badge_type_id=>1, :query=>"      SELECT p.user_id, current_timestamp AS granted_at\n      FROM posts AS p\n      WHERE p.like_count >= 5\n        AND (:backfill OR p.user_id IN (:user_ids))\n      GROUP BY p.user_id\n      HAVING count(*) > 300\n", :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>false, :system=>true}
 - Badge {:id=>38, :default_name=>"Thank You", :default_icon=>"fa-heart", :badge_type_id=>3, :query=>"      SELECT us.user_id, current_timestamp AS granted_at\n      FROM user_stats AS us\n      INNER JOIN posts AS p ON p.user_id = us.user_id\n      WHERE p.like_count > 0\n        AND us.likes_given >= 10\n        AND (:backfill OR us.user_id IN (:user_ids))\n      GROUP BY us.user_id, us.likes_given\n      HAVING COUNT(*) > 20\n", :badge_grouping_id=>2, :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>false, :system=>true}
 - Badge {:id=>32, :default_name=>"Gives Back", :default_icon=>"fa-heart", :badge_type_id=>2, :query=>"      SELECT us.user_id, current_timestamp AS granted_at\n      FROM user_stats AS us\n      INNER JOIN posts AS p ON p.user_id = us.user_id\n      WHERE p.like_count > 0\n        AND us.likes_given >= 100\n        AND (:backfill OR us.user_id IN (:user_ids))\n      GROUP BY us.user_id, us.likes_given\n      HAVING COUNT(*) > 100\n", :badge_grouping_id=>2, :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>false, :system=>true}
 - Badge {:id=>39, :default_name=>"Empathetic", :default_icon=>"fa-heart", :badge_type_id=>1, :query=>"      SELECT us.user_id, current_timestamp AS granted_at\n      FROM user_stats AS us\n      INNER JOIN posts AS p ON p.user_id = us.user_id\n      WHERE p.like_count > 0\n        AND us.likes_given >= 1000\n        AND (:backfill OR us.user_id IN (:user_ids))\n      GROUP BY us.user_id, us.likes_given\n      HAVING COUNT(*) > 500\n", :badge_grouping_id=>2, :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>false, :system=>true}
 - Badge {:id=>33, :name=>"Out of Love", :default_name=>"Out of Love", :default_icon=>"fa-heart", :badge_type_id=>3, :query=>"      SELECT gdl.user_id, current_timestamp AS granted_at\n      FROM given_daily_likes AS gdl\n      WHERE gdl.limit_reached\n        AND (:backfill OR gdl.user_id IN (:user_ids))\n      GROUP BY gdl.user_id\n      HAVING COUNT(*) >= 1\n", :badge_grouping_id=>2, :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>false, :system=>true}
 - Badge {:id=>34, :name=>"Higher Love", :default_name=>"Higher Love", :default_icon=>"fa-heart", :badge_type_id=>2, :query=>"      SELECT gdl.user_id, current_timestamp AS granted_at\n      FROM given_daily_likes AS gdl\n      WHERE gdl.limit_reached\n        AND (:backfill OR gdl.user_id IN (:user_ids))\n      GROUP BY gdl.user_id\n      HAVING COUNT(*) >= 5\n", :badge_grouping_id=>2, :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>false, :system=>true}
 - Badge {:id=>35, :name=>"Crazy in Love", :default_name=>"Crazy in Love", :default_icon=>"fa-heart", :badge_type_id=>1, :query=>"      SELECT gdl.user_id, current_timestamp AS granted_at\n      FROM given_daily_likes AS gdl\n      WHERE gdl.limit_reached\n        AND (:backfill OR gdl.user_id IN (:user_ids))\n      GROUP BY gdl.user_id\n      HAVING COUNT(*) >= 20\n", :badge_grouping_id=>2, :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>false, :system=>true}
 - Badge {:id=>40, :default_name=>"First Mention", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>true, :show_posts=>true, :query=>"  SELECT acting_user_id AS user_id, min(target_post_id) AS post_id, min(p.created_at) AS granted_at\n  FROM user_actions\n  JOIN posts p ON p.id = target_post_id\n  JOIN topics t ON t.id = topic_id\n  JOIN categories c on c.id = category_id\n  WHERE action_type = 7\n    AND NOT read_restricted\n    AND p.deleted_at IS  NULL\n    AND t.deleted_at IS  NULL\n    AND t.visible\n    AND t.archetype <> 'private_message'\n    AND (:backfill OR p.id IN (:post_ids))\n  GROUP BY acting_user_id\n", :badge_grouping_id=>1, :default_badge_grouping_id=>1, :trigger=>2, :system=>true}
 - Badge {:id=>41, :default_name=>"First Emoji", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>true, :show_posts=>true, :query=>nil, :badge_grouping_id=>1, :default_badge_grouping_id=>1, :trigger=>0, :system=>true}
 - Badge {:id=>42, :default_name=>"First Onebox", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>true, :show_posts=>true, :query=>nil, :badge_grouping_id=>1, :default_badge_grouping_id=>1, :trigger=>0, :system=>true}
 - Badge {:id=>43, :default_name=>"First Reply By Email", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>true, :show_posts=>true, :query=>nil, :badge_grouping_id=>1, :default_badge_grouping_id=>1, :trigger=>0, :system=>true}

== Seed from /var/www/discourse/db/fixtures/007_web_hook_event_types.rb
 - WebHookEventType {:id=>1, :name=>"topic"}
 - WebHookEventType {:id=>2, :name=>"post"}
 - WebHookEventType {:id=>3, :name=>"user"}

== Seed from /var/www/discourse/db/fixtures/009_users.rb
 - User {:id=>-1, :name=>"system", :username=>"system", :username_lower=>"system", :email=>"no_email", :password=>"7cb5827f5e0e4ea043f6a61d4b343cac", :active=>true, :admin=>true, :moderator=>true, :approved=>true, :trust_level=>4}

== Seed from /var/www/discourse/db/fixtures/500_lounge_category.rb

== Seed from /var/www/discourse/db/fixtures/501_meta_category.rb

== Seed from /var/www/discourse/db/fixtures/502_staff_category.rb

== Seed from /var/www/discourse/db/fixtures/999_settings.rb

== Seed from /var/www/discourse/db/fixtures/999_topics.rb
***  Bundling assets. This might take a while ***
$ bundle exec rake assets:precompile
Purging temp files
Killed

Posts: 6

Participants: 2

Read full topic

Is there any connector for Atlassian (Jira )


Are there any courses or training workshops set up for discourse?

$
0
0

@MAR wrote:

Good Day ,

I was wondering if there are opportunities to be certified in discourse or learn how to program/set up discourse?

I have no programming experience. What would you suggest for someone wanting to better handle a discourse based online community?

Regards,

Martyn

Posts: 2

Participants: 2

Read full topic

Can i run Discourse on my Main Domain?

$
0
0

@King_Daniel wrote:

Hi,

This is my first post. I am trying to self install discourse, can i use my main domain for this installation instead of a subdomain?

Posts: 8

Participants: 3

Read full topic

Any way to "OR" search terms?

$
0
0

@Paul_Vencill wrote:

Seems like my discourse site is using a pretty aggressive "AND" semantics, such that if I have (for example) 5 documents which contain either 'foo' or 'bar', but only one which contains 'foo bar', and I search for 'foo bar' (no quotes) I get only the one page, where I'd like to see that one first, but then also see the others in some kind of descending order (relevance or recency or whatever). I can't see a way through the Advanced Search page or otherwise to specify that the terms should be logically OR'd, however. Advice?

Posts: 3

Participants: 2

Read full topic

Custom font issues in admin-container CSS/HTML editor

$
0
0

@Joe_Fedric wrote:

I'm encountering a spacing problem with the .admin-container that is making it a bit rough editing my stuff.

Couldn't find this in another thread, but here is my issue with custom fonts in the .admin-container element:

Example problem

Expected behavior

Essentially, anytime I use a font with a different font width, I see misalignment in the editor panel. Modifying letter-spacing attribute doesn't help. Only setting the default font allows for correct cursor placement. The two screenshots above show the same exact cursor placement.

Anyway to use custom fonts in the admin-container? I can switch it if no, but I really prefer Roboto over the system font. :slight_smile:

Posts: 7

Participants: 3

Read full topic

Inconsistent display of custom font on Category

$
0
0

@Jessica_CockroachDB wrote:

Hi there,

I use a custom font (Adelle) on Categories, and it has been displaying inconsistently for viewers - staff and external users. The error has been spotted on Macs in Chrome, Safari, and Firefox. It does not seem to be correlated to whether a user is logged in or not (I saw in other threads here that logged in/out was sometimes related to CSS errors).

User 1: Logged in to Forum on Mac - Chrome 54:

User 2:
On Left - Logged in to Forum on Mac - Chrome 54
On Right - Not logged in to Forum on Mac - Safari:

Ideas on what could be going wrong?

Thanks,
Jessica

Posts: 2

Participants: 2

Read full topic

Viewing all 60721 articles
Browse latest View live




Latest Images