22

A situation has come up on Drupal Answers that I wanted to bring to the larger SE audience. I am not asking for how to solve our particular problem, but how this type of problem should be handled on SE in general.

For those that don't know Drupal Answers, it is the SE site dedicated to an open-source content management system called Drupal. The site deals with all sorts of questions, from code (i.e., developer oriented) to users (i.e., site users / builders).

You probably could have put two and two together there, but bear with me.

DA discourages the use of version tags, much like many other SE sites. They should only be used when the version number is specifically needed to answer a question.

For example, "How do I create a user?" doesn't need a version tag; it's a rather generic question from a Drupal standpoint.

A question like, "How do I do an EntityFieldQuery for users who are blocked?" probably needs a version tag.

A little over a year ago, Drupal 8 came out. This version was a radical rewrite of the software. This means that a lot of questions have radically different answers depending on version <= 7 and >= 8.

For example, "How do I add a JavaScript library to my theme?" is a generic question, but two totally different answers for Drupal 7 and 8.

Why is this a problem? We have about six years worth of questions and answers. A lot of questions that are starting to come in are question duplicates, but would have radically different answers. Nearly every question has the comment now "What version?" and someone edits this into the question and/or tags it, even on the generic questions.

There are two options that are being discussed.

  1. Close as duplicate, and add the Drupal 8 answer to the older question. The problem with this results in a lot of closures, and it makes finding answers to current problems difficult.

  2. Allow the new questions, and tag them. The problem with this is that we now have lots of nearly identical questions, other than tags. And, we have lots of old questions w/o version tags. And when Drupal 9 comes out, it would require mass tagging, or worse more versions of questions if Drupal 9 is radically different than Drupal 8.

I have tried to lay out the situation, and provide some (contrived) examples. Please don't dwell on the examples above; they are really just to try to illustrate the problem.

What should a software-related SE site do when a drastic change happens between versions that would potentially cause a split of questions between old and new versions?

7
  • 6
    In Arqade there are similar situations where questions with different answers for different game versions, so this question should not be treated as off topic.
    – 54D
    Feb 8, 2017 at 4:13
  • 5
    In GIS there are similar situations too and recent discussions about timeless questions and version tags may be relevant: meta.gis.stackexchange.com/questions/4436/… meta.gis.stackexchange.com/questions/4439/…
    – PolyGeo
    Feb 8, 2017 at 4:28
  • 3
    Can you explain why you've banned (OK, discouraged) version tags? We have version tags on SO for all the major (and a lot of the minor) languages and frameworks and that seems to work well.
    – ChrisF Mod
    Feb 8, 2017 at 22:43
  • 2
    @ChrisF We haven't banned them outright, we just discourage them to just say "I am using version X". The SO analogy would be PHP questions get the PHP tag, but add the PHP5.6 if the question specifically has to do with the new variadic feature that got added in that version.
    – mpdonadio
    Feb 8, 2017 at 22:47
  • 3
    Maybe it's just because of the examples you chose, but why can't you create one question about adding javascript to your theme and then have both >=8 and <=7 answers on that post? No real need for version tags, especially if it really just comes down to >8 or <8. People should continue mentioning what version they need in the question and if someone else comes along later needing the same thing with a different version, dupe it to the older question but generalize it with an answer for both versions. Unless it's trickier than that somehow?
    – ɥʇǝS
    Feb 8, 2017 at 23:00
  • @ɥʇǝS That is essentially the #1 option in its fully fleshed out concept. I don't want this to be about DA in particular, but there are some legit downsides to this approach that are on our Meta thread.
    – mpdonadio
    Feb 8, 2017 at 23:03
  • If you go with #2 (which is what makes the most sense to me), you can still attempt to use the most generic tags possible. So you wouldn't necessarily have to tag everything 8.1.3, 8.5.9, etc. Since it sounds like a truly meaningful divide, you could tag with v8+ and v7- in addition to more specific version tags if needed (as you are doing now). Feb 17, 2017 at 18:23

1 Answer 1

5

The ultimate solution might be to bring Documentation's flexible versions to Q&A. That would allow the same question to be answered for multiple versions of the software without confusion.

<!-- if version [gte 8] -->
Drupal 8 answer.
<!-- end version if -->

<!-- if version [lte 7] -->
Legacy answer.
<!-- end version if -->

But we are still aways off from porting Documentation to Stack Exchange sites and there's no support (yet) for Documentation versions on Stack Overflow Q&A. Of course, you can also just do this by hand:

If you are using Drupal 8 use this code:

. . . 

For older versions, you're stuck doing:

. . . 

But that really only makes sense for new answers. The problem, as you point out, is there's a corpus of knowledge that might or might not be outdated. It's going to be confusing no matter what.

So I think Drupal Answers needs to break down and start using version tags. Just as you can ask the same question with and on Stack Overflow, there should be space for users to ask seemingly identical questions about the new and old versions of Drupal.

For the immediate time period, it's most practical to tag new questions by version if the resulting answers would be different. Obviously askers will not be able to do this on their own, so you might get questions tagged as a particular version that have answers applicable to all versions. The secret with tagging is to use edits to clean up after askers who, by definition, don't know all the ins and outs.

For the long term, well, it depends on how many questions actually are specific to a particular version. I'd probably avoid massive retagging efforts and instead rely on people finding these questions organically. I bet most Drupal developers have already discovered there's tons of outdated information out there because of the new version. It's just the cost of doing business with actively maintained software.

5
  • If a site required tags on everything, doesn't this mean a disappropriate number of users will gain tag-hammer privileges?
    – mpdonadio
    Feb 17, 2017 at 18:22
  • @mpdonadio: It's a lot harder to get gold tag badges on non-SO sites. I wouldn't worry about that too much. But I also wouldn't insist that every question have a version tag. Feb 17, 2017 at 18:27
  • This is what we are really doing now, at least according to our tag wikis. Some users don't like this approach. Tags are getting added to every question, even when they don't need it.
    – mpdonadio
    Feb 17, 2017 at 18:31
  • @mpdonadio Is that the biggest concern that users could gain some privileges (they don't deserve?) by adding version tags for reputation? Then this meta.drupal.stackexchange.com/q/3632 new approach really shouldn't be the way to go. We should make editing a more thoroughly task instead. To make it mandatory for beginners (like me) to not only add one tag but improve a certain amount of characters in the question as well.
    – leymannx
    Feb 27, 2017 at 23:16
  • @leymannx tag-hammer is a concern, but not a primary (or even secondary concern) one. Yes, editing to improve questions, and retagging as necessary, is something that everyone should be doing to improve the site. That happens a lot on other SE sites; it has fallen off on DA.
    – mpdonadio
    Feb 28, 2017 at 3:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .