Advertisement
Guest User

rspec-output-discourse

a guest
Sep 13th, 2017
490
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 239.88 KB | None | 0 0
  1. Failures:
  2.  
  3.   1) PostsController edit a post when logged in as a regular user extracts links from the new body
  4.      Failure/Error: expect(TopicLink.count).to eq(1)
  5.      
  6.        expected: 1
  7.             got: 50
  8.      
  9.        (compared using ==)
  10.      # ./spec/controllers/posts_controller_spec.rb:395:in `block (4 levels) in <main>'
  11.  
  12.   2) Jobs::FixPrimaryEmailsForStagedUsers should clean up duplicated staged users
  13.      Failure/Error: expect(User.all).to contain_exactly(Discourse.system_user, staged_user, active_user)
  14.      
  15.        expected collection contained:  [#<User id: -1, username: "system", created_at: "2017-09-12 12:24:40", updated_at: "2017-08-23 16:07:...d: nil, registration_ip_address: nil, trust_level_locked: false, staged: false, first_seen_at: nil>]
  16.        actual collection contained:    [#<User id: -2, username: "discobot", created_at: "2017-09-12 12:24:48", updated_at: "2017-09-12 12:2...d: nil, registration_ip_address: nil, trust_level_locked: false, staged: false, first_seen_at: nil>]
  17.        the extra elements were:        [#<User id: -2, username: "discobot", created_at: "2017-09-12 12:24:48", updated_at: "2017-09-12 12:2...d: nil, registration_ip_address: nil, trust_level_locked: false, staged: false, first_seen_at: nil>]
  18.      # ./spec/jobs/fix_primary_emails_for_staged_users_spec.rb:27:in `block (2 levels) in <main>'
  19.  
  20.   3) Topic scopes #by_most_recently_created returns topics ordered by created_at desc, id desc
  21.      Failure/Error: expect(Topic.by_newest).to eq([c, b, d, a])
  22.      
  23.        expected: [#<Topic id: 7124, title: "This is a test topic 187", last_posted_at: nil, created_at: "2017-09-12 16...il: nil, fancy_title: "This is a test topic 185", highest_staff_post_number: 0, featured_link: nil>]
  24.             got: #<ActiveRecord::Relation [#<Topic id: 7124, title: "This is a test topic 187", last_posted_at: nil, c...ned_until: nil, fancy_title: "Terms of Service", highest_staff_post_number: 2, featured_link: nil>]>
  25.      
  26.        (compared using ==)
  27.      
  28.        Diff:
  29.        @@ -1,5 +1,467 @@
  30.        -[#<Topic id: 7124, title: "This is a test topic 187", last_posted_at: nil, created_at: "2017-09-12 16:08:06", updated_at: "2017-09-12 16:08:06", views: 0, posts_count: 0, user_id: 397, last_post_user_id: 397, reply_count: 0, featured_user1_id: nil, featured_user2_id: nil, featured_user3_id: nil, avg_time: nil, deleted_at: nil, highest_post_number: 0, image_url: nil, like_count: 0, incoming_link_count: 0, category_id: 1, visible: true, moderator_posts_count: 0, closed: false, archived: false, bumped_at: "2017-09-12 16:08:06", has_summary: false, vote_count: 0, archetype: "regular", featured_user4_id: nil, notify_moderators_count: 0, spam_count: 0, pinned_at: nil, score: nil, percent_rank: 1.0, subtype: nil, slug: "this-is-a-test-topic-187", deleted_by_id: nil, participant_count: 1, word_count: nil, excerpt: nil, pinned_globally: false, pinned_until: nil, fancy_title: "This is a test topic 187", highest_staff_post_number: 0, featured_link: nil>,
  31.        - #<Topic id: 7123, title: "This is a test topic 186", last_posted_at: nil, created_at: "2017-09-12 16:08:06", updated_at: "2017-09-12 16:08:06", views: 0, posts_count: 0, user_id: 396, last_post_user_id: 396, reply_count: 0, featured_user1_id: nil, featured_user2_id: nil, featured_user3_id: nil, avg_time: nil, deleted_at: nil, highest_post_number: 0, image_url: nil, like_count: 0, incoming_link_count: 0, category_id: 1, visible: true, moderator_posts_count: 0, closed: false, archived: false, bumped_at: "2017-09-12 16:08:06", has_summary: false, vote_count: 0, archetype: "regular", featured_user4_id: nil, notify_moderators_count: 0, spam_count: 0, pinned_at: nil, score: nil, percent_rank: 1.0, subtype: nil, slug: "this-is-a-test-topic-186", deleted_by_id: nil, participant_count: 1, word_count: nil, excerpt: nil, pinned_globally: false, pinned_until: nil, fancy_title: "This is a test topic 186", highest_staff_post_number: 0, featured_link: nil>,
  32.        - #<Topic id: 7125, title: "This is a test topic 188", last_posted_at: nil, created_at: "2017-09-12 16:06:06", updated_at: "2017-09-12 16:08:06", views: 0, posts_count: 0, user_id: 398, last_post_user_id: 398, reply_count: 0, featured_user1_id: nil, featured_user2_id: nil, featured_user3_id: nil, avg_time: nil, deleted_at: nil, highest_post_number: 0, image_url: nil, like_count: 0, incoming_link_count: 0, category_id: 1, visible: true, moderator_posts_count: 0, closed: false, archived: false, bumped_at: "2017-09-12 16:08:06", has_summary: false, vote_count: 0, archetype: "regular", featured_user4_id: nil, notify_moderators_count: 0, spam_count: 0, pinned_at: nil, score: nil, percent_rank: 1.0, subtype: nil, slug: "this-is-a-test-topic-188", deleted_by_id: nil, participant_count: 1, word_count: nil, excerpt: nil, pinned_globally: false, pinned_until: nil, fancy_title: "This is a test topic 188", highest_staff_post_number: 0, featured_link: nil>,
  33.        - #<Topic id: 7122, title: "This is a test topic 185", last_posted_at: nil, created_at: "2017-09-12 16:06:06", updated_at: "2017-09-12 16:08:06", views: 0, posts_count: 0, user_id: 395, last_post_user_id: 395, reply_count: 0, featured_user1_id: nil, featured_user2_id: nil, featured_user3_id: nil, avg_time: nil, deleted_at: nil, highest_post_number: 0, image_url: nil, like_count: 0, incoming_link_count: 0, category_id: 1, visible: true, moderator_posts_count: 0, closed: false, archived: false, bumped_at: "2017-09-12 16:08:06", has_summary: false, vote_count: 0, archetype: "regular", featured_user4_id: nil, notify_moderators_count: 0, spam_count: 0, pinned_at: nil, score: nil, percent_rank: 1.0, subtype: nil, slug: "this-is-a-test-topic-185", deleted_by_id: nil, participant_count: 1, word_count: nil, excerpt: nil, pinned_globally: false, pinned_until: nil, fancy_title: "This is a test topic 185", highest_staff_post_number: 0, featured_link: nil>]
  34.        +[#<Topic:0x007fb7fd9910f8
  35.        +  id: 7124,
  36.        +  title: "This is a test topic 187",
  37.        +  last_posted_at: nil,
  38.        +  created_at: Tue, 12 Sep 2017 16:08:06 UTC +00:00,
  39.        +  updated_at: Tue, 12 Sep 2017 16:08:06 UTC +00:00,
  40.        +  views: 0,
  41.        +  posts_count: 0,
  42.        +  user_id: 397,
  43.        +  last_post_user_id: 397,
  44.        +  reply_count: 0,
  45.        +  featured_user1_id: nil,
  46.        +  featured_user2_id: nil,
  47.        +  featured_user3_id: nil,
  48.        +  avg_time: nil,
  49.        +  deleted_at: nil,
  50.        +  highest_post_number: 0,
  51.        +  image_url: nil,
  52.        +  like_count: 0,
  53.        +  incoming_link_count: 0,
  54.        +  category_id: 1,
  55.        +  visible: true,
  56.        +  moderator_posts_count: 0,
  57.        +  closed: false,
  58.        +  archived: false,
  59.        +  bumped_at: Tue, 12 Sep 2017 16:08:06 UTC +00:00,
  60.        +  has_summary: false,
  61.        +  vote_count: 0,
  62.        +  archetype: "regular",
  63.        +  featured_user4_id: nil,
  64.        +  notify_moderators_count: 0,
  65.        +  spam_count: 0,
  66.        +  pinned_at: nil,
  67.        +  score: nil,
  68.        +  percent_rank: 1.0,
  69.        +  subtype: nil,
  70.        +  slug: "this-is-a-test-topic-187",
  71.        +  deleted_by_id: nil,
  72.        +  participant_count: 1,
  73.        +  word_count: nil,
  74.        +  excerpt: nil,
  75.        +  pinned_globally: false,
  76.        +  pinned_until: nil,
  77.        +  fancy_title: "This is a test topic 187",
  78.        +  highest_staff_post_number: 0,
  79.        +  featured_link: nil>,
  80.        + #<Topic:0x007fb7fd990fb8
  81.        +  id: 7123,
  82.        +  title: "This is a test topic 186",
  83.        +  last_posted_at: nil,
  84.        +  created_at: Tue, 12 Sep 2017 16:08:06 UTC +00:00,
  85.        +  updated_at: Tue, 12 Sep 2017 16:08:06 UTC +00:00,
  86.        +  views: 0,
  87.        +  posts_count: 0,
  88.        +  user_id: 396,
  89.        +  last_post_user_id: 396,
  90.        +  reply_count: 0,
  91.        +  featured_user1_id: nil,
  92.        +  featured_user2_id: nil,
  93.        +  featured_user3_id: nil,
  94.        +  avg_time: nil,
  95.        +  deleted_at: nil,
  96.        +  highest_post_number: 0,
  97.        +  image_url: nil,
  98.        +  like_count: 0,
  99.        +  incoming_link_count: 0,
  100.        +  category_id: 1,
  101.        +  visible: true,
  102.        +  moderator_posts_count: 0,
  103.        +  closed: false,
  104.        +  archived: false,
  105.        +  bumped_at: Tue, 12 Sep 2017 16:08:06 UTC +00:00,
  106.        +  has_summary: false,
  107.        +  vote_count: 0,
  108.        +  archetype: "regular",
  109.        +  featured_user4_id: nil,
  110.        +  notify_moderators_count: 0,
  111.        +  spam_count: 0,
  112.        +  pinned_at: nil,
  113.        +  score: nil,
  114.        +  percent_rank: 1.0,
  115.        +  subtype: nil,
  116.        +  slug: "this-is-a-test-topic-186",
  117.        +  deleted_by_id: nil,
  118.        +  participant_count: 1,
  119.        +  word_count: nil,
  120.        +  excerpt: nil,
  121.        +  pinned_globally: false,
  122.        +  pinned_until: nil,
  123.        +  fancy_title: "This is a test topic 186",
  124.        +  highest_staff_post_number: 0,
  125.        +  featured_link: nil>,
  126.        + #<Topic:0x007fb7fd990e78
  127.        +  id: 7125,
  128.        +  title: "This is a test topic 188",
  129.        +  last_posted_at: nil,
  130.        +  created_at: Tue, 12 Sep 2017 16:06:06 UTC +00:00,
  131.        +  updated_at: Tue, 12 Sep 2017 16:08:06 UTC +00:00,
  132.        +  views: 0,
  133.        +  posts_count: 0,
  134.        +  user_id: 398,
  135.        +  last_post_user_id: 398,
  136.        +  reply_count: 0,
  137.        +  featured_user1_id: nil,
  138.        +  featured_user2_id: nil,
  139.        +  featured_user3_id: nil,
  140.        +  avg_time: nil,
  141.        +  deleted_at: nil,
  142.        +  highest_post_number: 0,
  143.        +  image_url: nil,
  144.        +  like_count: 0,
  145.        +  incoming_link_count: 0,
  146.        +  category_id: 1,
  147.        +  visible: true,
  148.        +  moderator_posts_count: 0,
  149.        +  closed: false,
  150.        +  archived: false,
  151.        +  bumped_at: Tue, 12 Sep 2017 16:08:06 UTC +00:00,
  152.        +  has_summary: false,
  153.        +  vote_count: 0,
  154.        +  archetype: "regular",
  155.        +  featured_user4_id: nil,
  156.        +  notify_moderators_count: 0,
  157.        +  spam_count: 0,
  158.        +  pinned_at: nil,
  159.        +  score: nil,
  160.        +  percent_rank: 1.0,
  161.        +  subtype: nil,
  162.        +  slug: "this-is-a-test-topic-188",
  163.        +  deleted_by_id: nil,
  164.        +  participant_count: 1,
  165.        +  word_count: nil,
  166.        +  excerpt: nil,
  167.        +  pinned_globally: false,
  168.        +  pinned_until: nil,
  169.        +  fancy_title: "This is a test topic 188",
  170.        +  highest_staff_post_number: 0,
  171.        +  featured_link: nil>,
  172.        + #<Topic:0x007fb7fd990d38
  173.        +  id: 7122,
  174.        +  title: "This is a test topic 185",
  175.        +  last_posted_at: nil,
  176.        +  created_at: Tue, 12 Sep 2017 16:06:06 UTC +00:00,
  177.        +  updated_at: Tue, 12 Sep 2017 16:08:06 UTC +00:00,
  178.        +  views: 0,
  179.        +  posts_count: 0,
  180.        +  user_id: 395,
  181.        +  last_post_user_id: 395,
  182.        +  reply_count: 0,
  183.        +  featured_user1_id: nil,
  184.        +  featured_user2_id: nil,
  185.        +  featured_user3_id: nil,
  186.        +  avg_time: nil,
  187.        +  deleted_at: nil,
  188.        +  highest_post_number: 0,
  189.        +  image_url: nil,
  190.        +  like_count: 0,
  191.        +  incoming_link_count: 0,
  192.        +  category_id: 1,
  193.        +  visible: true,
  194.        +  moderator_posts_count: 0,
  195.        +  closed: false,
  196.        +  archived: false,
  197.        +  bumped_at: Tue, 12 Sep 2017 16:08:06 UTC +00:00,
  198.        +  has_summary: false,
  199.        +  vote_count: 0,
  200.        +  archetype: "regular",
  201.        +  featured_user4_id: nil,
  202.        +  notify_moderators_count: 0,
  203.        +  spam_count: 0,
  204.        +  pinned_at: nil,
  205.        +  score: nil,
  206.        +  percent_rank: 1.0,
  207.        +  subtype: nil,
  208.        +  slug: "this-is-a-test-topic-185",
  209.        +  deleted_by_id: nil,
  210.        +  participant_count: 1,
  211.        +  word_count: nil,
  212.        +  excerpt: nil,
  213.        +  pinned_globally: false,
  214.        +  pinned_until: nil,
  215.        +  fancy_title: "This is a test topic 185",
  216.        +  highest_staff_post_number: 0,
  217.        +  featured_link: nil>,
  218.        + #<Topic:0x007fb7fd990bf8
  219.        +  id: 6,
  220.        +  title: "READ ME FIRST: Admin Quick Start Guide",
  221.        +  last_posted_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  222.        +  created_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  223.        +  updated_at: Tue, 12 Sep 2017 12:24:47 UTC +00:00,
  224.        +  views: 0,
  225.        +  posts_count: 1,
  226.        +  user_id: -1,
  227.        +  last_post_user_id: -1,
  228.        +  reply_count: 0,
  229.        +  featured_user1_id: nil,
  230.        +  featured_user2_id: nil,
  231.        +  featured_user3_id: nil,
  232.        +  avg_time: nil,
  233.        +  deleted_at: nil,
  234.        +  highest_post_number: 1,
  235.        +  image_url: nil,
  236.        +  like_count: 0,
  237.        +  incoming_link_count: 0,
  238.        +  category_id: -1,
  239.        +  visible: true,
  240.        +  moderator_posts_count: 0,
  241.        +  closed: false,
  242.        +  archived: false,
  243.        +  bumped_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  244.        +  has_summary: false,
  245.        +  vote_count: 0,
  246.        +  archetype: "regular",
  247.        +  featured_user4_id: nil,
  248.        +  notify_moderators_count: 0,
  249.        +  spam_count: 0,
  250.        +  pinned_at: nil,
  251.        +  score: nil,
  252.        +  percent_rank: 1.0,
  253.        +  subtype: nil,
  254.        +  slug: "read-me-first-admin-quick-start-guide",
  255.        +  deleted_by_id: nil,
  256.        +  participant_count: 1,
  257.        +  word_count: 1490,
  258.        +  excerpt:
  259.        +   "Congratulations, you are now the proud owner of your very own Civilized Discourse Construction Kit. :hatching_chick: \nGetting Started\nIf you haven’t already, launch the setup wizard and go through the steps to configure &hellip;",
  260.        +  pinned_globally: false,
  261.        +  pinned_until: nil,
  262.        +  fancy_title: "READ ME FIRST: Admin Quick Start Guide",
  263.        +  highest_staff_post_number: 1,
  264.        +  featured_link: nil>,
  265.        + #<Topic:0x007fb7fd990ab8
  266.        +  id: 5,
  267.        +  title: "Welcome to Discourse",
  268.        +  last_posted_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  269.        +  created_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  270.        +  updated_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  271.        +  views: 0,
  272.        +  posts_count: 1,
  273.        +  user_id: -1,
  274.        +  last_post_user_id: -1,
  275.        +  reply_count: 0,
  276.        +  featured_user1_id: nil,
  277.        +  featured_user2_id: nil,
  278.        +  featured_user3_id: nil,
  279.        +  avg_time: nil,
  280.        +  deleted_at: nil,
  281.        +  highest_post_number: 1,
  282.        +  image_url: nil,
  283.        +  like_count: 0,
  284.        +  incoming_link_count: 0,
  285.        +  category_id: -1,
  286.        +  visible: true,
  287.        +  moderator_posts_count: 0,
  288.        +  closed: false,
  289.        +  archived: false,
  290.        +  bumped_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  291.        +  has_summary: false,
  292.        +  vote_count: 0,
  293.        +  archetype: "regular",
  294.        +  featured_user4_id: nil,
  295.        +  notify_moderators_count: 0,
  296.        +  spam_count: 0,
  297.        +  pinned_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  298.        +  score: nil,
  299.        +  percent_rank: 1.0,
  300.        +  subtype: nil,
  301.        +  slug: "welcome-to-discourse",
  302.        +  deleted_by_id: nil,
  303.        +  participant_count: 1,
  304.        +  word_count: 95,
  305.        +  excerpt:
  306.        +   "The first paragraph of this pinned topic will be visible as a welcome message to all new visitors on your homepage. It’s important! \nEdit this into a brief description of your community: \n\nWho is it for?\nWhat can they fi&hellip;",
  307.        +  pinned_globally: true,
  308.        +  pinned_until: nil,
  309.        +  fancy_title: "Welcome to Discourse",
  310.        +  highest_staff_post_number: 1,
  311.        +  featured_link: nil>,
  312.        + #<Topic:0x007fb7fd990978
  313.        +  id: 4,
  314.        +  title: "Assets for the site design",
  315.        +  last_posted_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  316.        +  created_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  317.        +  updated_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  318.        +  views: 0,
  319.        +  posts_count: 1,
  320.        +  user_id: -1,
  321.        +  last_post_user_id: -1,
  322.        +  reply_count: 0,
  323.        +  featured_user1_id: nil,
  324.        +  featured_user2_id: nil,
  325.        +  featured_user3_id: nil,
  326.        +  avg_time: nil,
  327.        +  deleted_at: nil,
  328.        +  highest_post_number: 1,
  329.        +  image_url: nil,
  330.        +  like_count: 0,
  331.        +  incoming_link_count: 0,
  332.        +  category_id: -1,
  333.        +  visible: true,
  334.        +  moderator_posts_count: 0,
  335.        +  closed: false,
  336.        +  archived: false,
  337.        +  bumped_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  338.        +  has_summary: false,
  339.        +  vote_count: 0,
  340.        +  archetype: "regular",
  341.        +  featured_user4_id: nil,
  342.        +  notify_moderators_count: 0,
  343.        +  spam_count: 0,
  344.        +  pinned_at: nil,
  345.        +  score: nil,
  346.        +  percent_rank: 1.0,
  347.        +  subtype: nil,
  348.        +  slug: "assets-for-the-site-design",
  349.        +  deleted_by_id: nil,
  350.        +  participant_count: 1,
  351.        +  word_count: 136,
  352.        +  excerpt:
  353.        +   "This topic, visible only to staff, is for storing images and files used in the site design. Don’t delete it! \nHere’s how: \n\nReply to this topic.\nUpload all the images you wish to use for logos, favicons, and so forth her&hellip;",
  354.        +  pinned_globally: false,
  355.        +  pinned_until: nil,
  356.        +  fancy_title: "Assets for the site design",
  357.        +  highest_staff_post_number: 1,
  358.        +  featured_link: nil>,
  359.        + #<Topic:0x007fb7fd990838
  360.        +  id: 3,
  361.        +  title: "Privacy Policy",
  362.        +  last_posted_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  363.        +  created_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  364.        +  updated_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  365.        +  views: 0,
  366.        +  posts_count: 2,
  367.        +  user_id: -1,
  368.        +  last_post_user_id: -1,
  369.        +  reply_count: 0,
  370.        +  featured_user1_id: nil,
  371.        +  featured_user2_id: nil,
  372.        +  featured_user3_id: nil,
  373.        +  avg_time: nil,
  374.        +  deleted_at: nil,
  375.        +  highest_post_number: 2,
  376.        +  image_url: nil,
  377.        +  like_count: 0,
  378.        +  incoming_link_count: 0,
  379.        +  category_id: -1,
  380.        +  visible: true,
  381.        +  moderator_posts_count: 0,
  382.        +  closed: false,
  383.        +  archived: false,
  384.        +  bumped_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  385.        +  has_summary: false,
  386.        +  vote_count: 0,
  387.        +  archetype: "regular",
  388.        +  featured_user4_id: nil,
  389.        +  notify_moderators_count: 0,
  390.        +  spam_count: 0,
  391.        +  pinned_at: nil,
  392.        +  score: nil,
  393.        +  percent_rank: 1.0,
  394.        +  subtype: nil,
  395.        +  slug: "privacy-policy",
  396.        +  deleted_by_id: nil,
  397.        +  participant_count: 1,
  398.        +  word_count: 822,
  399.        +  excerpt:
  400.        +   "What information do we collect?\nWe collect information from you when you register on our site and gather data when you participate in the forum by reading, writing, and evaluating the content shared here. \nWhen registe&hellip;",
  401.        +  pinned_globally: false,
  402.        +  pinned_until: nil,
  403.        +  fancy_title: "Privacy Policy",
  404.        +  highest_staff_post_number: 2,
  405.        +  featured_link: nil>,
  406.        + #<Topic:0x007fb7fd9906f8
  407.        +  id: 2,
  408.        +  title: "FAQ/Guidelines",
  409.        +  last_posted_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  410.        +  created_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  411.        +  updated_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  412.        +  views: 0,
  413.        +  posts_count: 2,
  414.        +  user_id: -1,
  415.        +  last_post_user_id: -1,
  416.        +  reply_count: 0,
  417.        +  featured_user1_id: nil,
  418.        +  featured_user2_id: nil,
  419.        +  featured_user3_id: nil,
  420.        +  avg_time: nil,
  421.        +  deleted_at: nil,
  422.        +  highest_post_number: 2,
  423.        +  image_url: nil,
  424.        +  like_count: 0,
  425.        +  incoming_link_count: 0,
  426.        +  category_id: -1,
  427.        +  visible: true,
  428.        +  moderator_posts_count: 0,
  429.        +  closed: false,
  430.        +  archived: false,
  431.        +  bumped_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  432.        +  has_summary: false,
  433.        +  vote_count: 0,
  434.        +  archetype: "regular",
  435.        +  featured_user4_id: nil,
  436.        +  notify_moderators_count: 0,
  437.        +  spam_count: 0,
  438.        +  pinned_at: nil,
  439.        +  score: nil,
  440.        +  percent_rank: 1.0,
  441.        +  subtype: nil,
  442.        +  slug: "faq-guidelines",
  443.        +  deleted_by_id: nil,
  444.        +  participant_count: 1,
  445.        +  word_count: 942,
  446.        +  excerpt:
  447.        +   "This is a Civilized Place for Public Discussion\nPlease treat this discussion forum with the same respect you would a public park.  We, too, are a shared community resource — a place to share skills, knowledge and inter&hellip;",
  448.        +  pinned_globally: false,
  449.        +  pinned_until: nil,
  450.        +  fancy_title: "FAQ/Guidelines",
  451.        +  highest_staff_post_number: 2,
  452.        +  featured_link: nil>,
  453.        + #<Topic:0x007fb7fd9905b8
  454.        +  id: 1,
  455.        +  title: "Terms of Service",
  456.        +  last_posted_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  457.        +  created_at: Tue, 12 Sep 2017 12:24:41 UTC +00:00,
  458.        +  updated_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  459.        +  views: 0,
  460.        +  posts_count: 2,
  461.        +  user_id: -1,
  462.        +  last_post_user_id: -1,
  463.        +  reply_count: 0,
  464.        +  featured_user1_id: nil,
  465.        +  featured_user2_id: nil,
  466.        +  featured_user3_id: nil,
  467.        +  avg_time: nil,
  468.        +  deleted_at: nil,
  469.        +  highest_post_number: 2,
  470.        +  image_url: nil,
  471.        +  like_count: 0,
  472.        +  incoming_link_count: 0,
  473.        +  category_id: -1,
  474.        +  visible: true,
  475.        +  moderator_posts_count: 0,
  476.        +  closed: false,
  477.        +  archived: false,
  478.        +  bumped_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  479.        +  has_summary: false,
  480.        +  vote_count: 0,
  481.        +  archetype: "regular",
  482.        +  featured_user4_id: nil,
  483.        +  notify_moderators_count: 0,
  484.        +  spam_count: 0,
  485.        +  pinned_at: nil,
  486.        +  score: nil,
  487.        +  percent_rank: 1.0,
  488.        +  subtype: nil,
  489.        +  slug: "terms-of-service",
  490.        +  deleted_by_id: nil,
  491.        +  participant_count: 1,
  492.        +  word_count: 2653,
  493.        +  excerpt:
  494.        +   "The following terms and conditions govern all use of the company_domain website and all content, services and products available at or through the website, including, but not limited to, company_domain Forum Software, co&hellip;",
  495.        +  pinned_globally: false,
  496.        +  pinned_until: nil,
  497.        +  fancy_title: "Terms of Service",
  498.        +  highest_staff_post_number: 2,
  499.        +  featured_link: nil>]
  500.        
  501.      # ./spec/models/topic_spec.rb:1138:in `block (4 levels) in <main>'
  502.  
  503.   4) Topic#listable_count_per_day collect closed interval listable topics count
  504.      Failure/Error: expect(Topic.listable_count_per_day(2.days.ago, Time.now)).to include(listable_topics_count_per_day)
  505.      
  506.        expected {Sun, 10 Sep 2017 => 1, Mon, 11 Sep 2017 => 2, Tue, 12 Sep 2017 => 7} to include {Tue, 12 Sep 2017 => 1}
  507.        Diff:
  508.        @@ -1,4 +1,4 @@
  509.         Mon, 11 Sep 2017 => 2,
  510.         Sun, 10 Sep 2017 => 1,
  511.        -Tue, 12 Sep 2017 => 1,
  512.        +Tue, 12 Sep 2017 => 7,
  513.        
  514.      # ./spec/models/topic_spec.rb:1557:in `block (3 levels) in <main>'
  515.  
  516.   5) Topic#with_no_response returns 1 with one topic that has no replies
  517.      Failure/Error: expect(Topic.with_no_response_total).to eq(1)
  518.      
  519.        expected: 1
  520.             got: 7
  521.      
  522.        (compared using ==)
  523.      # ./spec/models/topic_spec.rb:1933:in `block (3 levels) in <main>'
  524.  
  525.   6) Topic#with_no_response returns 1 with one topic that has no replies and author was changed on first post
  526.      Failure/Error: expect(Topic.with_no_response_total).to eq(1)
  527.      
  528.        expected: 1
  529.             got: 7
  530.      
  531.        (compared using ==)
  532.      # ./spec/models/topic_spec.rb:1940:in `block (3 levels) in <main>'
  533.  
  534.   7) Topic#with_no_response returns nothing with no topics
  535.      Failure/Error: expect(Topic.with_no_response_per_day(5.days.ago, Time.zone.now).count).to eq(0)
  536.      
  537.        expected: 0
  538.             got: 1
  539.      
  540.        (compared using ==)
  541.      # ./spec/models/topic_spec.rb:1926:in `block (3 levels) in <main>'
  542.  
  543.   8) Topic#with_no_response returns 1 with one topic that has a reply by the first poster
  544.      Failure/Error: expect(Topic.with_no_response_total).to eq(1)
  545.      
  546.        expected: 1
  547.             got: 7
  548.      
  549.        (compared using ==)
  550.      # ./spec/models/topic_spec.rb:1948:in `block (3 levels) in <main>'
  551.  
  552.   9) Topic#with_no_response returns 1 with one topic that doesn't have regular replies
  553.      Failure/Error: expect(Topic.with_no_response_total).to eq(1)
  554.      
  555.        expected: 1
  556.             got: 7
  557.      
  558.        (compared using ==)
  559.      # ./spec/models/topic_spec.rb:1966:in `block (3 levels) in <main>'
  560.  
  561.   10) Topic#with_no_response returns 0 with a topic with 1 reply
  562.       Failure/Error: expect(Topic.with_no_response_per_day(5.days.ago, Time.zone.now).count).to eq(0)
  563.      
  564.         expected: 0
  565.              got: 1
  566.      
  567.         (compared using ==)
  568.       # ./spec/models/topic_spec.rb:1955:in `block (3 levels) in <main>'
  569.  
  570.   11) TopTopic refresh! after calculating should have top topics
  571.       Failure/Error: expect(TopTopic.pluck(:topic_id)).to match_array([t1.id, t2.id])
  572.      
  573.         expected collection contained:  [7264, 7265]
  574.         actual collection contained:    [1, 2, 3, 4, 5, 6, 7264, 7265]
  575.         the extra elements were:        [1, 2, 3, 4, 5, 6]
  576.       # ./spec/models/top_topic_spec.rb:39:in `block (4 levels) in <main>'
  577.  
  578.   12) TopicUser can scope by tracking
  579.       Failure/Error: expect(TopicUser.tracking(1).count).to eq(2)
  580.      
  581.         expected: 2
  582.              got: 3
  583.      
  584.         (compared using ==)
  585.       # ./spec/models/topic_user_spec.rb:361:in `block (2 levels) in <main>'
  586.  
  587.   13) Wizard::StepUpdater updates the introduction step
  588.       Failure/Error: topic = Fabricate(:topic, title: "Welcome to Discourse")
  589.      
  590.       ActiveRecord::RecordInvalid:
  591.         Validation failed: Title has already been used
  592.       # ./spec/components/wizard/step_updater_spec.rb:42:in `block (2 levels) in <main>'
  593.  
  594.   14) Search escapes non alphanumeric characters
  595.       Failure/Error: expect(Search.execute('foo :!$);}]>@\#\"\'').posts.length).to eq(0) # There are at least three levels of sanitation for Search.query!
  596.      
  597.         expected: 0
  598.              got: 1
  599.      
  600.         (compared using ==)
  601.       # ./spec/components/search_spec.rb:103:in `block (2 levels) in <main>'
  602.  
  603.   15) Search Advanced search supports before and after, in:first, user:, @username
  604.       Failure/Error: expect(Search.execute('test after:jan').posts.length).to eq(1)
  605.      
  606.         expected: 1
  607.              got: 2
  608.      
  609.         (compared using ==)
  610.       # ./spec/components/search_spec.rb:622:in `block (3 levels) in <main>'
  611.  
  612.   16) Search Advanced search can order by topic creation
  613.       Failure/Error: expect(Search.execute('Topic').posts.map(&:id)).to eq([old_relevant_topic_post.id, latest_irelevant_topic_post.id])
  614.      
  615.         expected: [7747, 7748]
  616.              got: [7747, 7748, 9, 3, 8]
  617.      
  618.         (compared using ==)
  619.       # ./spec/components/search_spec.rb:740:in `block (3 levels) in <main>'
  620.  
  621.   17) Search Advanced search correctly handles #symbol when no tag or category match
  622.       Failure/Error: expect(results.posts.length).to eq(1)
  623.      
  624.         expected: 1
  625.              got: 2
  626.      
  627.         (compared using ==)
  628.       # ./spec/components/search_spec.rb:786:in `block (3 levels) in <main>'
  629.  
  630.   18) Search Advanced search can find by status
  631.       Failure/Error: expect(Search.execute('test status:open').posts.length).to eq(1)
  632.      
  633.         expected: 1
  634.              got: 2
  635.      
  636.         (compared using ==)
  637.       # ./spec/components/search_spec.rb:671:in `block (3 levels) in <main>'
  638.  
  639.   19) PostCreator existing topic success create correctly
  640.       Failure/Error: expect(Post.count).to eq(1)
  641.      
  642.         expected: 1
  643.              got: 10
  644.      
  645.         (compared using ==)
  646.       # ./spec/components/post_creator_spec.rb:545:in `block (4 levels) in <main>'
  647.  
  648.   20) PostCreator new topic success extracts links from the post
  649.       Failure/Error: expect(TopicLink.count).to eq(1)
  650.      
  651.         expected: 1
  652.              got: 50
  653.      
  654.         (compared using ==)
  655.       # ./spec/components/post_creator_spec.rb:168:in `block (4 levels) in <main>'
  656.  
  657.   21) CookedPostProcessor.post_process_images topic image adds a topic image if there's one in the first post
  658.      Failure/Error: let(:post) { Fabricate(:post_with_uploaded_image, topic: topic) }
  659.      
  660.      ActiveRecord::RecordNotUnique:
  661.        PG::UniqueViolation: ERROR:  duplicate key value violates unique constraint "topics_pkey"
  662.        DETAIL:  Key (id)=(1) already exists.
  663.        : INSERT INTO "topics" ("slug", "title", "category_id", "id", "user_id", "fancy_title", "created_at", "updated_at", "bumped_at", "last_post_user_id") VALUES ('this-is-a-test-topic-1398', 'This is a test topic 1398', 1, 1, 4131, 'This is a test topic 1398', '2017-09-12 16:16:23.141103', '2017-09-12 16:16:23.141103', '2017-09-12 16:16:23.141287', 4131) RETURNING "id"
  664.      # ./spec/components/cooked_post_processor_spec.rb:246:in `block (4 levels) in <main>'
  665.       # ./spec/components/cooked_post_processor_spec.rb:251:in `block (4 levels) in <main>'
  666.       # ------------------
  667.       # --- Caused by: ---
  668.       # PG::UniqueViolation:
  669.       #   ERROR:  duplicate key value violates unique constraint "topics_pkey"
  670.       #   DETAIL:  Key (id)=(1) already exists.
  671.       #   ./spec/components/cooked_post_processor_spec.rb:246:in `block (4 levels) in <main>'
  672.  
  673.   22) Report private messages topic report).to not include private messages
  674.       Failure/Error: expect(report.data[0][:y]).to eq(1)
  675.      
  676.         expected: 1
  677.              got: 7
  678.      
  679.         (compared using ==)
  680.       # ./spec/models/report_spec.rb:132:in `block (3 levels) in <main>'
  681.  
  682.   23) Report private messages post report).to not include private messages
  683.       Failure/Error: expect(report.data[0][:y]).to eq 1
  684.      
  685.         expected: 1
  686.              got: 10
  687.      
  688.         (compared using ==)
  689.       # ./spec/models/report_spec.rb:140:in `block (3 levels) in <main>'
  690.  
  691.   24) Report post report with posts returns total data
  692.       Failure/Error: expect(report.total).to eq 7
  693.      
  694.         expected: 7
  695.              got: 16
  696.      
  697.         (compared using ==)
  698.       # ./spec/models/report_spec.rb:67:in `block (5 levels) in <main>'
  699.  
  700.   25) Report post report no posts returns an empty report
  701.       Failure/Error: expect(report.data).to be_blank
  702.         expected `[{:x=>Tue, 12 Sep 2017, :y=>9}].blank?` to return true, got false
  703.       # ./spec/models/report_spec.rb:37:in `block (5 levels) in <main>'
  704.  
  705.   26) Report posts counts only counts regular posts
  706.       Failure/Error: expect(r.total).to eq(1)
  707.      
  708.         expected: 1
  709.              got: 10
  710.      
  711.         (compared using ==)
  712.       # ./spec/models/report_spec.rb:217:in `block (3 levels) in <main>'
  713.  
  714.   27) Report topic report with topics returns total data
  715.       Failure/Error: expect(report.total).to eq 7
  716.      
  717.         expected: 7
  718.              got: 13
  719.      
  720.         (compared using ==)
  721.       # ./spec/models/report_spec.rb:67:in `block (5 levels) in <main>'
  722.  
  723.   28) Report topic report no topics returns an empty report
  724.       Failure/Error: expect(report.data).to be_blank
  725.         expected `[{:x=>Tue, 12 Sep 2017, :y=>6}].blank?` to return true, got false
  726.       # ./spec/models/report_spec.rb:37:in `block (5 levels) in <main>'
  727.  
  728.   29) UserProfile bio excerpt emojis supports emoji images
  729.       Failure/Error: expect(user.user_profile.bio_excerpt(500, keep_emoji_images: true)).to eq("hello <img src=\"/uploads/default/original/1X/f588830852fc8091a094cf0be0be0e6559dc8304.png?v=5\" title=\":test:\" class=\"emoji emoji-custom\" alt=\":test:\"> <img src=\"/images/emoji/twitter/woman_scientist/5.png?v=5\" title=\":woman_scientist:t5:\" class=\"emoji\" alt=\":woman_scientist:t5:\"> <img src=\"/images/emoji/twitter/thinking.png?v=5\" title=\":thinking:\" class=\"emoji\" alt=\":thinking:\">")
  730.      
  731.         expected: "hello <img src=\"/uploads/default/original/1X/f588830852fc8091a094cf0be0be0e6559dc8304.png?v=5\" tit...\"/images/emoji/twitter/thinking.png?v=5\" title=\":thinking:\" class=\"emoji\" alt=\":thinking:\">"
  732.              got: "hello <img src=\"/uploads/default/original/1X/9fcd42d9cc01b5d485134d17ed60cbd92df19fe4.png?v=5\" tit...\"/images/emoji/twitter/thinking.png?v=5\" title=\":thinking:\" class=\"emoji\" alt=\":thinking:\">"
  733.      
  734.         (compared using ==)
  735.       # ./spec/models/user_profile_spec.rb:118:in `block (3 levels) in <main>'
  736.  
  737.   30) Notification mark_posts_read marks multiple posts as read if needed
  738.       Failure/Error: post_id = (notification.data_hash[:original_post_id] || notification.post_id).to_i
  739.      
  740.       NoMethodError:
  741.         undefined method `[]' for nil:NilClass
  742.      # ./app/services/notification_emailer.rb:51:in `notification_params'
  743.      # ./app/services/notification_emailer.rb:86:in `perform_enqueue'
  744.       # ./app/services/notification_emailer.rb:71:in `enqueue'
  745.       # ./app/services/notification_emailer.rb:15:in `mentioned'
  746.       # ./app/services/notification_emailer.rb:121:in `process_notification'
  747.       # ./app/models/notification.rb:211:in `send_email'
  748.       # ./spec/models/notification_spec.rb:222:in `block (4 levels) in <main>'
  749.       # ./spec/models/notification_spec.rb:221:in `map'
  750.       # ./spec/models/notification_spec.rb:221:in `block (3 levels) in <main>'
  751.  
  752.   31) TopicsController#timings should record the timing
  753.       Failure/Error: expect(post_timing.topic).to eq(topic)
  754.      
  755.         expected: #<Topic id: 9288, title: "This is a test topic 1854", last_posted_at: nil, created_at: "2017-09-12 16...il: nil, fancy_title: "This is a test topic 1854", highest_staff_post_number: 0, featured_link: nil>
  756.              got: #<Topic id: 1, title: "Terms of Service", last_posted_at: "2017-09-12 12:24:45", created_at: "2017-09...inned_until: nil, fancy_title: "Terms of Service", highest_staff_post_number: 2, featured_link: nil>
  757.      
  758.         (compared using ==)
  759.      
  760.         Diff:
  761.        
  762.        
  763.        
  764.        
  765.         @@ -1,29 +1,29 @@
  766.         -#<Topic:0x007fb7f3182308
  767.         - id: 9288,
  768.         - title: "This is a test topic 1854",
  769.         - last_posted_at: nil,
  770.         - created_at: Tue, 12 Sep 2017 16:19:50 UTC +00:00,
  771.         - updated_at: Tue, 12 Sep 2017 16:19:50 UTC +00:00,
  772.         +#<Topic:0x007fb7f4ea03b8
  773.         + id: 1,
  774.         + title: "Terms of Service",
  775.         + last_posted_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  776.         + created_at: Tue, 12 Sep 2017 12:24:41 UTC +00:00,
  777.         + updated_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  778.           views: 0,
  779.         - posts_count: 0,
  780.         - user_id: 5687,
  781.         - last_post_user_id: 5687,
  782.         + posts_count: 2,
  783.         + user_id: -1,
  784.         + last_post_user_id: -1,
  785.           reply_count: 0,
  786.           featured_user1_id: nil,
  787.           featured_user2_id: nil,
  788.           featured_user3_id: nil,
  789.           avg_time: nil,
  790.           deleted_at: nil,
  791.         - highest_post_number: 0,
  792.         + highest_post_number: 2,
  793.           image_url: nil,
  794.           like_count: 0,
  795.           incoming_link_count: 0,
  796.         - category_id: 1,
  797.         + category_id: -1,
  798.           visible: true,
  799.           moderator_posts_count: 0,
  800.           closed: false,
  801.           archived: false,
  802.         - bumped_at: Tue, 12 Sep 2017 16:19:50 UTC +00:00,
  803.         + bumped_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  804.           has_summary: false,
  805.           vote_count: 0,
  806.           archetype: "regular",
  807.        
  808.        
  809.         @@ -34,14 +34,15 @@
  810.           score: nil,
  811.           percent_rank: 1.0,
  812.           subtype: nil,
  813.         - slug: "this-is-a-test-topic-1854",
  814.         + slug: "terms-of-service",
  815.           deleted_by_id: nil,
  816.           participant_count: 1,
  817.         - word_count: nil,
  818.         - excerpt: nil,
  819.         + word_count: 2653,
  820.         + excerpt:
  821.         +  "The following terms and conditions govern all use of the company_domain website and all content, services and products available at or through the website, including, but not limited to, company_domain Forum Software, co&hellip;",
  822.           pinned_globally: false,
  823.           pinned_until: nil,
  824.         - fancy_title: "This is a test topic 1854",
  825.         - highest_staff_post_number: 0,
  826.         + fancy_title: "Terms of Service",
  827.         + highest_staff_post_number: 2,
  828.           featured_link: nil>
  829.        
  830.       # ./spec/requests/topics_controller_spec.rb:22:in `block (3 levels) in <main>'
  831.  
  832.   32) Post summary returns the OP and posts above the threshold in summary mode
  833.       Failure/Error: expect(Post.summary.order(:post_number)).to eq([p1, p2])
  834.      
  835.         expected: [#<Post id: 8961, user_id: 5709, topic_id: 9296, post_number: 1, raw: "Hello world", cooked: "<p>Hell...oted: false, via_email: false, raw_email: nil, public_version: 1, action_code: nil, image_url: nil>]
  836.              got: #<ActiveRecord::Relation [#<Post id: 8961, user_id: 5709, topic_id: 9296, post_number: 1, raw: "Hello...ted: false, via_email: false, raw_email: nil, public_version: 1, action_code: nil, image_url: nil>]>
  837.      
  838.         (compared using ==)
  839.      
  840.         Diff:
  841.         @@ -1,3 +1,429 @@
  842.         -[#<Post id: 8961, user_id: 5709, topic_id: 9296, post_number: 1, raw: "Hello world", cooked: "<p>Hello world</p>", created_at: "2017-09-12 16:19:52", updated_at: "2017-09-12 16:19:52", reply_to_post_number: nil, reply_count: 0, quote_count: 0, deleted_at: nil, off_topic_count: 0, like_count: 0, incoming_link_count: 0, bookmark_count: 0, avg_time: nil, score: 4.0, reads: 0, post_type: 1, vote_count: 0, sort_order: 1, last_editor_id: 5709, hidden: false, hidden_reason_id: nil, notify_moderators_count: 0, spam_count: 0, illegal_count: 0, inappropriate_count: 0, last_version_at: "2017-09-12 16:19:52", user_deleted: false, reply_to_user_id: nil, percent_rank: 0.33, notify_user_count: 0, like_score: 0, deleted_by_id: nil, edit_reason: nil, word_count: 2, version: 1, cook_method: 1, wiki: false, baked_at: "2017-09-12 16:19:52", baked_version: 1, hidden_at: nil, self_edits: 0, reply_quoted: false, via_email: false, raw_email: nil, public_version: 1, action_code: nil, image_url: nil>,
  843.         - #<Post id: 8962, user_id: 5709, topic_id: 9296, post_number: 2, raw: "Hello world", cooked: "<p>Hello world</p>", created_at: "2017-09-12 16:19:52", updated_at: "2017-09-12 16:19:52", reply_to_post_number: nil, reply_count: 0, quote_count: 0, deleted_at: nil, off_topic_count: 0, like_count: 0, incoming_link_count: 0, bookmark_count: 0, avg_time: nil, score: 10.0, reads: 0, post_type: 1, vote_count: 0, sort_order: 2, last_editor_id: 5709, hidden: false, hidden_reason_id: nil, notify_moderators_count: 0, spam_count: 0, illegal_count: 0, inappropriate_count: 0, last_version_at: "2017-09-12 16:19:52", user_deleted: false, reply_to_user_id: nil, percent_rank: 0.66, notify_user_count: 0, like_score: 0, deleted_by_id: nil, edit_reason: nil, word_count: 2, version: 1, cook_method: 1, wiki: false, baked_at: "2017-09-12 16:19:52", baked_version: 1, hidden_at: nil, self_edits: 0, reply_quoted: false, via_email: false, raw_email: nil, public_version: 1, action_code: nil, image_url: nil>]
  844.         +[#<Post:0x007fb7fb7d7c28
  845.         +  id: 8961,
  846.         +  user_id: 5709,
  847.         +  topic_id: 9296,
  848.         +  post_number: 1,
  849.         +  raw: "Hello world",
  850.         +  cooked: "<p>Hello world</p>",
  851.         +  created_at: Tue, 12 Sep 2017 16:19:52 UTC +00:00,
  852.         +  updated_at: Tue, 12 Sep 2017 16:19:52 UTC +00:00,
  853.         +  reply_to_post_number: nil,
  854.         +  reply_count: 0,
  855.         +  quote_count: 0,
  856.         +  deleted_at: nil,
  857.         +  off_topic_count: 0,
  858.         +  like_count: 0,
  859.         +  incoming_link_count: 0,
  860.         +  bookmark_count: 0,
  861.         +  avg_time: nil,
  862.         +  score: 4.0,
  863.         +  reads: 0,
  864.         +  post_type: 1,
  865.         +  vote_count: 0,
  866.         +  sort_order: 1,
  867.         +  last_editor_id: 5709,
  868.         +  hidden: false,
  869.         +  hidden_reason_id: nil,
  870.         +  notify_moderators_count: 0,
  871.         +  spam_count: 0,
  872.         +  illegal_count: 0,
  873.         +  inappropriate_count: 0,
  874.         +  last_version_at: Tue, 12 Sep 2017 16:19:52 UTC +00:00,
  875.         +  user_deleted: false,
  876.         +  reply_to_user_id: nil,
  877.         +  percent_rank: 0.33,
  878.         +  notify_user_count: 0,
  879.         +  like_score: 0,
  880.         +  deleted_by_id: nil,
  881.         +  edit_reason: nil,
  882.         +  word_count: 2,
  883.         +  version: 1,
  884.         +  cook_method: 1,
  885.         +  wiki: false,
  886.         +  baked_at: Tue, 12 Sep 2017 16:19:52 UTC +00:00,
  887.         +  baked_version: 1,
  888.         +  hidden_at: nil,
  889.         +  self_edits: 0,
  890.         +  reply_quoted: false,
  891.         +  via_email: false,
  892.         +  raw_email: nil,
  893.         +  public_version: 1,
  894.         +  action_code: nil,
  895.         +  image_url: nil>,
  896.         + #<Post:0x007fb7fb7d7a98
  897.         +  id: 8,
  898.         +  user_id: -1,
  899.         +  topic_id: 5,
  900.         +  post_number: 1,
  901.         +  raw:
  902.         +   "\nThe first paragraph of this pinned topic will be visible as a welcome message to all new visitors on your homepage. It's important!\n\n**Edit this** into a brief description of your community:\n\n- Who is it for?\n- What can they find here?\n- Why should they come here?\n- Where can they read more (links, resources, etc)?\n\n<img src=\"/images/welcome/discourse-edit-post-animated.gif\" width=\"508\" height=\"106\">\n\nYou may want to close this topic via the admin :wrench: (at the upper right and bottom), so that replies don't pile up on an announcement.",
  903.         +  cooked:
  904.         +   "<p>The first paragraph of this pinned topic will be visible as a welcome message to all new visitors on your homepage. It’s important!</p>\n<p><strong>Edit this</strong> into a brief description of your community:</p>\n<ul>\n<li>Who is it for?</li>\n<li>What can they find here?</li>\n<li>Why should they come here?</li>\n<li>Where can they read more (links, resources, etc)?</li>\n</ul>\n<p><img src=\"/images/welcome/discourse-edit-post-animated.gif\" width=\"508\" height=\"106\"></p>\n<p>You may want to close this topic via the admin <img src=\"/images/emoji/twitter/wrench.png?v=5\" title=\":wrench:\" class=\"emoji\" alt=\":wrench:\"> (at the upper right and bottom), so that replies don’t pile up on an announcement.</p>",
  905.         +  created_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  906.         +  updated_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  907.         +  reply_to_post_number: nil,
  908.         +  reply_count: 0,
  909.         +  quote_count: 0,
  910.         +  deleted_at: nil,
  911.         +  off_topic_count: 0,
  912.         +  like_count: 0,
  913.         +  incoming_link_count: 0,
  914.         +  bookmark_count: 0,
  915.         +  avg_time: nil,
  916.         +  score: nil,
  917.         +  reads: 1,
  918.         +  post_type: 1,
  919.         +  vote_count: 0,
  920.         +  sort_order: 1,
  921.         +  last_editor_id: -1,
  922.         +  hidden: false,
  923.         +  hidden_reason_id: nil,
  924.         +  notify_moderators_count: 0,
  925.         +  spam_count: 0,
  926.         +  illegal_count: 0,
  927.         +  inappropriate_count: 0,
  928.         +  last_version_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  929.         +  user_deleted: false,
  930.         +  reply_to_user_id: nil,
  931.         +  percent_rank: 1.0,
  932.         +  notify_user_count: 0,
  933.         +  like_score: 0,
  934.         +  deleted_by_id: nil,
  935.         +  edit_reason: nil,
  936.         +  word_count: 95,
  937.         +  version: 1,
  938.         +  cook_method: 1,
  939.         +  wiki: false,
  940.         +  baked_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  941.         +  baked_version: 1,
  942.         +  hidden_at: nil,
  943.         +  self_edits: 0,
  944.         +  reply_quoted: false,
  945.         +  via_email: false,
  946.         +  raw_email: nil,
  947.         +  public_version: 1,
  948.         +  action_code: nil,
  949.         +  image_url: nil>,
  950.         + #<Post:0x007fb7fb7d7958
  951.         +  id: 7,
  952.         +  user_id: -1,
  953.         +  topic_id: 4,
  954.         +  post_number: 1,
  955.         +  raw:
  956.         +   "This topic, visible only to staff, is for storing images and files used in the site design. Don't delete it!\n\n\nHere's how:\n\n\n1. Reply to this topic.\n2. Upload all the images you wish to use for logos, favicons, and so forth here. (Use the upload toolbar icon in the post editor, or drag-and-drop or paste images.)\n3. Submit your reply to post it.\n4. Right click the images in your new post to get the path to the uploaded images, or click the edit icon to edit your post and retrieve the path to the images. Copy the image paths.\n5. Paste those image paths into [basic settings](/admin/site_settings/category/required).\n\n\nIf you need to enable different file type uploads, edit `authorized_extensions` in the [file settings](/admin/site_settings/category/files).",
  957.         +  cooked:
  958.         +   "<p>This topic, visible only to staff, is for storing images and files used in the site design. Don’t delete it!</p>\n<p>Here’s how:</p>\n<ol>\n<li>Reply to this topic.</li>\n<li>Upload all the images you wish to use for logos, favicons, and so forth here. (Use the upload toolbar icon in the post editor, or drag-and-drop or paste images.)</li>\n<li>Submit your reply to post it.</li>\n<li>Right click the images in your new post to get the path to the uploaded images, or click the edit icon to edit your post and retrieve the path to the images. Copy the image paths.</li>\n<li>Paste those image paths into <a href=\"/admin/site_settings/category/required\">basic settings</a>.</li>\n</ol>\n<p>If you need to enable different file type uploads, edit <code>authorized_extensions</code> in the <a href=\"/admin/site_settings/category/files\">file settings</a>.</p>",
  959.         +  created_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  960.         +  updated_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  961.         +  reply_to_post_number: nil,
  962.         +  reply_count: 0,
  963.         +  quote_count: 0,
  964.         +  deleted_at: nil,
  965.         +  off_topic_count: 0,
  966.         +  like_count: 0,
  967.         +  incoming_link_count: 0,
  968.         +  bookmark_count: 0,
  969.         +  avg_time: nil,
  970.         +  score: nil,
  971.         +  reads: 1,
  972.         +  post_type: 1,
  973.         +  vote_count: 0,
  974.         +  sort_order: 1,
  975.         +  last_editor_id: -1,
  976.         +  hidden: false,
  977.         +  hidden_reason_id: nil,
  978.         +  notify_moderators_count: 0,
  979.         +  spam_count: 0,
  980.         +  illegal_count: 0,
  981.         +  inappropriate_count: 0,
  982.         +  last_version_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  983.         +  user_deleted: false,
  984.         +  reply_to_user_id: nil,
  985.         +  percent_rank: 1.0,
  986.         +  notify_user_count: 0,
  987.         +  like_score: 0,
  988.         +  deleted_by_id: nil,
  989.         +  edit_reason: nil,
  990.         +  word_count: 136,
  991.         +  version: 1,
  992.         +  cook_method: 1,
  993.         +  wiki: false,
  994.         +  baked_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  995.         +  baked_version: 1,
  996.         +  hidden_at: nil,
  997.         +  self_edits: 0,
  998.         +  reply_quoted: false,
  999.         +  via_email: false,
  1000.         +  raw_email: nil,
  1001.         +  public_version: 1,
  1002.         +  action_code: nil,
  1003.         +  image_url: nil>,
  1004.         + #<Post:0x007fb7fb7d77f0
  1005.         +  id: 5,
  1006.         +  user_id: -1,
  1007.         +  topic_id: 3,
  1008.         +  post_number: 1,
  1009.         +  raw:
  1010.         +   "<a name=\"collect\"></a>\n\n## [What information do we collect?](#collect)\n\nWe collect information from you when you register on our site and gather data when you participate in the forum by reading, writing, and evaluating the content shared here.\n\nWhen registering on our site, you may be asked to enter your name and e-mail address. You may, however, visit our site without registering. Your e-mail address will be verified by an email containing a unique link. If that link is visited, we know that you control the e-mail address.\n\nWhen registered and posting, we record the IP address that the post originated from. We also may retain server logs which include the IP address of every request to our server.\n\n<a name=\"use\"></a>\n\n## [What do we use your information for?](#use)\n\nAny of the information we collect from you may be used in one of the following ways:\n\n*   To personalize your experience &mdash; your information helps us to better respond to your individual needs.\n*   To improve our site &mdash; we continually strive to improve our site offerings based on the information and feedback we receive from you.\n*   To improve customer service &mdash; your information helps us to more effectively respond to your customer service requests and support needs.\n*   To send periodic emails &mdash; The email address you provide may be used to send you information, notifications that you request about changes to topics or in response to your user name, respond to inquiries, and/or other requests or questions.\n\n<a name=\"protect\"></a>\n\n## [How do we protect your information?](#protect)\n\nWe implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information.\n\n<a name=\"data-retention\"></a>\n\n## [What is your data retention policy?](#data-retention)\n\nWe will make a good faith effort to:\n\n*   Retain server logs containing the IP address of all requests to this server no more than 90 days.\n*   Retain the IP addresses associated with registered users and their posts no more than 5 years.\n\n<a name=\"cookies\"></a>\n\n## [Do we use cookies?](#cookies)\n\nYes. Cookies are small files that a site or its service provider transfers to your computer's hard drive through your Web browser (if you allow). These cookies enable the site to recognize your browser and, if you have a registered account, associate it with your registered account.\n\nWe use cookies to understand and save your preferences for future visits and compile aggregate data about site traffic and site interaction so that we can offer better site experiences and tools in the future. We may contract with third-party service providers to assist us in better understanding our site visitors. These service providers are not permitted to use the information collected on our behalf except to help us conduct and improve our business.\n\n<a name=\"disclose\"></a>\n\n## [Do we disclose any information to outside parties?](#disclose)\n\nWe do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety. However, non-personally identifiable visitor information may be provided to other parties for marketing, advertising, or other uses.\n\n<a name=\"third-party\"></a>\n\n## [Third party links](#third-party)\n\nOccasionally, at our discretion, we may include or offer third party products or services on our site. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these linked sites. Nonetheless, we seek to protect the integrity of our site and welcome any feedback about these sites.\n\n<a name=\"coppa\"></a>\n\n## [Children's Online Privacy Protection Act Compliance](#coppa)\n\nOur site, products and services are all directed to people who are at least 13 years old or older. If this server is in the USA, and you are under the age of 13, per the requirements of COPPA ([Children's Online Privacy Protection Act](https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act)), do not use this site.\n\n<a name=\"online\"></a>\n\n## [Online Privacy Policy Only](#online)\n\nThis online privacy policy applies only to information collected through our site and not to information collected offline.\n\n<a name=\"consent\"></a>\n\n## [Your Consent](#consent)\n\nBy using our site, you consent to our web site privacy policy.\n\n<a name=\"changes\"></a>\n\n## [Changes to our Privacy Policy](#changes)\n\nIf we decide to change our privacy policy, we will post those changes on this page.\n\nThis document is CC-BY-SA. It was last updated May 31, 2013.",
  1011.         +  cooked:
  1012.         +   "<p><a name=\"collect\"></a></p>\n<h2><a href=\"#collect\">What information do we collect?</a></h2>\n<p>We collect information from you when you register on our site and gather data when you participate in the forum by reading, writing, and evaluating the content shared here.</p>\n<p>When registering on our site, you may be asked to enter your name and e-mail address. You may, however, visit our site without registering. Your e-mail address will be verified by an email containing a unique link. If that link is visited, we know that you control the e-mail address.</p>\n<p>When registered and posting, we record the IP address that the post originated from. We also may retain server logs which include the IP address of every request to our server.</p>\n<p><a name=\"use\"></a></p>\n<h2><a href=\"#use\">What do we use your information for?</a></h2>\n<p>Any of the information we collect from you may be used in one of the following ways:</p>\n<ul>\n<li>To personalize your experience — your information helps us to better respond to your individual needs.</li>\n<li>To improve our site — we continually strive to improve our site offerings based on the information and feedback we receive from you.</li>\n<li>To improve customer service — your information helps us to more effectively respond to your customer service requests and support needs.</li>\n<li>To send periodic emails — The email address you provide may be used to send you information, notifications that you request about changes to topics or in response to your user name, respond to inquiries, and/or other requests or questions.</li>\n</ul>\n<p><a name=\"protect\"></a></p>\n<h2><a href=\"#protect\">How do we protect your information?</a></h2>\n<p>We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information.</p>\n<p><a name=\"data-retention\"></a></p>\n<h2><a href=\"#data-retention\">What is your data retention policy?</a></h2>\n<p>We will make a good faith effort to:</p>\n<ul>\n<li>Retain server logs containing the IP address of all requests to this server no more than 90 days.</li>\n<li>Retain the IP addresses associated with registered users and their posts no more than 5 years.</li>\n</ul>\n<p><a name=\"cookies\"></a></p>\n<h2><a href=\"#cookies\">Do we use cookies?</a></h2>\n<p>Yes. Cookies are small files that a site or its service provider transfers to your computer’s hard drive through your Web browser (if you allow). These cookies enable the site to recognize your browser and, if you have a registered account, associate it with your registered account.</p>\n<p>We use cookies to understand and save your preferences for future visits and compile aggregate data about site traffic and site interaction so that we can offer better site experiences and tools in the future. We may contract with third-party service providers to assist us in better understanding our site visitors. These service providers are not permitted to use the information collected on our behalf except to help us conduct and improve our business.</p>\n<p><a name=\"disclose\"></a></p>\n<h2><a href=\"#disclose\">Do we disclose any information to outside parties?</a></h2>\n<p>We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety. However, non-personally identifiable visitor information may be provided to other parties for marketing, advertising, or other uses.</p>\n<p><a name=\"third-party\"></a></p>\n<h2><a href=\"#third-party\">Third party links</a></h2>\n<p>Occasionally, at our discretion, we may include or offer third party products or services on our site. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these linked sites. Nonetheless, we seek to protect the integrity of our site and welcome any feedback about these sites.</p>\n<p><a name=\"coppa\"></a></p>\n<h2><a href=\"#coppa\">Children’s Online Privacy Protection Act Compliance</a></h2>\n<p>Our site, products and services are all directed to people who are at least 13 years old or older. If this server is in the USA, and you are under the age of 13, per the requirements of COPPA (<a href=\"https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act\">Children’s Online Privacy Protection Act</a>), do not use this site.</p>\n<p><a name=\"online\"></a></p>\n<h2><a href=\"#online\">Online Privacy Policy Only</a></h2>\n<p>This online privacy policy applies only to information collected through our site and not to information collected offline.</p>\n<p><a name=\"consent\"></a></p>\n<h2><a href=\"#consent\">Your Consent</a></h2>\n<p>By using our site, you consent to our web site privacy policy.</p>\n<p><a name=\"changes\"></a></p>\n<h2><a href=\"#changes\">Changes to our Privacy Policy</a></h2>\n<p>If we decide to change our privacy policy, we will post those changes on this page.</p>\n<p>This document is CC-BY-SA. It was last updated May 31, 2013.</p>",
  1013.         +  created_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1014.         +  updated_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1015.         +  reply_to_post_number: nil,
  1016.         +  reply_count: 0,
  1017.         +  quote_count: 0,
  1018.         +  deleted_at: nil,
  1019.         +  off_topic_count: 0,
  1020.         +  like_count: 0,
  1021.         +  incoming_link_count: 0,
  1022.         +  bookmark_count: 0,
  1023.         +  avg_time: nil,
  1024.         +  score: nil,
  1025.         +  reads: 1,
  1026.         +  post_type: 1,
  1027.         +  vote_count: 0,
  1028.         +  sort_order: 1,
  1029.         +  last_editor_id: -1,
  1030.         +  hidden: false,
  1031.         +  hidden_reason_id: nil,
  1032.         +  notify_moderators_count: 0,
  1033.         +  spam_count: 0,
  1034.         +  illegal_count: 0,
  1035.         +  inappropriate_count: 0,
  1036.         +  last_version_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1037.         +  user_deleted: false,
  1038.         +  reply_to_user_id: nil,
  1039.         +  percent_rank: 1.0,
  1040.         +  notify_user_count: 0,
  1041.         +  like_score: 0,
  1042.         +  deleted_by_id: nil,
  1043.         +  edit_reason: nil,
  1044.         +  word_count: 806,
  1045.         +  version: 1,
  1046.         +  cook_method: 1,
  1047.         +  wiki: false,
  1048.         +  baked_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1049.         +  baked_version: 1,
  1050.         +  hidden_at: nil,
  1051.         +  self_edits: 0,
  1052.         +  reply_quoted: false,
  1053.         +  via_email: false,
  1054.         +  raw_email: nil,
  1055.         +  public_version: 1,
  1056.         +  action_code: nil,
  1057.         +  image_url: nil>,
  1058.         + #<Post:0x007fb7fb7d7638
  1059.         +  id: 3,
  1060.         +  user_id: -1,
  1061.         +  topic_id: 2,
  1062.         +  post_number: 1,
  1063.         +  raw:
  1064.         +   "<a name=\"civilized\"></a>\n\n## [This is a Civilized Place for Public Discussion](#civilized)\n\nPlease treat this discussion forum with the same respect you would a public park.  We, too, are a shared community resource &mdash; a place to share skills, knowledge and interests through ongoing conversation.\n\nThese are not hard and fast rules, merely guidelines to aid the human judgment of our community and keep this a clean and well-lighted place for civilized public discourse.\n\n<a name=\"improve\"></a>\n\n## [Improve the Discussion](#improve)\n\nHelp us make this a great place for discussion by always working to improve the discussion in some way, however small. If you are not sure your post adds to the conversation, think over what you want to say and try again later.\n\nThe topics discussed here matter to us, and we want you to act as if they matter to you, too. Be respectful of the topics and the people discussing them, even if you disagree with some of what is being said.\n\nOne way to improve the discussion is by discovering ones that are already happening. Spend time browsing the topics here before replying or starting your own, and you’ll have a better chance of meeting others who share your interests.\n\n<a name=\"agreeable\"></a>\n\n## [Be Agreeable, Even When You Disagree](#agreeable)\n\nYou may wish to respond to something by disagreeing with it. That’s fine. But remember to _criticize ideas, not people_. Please avoid:\n\n*   Name-calling\n*   Ad hominem attacks\n*   Responding to a post’s tone instead of its actual content\n*   Knee-jerk contradiction\n\nInstead, provide reasoned counter-arguments that improve the conversation.\n\n<a name=\"participate\"></a>\n\n## [Your Participation Counts](#participate)\n\nThe conversations we have here set the tone for every new arrival. Help us influence the future of this community by choosing to engage in discussions that make this forum an interesting place to be &mdash; and avoiding those that do not.\n\nDiscourse provides tools that enable the community to collectively identify the best (and worst) contributions: bookmarks, likes, flags, replies, edits, and so forth. Use these tools to improve your own experience, and everyone else’s, too.\n\nLet’s leave our community better than we found it.\n\n<a name=\"flag-problems\"></a>\n\n## [If You See a Problem, Flag It](#flag-problems)\n\nModerators have special authority; they are responsible for this forum. But so are you. With your help, moderators can be community facilitators, not just janitors or police.\n\nWhen you see bad behavior, don’t reply. It encourages the bad behavior by acknowledging it, consumes your energy, and wastes everyone’s time. _Just flag it_. If enough flags accrue, action will be taken, either automatically or by moderator intervention.\n\nIn order to maintain our community, moderators reserve the right to remove any content and any user account for any reason at any time. Moderators do not preview new posts; the moderators and site operators take no responsibility for any content posted by the community.\n\n<a name=\"be-civil\"></a>\n\n## [Always Be Civil](#be-civil)\n\nNothing sabotages a healthy conversation like rudeness:\n\n*   Be civil. Don’t post anything that a reasonable person would consider offensive, abusive, or hate speech.\n*   Keep it clean. Don’t post anything obscene or sexually explicit.\n*   Respect each other. Don’t harass or grief anyone, impersonate people, or expose their private information.\n*   Respect our forum. Don’t post spam or otherwise vandalize the forum.\n\nThese are not concrete terms with precise definitions &mdash; avoid even the _appearance_ of any of these things. If you’re unsure, ask yourself how you would feel if your post was featured on the front page of the New York Times.\n\nThis is a public forum, and search engines index these discussions. Keep the language, links, and images safe for family and friends.\n\n<a name=\"keep-tidy\"></a>\n\n## [Keep It Tidy](#keep-tidy)\n\nMake the effort to put things in the right place, so that we can spend more time discussing and less cleaning up. So:\n\n*   Don’t start a topic in the wrong category.\n*   Don’t cross-post the same thing in multiple topics.\n*   Don’t post no-content replies.\n*   Don’t divert a topic by changing it midstream.\n*   Don’t sign your posts &mdash; every post has your profile information attached to it.\n\nRather than posting “+1” or “Agreed”, use the Like button. Rather than taking an existing topic in a radically different direction, use Reply as a Linked Topic.\n\n<a name=\"stealing\"></a>\n\n## [Post Only Your Own Stuff](#stealing)\n\nYou may not post anything digital that belongs to someone else without permission. You may not post descriptions of, links to, or methods for stealing someone’s intellectual property (software, video, audio, images), or for breaking any other law.\n\n<a name=\"power\"></a>\n\n## [Powered by You](#power)\n\nThis site is operated by your [friendly local staff](/about) and *you*, the community. If you have any further questions about how things should work here, open a new topic in the [site feedback category](/c/site-feedback) and let's discuss! If there's a critical or urgent issue that can't be handled by a meta topic or flag, contact us via the [staff page](/about).\n\n<a name=\"tos\"></a>\n\n## [Terms of Service](#tos)\n\nYes, legalese is boring, but we must protect ourselves &ndash; and by extension, you and your data &ndash; against unfriendly folks. We have a [Terms of Service](/tos) describing your (and our) behavior and rights related to content, privacy, and laws. To use this service, you must agree to abide by our [TOS](/tos).",
  1065.         +  cooked:
  1066.         +   "<p><a name=\"civilized\"></a></p>\n<h2><a href=\"#civilized\">This is a Civilized Place for Public Discussion</a></h2>\n<p>Please treat this discussion forum with the same respect you would a public park.  We, too, are a shared community resource — a place to share skills, knowledge and interests through ongoing conversation.</p>\n<p>These are not hard and fast rules, merely guidelines to aid the human judgment of our community and keep this a clean and well-lighted place for civilized public discourse.</p>\n<p><a name=\"improve\"></a></p>\n<h2><a href=\"#improve\">Improve the Discussion</a></h2>\n<p>Help us make this a great place for discussion by always working to improve the discussion in some way, however small. If you are not sure your post adds to the conversation, think over what you want to say and try again later.</p>\n<p>The topics discussed here matter to us, and we want you to act as if they matter to you, too. Be respectful of the topics and the people discussing them, even if you disagree with some of what is being said.</p>\n<p>One way to improve the discussion is by discovering ones that are already happening. Spend time browsing the topics here before replying or starting your own, and you’ll have a better chance of meeting others who share your interests.</p>\n<p><a name=\"agreeable\"></a></p>\n<h2><a href=\"#agreeable\">Be Agreeable, Even When You Disagree</a></h2>\n<p>You may wish to respond to something by disagreeing with it. That’s fine. But remember to <em>criticize ideas, not people</em>. Please avoid:</p>\n<ul>\n<li>Name-calling</li>\n<li>Ad hominem attacks</li>\n<li>Responding to a post’s tone instead of its actual content</li>\n<li>Knee-jerk contradiction</li>\n</ul>\n<p>Instead, provide reasoned counter-arguments that improve the conversation.</p>\n<p><a name=\"participate\"></a></p>\n<h2><a href=\"#participate\">Your Participation Counts</a></h2>\n<p>The conversations we have here set the tone for every new arrival. Help us influence the future of this community by choosing to engage in discussions that make this forum an interesting place to be — and avoiding those that do not.</p>\n<p>Discourse provides tools that enable the community to collectively identify the best (and worst) contributions: bookmarks, likes, flags, replies, edits, and so forth. Use these tools to improve your own experience, and everyone else’s, too.</p>\n<p>Let’s leave our community better than we found it.</p>\n<p><a name=\"flag-problems\"></a></p>\n<h2><a href=\"#flag-problems\">If You See a Problem, Flag It</a></h2>\n<p>Moderators have special authority; they are responsible for this forum. But so are you. With your help, moderators can be community facilitators, not just janitors or police.</p>\n<p>When you see bad behavior, don’t reply. It encourages the bad behavior by acknowledging it, consumes your energy, and wastes everyone’s time. <em>Just flag it</em>. If enough flags accrue, action will be taken, either automatically or by moderator intervention.</p>\n<p>In order to maintain our community, moderators reserve the right to remove any content and any user account for any reason at any time. Moderators do not preview new posts; the moderators and site operators take no responsibility for any content posted by the community.</p>\n<p><a name=\"be-civil\"></a></p>\n<h2><a href=\"#be-civil\">Always Be Civil</a></h2>\n<p>Nothing sabotages a healthy conversation like rudeness:</p>\n<ul>\n<li>Be civil. Don’t post anything that a reasonable person would consider offensive, abusive, or hate speech.</li>\n<li>Keep it clean. Don’t post anything obscene or sexually explicit.</li>\n<li>Respect each other. Don’t harass or grief anyone, impersonate people, or expose their private information.</li>\n<li>Respect our forum. Don’t post spam or otherwise vandalize the forum.</li>\n</ul>\n<p>These are not concrete terms with precise definitions — avoid even the <em>appearance</em> of any of these things. If you’re unsure, ask yourself how you would feel if your post was featured on the front page of the New York Times.</p>\n<p>This is a public forum, and search engines index these discussions. Keep the language, links, and images safe for family and friends.</p>\n<p><a name=\"keep-tidy\"></a></p>\n<h2><a href=\"#keep-tidy\">Keep It Tidy</a></h2>\n<p>Make the effort to put things in the right place, so that we can spend more time discussing and less cleaning up. So:</p>\n<ul>\n<li>Don’t start a topic in the wrong category.</li>\n<li>Don’t cross-post the same thing in multiple topics.</li>\n<li>Don’t post no-content replies.</li>\n<li>Don’t divert a topic by changing it midstream.</li>\n<li>Don’t sign your posts — every post has your profile information attached to it.</li>\n</ul>\n<p>Rather than posting “+1” or “Agreed”, use the Like button. Rather than taking an existing topic in a radically different direction, use Reply as a Linked Topic.</p>\n<p><a name=\"stealing\"></a></p>\n<h2><a href=\"#stealing\">Post Only Your Own Stuff</a></h2>\n<p>You may not post anything digital that belongs to someone else without permission. You may not post descriptions of, links to, or methods for stealing someone’s intellectual property (software, video, audio, images), or for breaking any other law.</p>\n<p><a name=\"power\"></a></p>\n<h2><a href=\"#power\">Powered by You</a></h2>\n<p>This site is operated by your <a href=\"/about\">friendly local staff</a> and <em>you</em>, the community. If you have any further questions about how things should work here, open a new topic in the <a href=\"/c/site-feedback\">site feedback category</a> and let’s discuss! If there’s a critical or urgent issue that can’t be handled by a meta topic or flag, contact us via the <a href=\"/about\">staff page</a>.</p>\n<p><a name=\"tos\"></a></p>\n<h2><a href=\"#tos\">Terms of Service</a></h2>\n<p>Yes, legalese is boring, but we must protect ourselves – and by extension, you and your data – against unfriendly folks. We have a <a href=\"/tos\">Terms of Service</a> describing your (and our) behavior and rights related to content, privacy, and laws. To use this service, you must agree to abide by our <a href=\"/tos\">TOS</a>.</p>",
  1067.         +  created_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  1068.         +  updated_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  1069.         +  reply_to_post_number: nil,
  1070.         +  reply_count: 0,
  1071.         +  quote_count: 0,
  1072.         +  deleted_at: nil,
  1073.         +  off_topic_count: 0,
  1074.         +  like_count: 0,
  1075.         +  incoming_link_count: 0,
  1076.         +  bookmark_count: 0,
  1077.         +  avg_time: nil,
  1078.         +  score: nil,
  1079.         +  reads: 1,
  1080.         +  post_type: 1,
  1081.         +  vote_count: 0,
  1082.         +  sort_order: 1,
  1083.         +  last_editor_id: -1,
  1084.         +  hidden: false,
  1085.         +  hidden_reason_id: nil,
  1086.         +  notify_moderators_count: 0,
  1087.         +  spam_count: 0,
  1088.         +  illegal_count: 0,
  1089.         +  inappropriate_count: 0,
  1090.         +  last_version_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  1091.         +  user_deleted: false,
  1092.         +  reply_to_user_id: nil,
  1093.         +  percent_rank: 1.0,
  1094.         +  notify_user_count: 0,
  1095.         +  like_score: 0,
  1096.         +  deleted_by_id: nil,
  1097.         +  edit_reason: nil,
  1098.         +  word_count: 926,
  1099.         +  version: 1,
  1100.         +  cook_method: 1,
  1101.         +  wiki: false,
  1102.         +  baked_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  1103.         +  baked_version: 1,
  1104.         +  hidden_at: nil,
  1105.         +  self_edits: 0,
  1106.         +  reply_quoted: false,
  1107.         +  via_email: false,
  1108.         +  raw_email: nil,
  1109.         +  public_version: 1,
  1110.         +  action_code: nil,
  1111.         +  image_url: nil>,
  1112.         + #<Post:0x007fb7fb7d74d0
  1113.         +  id: 1,
  1114.         +  user_id: -1,
  1115.         +  topic_id: 1,
  1116.         +  post_number: 1,
  1117.         +  raw:
  1118.         +   "The following terms and conditions govern all use of the company_domain website and all content, services and products available at or through the website, including, but not limited to, company_domain Forum Software, company_domain Support Forums and the company_domain Hosting service (\"Hosting\"), (taken together, the Website). The Website is owned and operated by company_full_name (\"company_short_name\"). The Website is offered subject to your acceptance without modification of all of the terms and conditions contained herein and all other operating rules, policies (including, without limitation, company_domain’s [Privacy Policy](/privacy) and [Community Guidelines](/faq)) and procedures that may be published from time to time on this Site by company_short_name (collectively, the \"Agreement\").\n\nPlease read this Agreement carefully before accessing or using the Website. By accessing or using any part of the web site, you agree to become bound by the terms and conditions of this agreement. If you do not agree to all the terms and conditions of this agreement, then you may not access the Website or use any services. If these terms and conditions are considered an offer by company_short_name, acceptance is expressly limited to these terms. The Website is available only to individuals who are at least 13 years old.\n\n<a name=\"1\"></a>\n\n## [1. Your company_domain Account](#1)\n\nIf you create an account on the Website, you are responsible for maintaining the security of your account and you are fully responsible for all activities that occur under the account. You must immediately notify company_short_name of any unauthorized uses of your account or any other breaches of security. company_short_name will not be liable for any acts or omissions by you, including any damages of any kind incurred as a result of such acts or omissions.\n\n<a name=\"2\"></a>\n\n## [2. Responsibility of Contributors](#2)\n\nIf you post material to the Website, post links on the Website, or otherwise make (or allow any third party to make) material available by means of the Website (any such material, \"Content\"), You are entirely responsible for the content of, and any harm resulting from, that Content. That is the case regardless of whether the Content in question constitutes text, graphics, an audio file, or computer software. By making Content available, you represent and warrant that:\n\n*   the downloading, copying and use of the Content will not infringe the proprietary rights, including but not limited to the copyright, patent, trademark or trade secret rights, of any third party;\n*   if your employer has rights to intellectual property you create, you have either (i) received permission from your employer to post or make available the Content, including but not limited to any software, or (ii) secured from your employer a waiver as to all rights in or to the Content;\n*   you have fully complied with any third-party licenses relating to the Content, and have done all things necessary to successfully pass through to end users any required terms;\n*   the Content does not contain or install any viruses, worms, malware, Trojan horses or other harmful or destructive content;\n*   the Content is not spam, is not machine- or randomly-generated, and does not contain unethical or unwanted commercial content designed to drive traffic to third party sites or boost the search engine rankings of third party sites, or to further unlawful acts (such as phishing) or mislead recipients as to the source of the material (such as spoofing);\n*   the Content is not pornographic, does not contain threats or incite violence, and does not violate the privacy or publicity rights of any third party;\n*   your content is not getting advertised via unwanted electronic messages such as spam links on newsgroups, email lists, blogs and web sites, and similar unsolicited promotional methods;\n*   your content is not named in a manner that misleads your readers into thinking that you are another person or company; and\n*   you have, in the case of Content that includes computer code, accurately categorized and/or described the type, nature, uses and effects of the materials, whether requested to do so by company_short_name or otherwise.\n\n<a name=\"3\"></a>\n\n## [3. User Content License](#3)\n\nUser contributions are licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_US). Without limiting any of those representations or warranties, company_short_name has the right (though not the obligation) to, in company_short_name’s sole discretion (i) refuse or remove any content that, in company_short_name’s reasonable opinion, violates any company_short_name policy or is in any way harmful or objectionable, or (ii) terminate or deny access to and use of the Website to any individual or entity for any reason, in company_short_name’s sole discretion. company_short_name will have no obligation to provide a refund of any amounts previously paid.\n\n\n<a name=\"4\"></a>\n\n## [4. Payment and Renewal](#4)\n\n### General Terms\n\nOptional paid services or upgrades may be available on the Website. When utilizing an optional paid service or upgrade, you agree to pay company_short_name the monthly or annual subscription fees indicated. Payments will be charged on a pre-pay basis on the day you begin utilizing the service or upgrade and will cover the use of that service or upgrade for a monthly or annual subscription period as indicated. These fees are not refundable.\n\n### Automatic Renewal\n\nUnless you notify company_short_name before the end of the applicable subscription period that you want to cancel a service or upgrade, your subscription will automatically renew and you authorize us to collect the then-applicable annual or monthly subscription fee (as well as any taxes) using any credit card or other payment mechanism we have on record for you. Subscriptions can be canceled at any time.\n\n<a name=\"5\"></a>\n\n## [5. Services](#5)\n\n### Hosting, Support Services\n\nOptional Hosting and Support services may be provided by company_short_name under the terms and conditions for each such service. By signing up for a Hosting/Support or Support services account, you agree to abide by such terms and conditions.\n\n<a name=\"6\"></a>\n\n## [6. Responsibility of Website Visitors](#6)\n\ncompany_short_name has not reviewed, and cannot review, all of the material, including computer software, posted to the Website, and cannot therefore be responsible for that material’s content, use or effects. By operating the Website, company_short_name does not represent or imply that it endorses the material there posted, or that it believes such material to be accurate, useful or non-harmful. You are responsible for taking precautions as necessary to protect yourself and your computer systems from viruses, worms, Trojan horses, and other harmful or destructive content. The Website may contain content that is offensive, indecent, or otherwise objectionable, as well as content containing technical inaccuracies, typographical mistakes, and other errors. The Website may also contain material that violates the privacy or publicity rights, or infringes the intellectual property and other proprietary rights, of third parties, or the downloading, copying or use of which is subject to additional terms and conditions, stated or unstated. company_short_name disclaims any responsibility for any harm resulting from the use by visitors of the Website, or from any downloading by those visitors of content there posted.\n\n<a name=\"7\"></a>\n\n## [7. Content Posted on Other Websites](#7)\n\nWe have not reviewed, and cannot review, all of the material, including computer software, made available through the websites and webpages to which company_domain links, and that link to company_domain. company_short_name does not have any control over those non-company_domain websites and webpages, and is not responsible for their contents or their use. By linking to a non-company_domain website or webpage, company_short_name does not represent or imply that it endorses such website or webpage. You are responsible for taking precautions as necessary to protect yourself and your computer systems from viruses, worms, Trojan horses, and other harmful or destructive content. company_short_name disclaims any responsibility for any harm resulting from your use of non-company_domain websites and webpages.\n\n<a name=\"8\"></a>\n\n## [8. Copyright Infringement and DMCA Policy](#8)\n\nAs company_short_name asks others to respect its intellectual property rights, it respects the intellectual property rights of others. If you believe that material located on or linked to by company_domain violates your copyright, and if this website resides in the USA, you are encouraged to notify company_short_name in accordance with company_short_name’s [Digital Millennium Copyright Act](http://en.wikipedia.org/wiki/Digital_Millennium_Copyright_Act) (\"DMCA\") Policy. company_short_name will respond to all such notices, including as required or appropriate by removing the infringing material or disabling all links to the infringing material. company_short_name will terminate a visitor’s access to and use of the Website if, under appropriate circumstances, the visitor is determined to be a repeat infringer of the copyrights or other intellectual property rights of company_short_name or others. In the case of such termination, company_short_name will have no obligation to provide a refund of any amounts previously paid to company_short_name.\n\n<a name=\"9\"></a>\n\n## [9. Intellectual Property](#9)\n\nThis Agreement does not transfer from company_short_name to you any company_short_name or third party intellectual property, and all right, title and interest in and to such property will remain (as between the parties) solely with company_short_name. company_short_name, company_domain, the company_domain logo, and all other trademarks, service marks, graphics and logos used in connection with company_domain, or the Website are trademarks or registered trademarks of company_short_name or company_short_name’s licensors. Other trademarks, service marks, graphics and logos used in connection with the Website may be the trademarks of other third parties. Your use of the Website grants you no right or license to reproduce or otherwise use any company_short_name or third-party trademarks.\n\n<a name=\"10\"></a>\n\n## [10. Advertisements](#10)\n\ncompany_short_name reserves the right to display advertisements on your content unless you have purchased an Ad-free Upgrade or a Services account.\n\n<a name=\"11\"></a>\n\n## [11. Attribution](#11)\n\ncompany_short_name reserves the right to display attribution links such as ‘Powered by company_domain,’ theme author, and font attribution in your content footer or toolbar. Footer credits and the company_domain toolbar may not be removed regardless of upgrades purchased.\n\n<a name=\"12\"></a>\n\n## [12. Changes](#12)\n\ncompany_short_name reserves the right, at its sole discretion, to modify or replace any part of this Agreement. It is your responsibility to check this Agreement periodically for changes. Your continued use of or access to the Website following the posting of any changes to this Agreement constitutes acceptance of those changes. company_short_name may also, in the future, offer new services and/or features through the Website (including, the release of new tools and resources). Such new features and/or services shall be subject to the terms and conditions of this Agreement.\n\n<a name=\"13\"></a>\n\n## [13. Termination](#13)\n\ncompany_short_name may terminate your access to all or any part of the Website at any time, with or without cause, with or without notice, effective immediately. If you wish to terminate this Agreement or your company_domain account (if you have one), you may simply discontinue using the Website. All provisions of this Agreement which by their nature should survive termination shall survive termination, including, without limitation, ownership provisions, warranty disclaimers, indemnity and limitations of liability.\n\n<a name=\"14\"></a>\n\n## [14. Disclaimer of Warranties](#14)\n\nThe Website is provided \"as is\". company_short_name and its suppliers and licensors hereby disclaim all warranties of any kind, express or implied, including, without limitation, the warranties of merchantability, fitness for a particular purpose and non-infringement. Neither company_short_name nor its suppliers and licensors, makes any warranty that the Website will be error free or that access thereto will be continuous or uninterrupted. If you’re actually reading this, here’s [a treat](http://www.newyorker.com/online/blogs/shouts/2012/12/the-hundred-best-lists-of-all-time.html). You understand that you download from, or otherwise obtain content or services through, the Website at your own discretion and risk.\n\n<a name=\"15\"></a>\n\n## [15. Limitation of Liability](#15)\n\nIn no event will company_short_name, or its suppliers or licensors, be liable with respect to any subject matter of this agreement under any contract, negligence, strict liability or other legal or equitable theory for: (i) any special, incidental or consequential damages; (ii) the cost of procurement for substitute products or services; (iii) for interruption of use or loss or corruption of data; or (iv) for any amounts that exceed the fees paid by you to company_short_name under this agreement during the twelve (12) month period prior to the cause of action. company_short_name shall have no liability for any failure or delay due to matters beyond their reasonable control. The foregoing shall not apply to the extent prohibited by applicable law.\n\n<a name=\"16\"></a>\n\n## [16. General Representation and Warranty](#16)\n\nYou represent and warrant that (i) your use of the Website will be in strict accordance with the company_short_name [Privacy Policy](/privacy), [Community Guidelines](/guidelines), with this Agreement and with all applicable laws and regulations (including without limitation any local laws or regulations in your country, state, city, or other governmental area, regarding online conduct and acceptable content, and including all applicable laws regarding the transmission of technical data exported from the country in which this website resides or the country in which you reside) and (ii) your use of the Website will not infringe or misappropriate the intellectual property rights of any third party.\n\n<a name=\"17\"></a>\n\n## [17. Indemnification](#17)\n\nYou agree to indemnify and hold harmless company_short_name, its contractors, and its licensors, and their respective directors, officers, employees and agents from and against any and all claims and expenses, including attorneys’ fees, arising out of your use of the Website, including but not limited to your violation of this Agreement.\n\n<a name=\"18\"></a>\n\n## [18. Miscellaneous](#18)\n\nThis Agreement constitutes the entire agreement between company_short_name and you concerning the subject matter hereof, and they may only be modified by a written amendment signed by an authorized executive of company_short_name, or by the posting by company_short_name of a revised version. Except to the extent applicable law, if any, provides otherwise, this Agreement, any access to or use of the Website will be governed by the laws of the state of California, U.S.A., excluding its conflict of law provisions, and the proper venue for any disputes arising out of or relating to any of the same will be the state and federal courts located in San Francisco County, California. Except for claims for injunctive or equitable relief or claims regarding intellectual property rights (which may be brought in any competent court without the posting of a bond), any dispute arising under this Agreement shall be finally settled in accordance with the Comprehensive Arbitration Rules of the Judicial Arbitration and Mediation Service, Inc. (“JAMS”) by three arbitrators appointed in accordance with such Rules. The arbitration shall take place in San Francisco, California, in the English language and the arbitral decision may be enforced in any court. The prevailing party in any action or proceeding to enforce this Agreement shall be entitled to costs and attorneys’ fees. If any part of this Agreement is held invalid or unenforceable, that part will be construed to reflect the parties’ original intent, and the remaining portions will remain in full force and effect. A waiver by either party of any term or condition of this Agreement or any breach thereof, in any one instance, will not waive such term or condition or any subsequent breach thereof. You may assign your rights under this Agreement to any party that consents to, and agrees to be bound by, its terms and conditions; company_short_name may assign its rights under this Agreement without condition. This Agreement will be binding upon and will inure to the benefit of the parties, their successors and permitted assigns.\n\nThis document is CC-BY-SA. It was last updated May 31, 2013.\n\nOriginally adapted from the [WordPress Terms of Service](http://en.wordpress.com/tos/).",
  1119.         +  cooked:
  1120.         +   "<p>The following terms and conditions govern all use of the company_domain website and all content, services and products available at or through the website, including, but not limited to, company_domain Forum Software, company_domain Support Forums and the company_domain Hosting service (“Hosting”), (taken together, the Website). The Website is owned and operated by company_full_name (“company_short_name”). The Website is offered subject to your acceptance without modification of all of the terms and conditions contained herein and all other operating rules, policies (including, without limitation, company_domain’s <a href=\"/privacy\">Privacy Policy</a> and <a href=\"/faq\">Community Guidelines</a>) and procedures that may be published from time to time on this Site by company_short_name (collectively, the “Agreement”).</p>\n<p>Please read this Agreement carefully before accessing or using the Website. By accessing or using any part of the web site, you agree to become bound by the terms and conditions of this agreement. If you do not agree to all the terms and conditions of this agreement, then you may not access the Website or use any services. If these terms and conditions are considered an offer by company_short_name, acceptance is expressly limited to these terms. The Website is available only to individuals who are at least 13 years old.</p>\n<p><a name=\"1\"></a></p>\n<h2><a href=\"#1\">1. Your company_domain Account</a></h2>\n<p>If you create an account on the Website, you are responsible for maintaining the security of your account and you are fully responsible for all activities that occur under the account. You must immediately notify company_short_name of any unauthorized uses of your account or any other breaches of security. company_short_name will not be liable for any acts or omissions by you, including any damages of any kind incurred as a result of such acts or omissions.</p>\n<p><a name=\"2\"></a></p>\n<h2><a href=\"#2\">2. Responsibility of Contributors</a></h2>\n<p>If you post material to the Website, post links on the Website, or otherwise make (or allow any third party to make) material available by means of the Website (any such material, “Content”), You are entirely responsible for the content of, and any harm resulting from, that Content. That is the case regardless of whether the Content in question constitutes text, graphics, an audio file, or computer software. By making Content available, you represent and warrant that:</p>\n<ul>\n<li>the downloading, copying and use of the Content will not infringe the proprietary rights, including but not limited to the copyright, patent, trademark or trade secret rights, of any third party;</li>\n<li>if your employer has rights to intellectual property you create, you have either (i) received permission from your employer to post or make available the Content, including but not limited to any software, or (ii) secured from your employer a waiver as to all rights in or to the Content;</li>\n<li>you have fully complied with any third-party licenses relating to the Content, and have done all things necessary to successfully pass through to end users any required terms;</li>\n<li>the Content does not contain or install any viruses, worms, malware, Trojan horses or other harmful or destructive content;</li>\n<li>the Content is not spam, is not machine- or randomly-generated, and does not contain unethical or unwanted commercial content designed to drive traffic to third party sites or boost the search engine rankings of third party sites, or to further unlawful acts (such as phishing) or mislead recipients as to the source of the material (such as spoofing);</li>\n<li>the Content is not pornographic, does not contain threats or incite violence, and does not violate the privacy or publicity rights of any third party;</li>\n<li>your content is not getting advertised via unwanted electronic messages such as spam links on newsgroups, email lists, blogs and web sites, and similar unsolicited promotional methods;</li>\n<li>your content is not named in a manner that misleads your readers into thinking that you are another person or company; and</li>\n<li>you have, in the case of Content that includes computer code, accurately categorized and/or described the type, nature, uses and effects of the materials, whether requested to do so by company_short_name or otherwise.</li>\n</ul>\n<p><a name=\"3\"></a></p>\n<h2><a href=\"#3\">3. User Content License</a></h2>\n<p>User contributions are licensed under a <a href=\"http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_US\">Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License</a>. Without limiting any of those representations or warranties, company_short_name has the right (though not the obligation) to, in company_short_name’s sole discretion (i) refuse or remove any content that, in company_short_name’s reasonable opinion, violates any company_short_name policy or is in any way harmful or objectionable, or (ii) terminate or deny access to and use of the Website to any individual or entity for any reason, in company_short_name’s sole discretion. company_short_name will have no obligation to provide a refund of any amounts previously paid.</p>\n<p><a name=\"4\"></a></p>\n<h2><a href=\"#4\">4. Payment and Renewal</a></h2>\n<h3>General Terms</h3>\n<p>Optional paid services or upgrades may be available on the Website. When utilizing an optional paid service or upgrade, you agree to pay company_short_name the monthly or annual subscription fees indicated. Payments will be charged on a pre-pay basis on the day you begin utilizing the service or upgrade and will cover the use of that service or upgrade for a monthly or annual subscription period as indicated. These fees are not refundable.</p>\n<h3>Automatic Renewal</h3>\n<p>Unless you notify company_short_name before the end of the applicable subscription period that you want to cancel a service or upgrade, your subscription will automatically renew and you authorize us to collect the then-applicable annual or monthly subscription fee (as well as any taxes) using any credit card or other payment mechanism we have on record for you. Subscriptions can be canceled at any time.</p>\n<p><a name=\"5\"></a></p>\n<h2><a href=\"#5\">5. Services</a></h2>\n<h3>Hosting, Support Services</h3>\n<p>Optional Hosting and Support services may be provided by company_short_name under the terms and conditions for each such service. By signing up for a Hosting/Support or Support services account, you agree to abide by such terms and conditions.</p>\n<p><a name=\"6\"></a></p>\n<h2><a href=\"#6\">6. Responsibility of Website Visitors</a></h2>\n<p>company_short_name has not reviewed, and cannot review, all of the material, including computer software, posted to the Website, and cannot therefore be responsible for that material’s content, use or effects. By operating the Website, company_short_name does not represent or imply that it endorses the material there posted, or that it believes such material to be accurate, useful or non-harmful. You are responsible for taking precautions as necessary to protect yourself and your computer systems from viruses, worms, Trojan horses, and other harmful or destructive content. The Website may contain content that is offensive, indecent, or otherwise objectionable, as well as content containing technical inaccuracies, typographical mistakes, and other errors. The Website may also contain material that violates the privacy or publicity rights, or infringes the intellectual property and other proprietary rights, of third parties, or the downloading, copying or use of which is subject to additional terms and conditions, stated or unstated. company_short_name disclaims any responsibility for any harm resulting from the use by visitors of the Website, or from any downloading by those visitors of content there posted.</p>\n<p><a name=\"7\"></a></p>\n<h2><a href=\"#7\">7. Content Posted on Other Websites</a></h2>\n<p>We have not reviewed, and cannot review, all of the material, including computer software, made available through the websites and webpages to which company_domain links, and that link to company_domain. company_short_name does not have any control over those non-company_domain websites and webpages, and is not responsible for their contents or their use. By linking to a non-company_domain website or webpage, company_short_name does not represent or imply that it endorses such website or webpage. You are responsible for taking precautions as necessary to protect yourself and your computer systems from viruses, worms, Trojan horses, and other harmful or destructive content. company_short_name disclaims any responsibility for any harm resulting from your use of non-company_domain websites and webpages.</p>\n<p><a name=\"8\"></a></p>\n<h2><a href=\"#8\">8. Copyright Infringement and DMCA Policy</a></h2>\n<p>As company_short_name asks others to respect its intellectual property rights, it respects the intellectual property rights of others. If you believe that material located on or linked to by company_domain violates your copyright, and if this website resides in the USA, you are encouraged to notify company_short_name in accordance with company_short_name’s <a href=\"http://en.wikipedia.org/wiki/Digital_Millennium_Copyright_Act\">Digital Millennium Copyright Act</a> (“DMCA”) Policy. company_short_name will respond to all such notices, including as required or appropriate by removing the infringing material or disabling all links to the infringing material. company_short_name will terminate a visitor’s access to and use of the Website if, under appropriate circumstances, the visitor is determined to be a repeat infringer of the copyrights or other intellectual property rights of company_short_name or others. In the case of such termination, company_short_name will have no obligation to provide a refund of any amounts previously paid to company_short_name.</p>\n<p><a name=\"9\"></a></p>\n<h2><a href=\"#9\">9. Intellectual Property</a></h2>\n<p>This Agreement does not transfer from company_short_name to you any company_short_name or third party intellectual property, and all right, title and interest in and to such property will remain (as between the parties) solely with company_short_name. company_short_name, company_domain, the company_domain logo, and all other trademarks, service marks, graphics and logos used in connection with company_domain, or the Website are trademarks or registered trademarks of company_short_name or company_short_name’s licensors. Other trademarks, service marks, graphics and logos used in connection with the Website may be the trademarks of other third parties. Your use of the Website grants you no right or license to reproduce or otherwise use any company_short_name or third-party trademarks.</p>\n<p><a name=\"10\"></a></p>\n<h2><a href=\"#10\">10. Advertisements</a></h2>\n<p>company_short_name reserves the right to display advertisements on your content unless you have purchased an Ad-free Upgrade or a Services account.</p>\n<p><a name=\"11\"></a></p>\n<h2><a href=\"#11\">11. Attribution</a></h2>\n<p>company_short_name reserves the right to display attribution links such as ‘Powered by company_domain,’ theme author, and font attribution in your content footer or toolbar. Footer credits and the company_domain toolbar may not be removed regardless of upgrades purchased.</p>\n<p><a name=\"12\"></a></p>\n<h2><a href=\"#12\">12. Changes</a></h2>\n<p>company_short_name reserves the right, at its sole discretion, to modify or replace any part of this Agreement. It is your responsibility to check this Agreement periodically for changes. Your continued use of or access to the Website following the posting of any changes to this Agreement constitutes acceptance of those changes. company_short_name may also, in the future, offer new services and/or features through the Website (including, the release of new tools and resources). Such new features and/or services shall be subject to the terms and conditions of this Agreement.</p>\n<p><a name=\"13\"></a></p>\n<h2><a href=\"#13\">13. Termination</a></h2>\n<p>company_short_name may terminate your access to all or any part of the Website at any time, with or without cause, with or without notice, effective immediately. If you wish to terminate this Agreement or your company_domain account (if you have one), you may simply discontinue using the Website. All provisions of this Agreement which by their nature should survive termination shall survive termination, including, without limitation, ownership provisions, warranty disclaimers, indemnity and limitations of liability.</p>\n<p><a name=\"14\"></a></p>\n<h2><a href=\"#14\">14. Disclaimer of Warranties</a></h2>\n<p>The Website is provided “as is”. company_short_name and its suppliers and licensors hereby disclaim all warranties of any kind, express or implied, including, without limitation, the warranties of merchantability, fitness for a particular purpose and non-infringement. Neither company_short_name nor its suppliers and licensors, makes any warranty that the Website will be error free or that access thereto will be continuous or uninterrupted. If you’re actually reading this, here’s <a href=\"http://www.newyorker.com/online/blogs/shouts/2012/12/the-hundred-best-lists-of-all-time.html\">a treat</a>. You understand that you download from, or otherwise obtain content or services through, the Website at your own discretion and risk.</p>\n<p><a name=\"15\"></a></p>\n<h2><a href=\"#15\">15. Limitation of Liability</a></h2>\n<p>In no event will company_short_name, or its suppliers or licensors, be liable with respect to any subject matter of this agreement under any contract, negligence, strict liability or other legal or equitable theory for: (i) any special, incidental or consequential damages; (ii) the cost of procurement for substitute products or services; (iii) for interruption of use or loss or corruption of data; or (iv) for any amounts that exceed the fees paid by you to company_short_name under this agreement during the twelve (12) month period prior to the cause of action. company_short_name shall have no liability for any failure or delay due to matters beyond their reasonable control. The foregoing shall not apply to the extent prohibited by applicable law.</p>\n<p><a name=\"16\"></a></p>\n<h2><a href=\"#16\">16. General Representation and Warranty</a></h2>\n<p>You represent and warrant that (i) your use of the Website will be in strict accordance with the company_short_name <a href=\"/privacy\">Privacy Policy</a>, <a href=\"/guidelines\">Community Guidelines</a>, with this Agreement and with all applicable laws and regulations (including without limitation any local laws or regulations in your country, state, city, or other governmental area, regarding online conduct and acceptable content, and including all applicable laws regarding the transmission of technical data exported from the country in which this website resides or the country in which you reside) and (ii) your use of the Website will not infringe or misappropriate the intellectual property rights of any third party.</p>\n<p><a name=\"17\"></a></p>\n<h2><a href=\"#17\">17. Indemnification</a></h2>\n<p>You agree to indemnify and hold harmless company_short_name, its contractors, and its licensors, and their respective directors, officers, employees and agents from and against any and all claims and expenses, including attorneys’ fees, arising out of your use of the Website, including but not limited to your violation of this Agreement.</p>\n<p><a name=\"18\"></a></p>\n<h2><a href=\"#18\">18. Miscellaneous</a></h2>\n<p>This Agreement constitutes the entire agreement between company_short_name and you concerning the subject matter hereof, and they may only be modified by a written amendment signed by an authorized executive of company_short_name, or by the posting by company_short_name of a revised version. Except to the extent applicable law, if any, provides otherwise, this Agreement, any access to or use of the Website will be governed by the laws of the state of California, U.S.A., excluding its conflict of law provisions, and the proper venue for any disputes arising out of or relating to any of the same will be the state and federal courts located in San Francisco County, California. Except for claims for injunctive or equitable relief or claims regarding intellectual property rights (which may be brought in any competent court without the posting of a bond), any dispute arising under this Agreement shall be finally settled in accordance with the Comprehensive Arbitration Rules of the Judicial Arbitration and Mediation Service, Inc. (“JAMS”) by three arbitrators appointed in accordance with such Rules. The arbitration shall take place in San Francisco, California, in the English language and the arbitral decision may be enforced in any court. The prevailing party in any action or proceeding to enforce this Agreement shall be entitled to costs and attorneys’ fees. If any part of this Agreement is held invalid or unenforceable, that part will be construed to reflect the parties’ original intent, and the remaining portions will remain in full force and effect. A waiver by either party of any term or condition of this Agreement or any breach thereof, in any one instance, will not waive such term or condition or any subsequent breach thereof. You may assign your rights under this Agreement to any party that consents to, and agrees to be bound by, its terms and conditions; company_short_name may assign its rights under this Agreement without condition. This Agreement will be binding upon and will inure to the benefit of the parties, their successors and permitted assigns.</p>\n<p>This document is CC-BY-SA. It was last updated May 31, 2013.</p>\n<p>Originally adapted from the <a href=\"http://en.wordpress.com/tos/\">WordPress Terms of Service</a>.</p>",
  1121.         +  created_at: Tue, 12 Sep 2017 12:24:41 UTC +00:00,
  1122.         +  updated_at: Tue, 12 Sep 2017 12:24:41 UTC +00:00,
  1123.         +  reply_to_post_number: nil,
  1124.         +  reply_count: 0,
  1125.         +  quote_count: 0,
  1126.         +  deleted_at: nil,
  1127.         +  off_topic_count: 0,
  1128.         +  like_count: 0,
  1129.         +  incoming_link_count: 0,
  1130.         +  bookmark_count: 0,
  1131.         +  avg_time: nil,
  1132.         +  score: nil,
  1133.         +  reads: 1,
  1134.         +  post_type: 1,
  1135.         +  vote_count: 0,
  1136.         +  sort_order: 1,
  1137.         +  last_editor_id: -1,
  1138.         +  hidden: false,
  1139.         +  hidden_reason_id: nil,
  1140.         +  notify_moderators_count: 0,
  1141.         +  spam_count: 0,
  1142.         +  illegal_count: 0,
  1143.         +  inappropriate_count: 0,
  1144.         +  last_version_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  1145.         +  user_deleted: false,
  1146.         +  reply_to_user_id: nil,
  1147.         +  percent_rank: 1.0,
  1148.         +  notify_user_count: 0,
  1149.         +  like_score: 0,
  1150.         +  deleted_by_id: nil,
  1151.         +  edit_reason: nil,
  1152.         +  word_count: 2636,
  1153.         +  version: 1,
  1154.         +  cook_method: 1,
  1155.         +  wiki: false,
  1156.         +  baked_at: Tue, 12 Sep 2017 12:24:41 UTC +00:00,
  1157.         +  baked_version: 1,
  1158.         +  hidden_at: nil,
  1159.         +  self_edits: 0,
  1160.         +  reply_quoted: false,
  1161.         +  via_email: false,
  1162.         +  raw_email: nil,
  1163.         +  public_version: 1,
  1164.         +  action_code: nil,
  1165.         +  image_url: nil>,
  1166.         + #<Post:0x007fb7fb7d7340
  1167.         +  id: 9,
  1168.         +  user_id: -1,
  1169.         +  topic_id: 6,
  1170.         +  post_number: 1,
  1171.         +  raw:
  1172.         +   "Congratulations, you are now the proud owner of your very own [Civilized Discourse Construction Kit](http://www.discourse.org). :hatching_chick:\n\n### Getting Started\n\nIf you haven't already, launch the [setup wizard](/wizard) and go through the steps to configure your site. You can run the wizard as many times as you want, it's completely safe!\n\n### Admin Dashboard\n\nExercise your admin superpowers any time via the admin dashboard at\n\n[**/admin**](/admin)\n\nYou can also access it via the \"hamburger\" <kbd>☰</kbd> menu in the upper right: Admin functions are generally marked with the wrench :wrench:  icon, so look for that.\n\n### Staff\n\nStaff members are official representatives of this community. There are two kinds of Staff:\n\n1. **Admins**, who can do anything and configure anything on this site.\n2. **Moderators**, who can edit all posts and users, but cannot add categories or change any site settings.\n\nTo add additional staff members:\n\n- have them sign up on the site (or [send out an invitation to join via your user page](/my/invited))\n- click the admin button :wrench: on their user page\n- look for the <kbd>Grant Admin</kbd> and <kbd>Grant Moderator</kbd> buttons there\n\n### Social Logins\n\nUsers can log in with traditional local username and password accounts. You may want to add:\n\n- [Google logins](https://meta.discourse.org/t/configuring-google-oauth2-login-for-discourse/15858)\n- [Twitter logins](https://meta.discourse.org/t/configuring-twitter-login-for-discourse/13395)\n- [Facebook logins](https://meta.discourse.org/t/configuring-facebook-login-for-discourse/13394)\n- [GitHub logins](https://meta.discourse.org/t/configuring-github-login-for-discourse/13745)\n\nYou can also [set up single-sign on](https://meta.discourse.org/t/official-single-sign-on-for-discourse/13045), or even [build your own login method](https://meta.discourse.org/t/login-to-discourse-with-custom-oauth2-provider/14717).\n\n### Test Your Email\n\nEmail is required for new account signups and notifications. **Test your email to make sure it is configured correctly!**  Visit [the admin email settings](/admin/email), then enter an email address in the \"email address to test\" field and click <kbd>send test email</kbd>.\n\n- You got the test email? Great! **Read that email closely**, it has important email deliverability tips.\n- You didn't get the test email? This means your users probably aren't getting any signup or notification emails either.\n- Email deliverability can be hard. Read [**Email Service Configuration**](https://github.com/discourse/discourse/blob/master/docs/INSTALL-email.md).\n\nIf you'd like to enable *replying* to topics via email, [see this howto](https://meta.discourse.org/t/set-up-reply-via-email-support/14003).\n\n### Categories\n\nYou have three default categories:\n\n1. [Site Feedback](/category/site-feedback) – general discussion about the site itself. [It's important!](https://meta.discourse.org/t/5249)\n2. [Lounge](/category/lounge) – a perk for users at trust level 3 and higher\n3. [Staff](/category/staff) – visible only to staff (admins and moderators)\n\n**Don't create too many initial categories**, as you can overwhelm your audience. You can always add more categories, and easily bulk recategorize topics later. It's better to figure out the organization as you go rather than assuming you'll get it all right from the beginning (hint: you won't).\n\nTo add a category, visit the [categories page](/categories), then click Create Category at the upper right. You can set security per-category so only certain groups of users can see topics in that category.\n\nEvery category has an initial \"About this category\" topic. This topic will be pinned to the top of the category, and the description you enter will be used in a bunch of places. Be sure to give your new category a good, clear description, so people understand what belongs there!\n\n### Pinned Topics and Banners\n\nNote that pinning topics does work a little differently in Discourse:\n\n- Once someone reads to the bottom of a pinned topic, it is automatically unpinned for them specifically. They can change this via the personal pin controls at the bottom of the topic.\n- When staff pins a topic, they can pin it globally to all topic lists, or just within its category.\n\nIf a pin isn't visible enough, you can also turn one single topic into a **banner**. The banner topic floats on top of all topics and all primary pages. Users can permanently dismiss this floating banner by clicking the &times; in the upper right corner.\n\nTo make (or remove) a pin or a banner, use the admin wrench at the top right or bottom of the topic.\n\n### New User Sandbox and the Trust System\n\nIf your discussion area is be open to the public, new visitors will arrive that are initially strangers to the community. Discourse has a [trust system](https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/2) where users can, over time, earn the trust of the community and gain abilities to assist in governing their community.\n\nDiscourse is designed to offer safe defaults for public communities, even with no active moderation.\n\n> **0 (new) &rarr; 1 (basic) &rarr; 2 (member) &rarr; 3 (regular) &rarr; 4 (leader)**\n\nAll new users start out in a sandbox with restrictions for everyone's safety. **Trust level 0 (new) users _cannot_** &hellip;\n\n- post more than 2 hyperlinks\n- post any images or file attachments\n- send private messages\n- flag posts or topics\n- have actual links in the \"about me\" field of their profile\n- @name mention more than 2 users in a post\n\nEvery action a user can take is rate limited for safety, and especially so for new users. But don't worry, new users can [transition to trust level 1](https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/2) in about 10 minutes of reading.\n\nThese defaults are safe, but note that while in \"bootstrap mode\" after you set up your site, all new users will be granted trust level 1 until you reach 50 users.\n\n### Building Your Community\n\nBe patient; building communities is hard. Before launching, be sure to:\n\n1. Clearly define your community's purpose in a pinned or banner topic.\n2. Seed the discussion with interesting topics.\n3. Commit to visiting and participating regularly.\n4. Link your community everywhere and promote it so people can find it.\n\nThere's more advice at [Building a Discourse Community](http://blog.discourse.org/2014/08/building-a-discourse-community/).\n\n### Sending Invitations\n\nOne way to get people to visit your site is to invite them via email. You can do this via:\n\n- The Invite button at the bottom of the topic.\n- The Invite area on your profile page.\n\nThe invite area on your profile page also includes advanced Staff methods of [sending bulk invites](https://meta.discourse.org/t/sending-bulk-user-invites/16468), and [inviting users into groups](https://meta.discourse.org/t/invite-individual-users-to-a-group/15544).\n\n### Maintenance\n\n- One CPU and 1GB of memory, with swap, is the minimum for a basic Discourse community. As your community grows you may need more memory or CPU resources.\n\n- [Our Docker container install](https://github.com/discourse/discourse/blob/master/docs/INSTALL.md) is the only one we officially support. It guarantees easy updates, and all recommended optimizations from the Discourse team.\n\n- You should get an email notification when new versions of Discourse are released. To update your instance via our easy one click upgrade process, visit [/admin/upgrade](/admin/upgrade).\n\n- Some other things you might eventually want to set up:\n   - [Automatic daily backups](https://meta.discourse.org/t/configure-automatic-backups-for-discourse/14855)\n   - [HTTPS support](https://meta.discourse.org/t/allowing-ssl-for-your-discourse-docker-setup/13847)\n   - [Content Delivery Network support](https://meta.discourse.org/t/enable-a-cdn-for-your-discourse/14857)\n   - [Reply via Email](https://meta.discourse.org/t/set-up-reply-via-email-support/14003)\n   - [Import and Export your data](https://meta.discourse.org/t/move-your-discourse-instance-to-a-different-server/15721)\n   - [Change the domain name](https://meta.discourse.org/t/how-do-i-change-the-domain-name/16098)\n   - [Multiple Discourse instances on the same server](https://meta.discourse.org/t/multisite-configuration-with-docker/14084)\n   - [Import old content from vBulletin, PHPbb, Vanilla, Drupal, BBPress, etc](https://github.com/discourse/discourse/tree/master/script/import_scripts)\n   - A firewall on your server? [Configure firewall](https://meta.discourse.org/t/configure-a-firewall-for-discourse/20584).\n   - A user friendly [offline page when rebuilding or upgrading?](https://meta.discourse.org/t/adding-an-offline-page-when-rebuilding/45238)\n   - Embed Discourse [in your WordPress install](https://github.com/discourse/wp-discourse), or [on your static HTML site](http://eviltrout.com/2014/01/22/embedding-discourse.html)\n\n### Need more Help?\n\nFor more assistance on configuring and running your Discourse forum, see [meta.discourse.org](http://meta.discourse.org).\n\n----\n\nHave suggestions to improve or update this guide? Submit a [pull request](https://github.com/discourse/discourse/blob/master/docs/ADMIN-QUICK-START-GUIDE.md).",
  1173.         +  cooked:
  1174.         +   "<p>Congratulations, you are now the proud owner of your very own <a href=\"http://www.discourse.org\">Civilized Discourse Construction Kit</a>. <img src=\"/images/emoji/twitter/hatching_chick.png?v=5\" title=\":hatching_chick:\" class=\"emoji\" alt=\":hatching_chick:\"></p>\n<h3>Getting Started</h3>\n<p>If you haven’t already, launch the <a href=\"/wizard\">setup wizard</a> and go through the steps to configure your site. You can run the wizard as many times as you want, it’s completely safe!</p>\n<h3>Admin Dashboard</h3>\n<p>Exercise your admin superpowers any time via the admin dashboard at</p>\n<p><a href=\"/admin\"><strong>/admin</strong></a></p>\n<p>You can also access it via the “hamburger” <kbd>☰</kbd> menu in the upper right: Admin functions are generally marked with the wrench <img src=\"/images/emoji/twitter/wrench.png?v=5\" title=\":wrench:\" class=\"emoji\" alt=\":wrench:\">  icon, so look for that.</p>\n<h3>Staff</h3>\n<p>Staff members are official representatives of this community. There are two kinds of Staff:</p>\n<ol>\n<li>\n<strong>Admins</strong>, who can do anything and configure anything on this site.</li>\n<li>\n<strong>Moderators</strong>, who can edit all posts and users, but cannot add categories or change any site settings.</li>\n</ol>\n<p>To add additional staff members:</p>\n<ul>\n<li>have them sign up on the site (or <a href=\"/my/invited\">send out an invitation to join via your user page</a>)</li>\n<li>click the admin button <img src=\"/images/emoji/twitter/wrench.png?v=5\" title=\":wrench:\" class=\"emoji\" alt=\":wrench:\"> on their user page</li>\n<li>look for the <kbd>Grant Admin</kbd> and <kbd>Grant Moderator</kbd> buttons there</li>\n</ul>\n<h3>Social Logins</h3>\n<p>Users can log in with traditional local username and password accounts. You may want to add:</p>\n<ul>\n<li><a href=\"https://meta.discourse.org/t/configuring-google-oauth2-login-for-discourse/15858\">Google logins</a></li>\n<li><a href=\"https://meta.discourse.org/t/configuring-twitter-login-for-discourse/13395\">Twitter logins</a></li>\n<li><a href=\"https://meta.discourse.org/t/configuring-facebook-login-for-discourse/13394\">Facebook logins</a></li>\n<li><a href=\"https://meta.discourse.org/t/configuring-github-login-for-discourse/13745\">GitHub logins</a></li>\n</ul>\n<p>You can also <a href=\"https://meta.discourse.org/t/official-single-sign-on-for-discourse/13045\">set up single-sign on</a>, or even <a href=\"https://meta.discourse.org/t/login-to-discourse-with-custom-oauth2-provider/14717\">build your own login method</a>.</p>\n<h3>Test Your Email</h3>\n<p>Email is required for new account signups and notifications. <strong>Test your email to make sure it is configured correctly!</strong>  Visit <a href=\"/admin/email\">the admin email settings</a>, then enter an email address in the “email address to test” field and click <kbd>send test email</kbd>.</p>\n<ul>\n<li>You got the test email? Great! <strong>Read that email closely</strong>, it has important email deliverability tips.</li>\n<li>You didn’t get the test email? This means your users probably aren’t getting any signup or notification emails either.</li>\n<li>Email deliverability can be hard. Read <a href=\"https://github.com/discourse/discourse/blob/master/docs/INSTALL-email.md\"><strong>Email Service Configuration</strong></a>.</li>\n</ul>\n<p>If you’d like to enable <em>replying</em> to topics via email, <a href=\"https://meta.discourse.org/t/set-up-reply-via-email-support/14003\">see this howto</a>.</p>\n<h3>Categories</h3>\n<p>You have three default categories:</p>\n<ol>\n<li>\n<a href=\"/category/site-feedback\">Site Feedback</a> – general discussion about the site itself. <a href=\"https://meta.discourse.org/t/5249\">It’s important!</a>\n</li>\n<li>\n<a href=\"/category/lounge\">Lounge</a> – a perk for users at trust level 3 and higher</li>\n<li>\n<a href=\"/category/staff\">Staff</a> – visible only to staff (admins and moderators)</li>\n</ol>\n<p><strong>Don’t create too many initial categories</strong>, as you can overwhelm your audience. You can always add more categories, and easily bulk recategorize topics later. It’s better to figure out the organization as you go rather than assuming you’ll get it all right from the beginning (hint: you won’t).</p>\n<p>To add a category, visit the <a href=\"/categories\">categories page</a>, then click Create Category at the upper right. You can set security per-category so only certain groups of users can see topics in that category.</p>\n<p>Every category has an initial “About this category” topic. This topic will be pinned to the top of the category, and the description you enter will be used in a bunch of places. Be sure to give your new category a good, clear description, so people understand what belongs there!</p>\n<h3>Pinned Topics and Banners</h3>\n<p>Note that pinning topics does work a little differently in Discourse:</p>\n<ul>\n<li>Once someone reads to the bottom of a pinned topic, it is automatically unpinned for them specifically. They can change this via the personal pin controls at the bottom of the topic.</li>\n<li>When staff pins a topic, they can pin it globally to all topic lists, or just within its category.</li>\n</ul>\n<p>If a pin isn’t visible enough, you can also turn one single topic into a <strong>banner</strong>. The banner topic floats on top of all topics and all primary pages. Users can permanently dismiss this floating banner by clicking the × in the upper right corner.</p>\n<p>To make (or remove) a pin or a banner, use the admin wrench at the top right or bottom of the topic.</p>\n<h3>New User Sandbox and the Trust System</h3>\n<p>If your discussion area is be open to the public, new visitors will arrive that are initially strangers to the community. Discourse has a <a href=\"https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/2\">trust system</a> where users can, over time, earn the trust of the community and gain abilities to assist in governing their community.</p>\n<p>Discourse is designed to offer safe defaults for public communities, even with no active moderation.</p>\n<blockquote>\n<p><strong>0 (new) → 1 (basic) → 2 (member) → 3 (regular) → 4 (leader)</strong></p>\n</blockquote>\n<p>All new users start out in a sandbox with restrictions for everyone’s safety. <strong>Trust level 0 (new) users <em>cannot</em></strong> …</p>\n<ul>\n<li>post more than 2 hyperlinks</li>\n<li>post any images or file attachments</li>\n<li>send private messages</li>\n<li>flag posts or topics</li>\n<li>have actual links in the “about me” field of their profile</li>\n<li>\n<span class=\"mention\">@name</span> mention more than 2 users in a post</li>\n</ul>\n<p>Every action a user can take is rate limited for safety, and especially so for new users. But don’t worry, new users can <a href=\"https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/2\">transition to trust level 1</a> in about 10 minutes of reading.</p>\n<p>These defaults are safe, but note that while in “bootstrap mode” after you set up your site, all new users will be granted trust level 1 until you reach 50 users.</p>\n<h3>Building Your Community</h3>\n<p>Be patient; building communities is hard. Before launching, be sure to:</p>\n<ol>\n<li>Clearly define your community’s purpose in a pinned or banner topic.</li>\n<li>Seed the discussion with interesting topics.</li>\n<li>Commit to visiting and participating regularly.</li>\n<li>Link your community everywhere and promote it so people can find it.</li>\n</ol>\n<p>There’s more advice at <a href=\"http://blog.discourse.org/2014/08/building-a-discourse-community/\">Building a Discourse Community</a>.</p>\n<h3>Sending Invitations</h3>\n<p>One way to get people to visit your site is to invite them via email. You can do this via:</p>\n<ul>\n<li>The Invite button at the bottom of the topic.</li>\n<li>The Invite area on your profile page.</li>\n</ul>\n<p>The invite area on your profile page also includes advanced Staff methods of <a href=\"https://meta.discourse.org/t/sending-bulk-user-invites/16468\">sending bulk invites</a>, and <a href=\"https://meta.discourse.org/t/invite-individual-users-to-a-group/15544\">inviting users into groups</a>.</p>\n<h3>Maintenance</h3>\n<ul>\n<li>\n<p>One CPU and 1GB of memory, with swap, is the minimum for a basic Discourse community. As your community grows you may need more memory or CPU resources.</p>\n</li>\n<li>\n<p><a href=\"https://github.com/discourse/discourse/blob/master/docs/INSTALL.md\">Our Docker container install</a> is the only one we officially support. It guarantees easy updates, and all recommended optimizations from the Discourse team.</p>\n</li>\n<li>\n<p>You should get an email notification when new versions of Discourse are released. To update your instance via our easy one click upgrade process, visit <a href=\"/admin/upgrade\">/admin/upgrade</a>.</p>\n</li>\n<li>\n<p>Some other things you might eventually want to set up:</p>\n<ul>\n<li><a href=\"https://meta.discourse.org/t/configure-automatic-backups-for-discourse/14855\">Automatic daily backups</a></li>\n<li><a href=\"https://meta.discourse.org/t/allowing-ssl-for-your-discourse-docker-setup/13847\">HTTPS support</a></li>\n<li><a href=\"https://meta.discourse.org/t/enable-a-cdn-for-your-discourse/14857\">Content Delivery Network support</a></li>\n<li><a href=\"https://meta.discourse.org/t/set-up-reply-via-email-support/14003\">Reply via Email</a></li>\n<li><a href=\"https://meta.discourse.org/t/move-your-discourse-instance-to-a-different-server/15721\">Import and Export your data</a></li>\n<li><a href=\"https://meta.discourse.org/t/how-do-i-change-the-domain-name/16098\">Change the domain name</a></li>\n<li><a href=\"https://meta.discourse.org/t/multisite-configuration-with-docker/14084\">Multiple Discourse instances on the same server</a></li>\n<li><a href=\"https://github.com/discourse/discourse/tree/master/script/import_scripts\">Import old content from vBulletin, PHPbb, Vanilla, Drupal, BBPress, etc</a></li>\n<li>A firewall on your server? <a href=\"https://meta.discourse.org/t/configure-a-firewall-for-discourse/20584\">Configure firewall</a>.</li>\n<li>A user friendly <a href=\"https://meta.discourse.org/t/adding-an-offline-page-when-rebuilding/45238\">offline page when rebuilding or upgrading?</a>\n</li>\n<li>Embed Discourse <a href=\"https://github.com/discourse/wp-discourse\">in your WordPress install</a>, or <a href=\"http://eviltrout.com/2014/01/22/embedding-discourse.html\">on your static HTML site</a>\n</li>\n</ul>\n</li>\n</ul>\n<h3>Need more Help?</h3>\n<p>For more assistance on configuring and running your Discourse forum, see <a href=\"http://meta.discourse.org\">meta.discourse.org</a>.</p>\n<hr>\n<p>Have suggestions to improve or update this guide? Submit a <a href=\"https://github.com/discourse/discourse/blob/master/docs/ADMIN-QUICK-START-GUIDE.md\">pull request</a>.</p>",
  1175.         +  created_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1176.         +  updated_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1177.         +  reply_to_post_number: nil,
  1178.         +  reply_count: 0,
  1179.         +  quote_count: 0,
  1180.         +  deleted_at: nil,
  1181.         +  off_topic_count: 0,
  1182.         +  like_count: 0,
  1183.         +  incoming_link_count: 0,
  1184.         +  bookmark_count: 0,
  1185.         +  avg_time: nil,
  1186.         +  score: nil,
  1187.         +  reads: 1,
  1188.         +  post_type: 1,
  1189.         +  vote_count: 0,
  1190.         +  sort_order: 1,
  1191.         +  last_editor_id: -1,
  1192.         +  hidden: false,
  1193.         +  hidden_reason_id: nil,
  1194.         +  notify_moderators_count: 0,
  1195.         +  spam_count: 0,
  1196.         +  illegal_count: 0,
  1197.         +  inappropriate_count: 0,
  1198.         +  last_version_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1199.         +  user_deleted: false,
  1200.         +  reply_to_user_id: nil,
  1201.         +  percent_rank: 1.0,
  1202.         +  notify_user_count: 0,
  1203.         +  like_score: 0,
  1204.         +  deleted_by_id: nil,
  1205.         +  edit_reason: nil,
  1206.         +  word_count: 1490,
  1207.         +  version: 1,
  1208.         +  cook_method: 1,
  1209.         +  wiki: false,
  1210.         +  baked_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1211.         +  baked_version: 1,
  1212.         +  hidden_at: nil,
  1213.         +  self_edits: 0,
  1214.         +  reply_quoted: false,
  1215.         +  via_email: false,
  1216.         +  raw_email: nil,
  1217.         +  public_version: 1,
  1218.         +  action_code: nil,
  1219.         +  image_url: nil>,
  1220.         + #<Post:0x007fb7fb7d71d8
  1221.         +  id: 8962,
  1222.         +  user_id: 5709,
  1223.         +  topic_id: 9296,
  1224.         +  post_number: 2,
  1225.         +  raw: "Hello world",
  1226.         +  cooked: "<p>Hello world</p>",
  1227.         +  created_at: Tue, 12 Sep 2017 16:19:52 UTC +00:00,
  1228.         +  updated_at: Tue, 12 Sep 2017 16:19:52 UTC +00:00,
  1229.         +  reply_to_post_number: nil,
  1230.         +  reply_count: 0,
  1231.         +  quote_count: 0,
  1232.         +  deleted_at: nil,
  1233.         +  off_topic_count: 0,
  1234.         +  like_count: 0,
  1235.         +  incoming_link_count: 0,
  1236.         +  bookmark_count: 0,
  1237.         +  avg_time: nil,
  1238.         +  score: 10.0,
  1239.         +  reads: 0,
  1240.         +  post_type: 1,
  1241.         +  vote_count: 0,
  1242.         +  sort_order: 2,
  1243.         +  last_editor_id: 5709,
  1244.         +  hidden: false,
  1245.         +  hidden_reason_id: nil,
  1246.         +  notify_moderators_count: 0,
  1247.         +  spam_count: 0,
  1248.         +  illegal_count: 0,
  1249.         +  inappropriate_count: 0,
  1250.         +  last_version_at: Tue, 12 Sep 2017 16:19:52 UTC +00:00,
  1251.         +  user_deleted: false,
  1252.         +  reply_to_user_id: nil,
  1253.         +  percent_rank: 0.66,
  1254.         +  notify_user_count: 0,
  1255.         +  like_score: 0,
  1256.         +  deleted_by_id: nil,
  1257.         +  edit_reason: nil,
  1258.         +  word_count: 2,
  1259.         +  version: 1,
  1260.         +  cook_method: 1,
  1261.         +  wiki: false,
  1262.         +  baked_at: Tue, 12 Sep 2017 16:19:52 UTC +00:00,
  1263.         +  baked_version: 1,
  1264.         +  hidden_at: nil,
  1265.         +  self_edits: 0,
  1266.         +  reply_quoted: false,
  1267.         +  via_email: false,
  1268.         +  raw_email: nil,
  1269.         +  public_version: 1,
  1270.         +  action_code: nil,
  1271.         +  image_url: nil>]
  1272.        
  1273.       # ./spec/models/post_spec.rb:742:in `block (3 levels) in <main>'
  1274.  
  1275.   33) Post sort_order regular topic defaults to created order
  1276.       Failure/Error: expect(Post.regular_order).to eq([p1, p2, p3])
  1277.      
  1278.         expected: [#<Post id: 8975, user_id: 5727, topic_id: 9308, post_number: 1, raw: "Hello world", cooked: "<p>Hell...oted: false, via_email: false, raw_email: nil, public_version: 1, action_code: nil, image_url: nil>]
  1279.              got: #<ActiveRecord::Relation [#<Post id: 1, user_id: -1, topic_id: 1, post_number: 1, raw: "The following...false, via_email: false, raw_email: nil, public_version: 1, action_code: nil, image_url: nil>, ...]>
  1280.      
  1281.         (compared using ==)
  1282.      
  1283.         Diff:
  1284.         @@ -1,4 +1,643 @@
  1285.         -[#<Post id: 8975, user_id: 5727, topic_id: 9308, post_number: 1, raw: "Hello world", cooked: "<p>Hello world</p>", created_at: "2017-09-12 16:19:55", updated_at: "2017-09-12 16:19:55", reply_to_post_number: nil, reply_count: 0, quote_count: 0, deleted_at: nil, off_topic_count: 0, like_count: 0, incoming_link_count: 0, bookmark_count: 0, avg_time: nil, score: nil, reads: 0, post_type: 1, vote_count: 0, sort_order: 1, last_editor_id: 5727, hidden: false, hidden_reason_id: nil, notify_moderators_count: 0, spam_count: 0, illegal_count: 0, inappropriate_count: 0, last_version_at: "2017-09-12 16:19:55", user_deleted: false, reply_to_user_id: nil, percent_rank: 1.0, notify_user_count: 0, like_score: 0, deleted_by_id: nil, edit_reason: nil, word_count: 2, version: 1, cook_method: 1, wiki: false, baked_at: "2017-09-12 16:19:55", baked_version: 1, hidden_at: nil, self_edits: 0, reply_quoted: false, via_email: false, raw_email: nil, public_version: 1, action_code: nil, image_url: nil>,
  1286.         - #<Post id: 8976, user_id: 5727, topic_id: 9308, post_number: 2, raw: "Hello world", cooked: "<p>Hello world</p>", created_at: "2017-09-12 16:19:55", updated_at: "2017-09-12 16:19:55", reply_to_post_number: nil, reply_count: 0, quote_count: 0, deleted_at: nil, off_topic_count: 0, like_count: 0, incoming_link_count: 0, bookmark_count: 0, avg_time: nil, score: nil, reads: 0, post_type: 1, vote_count: 0, sort_order: 2, last_editor_id: 5727, hidden: false, hidden_reason_id: nil, notify_moderators_count: 0, spam_count: 0, illegal_count: 0, inappropriate_count: 0, last_version_at: "2017-09-12 16:19:55", user_deleted: false, reply_to_user_id: nil, percent_rank: 1.0, notify_user_count: 0, like_score: 0, deleted_by_id: nil, edit_reason: nil, word_count: 2, version: 1, cook_method: 1, wiki: false, baked_at: "2017-09-12 16:19:55", baked_version: 1, hidden_at: nil, self_edits: 0, reply_quoted: false, via_email: false, raw_email: nil, public_version: 1, action_code: nil, image_url: nil>,
  1287.         - #<Post id: 8977, user_id: 5727, topic_id: 9308, post_number: 3, raw: "Hello world", cooked: "<p>Hello world</p>", created_at: "2017-09-12 16:19:55", updated_at: "2017-09-12 16:19:55", reply_to_post_number: nil, reply_count: 0, quote_count: 0, deleted_at: nil, off_topic_count: 0, like_count: 0, incoming_link_count: 0, bookmark_count: 0, avg_time: nil, score: nil, reads: 0, post_type: 1, vote_count: 0, sort_order: 3, last_editor_id: 5727, hidden: false, hidden_reason_id: nil, notify_moderators_count: 0, spam_count: 0, illegal_count: 0, inappropriate_count: 0, last_version_at: "2017-09-12 16:19:55", user_deleted: false, reply_to_user_id: nil, percent_rank: 1.0, notify_user_count: 0, like_score: 0, deleted_by_id: nil, edit_reason: nil, word_count: 2, version: 1, cook_method: 1, wiki: false, baked_at: "2017-09-12 16:19:55", baked_version: 1, hidden_at: nil, self_edits: 0, reply_quoted: false, via_email: false, raw_email: nil, public_version: 1, action_code: nil, image_url: nil>]
  1288.         +[#<Post:0x007fb7fb0658f0
  1289.         +  id: 1,
  1290.         +  user_id: -1,
  1291.         +  topic_id: 1,
  1292.         +  post_number: 1,
  1293.         +  raw:
  1294.         +   "The following terms and conditions govern all use of the company_domain website and all content, services and products available at or through the website, including, but not limited to, company_domain Forum Software, company_domain Support Forums and the company_domain Hosting service (\"Hosting\"), (taken together, the Website). The Website is owned and operated by company_full_name (\"company_short_name\"). The Website is offered subject to your acceptance without modification of all of the terms and conditions contained herein and all other operating rules, policies (including, without limitation, company_domain’s [Privacy Policy](/privacy) and [Community Guidelines](/faq)) and procedures that may be published from time to time on this Site by company_short_name (collectively, the \"Agreement\").\n\nPlease read this Agreement carefully before accessing or using the Website. By accessing or using any part of the web site, you agree to become bound by the terms and conditions of this agreement. If you do not agree to all the terms and conditions of this agreement, then you may not access the Website or use any services. If these terms and conditions are considered an offer by company_short_name, acceptance is expressly limited to these terms. The Website is available only to individuals who are at least 13 years old.\n\n<a name=\"1\"></a>\n\n## [1. Your company_domain Account](#1)\n\nIf you create an account on the Website, you are responsible for maintaining the security of your account and you are fully responsible for all activities that occur under the account. You must immediately notify company_short_name of any unauthorized uses of your account or any other breaches of security. company_short_name will not be liable for any acts or omissions by you, including any damages of any kind incurred as a result of such acts or omissions.\n\n<a name=\"2\"></a>\n\n## [2. Responsibility of Contributors](#2)\n\nIf you post material to the Website, post links on the Website, or otherwise make (or allow any third party to make) material available by means of the Website (any such material, \"Content\"), You are entirely responsible for the content of, and any harm resulting from, that Content. That is the case regardless of whether the Content in question constitutes text, graphics, an audio file, or computer software. By making Content available, you represent and warrant that:\n\n*   the downloading, copying and use of the Content will not infringe the proprietary rights, including but not limited to the copyright, patent, trademark or trade secret rights, of any third party;\n*   if your employer has rights to intellectual property you create, you have either (i) received permission from your employer to post or make available the Content, including but not limited to any software, or (ii) secured from your employer a waiver as to all rights in or to the Content;\n*   you have fully complied with any third-party licenses relating to the Content, and have done all things necessary to successfully pass through to end users any required terms;\n*   the Content does not contain or install any viruses, worms, malware, Trojan horses or other harmful or destructive content;\n*   the Content is not spam, is not machine- or randomly-generated, and does not contain unethical or unwanted commercial content designed to drive traffic to third party sites or boost the search engine rankings of third party sites, or to further unlawful acts (such as phishing) or mislead recipients as to the source of the material (such as spoofing);\n*   the Content is not pornographic, does not contain threats or incite violence, and does not violate the privacy or publicity rights of any third party;\n*   your content is not getting advertised via unwanted electronic messages such as spam links on newsgroups, email lists, blogs and web sites, and similar unsolicited promotional methods;\n*   your content is not named in a manner that misleads your readers into thinking that you are another person or company; and\n*   you have, in the case of Content that includes computer code, accurately categorized and/or described the type, nature, uses and effects of the materials, whether requested to do so by company_short_name or otherwise.\n\n<a name=\"3\"></a>\n\n## [3. User Content License](#3)\n\nUser contributions are licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_US). Without limiting any of those representations or warranties, company_short_name has the right (though not the obligation) to, in company_short_name’s sole discretion (i) refuse or remove any content that, in company_short_name’s reasonable opinion, violates any company_short_name policy or is in any way harmful or objectionable, or (ii) terminate or deny access to and use of the Website to any individual or entity for any reason, in company_short_name’s sole discretion. company_short_name will have no obligation to provide a refund of any amounts previously paid.\n\n\n<a name=\"4\"></a>\n\n## [4. Payment and Renewal](#4)\n\n### General Terms\n\nOptional paid services or upgrades may be available on the Website. When utilizing an optional paid service or upgrade, you agree to pay company_short_name the monthly or annual subscription fees indicated. Payments will be charged on a pre-pay basis on the day you begin utilizing the service or upgrade and will cover the use of that service or upgrade for a monthly or annual subscription period as indicated. These fees are not refundable.\n\n### Automatic Renewal\n\nUnless you notify company_short_name before the end of the applicable subscription period that you want to cancel a service or upgrade, your subscription will automatically renew and you authorize us to collect the then-applicable annual or monthly subscription fee (as well as any taxes) using any credit card or other payment mechanism we have on record for you. Subscriptions can be canceled at any time.\n\n<a name=\"5\"></a>\n\n## [5. Services](#5)\n\n### Hosting, Support Services\n\nOptional Hosting and Support services may be provided by company_short_name under the terms and conditions for each such service. By signing up for a Hosting/Support or Support services account, you agree to abide by such terms and conditions.\n\n<a name=\"6\"></a>\n\n## [6. Responsibility of Website Visitors](#6)\n\ncompany_short_name has not reviewed, and cannot review, all of the material, including computer software, posted to the Website, and cannot therefore be responsible for that material’s content, use or effects. By operating the Website, company_short_name does not represent or imply that it endorses the material there posted, or that it believes such material to be accurate, useful or non-harmful. You are responsible for taking precautions as necessary to protect yourself and your computer systems from viruses, worms, Trojan horses, and other harmful or destructive content. The Website may contain content that is offensive, indecent, or otherwise objectionable, as well as content containing technical inaccuracies, typographical mistakes, and other errors. The Website may also contain material that violates the privacy or publicity rights, or infringes the intellectual property and other proprietary rights, of third parties, or the downloading, copying or use of which is subject to additional terms and conditions, stated or unstated. company_short_name disclaims any responsibility for any harm resulting from the use by visitors of the Website, or from any downloading by those visitors of content there posted.\n\n<a name=\"7\"></a>\n\n## [7. Content Posted on Other Websites](#7)\n\nWe have not reviewed, and cannot review, all of the material, including computer software, made available through the websites and webpages to which company_domain links, and that link to company_domain. company_short_name does not have any control over those non-company_domain websites and webpages, and is not responsible for their contents or their use. By linking to a non-company_domain website or webpage, company_short_name does not represent or imply that it endorses such website or webpage. You are responsible for taking precautions as necessary to protect yourself and your computer systems from viruses, worms, Trojan horses, and other harmful or destructive content. company_short_name disclaims any responsibility for any harm resulting from your use of non-company_domain websites and webpages.\n\n<a name=\"8\"></a>\n\n## [8. Copyright Infringement and DMCA Policy](#8)\n\nAs company_short_name asks others to respect its intellectual property rights, it respects the intellectual property rights of others. If you believe that material located on or linked to by company_domain violates your copyright, and if this website resides in the USA, you are encouraged to notify company_short_name in accordance with company_short_name’s [Digital Millennium Copyright Act](http://en.wikipedia.org/wiki/Digital_Millennium_Copyright_Act) (\"DMCA\") Policy. company_short_name will respond to all such notices, including as required or appropriate by removing the infringing material or disabling all links to the infringing material. company_short_name will terminate a visitor’s access to and use of the Website if, under appropriate circumstances, the visitor is determined to be a repeat infringer of the copyrights or other intellectual property rights of company_short_name or others. In the case of such termination, company_short_name will have no obligation to provide a refund of any amounts previously paid to company_short_name.\n\n<a name=\"9\"></a>\n\n## [9. Intellectual Property](#9)\n\nThis Agreement does not transfer from company_short_name to you any company_short_name or third party intellectual property, and all right, title and interest in and to such property will remain (as between the parties) solely with company_short_name. company_short_name, company_domain, the company_domain logo, and all other trademarks, service marks, graphics and logos used in connection with company_domain, or the Website are trademarks or registered trademarks of company_short_name or company_short_name’s licensors. Other trademarks, service marks, graphics and logos used in connection with the Website may be the trademarks of other third parties. Your use of the Website grants you no right or license to reproduce or otherwise use any company_short_name or third-party trademarks.\n\n<a name=\"10\"></a>\n\n## [10. Advertisements](#10)\n\ncompany_short_name reserves the right to display advertisements on your content unless you have purchased an Ad-free Upgrade or a Services account.\n\n<a name=\"11\"></a>\n\n## [11. Attribution](#11)\n\ncompany_short_name reserves the right to display attribution links such as ‘Powered by company_domain,’ theme author, and font attribution in your content footer or toolbar. Footer credits and the company_domain toolbar may not be removed regardless of upgrades purchased.\n\n<a name=\"12\"></a>\n\n## [12. Changes](#12)\n\ncompany_short_name reserves the right, at its sole discretion, to modify or replace any part of this Agreement. It is your responsibility to check this Agreement periodically for changes. Your continued use of or access to the Website following the posting of any changes to this Agreement constitutes acceptance of those changes. company_short_name may also, in the future, offer new services and/or features through the Website (including, the release of new tools and resources). Such new features and/or services shall be subject to the terms and conditions of this Agreement.\n\n<a name=\"13\"></a>\n\n## [13. Termination](#13)\n\ncompany_short_name may terminate your access to all or any part of the Website at any time, with or without cause, with or without notice, effective immediately. If you wish to terminate this Agreement or your company_domain account (if you have one), you may simply discontinue using the Website. All provisions of this Agreement which by their nature should survive termination shall survive termination, including, without limitation, ownership provisions, warranty disclaimers, indemnity and limitations of liability.\n\n<a name=\"14\"></a>\n\n## [14. Disclaimer of Warranties](#14)\n\nThe Website is provided \"as is\". company_short_name and its suppliers and licensors hereby disclaim all warranties of any kind, express or implied, including, without limitation, the warranties of merchantability, fitness for a particular purpose and non-infringement. Neither company_short_name nor its suppliers and licensors, makes any warranty that the Website will be error free or that access thereto will be continuous or uninterrupted. If you’re actually reading this, here’s [a treat](http://www.newyorker.com/online/blogs/shouts/2012/12/the-hundred-best-lists-of-all-time.html). You understand that you download from, or otherwise obtain content or services through, the Website at your own discretion and risk.\n\n<a name=\"15\"></a>\n\n## [15. Limitation of Liability](#15)\n\nIn no event will company_short_name, or its suppliers or licensors, be liable with respect to any subject matter of this agreement under any contract, negligence, strict liability or other legal or equitable theory for: (i) any special, incidental or consequential damages; (ii) the cost of procurement for substitute products or services; (iii) for interruption of use or loss or corruption of data; or (iv) for any amounts that exceed the fees paid by you to company_short_name under this agreement during the twelve (12) month period prior to the cause of action. company_short_name shall have no liability for any failure or delay due to matters beyond their reasonable control. The foregoing shall not apply to the extent prohibited by applicable law.\n\n<a name=\"16\"></a>\n\n## [16. General Representation and Warranty](#16)\n\nYou represent and warrant that (i) your use of the Website will be in strict accordance with the company_short_name [Privacy Policy](/privacy), [Community Guidelines](/guidelines), with this Agreement and with all applicable laws and regulations (including without limitation any local laws or regulations in your country, state, city, or other governmental area, regarding online conduct and acceptable content, and including all applicable laws regarding the transmission of technical data exported from the country in which this website resides or the country in which you reside) and (ii) your use of the Website will not infringe or misappropriate the intellectual property rights of any third party.\n\n<a name=\"17\"></a>\n\n## [17. Indemnification](#17)\n\nYou agree to indemnify and hold harmless company_short_name, its contractors, and its licensors, and their respective directors, officers, employees and agents from and against any and all claims and expenses, including attorneys’ fees, arising out of your use of the Website, including but not limited to your violation of this Agreement.\n\n<a name=\"18\"></a>\n\n## [18. Miscellaneous](#18)\n\nThis Agreement constitutes the entire agreement between company_short_name and you concerning the subject matter hereof, and they may only be modified by a written amendment signed by an authorized executive of company_short_name, or by the posting by company_short_name of a revised version. Except to the extent applicable law, if any, provides otherwise, this Agreement, any access to or use of the Website will be governed by the laws of the state of California, U.S.A., excluding its conflict of law provisions, and the proper venue for any disputes arising out of or relating to any of the same will be the state and federal courts located in San Francisco County, California. Except for claims for injunctive or equitable relief or claims regarding intellectual property rights (which may be brought in any competent court without the posting of a bond), any dispute arising under this Agreement shall be finally settled in accordance with the Comprehensive Arbitration Rules of the Judicial Arbitration and Mediation Service, Inc. (“JAMS”) by three arbitrators appointed in accordance with such Rules. The arbitration shall take place in San Francisco, California, in the English language and the arbitral decision may be enforced in any court. The prevailing party in any action or proceeding to enforce this Agreement shall be entitled to costs and attorneys’ fees. If any part of this Agreement is held invalid or unenforceable, that part will be construed to reflect the parties’ original intent, and the remaining portions will remain in full force and effect. A waiver by either party of any term or condition of this Agreement or any breach thereof, in any one instance, will not waive such term or condition or any subsequent breach thereof. You may assign your rights under this Agreement to any party that consents to, and agrees to be bound by, its terms and conditions; company_short_name may assign its rights under this Agreement without condition. This Agreement will be binding upon and will inure to the benefit of the parties, their successors and permitted assigns.\n\nThis document is CC-BY-SA. It was last updated May 31, 2013.\n\nOriginally adapted from the [WordPress Terms of Service](http://en.wordpress.com/tos/).",
  1295.         +  cooked:
  1296.         +   "<p>The following terms and conditions govern all use of the company_domain website and all content, services and products available at or through the website, including, but not limited to, company_domain Forum Software, company_domain Support Forums and the company_domain Hosting service (“Hosting”), (taken together, the Website). The Website is owned and operated by company_full_name (“company_short_name”). The Website is offered subject to your acceptance without modification of all of the terms and conditions contained herein and all other operating rules, policies (including, without limitation, company_domain’s <a href=\"/privacy\">Privacy Policy</a> and <a href=\"/faq\">Community Guidelines</a>) and procedures that may be published from time to time on this Site by company_short_name (collectively, the “Agreement”).</p>\n<p>Please read this Agreement carefully before accessing or using the Website. By accessing or using any part of the web site, you agree to become bound by the terms and conditions of this agreement. If you do not agree to all the terms and conditions of this agreement, then you may not access the Website or use any services. If these terms and conditions are considered an offer by company_short_name, acceptance is expressly limited to these terms. The Website is available only to individuals who are at least 13 years old.</p>\n<p><a name=\"1\"></a></p>\n<h2><a href=\"#1\">1. Your company_domain Account</a></h2>\n<p>If you create an account on the Website, you are responsible for maintaining the security of your account and you are fully responsible for all activities that occur under the account. You must immediately notify company_short_name of any unauthorized uses of your account or any other breaches of security. company_short_name will not be liable for any acts or omissions by you, including any damages of any kind incurred as a result of such acts or omissions.</p>\n<p><a name=\"2\"></a></p>\n<h2><a href=\"#2\">2. Responsibility of Contributors</a></h2>\n<p>If you post material to the Website, post links on the Website, or otherwise make (or allow any third party to make) material available by means of the Website (any such material, “Content”), You are entirely responsible for the content of, and any harm resulting from, that Content. That is the case regardless of whether the Content in question constitutes text, graphics, an audio file, or computer software. By making Content available, you represent and warrant that:</p>\n<ul>\n<li>the downloading, copying and use of the Content will not infringe the proprietary rights, including but not limited to the copyright, patent, trademark or trade secret rights, of any third party;</li>\n<li>if your employer has rights to intellectual property you create, you have either (i) received permission from your employer to post or make available the Content, including but not limited to any software, or (ii) secured from your employer a waiver as to all rights in or to the Content;</li>\n<li>you have fully complied with any third-party licenses relating to the Content, and have done all things necessary to successfully pass through to end users any required terms;</li>\n<li>the Content does not contain or install any viruses, worms, malware, Trojan horses or other harmful or destructive content;</li>\n<li>the Content is not spam, is not machine- or randomly-generated, and does not contain unethical or unwanted commercial content designed to drive traffic to third party sites or boost the search engine rankings of third party sites, or to further unlawful acts (such as phishing) or mislead recipients as to the source of the material (such as spoofing);</li>\n<li>the Content is not pornographic, does not contain threats or incite violence, and does not violate the privacy or publicity rights of any third party;</li>\n<li>your content is not getting advertised via unwanted electronic messages such as spam links on newsgroups, email lists, blogs and web sites, and similar unsolicited promotional methods;</li>\n<li>your content is not named in a manner that misleads your readers into thinking that you are another person or company; and</li>\n<li>you have, in the case of Content that includes computer code, accurately categorized and/or described the type, nature, uses and effects of the materials, whether requested to do so by company_short_name or otherwise.</li>\n</ul>\n<p><a name=\"3\"></a></p>\n<h2><a href=\"#3\">3. User Content License</a></h2>\n<p>User contributions are licensed under a <a href=\"http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_US\">Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License</a>. Without limiting any of those representations or warranties, company_short_name has the right (though not the obligation) to, in company_short_name’s sole discretion (i) refuse or remove any content that, in company_short_name’s reasonable opinion, violates any company_short_name policy or is in any way harmful or objectionable, or (ii) terminate or deny access to and use of the Website to any individual or entity for any reason, in company_short_name’s sole discretion. company_short_name will have no obligation to provide a refund of any amounts previously paid.</p>\n<p><a name=\"4\"></a></p>\n<h2><a href=\"#4\">4. Payment and Renewal</a></h2>\n<h3>General Terms</h3>\n<p>Optional paid services or upgrades may be available on the Website. When utilizing an optional paid service or upgrade, you agree to pay company_short_name the monthly or annual subscription fees indicated. Payments will be charged on a pre-pay basis on the day you begin utilizing the service or upgrade and will cover the use of that service or upgrade for a monthly or annual subscription period as indicated. These fees are not refundable.</p>\n<h3>Automatic Renewal</h3>\n<p>Unless you notify company_short_name before the end of the applicable subscription period that you want to cancel a service or upgrade, your subscription will automatically renew and you authorize us to collect the then-applicable annual or monthly subscription fee (as well as any taxes) using any credit card or other payment mechanism we have on record for you. Subscriptions can be canceled at any time.</p>\n<p><a name=\"5\"></a></p>\n<h2><a href=\"#5\">5. Services</a></h2>\n<h3>Hosting, Support Services</h3>\n<p>Optional Hosting and Support services may be provided by company_short_name under the terms and conditions for each such service. By signing up for a Hosting/Support or Support services account, you agree to abide by such terms and conditions.</p>\n<p><a name=\"6\"></a></p>\n<h2><a href=\"#6\">6. Responsibility of Website Visitors</a></h2>\n<p>company_short_name has not reviewed, and cannot review, all of the material, including computer software, posted to the Website, and cannot therefore be responsible for that material’s content, use or effects. By operating the Website, company_short_name does not represent or imply that it endorses the material there posted, or that it believes such material to be accurate, useful or non-harmful. You are responsible for taking precautions as necessary to protect yourself and your computer systems from viruses, worms, Trojan horses, and other harmful or destructive content. The Website may contain content that is offensive, indecent, or otherwise objectionable, as well as content containing technical inaccuracies, typographical mistakes, and other errors. The Website may also contain material that violates the privacy or publicity rights, or infringes the intellectual property and other proprietary rights, of third parties, or the downloading, copying or use of which is subject to additional terms and conditions, stated or unstated. company_short_name disclaims any responsibility for any harm resulting from the use by visitors of the Website, or from any downloading by those visitors of content there posted.</p>\n<p><a name=\"7\"></a></p>\n<h2><a href=\"#7\">7. Content Posted on Other Websites</a></h2>\n<p>We have not reviewed, and cannot review, all of the material, including computer software, made available through the websites and webpages to which company_domain links, and that link to company_domain. company_short_name does not have any control over those non-company_domain websites and webpages, and is not responsible for their contents or their use. By linking to a non-company_domain website or webpage, company_short_name does not represent or imply that it endorses such website or webpage. You are responsible for taking precautions as necessary to protect yourself and your computer systems from viruses, worms, Trojan horses, and other harmful or destructive content. company_short_name disclaims any responsibility for any harm resulting from your use of non-company_domain websites and webpages.</p>\n<p><a name=\"8\"></a></p>\n<h2><a href=\"#8\">8. Copyright Infringement and DMCA Policy</a></h2>\n<p>As company_short_name asks others to respect its intellectual property rights, it respects the intellectual property rights of others. If you believe that material located on or linked to by company_domain violates your copyright, and if this website resides in the USA, you are encouraged to notify company_short_name in accordance with company_short_name’s <a href=\"http://en.wikipedia.org/wiki/Digital_Millennium_Copyright_Act\">Digital Millennium Copyright Act</a> (“DMCA”) Policy. company_short_name will respond to all such notices, including as required or appropriate by removing the infringing material or disabling all links to the infringing material. company_short_name will terminate a visitor’s access to and use of the Website if, under appropriate circumstances, the visitor is determined to be a repeat infringer of the copyrights or other intellectual property rights of company_short_name or others. In the case of such termination, company_short_name will have no obligation to provide a refund of any amounts previously paid to company_short_name.</p>\n<p><a name=\"9\"></a></p>\n<h2><a href=\"#9\">9. Intellectual Property</a></h2>\n<p>This Agreement does not transfer from company_short_name to you any company_short_name or third party intellectual property, and all right, title and interest in and to such property will remain (as between the parties) solely with company_short_name. company_short_name, company_domain, the company_domain logo, and all other trademarks, service marks, graphics and logos used in connection with company_domain, or the Website are trademarks or registered trademarks of company_short_name or company_short_name’s licensors. Other trademarks, service marks, graphics and logos used in connection with the Website may be the trademarks of other third parties. Your use of the Website grants you no right or license to reproduce or otherwise use any company_short_name or third-party trademarks.</p>\n<p><a name=\"10\"></a></p>\n<h2><a href=\"#10\">10. Advertisements</a></h2>\n<p>company_short_name reserves the right to display advertisements on your content unless you have purchased an Ad-free Upgrade or a Services account.</p>\n<p><a name=\"11\"></a></p>\n<h2><a href=\"#11\">11. Attribution</a></h2>\n<p>company_short_name reserves the right to display attribution links such as ‘Powered by company_domain,’ theme author, and font attribution in your content footer or toolbar. Footer credits and the company_domain toolbar may not be removed regardless of upgrades purchased.</p>\n<p><a name=\"12\"></a></p>\n<h2><a href=\"#12\">12. Changes</a></h2>\n<p>company_short_name reserves the right, at its sole discretion, to modify or replace any part of this Agreement. It is your responsibility to check this Agreement periodically for changes. Your continued use of or access to the Website following the posting of any changes to this Agreement constitutes acceptance of those changes. company_short_name may also, in the future, offer new services and/or features through the Website (including, the release of new tools and resources). Such new features and/or services shall be subject to the terms and conditions of this Agreement.</p>\n<p><a name=\"13\"></a></p>\n<h2><a href=\"#13\">13. Termination</a></h2>\n<p>company_short_name may terminate your access to all or any part of the Website at any time, with or without cause, with or without notice, effective immediately. If you wish to terminate this Agreement or your company_domain account (if you have one), you may simply discontinue using the Website. All provisions of this Agreement which by their nature should survive termination shall survive termination, including, without limitation, ownership provisions, warranty disclaimers, indemnity and limitations of liability.</p>\n<p><a name=\"14\"></a></p>\n<h2><a href=\"#14\">14. Disclaimer of Warranties</a></h2>\n<p>The Website is provided “as is”. company_short_name and its suppliers and licensors hereby disclaim all warranties of any kind, express or implied, including, without limitation, the warranties of merchantability, fitness for a particular purpose and non-infringement. Neither company_short_name nor its suppliers and licensors, makes any warranty that the Website will be error free or that access thereto will be continuous or uninterrupted. If you’re actually reading this, here’s <a href=\"http://www.newyorker.com/online/blogs/shouts/2012/12/the-hundred-best-lists-of-all-time.html\">a treat</a>. You understand that you download from, or otherwise obtain content or services through, the Website at your own discretion and risk.</p>\n<p><a name=\"15\"></a></p>\n<h2><a href=\"#15\">15. Limitation of Liability</a></h2>\n<p>In no event will company_short_name, or its suppliers or licensors, be liable with respect to any subject matter of this agreement under any contract, negligence, strict liability or other legal or equitable theory for: (i) any special, incidental or consequential damages; (ii) the cost of procurement for substitute products or services; (iii) for interruption of use or loss or corruption of data; or (iv) for any amounts that exceed the fees paid by you to company_short_name under this agreement during the twelve (12) month period prior to the cause of action. company_short_name shall have no liability for any failure or delay due to matters beyond their reasonable control. The foregoing shall not apply to the extent prohibited by applicable law.</p>\n<p><a name=\"16\"></a></p>\n<h2><a href=\"#16\">16. General Representation and Warranty</a></h2>\n<p>You represent and warrant that (i) your use of the Website will be in strict accordance with the company_short_name <a href=\"/privacy\">Privacy Policy</a>, <a href=\"/guidelines\">Community Guidelines</a>, with this Agreement and with all applicable laws and regulations (including without limitation any local laws or regulations in your country, state, city, or other governmental area, regarding online conduct and acceptable content, and including all applicable laws regarding the transmission of technical data exported from the country in which this website resides or the country in which you reside) and (ii) your use of the Website will not infringe or misappropriate the intellectual property rights of any third party.</p>\n<p><a name=\"17\"></a></p>\n<h2><a href=\"#17\">17. Indemnification</a></h2>\n<p>You agree to indemnify and hold harmless company_short_name, its contractors, and its licensors, and their respective directors, officers, employees and agents from and against any and all claims and expenses, including attorneys’ fees, arising out of your use of the Website, including but not limited to your violation of this Agreement.</p>\n<p><a name=\"18\"></a></p>\n<h2><a href=\"#18\">18. Miscellaneous</a></h2>\n<p>This Agreement constitutes the entire agreement between company_short_name and you concerning the subject matter hereof, and they may only be modified by a written amendment signed by an authorized executive of company_short_name, or by the posting by company_short_name of a revised version. Except to the extent applicable law, if any, provides otherwise, this Agreement, any access to or use of the Website will be governed by the laws of the state of California, U.S.A., excluding its conflict of law provisions, and the proper venue for any disputes arising out of or relating to any of the same will be the state and federal courts located in San Francisco County, California. Except for claims for injunctive or equitable relief or claims regarding intellectual property rights (which may be brought in any competent court without the posting of a bond), any dispute arising under this Agreement shall be finally settled in accordance with the Comprehensive Arbitration Rules of the Judicial Arbitration and Mediation Service, Inc. (“JAMS”) by three arbitrators appointed in accordance with such Rules. The arbitration shall take place in San Francisco, California, in the English language and the arbitral decision may be enforced in any court. The prevailing party in any action or proceeding to enforce this Agreement shall be entitled to costs and attorneys’ fees. If any part of this Agreement is held invalid or unenforceable, that part will be construed to reflect the parties’ original intent, and the remaining portions will remain in full force and effect. A waiver by either party of any term or condition of this Agreement or any breach thereof, in any one instance, will not waive such term or condition or any subsequent breach thereof. You may assign your rights under this Agreement to any party that consents to, and agrees to be bound by, its terms and conditions; company_short_name may assign its rights under this Agreement without condition. This Agreement will be binding upon and will inure to the benefit of the parties, their successors and permitted assigns.</p>\n<p>This document is CC-BY-SA. It was last updated May 31, 2013.</p>\n<p>Originally adapted from the <a href=\"http://en.wordpress.com/tos/\">WordPress Terms of Service</a>.</p>",
  1297.         +  created_at: Tue, 12 Sep 2017 12:24:41 UTC +00:00,
  1298.         +  updated_at: Tue, 12 Sep 2017 12:24:41 UTC +00:00,
  1299.         +  reply_to_post_number: nil,
  1300.         +  reply_count: 0,
  1301.         +  quote_count: 0,
  1302.         +  deleted_at: nil,
  1303.         +  off_topic_count: 0,
  1304.         +  like_count: 0,
  1305.         +  incoming_link_count: 0,
  1306.         +  bookmark_count: 0,
  1307.         +  avg_time: nil,
  1308.         +  score: nil,
  1309.         +  reads: 1,
  1310.         +  post_type: 1,
  1311.         +  vote_count: 0,
  1312.         +  sort_order: 1,
  1313.         +  last_editor_id: -1,
  1314.         +  hidden: false,
  1315.         +  hidden_reason_id: nil,
  1316.         +  notify_moderators_count: 0,
  1317.         +  spam_count: 0,
  1318.         +  illegal_count: 0,
  1319.         +  inappropriate_count: 0,
  1320.         +  last_version_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  1321.         +  user_deleted: false,
  1322.         +  reply_to_user_id: nil,
  1323.         +  percent_rank: 1.0,
  1324.         +  notify_user_count: 0,
  1325.         +  like_score: 0,
  1326.         +  deleted_by_id: nil,
  1327.         +  edit_reason: nil,
  1328.         +  word_count: 2636,
  1329.         +  version: 1,
  1330.         +  cook_method: 1,
  1331.         +  wiki: false,
  1332.         +  baked_at: Tue, 12 Sep 2017 12:24:41 UTC +00:00,
  1333.         +  baked_version: 1,
  1334.         +  hidden_at: nil,
  1335.         +  self_edits: 0,
  1336.         +  reply_quoted: false,
  1337.         +  via_email: false,
  1338.         +  raw_email: nil,
  1339.         +  public_version: 1,
  1340.         +  action_code: nil,
  1341.         +  image_url: nil>,
  1342.         + #<Post:0x007fb7fb0657b0
  1343.         +  id: 5,
  1344.         +  user_id: -1,
  1345.         +  topic_id: 3,
  1346.         +  post_number: 1,
  1347.         +  raw:
  1348.         +   "<a name=\"collect\"></a>\n\n## [What information do we collect?](#collect)\n\nWe collect information from you when you register on our site and gather data when you participate in the forum by reading, writing, and evaluating the content shared here.\n\nWhen registering on our site, you may be asked to enter your name and e-mail address. You may, however, visit our site without registering. Your e-mail address will be verified by an email containing a unique link. If that link is visited, we know that you control the e-mail address.\n\nWhen registered and posting, we record the IP address that the post originated from. We also may retain server logs which include the IP address of every request to our server.\n\n<a name=\"use\"></a>\n\n## [What do we use your information for?](#use)\n\nAny of the information we collect from you may be used in one of the following ways:\n\n*   To personalize your experience &mdash; your information helps us to better respond to your individual needs.\n*   To improve our site &mdash; we continually strive to improve our site offerings based on the information and feedback we receive from you.\n*   To improve customer service &mdash; your information helps us to more effectively respond to your customer service requests and support needs.\n*   To send periodic emails &mdash; The email address you provide may be used to send you information, notifications that you request about changes to topics or in response to your user name, respond to inquiries, and/or other requests or questions.\n\n<a name=\"protect\"></a>\n\n## [How do we protect your information?](#protect)\n\nWe implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information.\n\n<a name=\"data-retention\"></a>\n\n## [What is your data retention policy?](#data-retention)\n\nWe will make a good faith effort to:\n\n*   Retain server logs containing the IP address of all requests to this server no more than 90 days.\n*   Retain the IP addresses associated with registered users and their posts no more than 5 years.\n\n<a name=\"cookies\"></a>\n\n## [Do we use cookies?](#cookies)\n\nYes. Cookies are small files that a site or its service provider transfers to your computer's hard drive through your Web browser (if you allow). These cookies enable the site to recognize your browser and, if you have a registered account, associate it with your registered account.\n\nWe use cookies to understand and save your preferences for future visits and compile aggregate data about site traffic and site interaction so that we can offer better site experiences and tools in the future. We may contract with third-party service providers to assist us in better understanding our site visitors. These service providers are not permitted to use the information collected on our behalf except to help us conduct and improve our business.\n\n<a name=\"disclose\"></a>\n\n## [Do we disclose any information to outside parties?](#disclose)\n\nWe do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety. However, non-personally identifiable visitor information may be provided to other parties for marketing, advertising, or other uses.\n\n<a name=\"third-party\"></a>\n\n## [Third party links](#third-party)\n\nOccasionally, at our discretion, we may include or offer third party products or services on our site. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these linked sites. Nonetheless, we seek to protect the integrity of our site and welcome any feedback about these sites.\n\n<a name=\"coppa\"></a>\n\n## [Children's Online Privacy Protection Act Compliance](#coppa)\n\nOur site, products and services are all directed to people who are at least 13 years old or older. If this server is in the USA, and you are under the age of 13, per the requirements of COPPA ([Children's Online Privacy Protection Act](https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act)), do not use this site.\n\n<a name=\"online\"></a>\n\n## [Online Privacy Policy Only](#online)\n\nThis online privacy policy applies only to information collected through our site and not to information collected offline.\n\n<a name=\"consent\"></a>\n\n## [Your Consent](#consent)\n\nBy using our site, you consent to our web site privacy policy.\n\n<a name=\"changes\"></a>\n\n## [Changes to our Privacy Policy](#changes)\n\nIf we decide to change our privacy policy, we will post those changes on this page.\n\nThis document is CC-BY-SA. It was last updated May 31, 2013.",
  1349.         +  cooked:
  1350.         +   "<p><a name=\"collect\"></a></p>\n<h2><a href=\"#collect\">What information do we collect?</a></h2>\n<p>We collect information from you when you register on our site and gather data when you participate in the forum by reading, writing, and evaluating the content shared here.</p>\n<p>When registering on our site, you may be asked to enter your name and e-mail address. You may, however, visit our site without registering. Your e-mail address will be verified by an email containing a unique link. If that link is visited, we know that you control the e-mail address.</p>\n<p>When registered and posting, we record the IP address that the post originated from. We also may retain server logs which include the IP address of every request to our server.</p>\n<p><a name=\"use\"></a></p>\n<h2><a href=\"#use\">What do we use your information for?</a></h2>\n<p>Any of the information we collect from you may be used in one of the following ways:</p>\n<ul>\n<li>To personalize your experience — your information helps us to better respond to your individual needs.</li>\n<li>To improve our site — we continually strive to improve our site offerings based on the information and feedback we receive from you.</li>\n<li>To improve customer service — your information helps us to more effectively respond to your customer service requests and support needs.</li>\n<li>To send periodic emails — The email address you provide may be used to send you information, notifications that you request about changes to topics or in response to your user name, respond to inquiries, and/or other requests or questions.</li>\n</ul>\n<p><a name=\"protect\"></a></p>\n<h2><a href=\"#protect\">How do we protect your information?</a></h2>\n<p>We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information.</p>\n<p><a name=\"data-retention\"></a></p>\n<h2><a href=\"#data-retention\">What is your data retention policy?</a></h2>\n<p>We will make a good faith effort to:</p>\n<ul>\n<li>Retain server logs containing the IP address of all requests to this server no more than 90 days.</li>\n<li>Retain the IP addresses associated with registered users and their posts no more than 5 years.</li>\n</ul>\n<p><a name=\"cookies\"></a></p>\n<h2><a href=\"#cookies\">Do we use cookies?</a></h2>\n<p>Yes. Cookies are small files that a site or its service provider transfers to your computer’s hard drive through your Web browser (if you allow). These cookies enable the site to recognize your browser and, if you have a registered account, associate it with your registered account.</p>\n<p>We use cookies to understand and save your preferences for future visits and compile aggregate data about site traffic and site interaction so that we can offer better site experiences and tools in the future. We may contract with third-party service providers to assist us in better understanding our site visitors. These service providers are not permitted to use the information collected on our behalf except to help us conduct and improve our business.</p>\n<p><a name=\"disclose\"></a></p>\n<h2><a href=\"#disclose\">Do we disclose any information to outside parties?</a></h2>\n<p>We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety. However, non-personally identifiable visitor information may be provided to other parties for marketing, advertising, or other uses.</p>\n<p><a name=\"third-party\"></a></p>\n<h2><a href=\"#third-party\">Third party links</a></h2>\n<p>Occasionally, at our discretion, we may include or offer third party products or services on our site. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these linked sites. Nonetheless, we seek to protect the integrity of our site and welcome any feedback about these sites.</p>\n<p><a name=\"coppa\"></a></p>\n<h2><a href=\"#coppa\">Children’s Online Privacy Protection Act Compliance</a></h2>\n<p>Our site, products and services are all directed to people who are at least 13 years old or older. If this server is in the USA, and you are under the age of 13, per the requirements of COPPA (<a href=\"https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act\">Children’s Online Privacy Protection Act</a>), do not use this site.</p>\n<p><a name=\"online\"></a></p>\n<h2><a href=\"#online\">Online Privacy Policy Only</a></h2>\n<p>This online privacy policy applies only to information collected through our site and not to information collected offline.</p>\n<p><a name=\"consent\"></a></p>\n<h2><a href=\"#consent\">Your Consent</a></h2>\n<p>By using our site, you consent to our web site privacy policy.</p>\n<p><a name=\"changes\"></a></p>\n<h2><a href=\"#changes\">Changes to our Privacy Policy</a></h2>\n<p>If we decide to change our privacy policy, we will post those changes on this page.</p>\n<p>This document is CC-BY-SA. It was last updated May 31, 2013.</p>",
  1351.         +  created_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1352.         +  updated_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1353.         +  reply_to_post_number: nil,
  1354.         +  reply_count: 0,
  1355.         +  quote_count: 0,
  1356.         +  deleted_at: nil,
  1357.         +  off_topic_count: 0,
  1358.         +  like_count: 0,
  1359.         +  incoming_link_count: 0,
  1360.         +  bookmark_count: 0,
  1361.         +  avg_time: nil,
  1362.         +  score: nil,
  1363.         +  reads: 1,
  1364.         +  post_type: 1,
  1365.         +  vote_count: 0,
  1366.         +  sort_order: 1,
  1367.         +  last_editor_id: -1,
  1368.         +  hidden: false,
  1369.         +  hidden_reason_id: nil,
  1370.         +  notify_moderators_count: 0,
  1371.         +  spam_count: 0,
  1372.         +  illegal_count: 0,
  1373.         +  inappropriate_count: 0,
  1374.         +  last_version_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1375.         +  user_deleted: false,
  1376.         +  reply_to_user_id: nil,
  1377.         +  percent_rank: 1.0,
  1378.         +  notify_user_count: 0,
  1379.         +  like_score: 0,
  1380.         +  deleted_by_id: nil,
  1381.         +  edit_reason: nil,
  1382.         +  word_count: 806,
  1383.         +  version: 1,
  1384.         +  cook_method: 1,
  1385.         +  wiki: false,
  1386.         +  baked_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1387.         +  baked_version: 1,
  1388.         +  hidden_at: nil,
  1389.         +  self_edits: 0,
  1390.         +  reply_quoted: false,
  1391.         +  via_email: false,
  1392.         +  raw_email: nil,
  1393.         +  public_version: 1,
  1394.         +  action_code: nil,
  1395.         +  image_url: nil>,
  1396.         + #<Post:0x007fb7fb065648
  1397.         +  id: 7,
  1398.         +  user_id: -1,
  1399.         +  topic_id: 4,
  1400.         +  post_number: 1,
  1401.         +  raw:
  1402.         +   "This topic, visible only to staff, is for storing images and files used in the site design. Don't delete it!\n\n\nHere's how:\n\n\n1. Reply to this topic.\n2. Upload all the images you wish to use for logos, favicons, and so forth here. (Use the upload toolbar icon in the post editor, or drag-and-drop or paste images.)\n3. Submit your reply to post it.\n4. Right click the images in your new post to get the path to the uploaded images, or click the edit icon to edit your post and retrieve the path to the images. Copy the image paths.\n5. Paste those image paths into [basic settings](/admin/site_settings/category/required).\n\n\nIf you need to enable different file type uploads, edit `authorized_extensions` in the [file settings](/admin/site_settings/category/files).",
  1403.         +  cooked:
  1404.         +   "<p>This topic, visible only to staff, is for storing images and files used in the site design. Don’t delete it!</p>\n<p>Here’s how:</p>\n<ol>\n<li>Reply to this topic.</li>\n<li>Upload all the images you wish to use for logos, favicons, and so forth here. (Use the upload toolbar icon in the post editor, or drag-and-drop or paste images.)</li>\n<li>Submit your reply to post it.</li>\n<li>Right click the images in your new post to get the path to the uploaded images, or click the edit icon to edit your post and retrieve the path to the images. Copy the image paths.</li>\n<li>Paste those image paths into <a href=\"/admin/site_settings/category/required\">basic settings</a>.</li>\n</ol>\n<p>If you need to enable different file type uploads, edit <code>authorized_extensions</code> in the <a href=\"/admin/site_settings/category/files\">file settings</a>.</p>",
  1405.         +  created_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1406.         +  updated_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1407.         +  reply_to_post_number: nil,
  1408.         +  reply_count: 0,
  1409.         +  quote_count: 0,
  1410.         +  deleted_at: nil,
  1411.         +  off_topic_count: 0,
  1412.         +  like_count: 0,
  1413.         +  incoming_link_count: 0,
  1414.         +  bookmark_count: 0,
  1415.         +  avg_time: nil,
  1416.         +  score: nil,
  1417.         +  reads: 1,
  1418.         +  post_type: 1,
  1419.         +  vote_count: 0,
  1420.         +  sort_order: 1,
  1421.         +  last_editor_id: -1,
  1422.         +  hidden: false,
  1423.         +  hidden_reason_id: nil,
  1424.         +  notify_moderators_count: 0,
  1425.         +  spam_count: 0,
  1426.         +  illegal_count: 0,
  1427.         +  inappropriate_count: 0,
  1428.         +  last_version_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1429.         +  user_deleted: false,
  1430.         +  reply_to_user_id: nil,
  1431.         +  percent_rank: 1.0,
  1432.         +  notify_user_count: 0,
  1433.         +  like_score: 0,
  1434.         +  deleted_by_id: nil,
  1435.         +  edit_reason: nil,
  1436.         +  word_count: 136,
  1437.         +  version: 1,
  1438.         +  cook_method: 1,
  1439.         +  wiki: false,
  1440.         +  baked_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1441.         +  baked_version: 1,
  1442.         +  hidden_at: nil,
  1443.         +  self_edits: 0,
  1444.         +  reply_quoted: false,
  1445.         +  via_email: false,
  1446.         +  raw_email: nil,
  1447.         +  public_version: 1,
  1448.         +  action_code: nil,
  1449.         +  image_url: nil>,
  1450.         + #<Post:0x007fb7fb065508
  1451.         +  id: 8,
  1452.         +  user_id: -1,
  1453.         +  topic_id: 5,
  1454.         +  post_number: 1,
  1455.         +  raw:
  1456.         +   "\nThe first paragraph of this pinned topic will be visible as a welcome message to all new visitors on your homepage. It's important!\n\n**Edit this** into a brief description of your community:\n\n- Who is it for?\n- What can they find here?\n- Why should they come here?\n- Where can they read more (links, resources, etc)?\n\n<img src=\"/images/welcome/discourse-edit-post-animated.gif\" width=\"508\" height=\"106\">\n\nYou may want to close this topic via the admin :wrench: (at the upper right and bottom), so that replies don't pile up on an announcement.",
  1457.         +  cooked:
  1458.         +   "<p>The first paragraph of this pinned topic will be visible as a welcome message to all new visitors on your homepage. It’s important!</p>\n<p><strong>Edit this</strong> into a brief description of your community:</p>\n<ul>\n<li>Who is it for?</li>\n<li>What can they find here?</li>\n<li>Why should they come here?</li>\n<li>Where can they read more (links, resources, etc)?</li>\n</ul>\n<p><img src=\"/images/welcome/discourse-edit-post-animated.gif\" width=\"508\" height=\"106\"></p>\n<p>You may want to close this topic via the admin <img src=\"/images/emoji/twitter/wrench.png?v=5\" title=\":wrench:\" class=\"emoji\" alt=\":wrench:\"> (at the upper right and bottom), so that replies don’t pile up on an announcement.</p>",
  1459.         +  created_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1460.         +  updated_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1461.         +  reply_to_post_number: nil,
  1462.         +  reply_count: 0,
  1463.         +  quote_count: 0,
  1464.         +  deleted_at: nil,
  1465.         +  off_topic_count: 0,
  1466.         +  like_count: 0,
  1467.         +  incoming_link_count: 0,
  1468.         +  bookmark_count: 0,
  1469.         +  avg_time: nil,
  1470.         +  score: nil,
  1471.         +  reads: 1,
  1472.         +  post_type: 1,
  1473.         +  vote_count: 0,
  1474.         +  sort_order: 1,
  1475.         +  last_editor_id: -1,
  1476.         +  hidden: false,
  1477.         +  hidden_reason_id: nil,
  1478.         +  notify_moderators_count: 0,
  1479.         +  spam_count: 0,
  1480.         +  illegal_count: 0,
  1481.         +  inappropriate_count: 0,
  1482.         +  last_version_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1483.         +  user_deleted: false,
  1484.         +  reply_to_user_id: nil,
  1485.         +  percent_rank: 1.0,
  1486.         +  notify_user_count: 0,
  1487.         +  like_score: 0,
  1488.         +  deleted_by_id: nil,
  1489.         +  edit_reason: nil,
  1490.         +  word_count: 95,
  1491.         +  version: 1,
  1492.         +  cook_method: 1,
  1493.         +  wiki: false,
  1494.         +  baked_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1495.         +  baked_version: 1,
  1496.         +  hidden_at: nil,
  1497.         +  self_edits: 0,
  1498.         +  reply_quoted: false,
  1499.         +  via_email: false,
  1500.         +  raw_email: nil,
  1501.         +  public_version: 1,
  1502.         +  action_code: nil,
  1503.         +  image_url: nil>,
  1504.         + #<Post:0x007fb7fb0653c8
  1505.         +  id: 9,
  1506.         +  user_id: -1,
  1507.         +  topic_id: 6,
  1508.         +  post_number: 1,
  1509.         +  raw:
  1510.         +   "Congratulations, you are now the proud owner of your very own [Civilized Discourse Construction Kit](http://www.discourse.org). :hatching_chick:\n\n### Getting Started\n\nIf you haven't already, launch the [setup wizard](/wizard) and go through the steps to configure your site. You can run the wizard as many times as you want, it's completely safe!\n\n### Admin Dashboard\n\nExercise your admin superpowers any time via the admin dashboard at\n\n[**/admin**](/admin)\n\nYou can also access it via the \"hamburger\" <kbd>☰</kbd> menu in the upper right: Admin functions are generally marked with the wrench :wrench:  icon, so look for that.\n\n### Staff\n\nStaff members are official representatives of this community. There are two kinds of Staff:\n\n1. **Admins**, who can do anything and configure anything on this site.\n2. **Moderators**, who can edit all posts and users, but cannot add categories or change any site settings.\n\nTo add additional staff members:\n\n- have them sign up on the site (or [send out an invitation to join via your user page](/my/invited))\n- click the admin button :wrench: on their user page\n- look for the <kbd>Grant Admin</kbd> and <kbd>Grant Moderator</kbd> buttons there\n\n### Social Logins\n\nUsers can log in with traditional local username and password accounts. You may want to add:\n\n- [Google logins](https://meta.discourse.org/t/configuring-google-oauth2-login-for-discourse/15858)\n- [Twitter logins](https://meta.discourse.org/t/configuring-twitter-login-for-discourse/13395)\n- [Facebook logins](https://meta.discourse.org/t/configuring-facebook-login-for-discourse/13394)\n- [GitHub logins](https://meta.discourse.org/t/configuring-github-login-for-discourse/13745)\n\nYou can also [set up single-sign on](https://meta.discourse.org/t/official-single-sign-on-for-discourse/13045), or even [build your own login method](https://meta.discourse.org/t/login-to-discourse-with-custom-oauth2-provider/14717).\n\n### Test Your Email\n\nEmail is required for new account signups and notifications. **Test your email to make sure it is configured correctly!**  Visit [the admin email settings](/admin/email), then enter an email address in the \"email address to test\" field and click <kbd>send test email</kbd>.\n\n- You got the test email? Great! **Read that email closely**, it has important email deliverability tips.\n- You didn't get the test email? This means your users probably aren't getting any signup or notification emails either.\n- Email deliverability can be hard. Read [**Email Service Configuration**](https://github.com/discourse/discourse/blob/master/docs/INSTALL-email.md).\n\nIf you'd like to enable *replying* to topics via email, [see this howto](https://meta.discourse.org/t/set-up-reply-via-email-support/14003).\n\n### Categories\n\nYou have three default categories:\n\n1. [Site Feedback](/category/site-feedback) – general discussion about the site itself. [It's important!](https://meta.discourse.org/t/5249)\n2. [Lounge](/category/lounge) – a perk for users at trust level 3 and higher\n3. [Staff](/category/staff) – visible only to staff (admins and moderators)\n\n**Don't create too many initial categories**, as you can overwhelm your audience. You can always add more categories, and easily bulk recategorize topics later. It's better to figure out the organization as you go rather than assuming you'll get it all right from the beginning (hint: you won't).\n\nTo add a category, visit the [categories page](/categories), then click Create Category at the upper right. You can set security per-category so only certain groups of users can see topics in that category.\n\nEvery category has an initial \"About this category\" topic. This topic will be pinned to the top of the category, and the description you enter will be used in a bunch of places. Be sure to give your new category a good, clear description, so people understand what belongs there!\n\n### Pinned Topics and Banners\n\nNote that pinning topics does work a little differently in Discourse:\n\n- Once someone reads to the bottom of a pinned topic, it is automatically unpinned for them specifically. They can change this via the personal pin controls at the bottom of the topic.\n- When staff pins a topic, they can pin it globally to all topic lists, or just within its category.\n\nIf a pin isn't visible enough, you can also turn one single topic into a **banner**. The banner topic floats on top of all topics and all primary pages. Users can permanently dismiss this floating banner by clicking the &times; in the upper right corner.\n\nTo make (or remove) a pin or a banner, use the admin wrench at the top right or bottom of the topic.\n\n### New User Sandbox and the Trust System\n\nIf your discussion area is be open to the public, new visitors will arrive that are initially strangers to the community. Discourse has a [trust system](https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/2) where users can, over time, earn the trust of the community and gain abilities to assist in governing their community.\n\nDiscourse is designed to offer safe defaults for public communities, even with no active moderation.\n\n> **0 (new) &rarr; 1 (basic) &rarr; 2 (member) &rarr; 3 (regular) &rarr; 4 (leader)**\n\nAll new users start out in a sandbox with restrictions for everyone's safety. **Trust level 0 (new) users _cannot_** &hellip;\n\n- post more than 2 hyperlinks\n- post any images or file attachments\n- send private messages\n- flag posts or topics\n- have actual links in the \"about me\" field of their profile\n- @name mention more than 2 users in a post\n\nEvery action a user can take is rate limited for safety, and especially so for new users. But don't worry, new users can [transition to trust level 1](https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/2) in about 10 minutes of reading.\n\nThese defaults are safe, but note that while in \"bootstrap mode\" after you set up your site, all new users will be granted trust level 1 until you reach 50 users.\n\n### Building Your Community\n\nBe patient; building communities is hard. Before launching, be sure to:\n\n1. Clearly define your community's purpose in a pinned or banner topic.\n2. Seed the discussion with interesting topics.\n3. Commit to visiting and participating regularly.\n4. Link your community everywhere and promote it so people can find it.\n\nThere's more advice at [Building a Discourse Community](http://blog.discourse.org/2014/08/building-a-discourse-community/).\n\n### Sending Invitations\n\nOne way to get people to visit your site is to invite them via email. You can do this via:\n\n- The Invite button at the bottom of the topic.\n- The Invite area on your profile page.\n\nThe invite area on your profile page also includes advanced Staff methods of [sending bulk invites](https://meta.discourse.org/t/sending-bulk-user-invites/16468), and [inviting users into groups](https://meta.discourse.org/t/invite-individual-users-to-a-group/15544).\n\n### Maintenance\n\n- One CPU and 1GB of memory, with swap, is the minimum for a basic Discourse community. As your community grows you may need more memory or CPU resources.\n\n- [Our Docker container install](https://github.com/discourse/discourse/blob/master/docs/INSTALL.md) is the only one we officially support. It guarantees easy updates, and all recommended optimizations from the Discourse team.\n\n- You should get an email notification when new versions of Discourse are released. To update your instance via our easy one click upgrade process, visit [/admin/upgrade](/admin/upgrade).\n\n- Some other things you might eventually want to set up:\n   - [Automatic daily backups](https://meta.discourse.org/t/configure-automatic-backups-for-discourse/14855)\n   - [HTTPS support](https://meta.discourse.org/t/allowing-ssl-for-your-discourse-docker-setup/13847)\n   - [Content Delivery Network support](https://meta.discourse.org/t/enable-a-cdn-for-your-discourse/14857)\n   - [Reply via Email](https://meta.discourse.org/t/set-up-reply-via-email-support/14003)\n   - [Import and Export your data](https://meta.discourse.org/t/move-your-discourse-instance-to-a-different-server/15721)\n   - [Change the domain name](https://meta.discourse.org/t/how-do-i-change-the-domain-name/16098)\n   - [Multiple Discourse instances on the same server](https://meta.discourse.org/t/multisite-configuration-with-docker/14084)\n   - [Import old content from vBulletin, PHPbb, Vanilla, Drupal, BBPress, etc](https://github.com/discourse/discourse/tree/master/script/import_scripts)\n   - A firewall on your server? [Configure firewall](https://meta.discourse.org/t/configure-a-firewall-for-discourse/20584).\n   - A user friendly [offline page when rebuilding or upgrading?](https://meta.discourse.org/t/adding-an-offline-page-when-rebuilding/45238)\n   - Embed Discourse [in your WordPress install](https://github.com/discourse/wp-discourse), or [on your static HTML site](http://eviltrout.com/2014/01/22/embedding-discourse.html)\n\n### Need more Help?\n\nFor more assistance on configuring and running your Discourse forum, see [meta.discourse.org](http://meta.discourse.org).\n\n----\n\nHave suggestions to improve or update this guide? Submit a [pull request](https://github.com/discourse/discourse/blob/master/docs/ADMIN-QUICK-START-GUIDE.md).",
  1511.         +  cooked:
  1512.         +   "<p>Congratulations, you are now the proud owner of your very own <a href=\"http://www.discourse.org\">Civilized Discourse Construction Kit</a>. <img src=\"/images/emoji/twitter/hatching_chick.png?v=5\" title=\":hatching_chick:\" class=\"emoji\" alt=\":hatching_chick:\"></p>\n<h3>Getting Started</h3>\n<p>If you haven’t already, launch the <a href=\"/wizard\">setup wizard</a> and go through the steps to configure your site. You can run the wizard as many times as you want, it’s completely safe!</p>\n<h3>Admin Dashboard</h3>\n<p>Exercise your admin superpowers any time via the admin dashboard at</p>\n<p><a href=\"/admin\"><strong>/admin</strong></a></p>\n<p>You can also access it via the “hamburger” <kbd>☰</kbd> menu in the upper right: Admin functions are generally marked with the wrench <img src=\"/images/emoji/twitter/wrench.png?v=5\" title=\":wrench:\" class=\"emoji\" alt=\":wrench:\">  icon, so look for that.</p>\n<h3>Staff</h3>\n<p>Staff members are official representatives of this community. There are two kinds of Staff:</p>\n<ol>\n<li>\n<strong>Admins</strong>, who can do anything and configure anything on this site.</li>\n<li>\n<strong>Moderators</strong>, who can edit all posts and users, but cannot add categories or change any site settings.</li>\n</ol>\n<p>To add additional staff members:</p>\n<ul>\n<li>have them sign up on the site (or <a href=\"/my/invited\">send out an invitation to join via your user page</a>)</li>\n<li>click the admin button <img src=\"/images/emoji/twitter/wrench.png?v=5\" title=\":wrench:\" class=\"emoji\" alt=\":wrench:\"> on their user page</li>\n<li>look for the <kbd>Grant Admin</kbd> and <kbd>Grant Moderator</kbd> buttons there</li>\n</ul>\n<h3>Social Logins</h3>\n<p>Users can log in with traditional local username and password accounts. You may want to add:</p>\n<ul>\n<li><a href=\"https://meta.discourse.org/t/configuring-google-oauth2-login-for-discourse/15858\">Google logins</a></li>\n<li><a href=\"https://meta.discourse.org/t/configuring-twitter-login-for-discourse/13395\">Twitter logins</a></li>\n<li><a href=\"https://meta.discourse.org/t/configuring-facebook-login-for-discourse/13394\">Facebook logins</a></li>\n<li><a href=\"https://meta.discourse.org/t/configuring-github-login-for-discourse/13745\">GitHub logins</a></li>\n</ul>\n<p>You can also <a href=\"https://meta.discourse.org/t/official-single-sign-on-for-discourse/13045\">set up single-sign on</a>, or even <a href=\"https://meta.discourse.org/t/login-to-discourse-with-custom-oauth2-provider/14717\">build your own login method</a>.</p>\n<h3>Test Your Email</h3>\n<p>Email is required for new account signups and notifications. <strong>Test your email to make sure it is configured correctly!</strong>  Visit <a href=\"/admin/email\">the admin email settings</a>, then enter an email address in the “email address to test” field and click <kbd>send test email</kbd>.</p>\n<ul>\n<li>You got the test email? Great! <strong>Read that email closely</strong>, it has important email deliverability tips.</li>\n<li>You didn’t get the test email? This means your users probably aren’t getting any signup or notification emails either.</li>\n<li>Email deliverability can be hard. Read <a href=\"https://github.com/discourse/discourse/blob/master/docs/INSTALL-email.md\"><strong>Email Service Configuration</strong></a>.</li>\n</ul>\n<p>If you’d like to enable <em>replying</em> to topics via email, <a href=\"https://meta.discourse.org/t/set-up-reply-via-email-support/14003\">see this howto</a>.</p>\n<h3>Categories</h3>\n<p>You have three default categories:</p>\n<ol>\n<li>\n<a href=\"/category/site-feedback\">Site Feedback</a> – general discussion about the site itself. <a href=\"https://meta.discourse.org/t/5249\">It’s important!</a>\n</li>\n<li>\n<a href=\"/category/lounge\">Lounge</a> – a perk for users at trust level 3 and higher</li>\n<li>\n<a href=\"/category/staff\">Staff</a> – visible only to staff (admins and moderators)</li>\n</ol>\n<p><strong>Don’t create too many initial categories</strong>, as you can overwhelm your audience. You can always add more categories, and easily bulk recategorize topics later. It’s better to figure out the organization as you go rather than assuming you’ll get it all right from the beginning (hint: you won’t).</p>\n<p>To add a category, visit the <a href=\"/categories\">categories page</a>, then click Create Category at the upper right. You can set security per-category so only certain groups of users can see topics in that category.</p>\n<p>Every category has an initial “About this category” topic. This topic will be pinned to the top of the category, and the description you enter will be used in a bunch of places. Be sure to give your new category a good, clear description, so people understand what belongs there!</p>\n<h3>Pinned Topics and Banners</h3>\n<p>Note that pinning topics does work a little differently in Discourse:</p>\n<ul>\n<li>Once someone reads to the bottom of a pinned topic, it is automatically unpinned for them specifically. They can change this via the personal pin controls at the bottom of the topic.</li>\n<li>When staff pins a topic, they can pin it globally to all topic lists, or just within its category.</li>\n</ul>\n<p>If a pin isn’t visible enough, you can also turn one single topic into a <strong>banner</strong>. The banner topic floats on top of all topics and all primary pages. Users can permanently dismiss this floating banner by clicking the × in the upper right corner.</p>\n<p>To make (or remove) a pin or a banner, use the admin wrench at the top right or bottom of the topic.</p>\n<h3>New User Sandbox and the Trust System</h3>\n<p>If your discussion area is be open to the public, new visitors will arrive that are initially strangers to the community. Discourse has a <a href=\"https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/2\">trust system</a> where users can, over time, earn the trust of the community and gain abilities to assist in governing their community.</p>\n<p>Discourse is designed to offer safe defaults for public communities, even with no active moderation.</p>\n<blockquote>\n<p><strong>0 (new) → 1 (basic) → 2 (member) → 3 (regular) → 4 (leader)</strong></p>\n</blockquote>\n<p>All new users start out in a sandbox with restrictions for everyone’s safety. <strong>Trust level 0 (new) users <em>cannot</em></strong> …</p>\n<ul>\n<li>post more than 2 hyperlinks</li>\n<li>post any images or file attachments</li>\n<li>send private messages</li>\n<li>flag posts or topics</li>\n<li>have actual links in the “about me” field of their profile</li>\n<li>\n<span class=\"mention\">@name</span> mention more than 2 users in a post</li>\n</ul>\n<p>Every action a user can take is rate limited for safety, and especially so for new users. But don’t worry, new users can <a href=\"https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/2\">transition to trust level 1</a> in about 10 minutes of reading.</p>\n<p>These defaults are safe, but note that while in “bootstrap mode” after you set up your site, all new users will be granted trust level 1 until you reach 50 users.</p>\n<h3>Building Your Community</h3>\n<p>Be patient; building communities is hard. Before launching, be sure to:</p>\n<ol>\n<li>Clearly define your community’s purpose in a pinned or banner topic.</li>\n<li>Seed the discussion with interesting topics.</li>\n<li>Commit to visiting and participating regularly.</li>\n<li>Link your community everywhere and promote it so people can find it.</li>\n</ol>\n<p>There’s more advice at <a href=\"http://blog.discourse.org/2014/08/building-a-discourse-community/\">Building a Discourse Community</a>.</p>\n<h3>Sending Invitations</h3>\n<p>One way to get people to visit your site is to invite them via email. You can do this via:</p>\n<ul>\n<li>The Invite button at the bottom of the topic.</li>\n<li>The Invite area on your profile page.</li>\n</ul>\n<p>The invite area on your profile page also includes advanced Staff methods of <a href=\"https://meta.discourse.org/t/sending-bulk-user-invites/16468\">sending bulk invites</a>, and <a href=\"https://meta.discourse.org/t/invite-individual-users-to-a-group/15544\">inviting users into groups</a>.</p>\n<h3>Maintenance</h3>\n<ul>\n<li>\n<p>One CPU and 1GB of memory, with swap, is the minimum for a basic Discourse community. As your community grows you may need more memory or CPU resources.</p>\n</li>\n<li>\n<p><a href=\"https://github.com/discourse/discourse/blob/master/docs/INSTALL.md\">Our Docker container install</a> is the only one we officially support. It guarantees easy updates, and all recommended optimizations from the Discourse team.</p>\n</li>\n<li>\n<p>You should get an email notification when new versions of Discourse are released. To update your instance via our easy one click upgrade process, visit <a href=\"/admin/upgrade\">/admin/upgrade</a>.</p>\n</li>\n<li>\n<p>Some other things you might eventually want to set up:</p>\n<ul>\n<li><a href=\"https://meta.discourse.org/t/configure-automatic-backups-for-discourse/14855\">Automatic daily backups</a></li>\n<li><a href=\"https://meta.discourse.org/t/allowing-ssl-for-your-discourse-docker-setup/13847\">HTTPS support</a></li>\n<li><a href=\"https://meta.discourse.org/t/enable-a-cdn-for-your-discourse/14857\">Content Delivery Network support</a></li>\n<li><a href=\"https://meta.discourse.org/t/set-up-reply-via-email-support/14003\">Reply via Email</a></li>\n<li><a href=\"https://meta.discourse.org/t/move-your-discourse-instance-to-a-different-server/15721\">Import and Export your data</a></li>\n<li><a href=\"https://meta.discourse.org/t/how-do-i-change-the-domain-name/16098\">Change the domain name</a></li>\n<li><a href=\"https://meta.discourse.org/t/multisite-configuration-with-docker/14084\">Multiple Discourse instances on the same server</a></li>\n<li><a href=\"https://github.com/discourse/discourse/tree/master/script/import_scripts\">Import old content from vBulletin, PHPbb, Vanilla, Drupal, BBPress, etc</a></li>\n<li>A firewall on your server? <a href=\"https://meta.discourse.org/t/configure-a-firewall-for-discourse/20584\">Configure firewall</a>.</li>\n<li>A user friendly <a href=\"https://meta.discourse.org/t/adding-an-offline-page-when-rebuilding/45238\">offline page when rebuilding or upgrading?</a>\n</li>\n<li>Embed Discourse <a href=\"https://github.com/discourse/wp-discourse\">in your WordPress install</a>, or <a href=\"http://eviltrout.com/2014/01/22/embedding-discourse.html\">on your static HTML site</a>\n</li>\n</ul>\n</li>\n</ul>\n<h3>Need more Help?</h3>\n<p>For more assistance on configuring and running your Discourse forum, see <a href=\"http://meta.discourse.org\">meta.discourse.org</a>.</p>\n<hr>\n<p>Have suggestions to improve or update this guide? Submit a <a href=\"https://github.com/discourse/discourse/blob/master/docs/ADMIN-QUICK-START-GUIDE.md\">pull request</a>.</p>",
  1513.         +  created_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1514.         +  updated_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1515.         +  reply_to_post_number: nil,
  1516.         +  reply_count: 0,
  1517.         +  quote_count: 0,
  1518.         +  deleted_at: nil,
  1519.         +  off_topic_count: 0,
  1520.         +  like_count: 0,
  1521.         +  incoming_link_count: 0,
  1522.         +  bookmark_count: 0,
  1523.         +  avg_time: nil,
  1524.         +  score: nil,
  1525.         +  reads: 1,
  1526.         +  post_type: 1,
  1527.         +  vote_count: 0,
  1528.         +  sort_order: 1,
  1529.         +  last_editor_id: -1,
  1530.         +  hidden: false,
  1531.         +  hidden_reason_id: nil,
  1532.         +  notify_moderators_count: 0,
  1533.         +  spam_count: 0,
  1534.         +  illegal_count: 0,
  1535.         +  inappropriate_count: 0,
  1536.         +  last_version_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1537.         +  user_deleted: false,
  1538.         +  reply_to_user_id: nil,
  1539.         +  percent_rank: 1.0,
  1540.         +  notify_user_count: 0,
  1541.         +  like_score: 0,
  1542.         +  deleted_by_id: nil,
  1543.         +  edit_reason: nil,
  1544.         +  word_count: 1490,
  1545.         +  version: 1,
  1546.         +  cook_method: 1,
  1547.         +  wiki: false,
  1548.         +  baked_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1549.         +  baked_version: 1,
  1550.         +  hidden_at: nil,
  1551.         +  self_edits: 0,
  1552.         +  reply_quoted: false,
  1553.         +  via_email: false,
  1554.         +  raw_email: nil,
  1555.         +  public_version: 1,
  1556.         +  action_code: nil,
  1557.         +  image_url: nil>,
  1558.         + #<Post:0x007fb7fb0651c0
  1559.         +  id: 8975,
  1560.         +  user_id: 5727,
  1561.         +  topic_id: 9308,
  1562.         +  post_number: 1,
  1563.         +  raw: "Hello world",
  1564.         +  cooked: "<p>Hello world</p>",
  1565.         +  created_at: Tue, 12 Sep 2017 16:19:55 UTC +00:00,
  1566.         +  updated_at: Tue, 12 Sep 2017 16:19:55 UTC +00:00,
  1567.         +  reply_to_post_number: nil,
  1568.         +  reply_count: 0,
  1569.         +  quote_count: 0,
  1570.         +  deleted_at: nil,
  1571.         +  off_topic_count: 0,
  1572.         +  like_count: 0,
  1573.         +  incoming_link_count: 0,
  1574.         +  bookmark_count: 0,
  1575.         +  avg_time: nil,
  1576.         +  score: nil,
  1577.         +  reads: 0,
  1578.         +  post_type: 1,
  1579.         +  vote_count: 0,
  1580.         +  sort_order: 1,
  1581.         +  last_editor_id: 5727,
  1582.         +  hidden: false,
  1583.         +  hidden_reason_id: nil,
  1584.         +  notify_moderators_count: 0,
  1585.         +  spam_count: 0,
  1586.         +  illegal_count: 0,
  1587.         +  inappropriate_count: 0,
  1588.         +  last_version_at: Tue, 12 Sep 2017 16:19:55 UTC +00:00,
  1589.         +  user_deleted: false,
  1590.         +  reply_to_user_id: nil,
  1591.         +  percent_rank: 1.0,
  1592.         +  notify_user_count: 0,
  1593.         +  like_score: 0,
  1594.         +  deleted_by_id: nil,
  1595.         +  edit_reason: nil,
  1596.         +  word_count: 2,
  1597.         +  version: 1,
  1598.         +  cook_method: 1,
  1599.         +  wiki: false,
  1600.         +  baked_at: Tue, 12 Sep 2017 16:19:55 UTC +00:00,
  1601.         +  baked_version: 1,
  1602.         +  hidden_at: nil,
  1603.         +  self_edits: 0,
  1604.         +  reply_quoted: false,
  1605.         +  via_email: false,
  1606.         +  raw_email: nil,
  1607.         +  public_version: 1,
  1608.         +  action_code: nil,
  1609.         +  image_url: nil>,
  1610.         + #<Post:0x007fb7fb065030
  1611.         +  id: 3,
  1612.         +  user_id: -1,
  1613.         +  topic_id: 2,
  1614.         +  post_number: 1,
  1615.         +  raw:
  1616.         +   "<a name=\"civilized\"></a>\n\n## [This is a Civilized Place for Public Discussion](#civilized)\n\nPlease treat this discussion forum with the same respect you would a public park.  We, too, are a shared community resource &mdash; a place to share skills, knowledge and interests through ongoing conversation.\n\nThese are not hard and fast rules, merely guidelines to aid the human judgment of our community and keep this a clean and well-lighted place for civilized public discourse.\n\n<a name=\"improve\"></a>\n\n## [Improve the Discussion](#improve)\n\nHelp us make this a great place for discussion by always working to improve the discussion in some way, however small. If you are not sure your post adds to the conversation, think over what you want to say and try again later.\n\nThe topics discussed here matter to us, and we want you to act as if they matter to you, too. Be respectful of the topics and the people discussing them, even if you disagree with some of what is being said.\n\nOne way to improve the discussion is by discovering ones that are already happening. Spend time browsing the topics here before replying or starting your own, and you’ll have a better chance of meeting others who share your interests.\n\n<a name=\"agreeable\"></a>\n\n## [Be Agreeable, Even When You Disagree](#agreeable)\n\nYou may wish to respond to something by disagreeing with it. That’s fine. But remember to _criticize ideas, not people_. Please avoid:\n\n*   Name-calling\n*   Ad hominem attacks\n*   Responding to a post’s tone instead of its actual content\n*   Knee-jerk contradiction\n\nInstead, provide reasoned counter-arguments that improve the conversation.\n\n<a name=\"participate\"></a>\n\n## [Your Participation Counts](#participate)\n\nThe conversations we have here set the tone for every new arrival. Help us influence the future of this community by choosing to engage in discussions that make this forum an interesting place to be &mdash; and avoiding those that do not.\n\nDiscourse provides tools that enable the community to collectively identify the best (and worst) contributions: bookmarks, likes, flags, replies, edits, and so forth. Use these tools to improve your own experience, and everyone else’s, too.\n\nLet’s leave our community better than we found it.\n\n<a name=\"flag-problems\"></a>\n\n## [If You See a Problem, Flag It](#flag-problems)\n\nModerators have special authority; they are responsible for this forum. But so are you. With your help, moderators can be community facilitators, not just janitors or police.\n\nWhen you see bad behavior, don’t reply. It encourages the bad behavior by acknowledging it, consumes your energy, and wastes everyone’s time. _Just flag it_. If enough flags accrue, action will be taken, either automatically or by moderator intervention.\n\nIn order to maintain our community, moderators reserve the right to remove any content and any user account for any reason at any time. Moderators do not preview new posts; the moderators and site operators take no responsibility for any content posted by the community.\n\n<a name=\"be-civil\"></a>\n\n## [Always Be Civil](#be-civil)\n\nNothing sabotages a healthy conversation like rudeness:\n\n*   Be civil. Don’t post anything that a reasonable person would consider offensive, abusive, or hate speech.\n*   Keep it clean. Don’t post anything obscene or sexually explicit.\n*   Respect each other. Don’t harass or grief anyone, impersonate people, or expose their private information.\n*   Respect our forum. Don’t post spam or otherwise vandalize the forum.\n\nThese are not concrete terms with precise definitions &mdash; avoid even the _appearance_ of any of these things. If you’re unsure, ask yourself how you would feel if your post was featured on the front page of the New York Times.\n\nThis is a public forum, and search engines index these discussions. Keep the language, links, and images safe for family and friends.\n\n<a name=\"keep-tidy\"></a>\n\n## [Keep It Tidy](#keep-tidy)\n\nMake the effort to put things in the right place, so that we can spend more time discussing and less cleaning up. So:\n\n*   Don’t start a topic in the wrong category.\n*   Don’t cross-post the same thing in multiple topics.\n*   Don’t post no-content replies.\n*   Don’t divert a topic by changing it midstream.\n*   Don’t sign your posts &mdash; every post has your profile information attached to it.\n\nRather than posting “+1” or “Agreed”, use the Like button. Rather than taking an existing topic in a radically different direction, use Reply as a Linked Topic.\n\n<a name=\"stealing\"></a>\n\n## [Post Only Your Own Stuff](#stealing)\n\nYou may not post anything digital that belongs to someone else without permission. You may not post descriptions of, links to, or methods for stealing someone’s intellectual property (software, video, audio, images), or for breaking any other law.\n\n<a name=\"power\"></a>\n\n## [Powered by You](#power)\n\nThis site is operated by your [friendly local staff](/about) and *you*, the community. If you have any further questions about how things should work here, open a new topic in the [site feedback category](/c/site-feedback) and let's discuss! If there's a critical or urgent issue that can't be handled by a meta topic or flag, contact us via the [staff page](/about).\n\n<a name=\"tos\"></a>\n\n## [Terms of Service](#tos)\n\nYes, legalese is boring, but we must protect ourselves &ndash; and by extension, you and your data &ndash; against unfriendly folks. We have a [Terms of Service](/tos) describing your (and our) behavior and rights related to content, privacy, and laws. To use this service, you must agree to abide by our [TOS](/tos).",
  1617.         +  cooked:
  1618.         +   "<p><a name=\"civilized\"></a></p>\n<h2><a href=\"#civilized\">This is a Civilized Place for Public Discussion</a></h2>\n<p>Please treat this discussion forum with the same respect you would a public park.  We, too, are a shared community resource — a place to share skills, knowledge and interests through ongoing conversation.</p>\n<p>These are not hard and fast rules, merely guidelines to aid the human judgment of our community and keep this a clean and well-lighted place for civilized public discourse.</p>\n<p><a name=\"improve\"></a></p>\n<h2><a href=\"#improve\">Improve the Discussion</a></h2>\n<p>Help us make this a great place for discussion by always working to improve the discussion in some way, however small. If you are not sure your post adds to the conversation, think over what you want to say and try again later.</p>\n<p>The topics discussed here matter to us, and we want you to act as if they matter to you, too. Be respectful of the topics and the people discussing them, even if you disagree with some of what is being said.</p>\n<p>One way to improve the discussion is by discovering ones that are already happening. Spend time browsing the topics here before replying or starting your own, and you’ll have a better chance of meeting others who share your interests.</p>\n<p><a name=\"agreeable\"></a></p>\n<h2><a href=\"#agreeable\">Be Agreeable, Even When You Disagree</a></h2>\n<p>You may wish to respond to something by disagreeing with it. That’s fine. But remember to <em>criticize ideas, not people</em>. Please avoid:</p>\n<ul>\n<li>Name-calling</li>\n<li>Ad hominem attacks</li>\n<li>Responding to a post’s tone instead of its actual content</li>\n<li>Knee-jerk contradiction</li>\n</ul>\n<p>Instead, provide reasoned counter-arguments that improve the conversation.</p>\n<p><a name=\"participate\"></a></p>\n<h2><a href=\"#participate\">Your Participation Counts</a></h2>\n<p>The conversations we have here set the tone for every new arrival. Help us influence the future of this community by choosing to engage in discussions that make this forum an interesting place to be — and avoiding those that do not.</p>\n<p>Discourse provides tools that enable the community to collectively identify the best (and worst) contributions: bookmarks, likes, flags, replies, edits, and so forth. Use these tools to improve your own experience, and everyone else’s, too.</p>\n<p>Let’s leave our community better than we found it.</p>\n<p><a name=\"flag-problems\"></a></p>\n<h2><a href=\"#flag-problems\">If You See a Problem, Flag It</a></h2>\n<p>Moderators have special authority; they are responsible for this forum. But so are you. With your help, moderators can be community facilitators, not just janitors or police.</p>\n<p>When you see bad behavior, don’t reply. It encourages the bad behavior by acknowledging it, consumes your energy, and wastes everyone’s time. <em>Just flag it</em>. If enough flags accrue, action will be taken, either automatically or by moderator intervention.</p>\n<p>In order to maintain our community, moderators reserve the right to remove any content and any user account for any reason at any time. Moderators do not preview new posts; the moderators and site operators take no responsibility for any content posted by the community.</p>\n<p><a name=\"be-civil\"></a></p>\n<h2><a href=\"#be-civil\">Always Be Civil</a></h2>\n<p>Nothing sabotages a healthy conversation like rudeness:</p>\n<ul>\n<li>Be civil. Don’t post anything that a reasonable person would consider offensive, abusive, or hate speech.</li>\n<li>Keep it clean. Don’t post anything obscene or sexually explicit.</li>\n<li>Respect each other. Don’t harass or grief anyone, impersonate people, or expose their private information.</li>\n<li>Respect our forum. Don’t post spam or otherwise vandalize the forum.</li>\n</ul>\n<p>These are not concrete terms with precise definitions — avoid even the <em>appearance</em> of any of these things. If you’re unsure, ask yourself how you would feel if your post was featured on the front page of the New York Times.</p>\n<p>This is a public forum, and search engines index these discussions. Keep the language, links, and images safe for family and friends.</p>\n<p><a name=\"keep-tidy\"></a></p>\n<h2><a href=\"#keep-tidy\">Keep It Tidy</a></h2>\n<p>Make the effort to put things in the right place, so that we can spend more time discussing and less cleaning up. So:</p>\n<ul>\n<li>Don’t start a topic in the wrong category.</li>\n<li>Don’t cross-post the same thing in multiple topics.</li>\n<li>Don’t post no-content replies.</li>\n<li>Don’t divert a topic by changing it midstream.</li>\n<li>Don’t sign your posts — every post has your profile information attached to it.</li>\n</ul>\n<p>Rather than posting “+1” or “Agreed”, use the Like button. Rather than taking an existing topic in a radically different direction, use Reply as a Linked Topic.</p>\n<p><a name=\"stealing\"></a></p>\n<h2><a href=\"#stealing\">Post Only Your Own Stuff</a></h2>\n<p>You may not post anything digital that belongs to someone else without permission. You may not post descriptions of, links to, or methods for stealing someone’s intellectual property (software, video, audio, images), or for breaking any other law.</p>\n<p><a name=\"power\"></a></p>\n<h2><a href=\"#power\">Powered by You</a></h2>\n<p>This site is operated by your <a href=\"/about\">friendly local staff</a> and <em>you</em>, the community. If you have any further questions about how things should work here, open a new topic in the <a href=\"/c/site-feedback\">site feedback category</a> and let’s discuss! If there’s a critical or urgent issue that can’t be handled by a meta topic or flag, contact us via the <a href=\"/about\">staff page</a>.</p>\n<p><a name=\"tos\"></a></p>\n<h2><a href=\"#tos\">Terms of Service</a></h2>\n<p>Yes, legalese is boring, but we must protect ourselves – and by extension, you and your data – against unfriendly folks. We have a <a href=\"/tos\">Terms of Service</a> describing your (and our) behavior and rights related to content, privacy, and laws. To use this service, you must agree to abide by our <a href=\"/tos\">TOS</a>.</p>",
  1619.         +  created_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  1620.         +  updated_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  1621.         +  reply_to_post_number: nil,
  1622.         +  reply_count: 0,
  1623.         +  quote_count: 0,
  1624.         +  deleted_at: nil,
  1625.         +  off_topic_count: 0,
  1626.         +  like_count: 0,
  1627.         +  incoming_link_count: 0,
  1628.         +  bookmark_count: 0,
  1629.         +  avg_time: nil,
  1630.         +  score: nil,
  1631.         +  reads: 1,
  1632.         +  post_type: 1,
  1633.         +  vote_count: 0,
  1634.         +  sort_order: 1,
  1635.         +  last_editor_id: -1,
  1636.         +  hidden: false,
  1637.         +  hidden_reason_id: nil,
  1638.         +  notify_moderators_count: 0,
  1639.         +  spam_count: 0,
  1640.         +  illegal_count: 0,
  1641.         +  inappropriate_count: 0,
  1642.         +  last_version_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  1643.         +  user_deleted: false,
  1644.         +  reply_to_user_id: nil,
  1645.         +  percent_rank: 1.0,
  1646.         +  notify_user_count: 0,
  1647.         +  like_score: 0,
  1648.         +  deleted_by_id: nil,
  1649.         +  edit_reason: nil,
  1650.         +  word_count: 926,
  1651.         +  version: 1,
  1652.         +  cook_method: 1,
  1653.         +  wiki: false,
  1654.         +  baked_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  1655.         +  baked_version: 1,
  1656.         +  hidden_at: nil,
  1657.         +  self_edits: 0,
  1658.         +  reply_quoted: false,
  1659.         +  via_email: false,
  1660.         +  raw_email: nil,
  1661.         +  public_version: 1,
  1662.         +  action_code: nil,
  1663.         +  image_url: nil>,
  1664.         + #<Post:0x007fb7fb064ec8
  1665.         +  id: 2,
  1666.         +  user_id: -1,
  1667.         +  topic_id: 1,
  1668.         +  post_number: 2,
  1669.         +  raw:
  1670.         +   "Edit the first post in this topic to change the contents of the Terms of Service page.",
  1671.         +  cooked:
  1672.         +   "<p>Edit the first post in this topic to change the contents of the Terms of Service page.</p>",
  1673.         +  created_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  1674.         +  updated_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  1675.         +  reply_to_post_number: nil,
  1676.         +  reply_count: 0,
  1677.         +  quote_count: 0,
  1678.         +  deleted_at: nil,
  1679.         +  off_topic_count: 0,
  1680.         +  like_count: 0,
  1681.         +  incoming_link_count: 0,
  1682.         +  bookmark_count: 0,
  1683.         +  avg_time: nil,
  1684.         +  score: nil,
  1685.         +  reads: 1,
  1686.         +  post_type: 1,
  1687.         +  vote_count: 0,
  1688.         +  sort_order: 2,
  1689.         +  last_editor_id: -1,
  1690.         +  hidden: false,
  1691.         +  hidden_reason_id: nil,
  1692.         +  notify_moderators_count: 0,
  1693.         +  spam_count: 0,
  1694.         +  illegal_count: 0,
  1695.         +  inappropriate_count: 0,
  1696.         +  last_version_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  1697.         +  user_deleted: false,
  1698.         +  reply_to_user_id: nil,
  1699.         +  percent_rank: 1.0,
  1700.         +  notify_user_count: 0,
  1701.         +  like_score: 0,
  1702.         +  deleted_by_id: nil,
  1703.         +  edit_reason: nil,
  1704.         +  word_count: 17,
  1705.         +  version: 1,
  1706.         +  cook_method: 1,
  1707.         +  wiki: false,
  1708.         +  baked_at: Tue, 12 Sep 2017 12:24:45 UTC +00:00,
  1709.         +  baked_version: 1,
  1710.         +  hidden_at: nil,
  1711.         +  self_edits: 0,
  1712.         +  reply_quoted: false,
  1713.         +  via_email: false,
  1714.         +  raw_email: nil,
  1715.         +  public_version: 1,
  1716.         +  action_code: nil,
  1717.         +  image_url: nil>,
  1718.         + #<Post:0x007fb7fb064d60
  1719.         +  id: 8976,
  1720.         +  user_id: 5727,
  1721.         +  topic_id: 9308,
  1722.         +  post_number: 2,
  1723.         +  raw: "Hello world",
  1724.         +  cooked: "<p>Hello world</p>",
  1725.         +  created_at: Tue, 12 Sep 2017 16:19:55 UTC +00:00,
  1726.         +  updated_at: Tue, 12 Sep 2017 16:19:55 UTC +00:00,
  1727.         +  reply_to_post_number: nil,
  1728.         +  reply_count: 0,
  1729.         +  quote_count: 0,
  1730.         +  deleted_at: nil,
  1731.         +  off_topic_count: 0,
  1732.         +  like_count: 0,
  1733.         +  incoming_link_count: 0,
  1734.         +  bookmark_count: 0,
  1735.         +  avg_time: nil,
  1736.         +  score: nil,
  1737.         +  reads: 0,
  1738.         +  post_type: 1,
  1739.         +  vote_count: 0,
  1740.         +  sort_order: 2,
  1741.         +  last_editor_id: 5727,
  1742.         +  hidden: false,
  1743.         +  hidden_reason_id: nil,
  1744.         +  notify_moderators_count: 0,
  1745.         +  spam_count: 0,
  1746.         +  illegal_count: 0,
  1747.         +  inappropriate_count: 0,
  1748.         +  last_version_at: Tue, 12 Sep 2017 16:19:55 UTC +00:00,
  1749.         +  user_deleted: false,
  1750.         +  reply_to_user_id: nil,
  1751.         +  percent_rank: 1.0,
  1752.         +  notify_user_count: 0,
  1753.         +  like_score: 0,
  1754.         +  deleted_by_id: nil,
  1755.         +  edit_reason: nil,
  1756.         +  word_count: 2,
  1757.         +  version: 1,
  1758.         +  cook_method: 1,
  1759.         +  wiki: false,
  1760.         +  baked_at: Tue, 12 Sep 2017 16:19:55 UTC +00:00,
  1761.         +  baked_version: 1,
  1762.         +  hidden_at: nil,
  1763.         +  self_edits: 0,
  1764.         +  reply_quoted: false,
  1765.         +  via_email: false,
  1766.         +  raw_email: nil,
  1767.         +  public_version: 1,
  1768.         +  action_code: nil,
  1769.         +  image_url: nil>,
  1770.         + #<Post:0x007fb7fb064bf8
  1771.         +  id: 4,
  1772.         +  user_id: -1,
  1773.         +  topic_id: 2,
  1774.         +  post_number: 2,
  1775.         +  raw:
  1776.         +   "Edit the first post in this topic to change the contents of the FAQ/Guidelines page.",
  1777.         +  cooked:
  1778.         +   "<p>Edit the first post in this topic to change the contents of the FAQ/Guidelines page.</p>",
  1779.         +  created_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1780.         +  updated_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1781.         +  reply_to_post_number: nil,
  1782.         +  reply_count: 0,
  1783.         +  quote_count: 0,
  1784.         +  deleted_at: nil,
  1785.         +  off_topic_count: 0,
  1786.         +  like_count: 0,
  1787.         +  incoming_link_count: 0,
  1788.         +  bookmark_count: 0,
  1789.         +  avg_time: nil,
  1790.         +  score: nil,
  1791.         +  reads: 1,
  1792.         +  post_type: 1,
  1793.         +  vote_count: 0,
  1794.         +  sort_order: 2,
  1795.         +  last_editor_id: -1,
  1796.         +  hidden: false,
  1797.         +  hidden_reason_id: nil,
  1798.         +  notify_moderators_count: 0,
  1799.         +  spam_count: 0,
  1800.         +  illegal_count: 0,
  1801.         +  inappropriate_count: 0,
  1802.         +  last_version_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1803.         +  user_deleted: false,
  1804.         +  reply_to_user_id: nil,
  1805.         +  percent_rank: 1.0,
  1806.         +  notify_user_count: 0,
  1807.         +  like_score: 0,
  1808.         +  deleted_by_id: nil,
  1809.         +  edit_reason: nil,
  1810.         +  word_count: 16,
  1811.         +  version: 1,
  1812.         +  cook_method: 1,
  1813.         +  wiki: false,
  1814.         +  baked_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1815.         +  baked_version: 1,
  1816.         +  hidden_at: nil,
  1817.         +  self_edits: 0,
  1818.         +  reply_quoted: false,
  1819.         +  via_email: false,
  1820.         +  raw_email: nil,
  1821.         +  public_version: 1,
  1822.         +  action_code: nil,
  1823.         +  image_url: nil>,
  1824.         + #<Post:0x007fb7fb064a18
  1825.         +  id: 6,
  1826.         +  user_id: -1,
  1827.         +  topic_id: 3,
  1828.         +  post_number: 2,
  1829.         +  raw:
  1830.         +   "Edit the first post in this topic to change the contents of the Privacy Policy page.",
  1831.         +  cooked:
  1832.         +   "<p>Edit the first post in this topic to change the contents of the Privacy Policy page.</p>",
  1833.         +  created_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1834.         +  updated_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1835.         +  reply_to_post_number: nil,
  1836.         +  reply_count: 0,
  1837.         +  quote_count: 0,
  1838.         +  deleted_at: nil,
  1839.         +  off_topic_count: 0,
  1840.         +  like_count: 0,
  1841.         +  incoming_link_count: 0,
  1842.         +  bookmark_count: 0,
  1843.         +  avg_time: nil,
  1844.         +  score: nil,
  1845.         +  reads: 1,
  1846.         +  post_type: 1,
  1847.         +  vote_count: 0,
  1848.         +  sort_order: 2,
  1849.         +  last_editor_id: -1,
  1850.         +  hidden: false,
  1851.         +  hidden_reason_id: nil,
  1852.         +  notify_moderators_count: 0,
  1853.         +  spam_count: 0,
  1854.         +  illegal_count: 0,
  1855.         +  inappropriate_count: 0,
  1856.         +  last_version_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1857.         +  user_deleted: false,
  1858.         +  reply_to_user_id: nil,
  1859.         +  percent_rank: 1.0,
  1860.         +  notify_user_count: 0,
  1861.         +  like_score: 0,
  1862.         +  deleted_by_id: nil,
  1863.         +  edit_reason: nil,
  1864.         +  word_count: 16,
  1865.         +  version: 1,
  1866.         +  cook_method: 1,
  1867.         +  wiki: false,
  1868.         +  baked_at: Tue, 12 Sep 2017 12:24:46 UTC +00:00,
  1869.         +  baked_version: 1,
  1870.         +  hidden_at: nil,
  1871.         +  self_edits: 0,
  1872.         +  reply_quoted: false,
  1873.         +  via_email: false,
  1874.         +  raw_email: nil,
  1875.         +  public_version: 1,
  1876.         +  action_code: nil,
  1877.         +  image_url: nil>,
  1878.         + #<Post:0x007fb7fb0647e8
  1879.         +  id: 8977,
  1880.         +  user_id: 5727,
  1881.         +  topic_id: 9308,
  1882.         +  post_number: 3,
  1883.         +  raw: "Hello world",
  1884.         +  cooked: "<p>Hello world</p>",
  1885.         +  created_at: Tue, 12 Sep 2017 16:19:55 UTC +00:00,
  1886.         +  updated_at: Tue, 12 Sep 2017 16:19:55 UTC +00:00,
  1887.         +  reply_to_post_number: nil,
  1888.         +  reply_count: 0,
  1889.         +  quote_count: 0,
  1890.         +  deleted_at: nil,
  1891.         +  off_topic_count: 0,
  1892.         +  like_count: 0,
  1893.         +  incoming_link_count: 0,
  1894.         +  bookmark_count: 0,
  1895.         +  avg_time: nil,
  1896.         +  score: nil,
  1897.         +  reads: 0,
  1898.         +  post_type: 1,
  1899.         +  vote_count: 0,
  1900.         +  sort_order: 3,
  1901.         +  last_editor_id: 5727,
  1902.         +  hidden: false,
  1903.         +  hidden_reason_id: nil,
  1904.         +  notify_moderators_count: 0,
  1905.         +  spam_count: 0,
  1906.         +  illegal_count: 0,
  1907.         +  inappropriate_count: 0,
  1908.         +  last_version_at: Tue, 12 Sep 2017 16:19:55 UTC +00:00,
  1909.         +  user_deleted: false,
  1910.         +  reply_to_user_id: nil,
  1911.         +  percent_rank: 1.0,
  1912.         +  notify_user_count: 0,
  1913.         +  like_score: 0,
  1914.         +  deleted_by_id: nil,
  1915.         +  edit_reason: nil,
  1916.         +  word_count: 2,
  1917.         +  version: 1,
  1918.         +  cook_method: 1,
  1919.         +  wiki: false,
  1920.         +  baked_at: Tue, 12 Sep 2017 16:19:55 UTC +00:00,
  1921.         +  baked_version: 1,
  1922.         +  hidden_at: nil,
  1923.         +  self_edits: 0,
  1924.         +  reply_quoted: false,
  1925.         +  via_email: false,
  1926.         +  raw_email: nil,
  1927.         +  public_version: 1,
  1928.         +  action_code: nil,
  1929.         +  image_url: nil>]
  1930.        
  1931.       # ./spec/models/post_spec.rb:755:in `block (4 levels) in <main>'
  1932.  
  1933.   34) TopicsController feature_stats works
  1934.       Failure/Error: expect(json["pinned_globally_count"]).to eq(0)
  1935.      
  1936.         expected: 0
  1937.              got: 1
  1938.      
  1939.         (compared using ==)
  1940.       # ./spec/controllers/topics_controller_spec.rb:1272:in `block (3 levels) in <main>'
  1941.  
  1942.   35) TableMigrationHelper#delayed_drop can drop a table after correct delay and when new table exists
  1943.       Failure/Error:
  1944.         name = ActiveRecord::Base
  1945.           .exec_sql("SELECT name FROM schema_migration_details LIMIT 1")
  1946.           .getvalue(0, 0)
  1947.      
  1948.       ArgumentError:
  1949.         invalid tuple number 0
  1950.       # ./spec/components/table_migration_helper_spec.rb:23:in `getvalue'
  1951.       # ./spec/components/table_migration_helper_spec.rb:23:in `block (3 levels) in <main>'
  1952.  
  1953.   36) TopicQuery secure category filters categories out correctly
  1954.       Failure/Error: expect(TopicQuery.new(admin).list_latest.topics.count).to eq(3)
  1955.      
  1956.         expected: 3
  1957.              got: 9
  1958.      
  1959.         (compared using ==)
  1960.       # ./spec/components/topic_query_spec.rb:32:in `block (3 levels) in <main>'
  1961.  
  1962.   37) TopicQuery a bunch of topics list_latest sort_order returns the topics in correct order
  1963.       Failure/Error: expect(ids_in_order('posts')).to eq([future_topic, pinned_topic, archived_topic, regular_topic, invisible_topic, closed_topic].map(&:id))
  1964.      
  1965.         expected: [9803, 9799, 9800, 9798, 9801, 9802]
  1966.              got: [9803, 9799, 9800, 9798, 1, 2, 3, 9801, 9802, 4, 5, 6]
  1967.      
  1968.         (compared using ==)
  1969.       # ./spec/components/topic_query_spec.rb:338:in `block (5 levels) in <main>'
  1970.  
  1971.   38) Onebox::Engine::DiscourseLocalOnebox for a link to a post returns a link if post isn't found
  1972.      Failure/Error: expect(Onebox.preview(url).to_s).to eq(build_link(url))
  1973.      
  1974.        expected: "<a href=\"http://test.localhost/t/not-exist/3/2\" rel=\"nofollow noopener\">http://test.localhost/t/not-exist/3/2</a>"
  1975.             got: "<aside class=\"quote\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img alt=\"\" ... post in this topic to change the contents of the Privacy Policy page.</p>\n</blockquote>\n</aside>"
  1976.      
  1977.        (compared using ==)
  1978.      
  1979.        Diff:
  1980.        @@ -1,2 +1,9 @@
  1981.        -<a href="http://test.localhost/t/not-exist/3/2" rel="nofollow noopener">http://test.localhost/t/not-exist/3/2</a>
  1982.        +<aside class="quote">
  1983.        +<div class="title">
  1984.        +<div class="quote-controls"></div>
  1985.        +<img alt="" width="20" height="20" src="//test.localhost/letter_avatar/system/40/5_a86ba94b21491b2ee952a55bb419faa7.png" class="avatar"> system:</div>
  1986.        +<blockquote>
  1987.        +<p>Edit the first post in this topic to change the contents of the Privacy Policy page.</p>
  1988.        +</blockquote>
  1989.        +</aside>
  1990.        
  1991.      # ./spec/components/onebox/engine/discourse_local_onebox_spec.rb:17:in `block (3 levels) in <main>'
  1992.  
  1993.   39) SuggestedTopicsBuilder adding results category definition topics doesn't add a category definition topic
  1994.      Failure/Error: expect(builder.size).to eq(0)
  1995.      
  1996.        expected: 0
  1997.             got: 6
  1998.      
  1999.        (compared using ==)
  2000.      # ./spec/components/suggested_topics_builder_spec.rb:104:in `block (4 levels) in <main>'
  2001.  
  2002.   40) SuggestedTopicsBuilder adding results adding topics added the result correctly
  2003.       Failure/Error: expect(builder.size).to eq(1)
  2004.      
  2005.         expected: 1
  2006.              got: 7
  2007.      
  2008.         (compared using ==)
  2009.       # ./spec/components/suggested_topics_builder_spec.rb:77:in `block (4 levels) in <main>'
  2010.  
  2011.   41) SuggestedTopicsBuilder adding results adding topics that are not open adds archived and closed, but not invisible topics
  2012.       Failure/Error: expect(builder.size).to eq(2)
  2013.      
  2014.         expected: 2
  2015.              got: 8
  2016.      
  2017.         (compared using ==)
  2018.       # ./spec/components/suggested_topics_builder_spec.rb:93:in `block (4 levels) in <main>'
  2019.  
  2020.   42) ColumnDropper can correctly drop columns after correct delay
  2021.       Failure/Error:
  2022.         name = Topic
  2023.           .exec_sql("SELECT name FROM schema_migration_details LIMIT 1")
  2024.           .getvalue(0, 0)
  2025.      
  2026.       ArgumentError:
  2027.         invalid tuple number 0
  2028.       # ./spec/components/column_dropper_spec.rb:21:in `getvalue'
  2029.       # ./spec/components/column_dropper_spec.rb:21:in `block (2 levels) in <main>'
  2030.  
  2031.   43) ColumnDropper.mark_readonly should be droppable
  2032.       Failure/Error:
  2033.         name = Topic
  2034.           .exec_sql("SELECT name FROM schema_migration_details LIMIT 1")
  2035.           .getvalue(0, 0)
  2036.      
  2037.       ArgumentError:
  2038.         invalid tuple number 0
  2039.       # ./spec/components/column_dropper_spec.rb:78:in `getvalue'
  2040.       # ./spec/components/column_dropper_spec.rb:78:in `block (3 levels) in <main>'
  2041.  
  2042. Finished in 16 minutes 49 seconds (files took 55.28 seconds to load)
  2043. 7464 examples, 43 failures
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement