You are here

README.txt in Internal Links 7

Same filename and directory in other branches
  1. 8 README.txt
  2. 6 README.txt
  3. 7.2 README.txt
CONTENTS OF THIS FILE
---------------------
 * Introduction
 * Installing
 * Uninstalling
 * Frequently Asked Questions (FAQ)
 * Known Issues
 * More Information
 * How Can You Contribute?

INTRODUCTION
------------
Maintainer and Author: Lowell Montgomery (LoMo) <http://drupal.org/user/628196>
This module was written as a part of my internship as a Drupal developer with 
Cocomore <drupal.cocomore.com>. Thanks are due to Cocomore's senior developers,
especially Markus Kalkbrenner and Christian Spitzlay, who provided invaluable
guidance and support to help ensure my first module worked as conceived.

The Internal Links module, Intlinks, is a simple set (currently two) of input
filters which modify the output of internal, root-relative links in any text
input format for which they are enabled. 

The Internal Links Title filter adds HTML titles to links to other nodes on the
site (if no title attribute already exists) using the linked node's title as the
HTML title attribute's value.

It also replaces href values which are in the "normal Drupal path" form
(e.g. <a href="/node/123">) with a URL alias, if one exists. It leaves any
other attributes alone. It is especially useful for sites which have
a lot of related content which can more easily be cross-linked, with less effort
on the part of editorial staff. And if "normal Drupal paths" are used, it will
also maintain any links if the URL aliases are modified to (for example) improve
SEO or correct a typo.

The Internal Links "hide bad" filter could probably be better named. Its main
purpose is to remove internal links to nodes which aren't (yet or any longer)
published or existent to avoid users seeing "page not found" errors when follow-
ing links on your site. It checks URL aliases and/or normal Drupal paths to see
if the node exists and checks whether the node is published, if so. If it finds
no node under the linked URL, it also checks the "menu_router" table for non-
node paths which could also be linked (e.g. a path to a Views page). It only
removes internal, root-relative links which are not found as nodes or other
special paths and/or are unpublished. If a link is removed, the anchored text
is left in place, only the <a></a> tagset (and any attributes within) are removed.
The filter, by design, attempt to err on the side of leaving links alone, since
otherwise its effect could be problematic. We suggest turning it on only if you
know you have links to unpublished content, especially content you'll be making
public over time, or if there are many old links (to unpublished content) which 
you don't have time to more permanently remove.

Content should consist of reasonably well-structured HTML with double-quotes
around HREF values, and with all internal links "root-relative", i.e. starting
with a slash, ('/'), followed by the normal Drupal path (best) or path alias.
I could have used regular expressions which would allow just about any HTML a
browser will render, but that adds to processing and we should all be using
nicely written HTML. Normal output from the common WYSIWYG text editors
(CKEditor or TinyMCE, etc) should work fine.

INSTALLING
----------
See http://drupal.org/getting-started/install-contrib for instructions on
how to install or update Drupal modules.

Once the Internal Links module is installed and enabled, you can go to your
"Text formats" page (/admin/config/content/formats) to configure any text
format (filtered HTML/Full HTML, etc) to use either or both of the included
filters. Of course it's most efficient to have the "hide bad" links filter
first, so that processing is not wasted on adding titles to any links that
are to be removed. The "convert URLs to links" filter, included in core,
should ideally come after both of these, since it's only for "absolute" links
(normally external) and the current regular expressions capture all HREF values.

Other input filters may need to come before those in this module if you want
their output to receive filtering by intlinks filters. These filters would
include ones written to allow use of Markdown or BBCode. Their output is normal
HTML which should allow the intlinks filters to do their job.

You need to have clean URLs enabled for this module to function. It
is not designed to work without them.


UNINSTALLING
------------
Currently the Internal Links module does not write anything to the database
so there is no need to run update.php after installing/uninstalling the module.
If you turn it off and remove it from your modules folder, it's gone without
any trace of its existence (at least after any content caches are cleared.)


FREQUENTLY ASKED QUESTIONS (FAQ)
--------------------------------
There are no frequently asked questions at this time. Feel free to change
that if you have any questions. ;-)


KNOWN ISSUES
------------
No known "issues", per se, but the module is written without a lot of
flexibility. More features and/or options may be added in future. Since the
filters need to access the database to look up information about the links,
it is most efficient to use them on cached content. A busy site (or a shared
server) could well see significant page-load delays if the output of these
filters is not cached, especially if there are many links to process on a
typical page.


MORE INFORMATION
----------------
To issue any bug reports, feature or support requests, see the module's issue
queue at http://drupal.org/project/issues/intlinks.


HOW CAN YOU CONTRIBUTE?
-----------------------
- Report any bugs, feature requests, etc. in the issue tracker, and/or write
  patches if your coding skills are up to it and you have the time.
  http://drupal.org/project/issues/intlinks

- Help translate this module.
  http://localize.drupal.org/translate/projects/intlinks

- Write a review for this module at drupalmodules.com.
  http://drupalmodules.com/module/intlinks

File

