Closed (won't fix)
Project:
Drupal.org security advisory coverage applications
Component:
module
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
3 May 2011 at 17:03 UTC
Updated:
31 Aug 2018 at 09:03 UTC
Jump to comment: Most recent
Comments
Comment #1
chrisshattuck commentedGood luck with this application, Aaron, I know you've been working with Drupal for a while, and it would be great to see you start to work on some modules on d.o! Cheers!
Comment #2
aklump commentedThanks Chris I appreciate it. I remember you encouraged me to get the contributor's account going back in PNW Drupal Summit in Seattle, what 3 years ago? Where did the time go?
Comment #3
davidfells81@gmail.com commentedHow does this differ from http://drupal.org/project/link_node , other than in the format of what you type in?
Comment #4
aklump commentedAfter reviewing link_node, I'd suggest several benefits with this module.
The first is that if a site is already built out and nodes created which contain the pattern node/123--say if it was built without path auto--this filter will seamlessly upgrade that site. In addition, it would downgrade just as easily if the filter was disabled. In other words, no special syntax is needed in existing posts to get it to subtitute out the aliases, immediately. On the other hand if I wanted to upgrade a site using link_node, all existing posts would have to be altered to the format [node:123] and all <a> tags removed.
Using the native <a> tag, I feel, allows for easier control if you want to add classes and other attributes to the link tag itself, without having to utilize a secondary syntax. The level of abstraction is one less, so to say. Most of my clients are familiar with how to use the <a> tag so it's not a complicated idea for them.
Another argument would be how this integrates with WYSIWYG solutions, since we're not doing any "non-html" syntax. The WYSIWYG integration would be able to provide title, class, and other tags through it's UI. I think this is a strong argument in and of itself to having the module work as it does, and warrants it's consideration alongside link_node.
This was a good question and it got me thinking; thank you!
Comment #5
davidfells81@gmail.com commentedAre you familiar with the global redirect module? It sorta eliminates the need to worry about this with any module at all, now that I think about it...
Comment #6
aklump commentedThat's a good point. The only advantage I see is what is rendered as code (viewing source) or what is shown when the user hovers over the link before clicking. Global Redirect would indeed land them on the aliased page though. It's really splitting hairs I suspect, but I might still choose to use this filter. What do you think? Is it worth keeping it going?
Comment #7
aklump commentedAfter sleeping on it I've thought of a few more ideas:
A compelling reason might be the following use case. If a user right-clicks to copy a link they want to email to someone else. The link that will be copied is different depending upon the solution: global redirect or node alias filter, where the latter will be the alias. For website owners who are very concerned with the format of their URLs, the latter is of course preferred. I can think of at least two clients in the last year who fall into this category and would choose the latter solution.
It also dawned on me that this could easily be upgraded to process user/123 and taxonomy/term/123, as well as node/123; which would also add value to this module. Maybe the name should be changed to entity alias filter...?
Comment #8
aklump commentedI've just added the support for taxonomy terms and user aliasing to the code. Also I've rewritten the sandox page with additional examples and explanation to help differentiate this module from the other similiar projects.
http://drupal.org/sandbox/aklump/1145796
Comment #9
arcaneadam commentedI actually think that the idea behind this module is a good one. It filters the code on at the display level and allows content creator to create content that is consistant. One of the problems I see a lot is a content creator will link to a page on their site using the PathAuto alias, then something happens that changes that alias and now the link they've already inserted into multiple spots doesn't work, but they don't realize that.
I could see this being an invaluable resource. I haven't searched for other modules that may duplicate this functionality, but barring that and a solid code review I think this is a good module for release.
Comment #10
aklump commentedThank you arcaneadam. I have documented the other similar modules and how this differs on the project page. Also I have run this through coder for formatting. Is there anything else I should do at this point to help this process?
Also I have a 7.x version too but I wasn't sure how to coordinate that with the repo. It looks like I should make two branches one called 6.x and one called 7.x; or is it general practice to call the branches 6.x-1.x and 7.x-1.x. Then I'll commit the versioned module code to those branches and I won't update the master anymore? Is that standard practice. Not sure since this is my first contribution. Forgive me if I missed a tutorial on this somewhere.
Thanks in advance.
Aaron
Comment #11
davidfells81@gmail.com commentedAfter the additional explanation, I agree. I'll take a peek at it tonight!
Comment #12
aklump commentedThanks davidfells, I'm not sure how to get the 7.x version into the repo; what you'll be looking at is the 6.x; I posted a question re: this earlier in thread. Would you like me to get the 7.x code up there before you review. If so, please direct me as to how to facilitate.
Thanks,
Aaron
Comment #13
arcaneadam commentedCopied from one of my project pages git instructions page.
Creating Releases
See the naming conventions for a complete description of how to name branches and tags so you can create releases.
Branch for a dev release
This creates and checks out a new branch in one command.
git checkout -b 7.x-1.xgit push origin 7.x-1.xTag for a stable release
git checkout 7.x-1.xgit tag 7.x-1.0git push origin 7.x-1.0Once you've pushed the properly formed tag or branch, see Creating a project release for directions to actually create the release node.
Comment #14
aklump commentedThank you arcaneadam, I was able to create the 6.x-1.x and the 7.x-1.x branches based on your instructions. Both versions of code are now ready for testing/review.
davidfells I look forward to your feedback...
Comment #15
dave reidDoesn't this duplicate the work in the following possible modules (which already compete between the two):
http://drupal.org/project/pathologic
http://drupal.org/project/pathfilter
One of the biggest advantages about our Drupal community is our ability to coordinate and work together to solve problems. Would it be possible you could contribute to either of the existing modules to help improve it? Or if your work is drastically different, if you could help explain and detail what those differences are would be great!
Comment #16
arcaneadam commentedI'd have to agree with Dave. After looking at Pathologic, specifically #587130: translate node/id to the corresponding url alias, I'd say this definitely duplicates functionality.
Don't let this discourage you from continuing to try and contribute though. It's not a knock on your module or your code just a way to keep the community code from becoming bloated with duplicate modules.
I'm going to go ahead and mark this issue as closed.
Comment #17
aklump commentedDave Reid and arcaneadam, sorry its taken so long to get back to you both, but I want to say thank you for your time spent reviewing my module. I installed pathologic and with one configuration step (see below) I was able to have the exact outcome of my module. So I agree that this duplicates functionality and so let's stick with pathologic.
Thanks arcaneadam for the encouragement, I will try again with another module at some point. I don't feel discouraged.
To get the outcome of Node Alias Filter using pathologic do the following:
# Add '/' to the list of Also considered local: paths.
Comment #18
avpaderno