Discourse/Main Site Test Plan



  • As I was about to click SEND on this email to Mark... I figured, oh hell, two birds with one stone. Here it is, verbatim. Feedback appreciated.


    Hey Mark,

    I think we're ready to try Discourse for the front page. Not sure how much of the discussion you read on Discourse site, but the forums rollout got a bit stalled due to some... erm... negative feedback. The community didn't quite embrace Discourse like I had thought they would (you know, because it's anything but CS).

    My last (and best?) response to all of it was here -- http://what.thedailywtf.com/t/im-a-grumpy-cat-an-open-letter-to-alex/407/4?u=apapadimoulis -- and I sort of outlined a quick test plan for the front page.

    So, slightly new plan. Instead of just cutting right over, and having all article comments feed through on Discourse, you'll have an option to pick which new articles will use Discourse, and which will use existing comments.

    There will (soon) be an option like this when creating new articles:

    When that's checked, a hidden topic will be created in Discourse, and will then be unhidden when the article goes live. At least, it works that way on my machine.

    Also, the sidebar will aggregate topics from both CS and Discourse. All of this is ready to deploy to the live site.

    What do you think... should we do a dedicated announcement article, or perhaps just a footer comment at the end of the article that says something like, "we're trying out Discourse for comments"?

    Maybe I'll post something to the forums too, to see what the community thinks. LMK...

    Alex


  • Winner of the 2016 Presidential Election

    Hooray, process transparency.



  • Is this separate from the main site redesign?



  • Who's Mark?



  • @e4tmyl33t said:

    this separate from the main site redesign?

    Yes. Basic plan for main site redesign...

    1. Put all in GitHub.
    2. Publish to test site
    3. Closed review & revision (Mark, Remy, et al)
    4. Public review & revision (Article on main site)
    5. Go live

    ... I think we'll be ready for the closed review period next week. Not sure how long it'll take.



  • @apapadimoulis said:

    "we're trying out Discourse for comments"?

    I am terrified of how the commenters are going to respond to DC.



  • @dhromed said:

    I am terrified of how the commenters are going to respond to DC.

    I recently came across an article about lessons from the samurai. One of the interesting tidbits was:

    But research shows training very hard and imagining the worst that could happen are two powerful techniques for promoting calm.

    I suspect that whatever we can imagine the front page commenters will do won't be worse than what forum commenters already did, but who knows? In any case, it's the front page that has all the ads, so I guess that maybe the stakes are a little higher.



  • @apapadimoulis said:

    Not sure how much of the discussion you read on Discourse site, but the forums rollout got a bit stalled due to some... erm... negative feedback.

    I've been lurking on and off for the past few days. Yeah...I ...uh...sensed a teensy bit of tension.

    IMO, let's just do it with a blurb at the end. By announcing it officially, it gives another forum to vent frustration and our RSS friends who don't ordinarily poke around article comments (and are probably not even aware we have a community) might back off after dipping their toes in the Discourse pool. I value the opinions of our regular forum folks, but I really want to know what a non-regular community member would think.

    Start out with just TDWTF editor produced content (me, Remy, you) knowing that there will be some venting and we are best suited to addressing it with our magical mod hammers.

    @dhromed said:

    I am terrified of how the commenters are going to respond to DC.

    Not me. Comment/Forum platform complaints/bug reports/etc. get moved to their appropriate area. Inappropriate comments (personal attacks against the author, etc) that are moderated on the site today can be handled as needed including deletion. Comment content on [custom thing] should be approximate to Discourse in the future.

    @PJH said:

    Who's Mark?

    Geeze...you contribute to a site for 6 years and nobody knows your name...I'm the managing editor for crying out loud!

    Also, don't tell me that I've lost all the hatred gained over MFD? :-P



  • @mark_bowytz said:

    Geeze...you contribute to a site for 6 years and nobody knows your name...I'm the managing editor for crying out loud!

    What is your pay per month?



  • @PJH said:

    Who's Mark?
    I think it's noteworthy that at this time your post has a single Like, by mark_bowytz himself.


  • Winner of the 2016 Presidential Election

    @mark_bowytz said:

    Also, don't tell me that I've lost all the hatred gained over MFD?

    MFD was terrible, but the comments more than made up for it.



  • @error said:

    MFD was terrible, but the comments more than made up for it.

    You know, it's weird - looking back, personally, regard MFD as being mostly "OK". Definitely agree that the comments were often more entertaining than the strip.

    With that said, for every hate email I got and accusation that MFD gave them AIDS, I get just as many compliments and questions asking when we'll do another run. YMMV.



  • Apparently a lot of people really like AIDS and want more.

    In all honesty, I don't recall MFD, Maybe it was before my time.


  • Winner of the 2016 Presidential Election

    @mark_bowytz said:

    Definitely agree that the comments were often more entertaining than the strip.

    I liked that they all took the form of edited images derivative of the original post. In fact, that would make a good subforum here.


    Filed under: Category, whatever.



  • I definitely miss MFD! I hope we can run it again someday.

    The mix-ups were great, but I liked the story and the general idea of a supervillan boss, having a floating software company, all that.

    Wasn't for everyone, but there were some great ones, including this::


  • :belt_onion:

    I loved MFD, not because the comics were any good, but because the community response was generally hilarious. Really, most of the people who complained about MFD but then partook in making fun of the comics in the comments secretly loved MFD.



  • Despite being one of the negative commentators, I do appreciate the openness here. Thanks, Alex.



  • @apapadimoulis said:

    general idea of a supervillan boss

    True confession. When it comes to picking a usernames, I either go for some variation of my name....or MisterMagenta.



  • @mark_bowytz said:

    IMO, let's just do it with a blurb at the end. By announcing it officially, it gives another forum to vent frustration and our RSS friends who don't ordinarily poke around article comments (and are probably not even aware we have a community) might back off after dipping their toes in the Discourse pool. I value the opinions of our regular forum folks, but I really want to know what a non-regular community member would think.

    Good point. OK, so when should we start it? I could deploy the latest WTF bits pretty much anytime. You'd just need to create a new article for the integration thing to work.

    On the Discourse end, there is a [Feature Comment] button added with JQuery (will be next to [Reploy] button) that basically just navigates to a handler on the main site. Then it'll appear under the article.

    There is, however, no indication on Discourse side when a comment gets featured. Maybe we could hack that in to the JQuery thing, and have it edit the post or something. For now I think it's fine.

    Anyway just LMK, like I said I can deploy the new bits anytime...



  • @apapadimoulis said:

    I can deploy the new bits anytime

    Deploy those bits, man! I have Friday's Error'd in the publish queue already but I'll gladly copy-pasta into a new article.

    Also, I always have a "something something" that I can turn into a test article that I can run.


  • Discourse touched me in a no-no place

    The second season of MFD was definitely better than the first. Unfortunately, there are some very good webcomics out there (especially in terms of art) and MFD was truly in a different league.



  • @mark_bowytz said:

    Deploy those bits, man!

    Done! And only with a minor outage thanks to a minor f'up on my part. Expect the usual barrage of "the real wtf was this error i saw on tdwtf" messages.

    you'll note the sidebar now aggregates both feeds.



  • Fuuuuuuuuuuuuuuuuuuuuuck.... that's gonna confuse those who have not been playing along :)





  • Oooh, old article strategy. Nice.

    Is that a What The Ad? I miss those!

    Seems to work, did you try featuring a comment?



  • @apapadimoulis said:

    Seems to work, did you try featuring a comment?

    I did! It works! :smile:

    A few funny things that I noticed:

    1. The feature button was slow to appear. Had to refresh the comments
      page to get the button to show for every comment. At first, the button was available only for
      Paula's comments.

    2. Seeing the Feature/Un-Feature reflected in the article was a
      little bit laggy... but not a lot. 30 seconds or so. Nothing unbearable

    3. I definitely like how the commentator's icon shows on the article page. However, I didn't see the comment highlighted on the Discourse end. Not an issue exactly but would be a helpful "nice to have" to show other readers that someone found it particularly good.


  • Winner of the 2016 Presidential Election

    Could you make a comment automatically become featured if it receives a certain minimum number of user likes?



  • Awesome!

    The Feature button is added to Discourse in a really hacky way... with JavaScript!

    <script type="text/javascript">
        $(document).ready(function(){
            /* Only hack in "Feature" link if user might be an admin...
               This is actually authenticated on the TDWTF side. */
            if (!document.getElementById("show-topic-admin"))
                return;
            
            var articlePost = $('#post_1').html().match(/<!--ARTICLEID:(\d+)-->/i);
            if (!articlePost)
                return;
                
            var articleId = articlePost[1];
            
            $('nav.post-controls').each(function(index){
                $this = $(this);
                var postId = $this.closest('article').attr('data-post-id');
                $this.prepend('<button class="create" title="Feature this comment"><a target="_blank" href="http://thedailywtf.com/Admin/FeatureComment.ashx?postId=' + postId + '&articleId=' + articleId + '">Feature</a></button>');
            });
        });
    </script>
    

    Short of writing a plug-in, I'm not sure if there's a great way to indicate that it's been featured.

    Hmm... although... we could have this JavaScript thing edit the first post and append the ID of the featured comment. When the page loads, it could add a class to each post indicated in that first comment... which we could CSS style. I kind of like that.

    Oh and regarding the lag... there's output caching on the article page, so it will take up to a minute for comment counts and feature comments to get updated.



  • I like this because the people who post and read the comments are those who really care if one is featured.

    However, I can foresee a day when the mob^H^H^H kind and fair readership decides that "[author] is a wiener." should be featured and more likely than not, it will be one of my articles.

    Someday?



  • I love it because it works!! :smile:

    You used JavaScript? With decisions like that you're a real straight shooter for upper management. Considering what I know about the backend, that's a right elegant solution you've got there. +10 points to Gryffindor.

    @apapadimoulis said:

    Oh and regarding the lag... there's output caching on the article page, so it will take up to a minute for comment counts and feature comments to get updated.

    That's like forever in Internet time. Geeze louise.



  • @mark_bowytz said:

    However, I can foresee a day when the mob^H^H^H kind and fair readership decides that "[author] is a wiener." should be featured and more likely than not, it will be one of my articles.

    Someday?

    Thanks for giving us the idea!

    We'll look into it.



  • @mark_bowytz said:

    True confession. When it comes to picking a usernames, I either go for some variation of my name....or MisterMagenta.



  • @apapadimoulis is there any reason why the topics for article discussion have to be invisible on Discourse? I'd prefer if they weren't hidden, personally.



  • They're hidden until the article is published. This makes sense to me, and cuts down on repetitive time travel comments.





  • @mark_bowytz said:

    and more likely than not, it will be one of my articles.

    With all due respect, you're no match for Erik Gern.

    @boomzilla said:

    I suspect that whatever we can imagine the front page commenters will do won't be worse than what forum commenters already did, but who knows?

    Actually, I think it's gonna be the other way - the old forums, being tucked in a sidebar, were a more closed and free-for-all community than front page comments (which usually held at least some level of discussion).

    @apapadimoulis said:

    The community didn't quite embrace Discourse like I had thought they would (you know, because it's anything but CS).

    The point is, as broken and barely usable CS was, we kinda got used to its antics. It's like that silly kid in class who gets straight Fs in everything he does, but is lighthearted and joking about it. You took that kid out and gave us a student who gets a C once in a while, but won't shut up about how he thinks he's gonna be your future boss.

    Filed under: brb, analogy police is knocking at my door


  • Discourse touched me in a no-no place

    @boomzilla said:

    I suspect that whatever we can imagine the front page commenters will do won't be worse than what forum commenters already did, but who knows?

    The usual "this isn't a WTF" comments are annoying but harmless. Occasionally, a feminist shows up and gets trolled halfway to an aneurysm. Add the complaints about inconsistencies introduced, and it's just good clean fun for everyone (except the feminists).



  • @antiquarian said:

    and it's just good clean fun for everyone (except the feminists).

    No, I think they really like being outraged. The trolling just confirms their deepest desires about men.


  • Winner of the 2016 Presidential Election

    @boomzilla said:

    No, I think they really like being outraged. The trolling just confirms their deepest desires about men.

    Yes, of course, classic



  • This post is deleted!


  • @apapadimoulis Having trouble pushing to Github, so I'll just post it here for now.

    Wrote a plugin for ya.

    file: plugins/DailyWTPlugin/plugin.rb

    # name: DailyWTPlugin
    # about: Discourse customizations for TheDailyWTF
    # version: 0.1
    # authors: Alex Papadimoulis, Kane York
    
    register_asset "javascripts/feature_comment_button.js"
    
    

    file: plugins/DailyWTPlugin/assets/javascripts/feature_comment_button.js

    
    Discourse.PostMenuView.reopen({
      renderFeature: function(post, buffer) {
        if (!Discourse.User.current().admin) return;
    
        // Make sure this is Article Discussion
        if (post.get('topic.category.id') !== 8) return;
    
        buffer.push("<button class='create' data-action='feature' title='Feature this comment'>");
        buffer.push("<i class='fa fa-paper-plane'></i>");
        buffer.push("</button>");
      },
    
      clickFeature: function() {
        var post = this.get('post'),
            postStream = this.get('post.topic.postStream');
    
        if (!postStream.get('firstPostPresent')) {
          // this is a hack because i don't feel like loading it in the code
          bootbox.alert("Please load the first post. This is required because this is a ghetto plugin.");
          return;
        }
    
        var firstPost = postStream.findLoadedPost(postStream.get('firstPostId'));
        if (!firstPost) {
          // The first post should be loaded, because I just checked. If not, we have a porblem.
          bootbox.alert("Incorrect assumption. Fix the code.");
          return;
        }
    
        var articleIdMatcher = firstPost.get('cooked').match(/<!--ARTICLEID:(\d+)-->/i);
        if (!articleIdMatcher) {
          bootbox.alert("The topic has no article ID defined.");
          return;
        }
        var articleId = articleIdMatcher[0];
    
        var url = "http://thedailywtf.com/Admin/FeatureComment.ashx?postId='" + post.get('id') + "'&articleId='" + articleId + "'";
        window.open(url, '_blank');
      }
    });
    
    

    In order for this to work, you will have to edit the Site Setting named post_menu and add feature at the end. Click the plus sign and type it in.

    This will cause the PostMenuView to try to render a menu item named 'feature' (for every post!), which we just defined in our JS file.

    Fun fact: I do not need to IIFE my code, because an IIFE is done to every JS asset automatically.



  • Making a third post instead of editing, because it was getting a bit big. Who cares :P

    @apapadimoulis

    To add the plugin to your install, add this to your containers/app.yml:

            cmd:
              - mkdir -p plugins
              - git clone https://github.com/discourse/docker_manager.git
              - git clone https://github.com/riking/DailyWTPlugin.git
    

    It will then start showing up in /admin/docker for updates.

    Of course, because I could edit the code at any time, and then get admin the next time you update it, I suggest you fork it and clone that instead.


  • Winner of the 2016 Presidential Election

    @riking said:

    bootbox.alert("Please load the first post. This is required because this is a ghetto plugin.");

    I award this plugin The Daily WTF Seal of Quailty.


    Filed under: Quailty



  • @riking said:

    Fun fact: I do not need to IFFE my code, because an IFFE is done to every JS asset automatically.

    #The Institute for Facial Esthetics
    ?



  • If you expand the quote, you can clearly see that I did not say IFFE, but rather IIFE. Suggesting otherwise is treason.



  • I still have no idea what it is.




  • Winner of the 2016 Presidential Election

    @ben_lubar said:

    I still have no idea what it is.

    Shamefur dispuray. Commit sudoku.


    Filed under: Wascism


  • Winner of the 2016 Presidential Election

    More seriously, check out Effective Javascript. Doubleplusgood book.


    Filed under: Too much of a chore to get the Amazon URL with IE on XBox One.



  • I've used (function(){ /* stuff and things */ })() before, but I never knew it had a name.


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.