README.txt
View source
  1. CONTENTS OF THIS FILE
  2. ---------------------
  3. * Introduction
  4. * Installing
  5. * Uninstalling
  6. * Frequently Asked Questions (FAQ)
  7. * Known Issues
  8. * More Information
  9. * How Can You Contribute?
  10. INTRODUCTION
  11. ------------
  12. Maintainer and Author: Lowell Montgomery (LoMo)
  13. This module was written as a part of my internship as a Drupal developer with
  14. Cocomore . Thanks are due to Cocomore's senior developers,
  15. especially Markus Kalkbrenner and Christian Spitzlay, who provided invaluable
  16. guidance and support to help ensure my first module worked as conceived.
  17. The Internal Links module, Intlinks, is a simple set (currently two) of input
  18. filters which modify the output of internal, root-relative links in any text
  19. input format for which they are enabled.
  20. The Internal Links Title filter adds HTML titles to links to other nodes on the
  21. site (if no title attribute already exists) using the linked node's title as the
  22. HTML title attribute's value.
  23. It also replaces href values which are in the "normal Drupal path" form
  24. (e.g. ) with a URL alias, if one exists. It leaves any
  25. other attributes alone. It is especially useful for sites which have
  26. a lot of related content which can more easily be cross-linked, with less effort
  27. on the part of editorial staff. And if "normal Drupal paths" are used, it will
  28. also maintain any links if the URL aliases are modified to (for example) improve
  29. SEO or correct a typo.
  30. The Internal Links "hide bad" filter could probably be better named. Its main
  31. purpose is to remove internal links to nodes which aren't (yet or any longer)
  32. published or existent to avoid users seeing "page not found" errors when follow-
  33. ing links on your site. It checks URL aliases and/or normal Drupal paths to see
  34. if the node exists and checks whether the node is published, if so. If it finds
  35. no node under the linked URL, it also checks the "menu_router" table for non-
  36. node paths which could also be linked (e.g. a path to a Views page). It only
  37. removes internal, root-relative links which are not found as nodes or other
  38. special paths and/or are unpublished. If a link is removed, the anchored text
  39. is left in place, only the tagset (and any attributes within) are removed.
  40. The filter, by design, attempt to err on the side of leaving links alone, since
  41. otherwise its effect could be problematic. We suggest turning it on only if you
  42. know you have links to unpublished content, especially content you'll be making
  43. public over time, or if there are many old links (to unpublished content) which
  44. you don't have time to more permanently remove.
  45. Content should consist of reasonably well-structured HTML with double-quotes
  46. around HREF values, and with all internal links "root-relative", i.e. starting
  47. with a slash, ('/'), followed by the normal Drupal path (best) or path alias.
  48. I could have used regular expressions which would allow just about any HTML a
  49. browser will render, but that adds to processing and we should all be using
  50. nicely written HTML. Normal output from the common WYSIWYG text editors
  51. (CKEditor or TinyMCE, etc) should work fine.
  52. INSTALLING
  53. ----------
  54. See http://drupal.org/getting-started/install-contrib for instructions on
  55. how to install or update Drupal modules.
  56. Once the Internal Links module is installed and enabled, you can go to your
  57. "Text formats" page (/admin/config/content/formats) to configure any text
  58. format (filtered HTML/Full HTML, etc) to use either or both of the included
  59. filters. Of course it's most efficient to have the "hide bad" links filter
  60. first, so that processing is not wasted on adding titles to any links that
  61. are to be removed. The "convert URLs to links" filter, included in core,
  62. should ideally come after both of these, since it's only for "absolute" links
  63. (normally external) and the current regular expressions capture all HREF values.
  64. Other input filters may need to come before those in this module if you want
  65. their output to receive filtering by intlinks filters. These filters would
  66. include ones written to allow use of Markdown or BBCode. Their output is normal
  67. HTML which should allow the intlinks filters to do their job.
  68. You need to have clean URLs enabled for this module to function. It
  69. is not designed to work without them.
  70. UNINSTALLING
  71. ------------
  72. Currently the Internal Links module does not write anything to the database
  73. so there is no need to run update.php after installing/uninstalling the module.
  74. If you turn it off and remove it from your modules folder, it's gone without
  75. any trace of its existence (at least after any content caches are cleared.)
  76. FREQUENTLY ASKED QUESTIONS (FAQ)
  77. --------------------------------
  78. There are no frequently asked questions at this time. Feel free to change
  79. that if you have any questions. ;-)
  80. KNOWN ISSUES
  81. ------------
  82. No known "issues", per se, but the module is written without a lot of
  83. flexibility. More features and/or options may be added in future. Since the
  84. filters need to access the database to look up information about the links,
  85. it is most efficient to use them on cached content. A busy site (or a shared
  86. server) could well see significant page-load delays if the output of these
  87. filters is not cached, especially if there are many links to process on a
  88. typical page.
  89. MORE INFORMATION
  90. ----------------
  91. To issue any bug reports, feature or support requests, see the module's issue
  92. queue at http://drupal.org/project/issues/intlinks.
  93. HOW CAN YOU CONTRIBUTE?
  94. -----------------------
  95. - Report any bugs, feature requests, etc. in the issue tracker, and/or write
  96. patches if your coding skills are up to it and you have the time.
  97. http://drupal.org/project/issues/intlinks
  98. - Help translate this module.
  99. http://localize.drupal.org/translate/projects/intlinks
  100. - Write a review for this module at drupalmodules.com.
  101. http://drupalmodules.com/module/intlinks