In this issue : http://drupal.org/node/61388 I submitted a patch that allowed a site admin to make links in the aggregator module open new windows if they wanted to or, if left untoched normal behaviour (open the link in the current window).

As you can see, it was rejected by drumm based on breaking "Nielson's Top Ten Mistakes in Web Design".

So, is it right that the Links module allows this "Open links in a new window" feature given the above?

I could understand if the user was given the choice as both Links and my patch did/does. However, that doesn't appear to be a consideration according to drumm so I'm not sure if this is a drupal policy or just drumm's preference for following Nielson (I happen to agree with drumm and was happy for the patch to be turned down).

I'm posting this as I just created the node type "janode" and this module was brought to my attention by RayZ (http://drupal.org/node/65288). It may well be I should look at Link's in more detail but thought I'd start this converstation to find out more.

Best regards
--AjK

Comments

drumm’s picture

This behavior is ultimately up to the module maintainer.

I would of course like to see this option avoided since I see it as a quick way to let administrators degrade the usability of their site. UI guidelines in Drupal are currently ad-hoc and based upon concensus and existing examples.

AjK’s picture

Status: Active » Closed (fixed)

no further discussion, closing this as it's obviously "not active"

regards
--AjK

syscrusher’s picture

Status: Closed (fixed) » Active

I'm sorry! I have been traveling on business a lot lately and haven't had the time with Drupal that I'd like over the past month or so. Please forgive the slow response to this question.

I have mixed feelings about this discussion. Just because Neilsen or any other expert says something is a bad idea doesn't make it gospel, in my mind. I think of the web as a creative medium, and the "right" way to do a site has a lot to do with what kind of site you are building. I don't believe in a lot of artistic absolutes.

In the Links module, I recognized from the start that a lot of admins would not want to have links open in a new window, and that others would not want that. So I made it an administrative option rather than hard-coding it one way or the other. Likewise, I recognized that many admins (myself included) prefer to let this decision be delegated to the user -- it's one of the incentives for registering, that you get to control more of the look-and-feel of the site. So I put the user-level delegation in as an option, and that's what I use on my own sites.

The ability to open links in a new window is a tool. Like any other tool, it can produce a beautiful work of craftsmanship, or it can lop off your thumb. I believe in empowering the site admin to create his or her vision of how the site should work, and also in enabling the site admin to delegate that empowerment to the user. I feel this way for the same reason I run Linux rather than the more commercial and mainstream Windows -- I believe in choices, and I am prepared to accept responsibility for the consequences of my choices.

I'm open to negotiation as to what should be the default behavior in Links. A case could be made (and your arguments have probably already persuaded me) that the default should be "don't open in new windows, and allow the user to set that behavior if they want". But I'm unlikely to be persuaded -- unless someone can offer a really powerful argument -- that the *tool* to do this should be taken out of Links just because some guy named Neilsen thinks so. Some guy named Gates, who is the most successful entrepreneur of all time, thinks I should run Windows, but I don't listen to him, either. :-)

Ultimately, by giving the configuration tool to the site owner and encouraging him or her to empower the users with control of this tool for their preferences, I let them create what they want. If they do a good thing, or if they do a bad thing, the users will vote with their feet and either stay or leave -- and most of those users won't consult Neilsen before making their decision.

Scott (Syscrusher)

AjK’s picture

Scott,

Thanks for your comments. I manage the "janode" module which is just a node with a link. Alot of people requested that they be able to have links open a new window and, given the obvious admin need, I added it in. So that also allows admins to open a new window if they prefer.

I'm planning a major overhaul of janode as it has a few feature requests outstanding and I also have a better understanding of Drupal and how it works. It would make sense if janode were to use the Links package as (correct me if I'm wrong) it's an API package that modules should be using for links? If that's the case, can you give me an update on the module status? CVS still shows it not to have a DRUPAL-4-7 tag and was unclear as to your intentions.

If it would help, I could invest some time and provide patches to get stuff done on it when I come to "revamp" janode. Just don't want to do work that you are already doing. Maybe some collaboration to get the links package closer to release? Message me via my contact page (http://drupal.org/user/39030/contact) if you want to move forward on any collaboration.

best regards
--AjK

syscrusher’s picture

AjK wrote:

I'm planning a major overhaul of janode as it has a few feature requests outstanding and I also have a better understanding of Drupal and how it works. It would make sense if janode were to use the Links package as (correct me if I'm wrong) it's an API package that modules should be using for links? If that's the case, can you give me an update on the module status? CVS still shows it not to have a DRUPAL-4-7 tag and was unclear as to your intentions.

Your assumption is correct. Links is a package comprising an API for URL management and cataloging, plus several modules that utilize that API. The links.module itself is really just a control center for the API's behavior, though I am adding in the global-context link management functionality now.

links_weblink.module is a direct replacement for Ber Kessel's Weblinks module (and Ber has been supportive of this effort; I'm not trying to push his work aside). links_related.module is a generic way to attach an arbitrary number of links to a node of arbitrary type. It works a lot like file attachments, in that the site admin can define what node types do and do not allow/require related links.

People often ask the difference between links_weblink.module and simply creating a "story" node with a link via links_related.module. The answer is more conceptual than technical: links_related is designed for nodes that "have a link" or "have links", whereas links_weblink is designed for a node that effectively "is a link". links_weblink is specifically intended for a links directory or similar application.

The API is stable enough for use now. I may be adding functionality to it, but what is there is solid and can be viewed as stable enough for module development. The reason I haven't tagged it for 4.7 yet is simply that I haven't finished adding the link management code, and some of the add-on modules in the package are not yet 100% completed. As is typical in packages like this, the API had to stabilize before the other things could be finished up; that's where we are right now.

If it would help, I could invest some time and provide patches to get stuff done on it when I come to "revamp" janode. Just don't want to do work that you are already doing. Maybe some collaboration to get the links package closer to release?

I would welcome such collaboration. I've got plans to review patches and do some additional coding work this evening (my schedule at the job that pays the bills having finally settled down a bit!) and should have another CVS commit tonight. I don't know if I'll get far enough to tag the release or not.

My suggestion would be to use my contact form to let me know what areas you're interested in working on, but wait until after the next CVS commit to see what has already been done. I'm very careful to update the CHANGELOG.txt file after each commit, so you can use that (or the drupal.org issues page for the project) to see what's been done and what remains.

Thanks for the reply and the offer of help. I'm sorry this module's release has drug on so long -- it's frustrating to me as well as to others, because the original reason I created Links was because I need it for my own sites. :-)

Scott (Syscrusher)

AjK’s picture

Status: Active » Closed (fixed)

This issue goes no where. Closing.