diff options
author | Ctibor Brančík <ctibor@brancik.cz> | 2016-03-20 19:27:01 +0100 |
---|---|---|
committer | Ctibor Brančík <ctibor@brancik.cz> | 2016-03-20 19:27:01 +0100 |
commit | 29a6913890a675ddf1a9239b4407f105e02dc95d (patch) | |
tree | dd9ba21b73e9e704952b49d5153616a9dfa9b98f /sites/all/modules/advanced_help/help | |
parent | 5ddacae6306ce071d4f7e4d438960d6d3a4c6bd8 (diff) | |
download | brdo-29a6913890a675ddf1a9239b4407f105e02dc95d.tar.gz brdo-29a6913890a675ddf1a9239b4407f105e02dc95d.tar.bz2 |
Added drupal modules for site
Diffstat (limited to 'sites/all/modules/advanced_help/help')
-rw-r--r-- | sites/all/modules/advanced_help/help/.htaccess | 4 | ||||
-rw-r--r-- | sites/all/modules/advanced_help/help/advanced_help.help.ini | 18 | ||||
-rwxr-xr-x | sites/all/modules/advanced_help/help/ahelp_tab.png | bin | 0 -> 11058 bytes | |||
-rw-r--r-- | sites/all/modules/advanced_help/help/click_icon.png | bin | 0 -> 4933 bytes | |||
-rw-r--r-- | sites/all/modules/advanced_help/help/ini-file.html | 117 | ||||
-rw-r--r-- | sites/all/modules/advanced_help/help/readme.html | 107 | ||||
-rw-r--r-- | sites/all/modules/advanced_help/help/translation.html | 44 | ||||
-rw-r--r-- | sites/all/modules/advanced_help/help/using-advanced-help.html | 152 | ||||
-rw-r--r-- | sites/all/modules/advanced_help/help/why-advanced-help.html | 44 |
9 files changed, 486 insertions, 0 deletions
diff --git a/sites/all/modules/advanced_help/help/.htaccess b/sites/all/modules/advanced_help/help/.htaccess new file mode 100644 index 000000000..cddefd235 --- /dev/null +++ b/sites/all/modules/advanced_help/help/.htaccess @@ -0,0 +1,4 @@ +<Files *\.html> +Order Allow,Deny +Deny from all +</Files> diff --git a/sites/all/modules/advanced_help/help/advanced_help.help.ini b/sites/all/modules/advanced_help/help/advanced_help.help.ini new file mode 100644 index 000000000..fe7babef9 --- /dev/null +++ b/sites/all/modules/advanced_help/help/advanced_help.help.ini @@ -0,0 +1,18 @@ +[readme] +title = README +weight = -11 + +[using-advanced-help] +title = Using advanced help +weight = -10 + +[translation] +title = Translating advanced help + +[ini-file] +title = Advanced help .ini file format +line break = FALSE + +[why-advanced-help] +title = Why advanced help? +line break = TRUE diff --git a/sites/all/modules/advanced_help/help/ahelp_tab.png b/sites/all/modules/advanced_help/help/ahelp_tab.png Binary files differnew file mode 100755 index 000000000..37ef6be4f --- /dev/null +++ b/sites/all/modules/advanced_help/help/ahelp_tab.png diff --git a/sites/all/modules/advanced_help/help/click_icon.png b/sites/all/modules/advanced_help/help/click_icon.png Binary files differnew file mode 100644 index 000000000..0f05444eb --- /dev/null +++ b/sites/all/modules/advanced_help/help/click_icon.png diff --git a/sites/all/modules/advanced_help/help/ini-file.html b/sites/all/modules/advanced_help/help/ini-file.html new file mode 100644 index 000000000..05b85e435 --- /dev/null +++ b/sites/all/modules/advanced_help/help/ini-file.html @@ -0,0 +1,117 @@ +<p>The advanced help configuration file is in simple .ini file format. +It has an optional section for global settings that might be inherited +for each help file, followed by sections for each help file.</p> + +<p>Global settings may be put into a section named <code>[advanced help +settings]</code>. This means that this name is reserved and it cannot +be a help file in any module or theme. The following settings may be +set in this section, with the default value (if any) in brackets.</p> + +<dl> +<dt><code>line break</code> (FALSE)</dt> +<dd>If set, the line break filter will be applied to all help files +defined by this module or theme, unless that help file specifically is +set otherwise. The line break converts line breaks +into <code>br</code> and <code>p</code> tags automatically.</dd> + +<dt><code>navigation</code> (TRUE)</dt> +<dd>If set, this navigation will be displayed at the end of the topic: +<em>previous topic</em>, Up (parent), <em>next topic</em>.</dd> + +<dt><code>css</code></dt> +<dd>Specify a css file that will be used for all help files (unless +overridden), including the .css extension. This .css file must reside +in the help directory along with the .html files, and will not be +affected by translation.</dd> + +<dt><code>name</code></dt> +<dd>May be set to override the module or theme name as displayed in +both the module/theme index as well as the navigation and breadcrumb +trail. Usually, this is not set, but for some projects you may want to +use a more friendly name than appears in the project's .info file.</dd> + +<dt><code>index name</code></dt> +<dd>This may be set to change the name of the module or theme in the +module/theme index. It overrides the <code>name</code> setting above, +as well as the project's name in its .info file.</dd> + +<dt><code>hide</code> (FALSE)</dt> +<dd>This may be used to hide a module or theme in the module/theme +index. This is particularly useful for modules who insert their help +files into the hierarchy of another module or theme, as might be done +by modules that extend <strong>Views</strong> or derived themes that +extend base themes like <strong>Zen</strong>. By setting this to TRUE +the project will not appear as its own entry.</dd> +</dl> + +<p>Each section after that will correspond to a single help file for a +single topic. It starts with the topic name in square brackets +(e.g. <code>[ini-file]</code>). The following settings may be set for +each file/topic, with the default value (if any) in brackets.</p> + +<dl> +<dt><code>title</code></dt> +<dd>The title of the topic, presented to the user and used in +links. If you have special characters in your title, be sure to +enclose it in quotes. (This setting is currently not optional.)</dd> + +<dt><code>file</code> (topic name)</dt> +<dd>The filename, without the .html extension, used for the file with +the help text for the topic. This is optional; if not specified, the +topic name wil be the file name.</dd> + +<dt><code>weight</code> (0)</dt> +<dd>The weight, used for sorting topics on the administration +page. The default is 0 (zero) if unspecified. Items with the same weight +are sorted alphabetically.</dd> + +<dt><code>parent</code></dt> +<dd>The topic ID to use in a hierarchy; children will be listed +beneath parents in the topic list, and will have the parent in their +breadcrumb trail. You may parent this topic to a topic in another +module or theme by using <code>module%topic</code> +or <code>theme%topic</code> as the identifier, +where <code>module</code> or <code>theme</code> is the project's short +name. For example if parent is set to, '<code>views%display</code>', +the topic will be regarded as a child of the +<code>display</code> topic in the <strong>Views</strong> module.</dd> + +<dt><code>line break</code> (FALSE)</dt> +<dd>Set the line break filter for this topic. Set to FALSE to disable +the line break filter if this has been turned on in the global +settings.</dd> + +<dt><code>css</code></dt> +<dd>Specify a css file that will be used for this file. This .css file +must reside in the help directory along with the .html files. This +will override any .css file added by the global settings.</dd> + +<dt><code>popup width</code> (500)</dt> +<dd>The width in pixels of the popup window.</dd> + +<dt><code>popup height</code> (500)</dt> +<dd>The height in pixels of the popup window.</dd> +</dl> + +<p>For example, here is a version of the <code>advanced_help.help.ini</code> file:</p> + +<pre> +[readme] +title = README +weight = -11 + +[using-advanced-help] +title = Using advanced help +weight = -10 + +[translation] +title = Translating advanced help + +[ini-file] +title = Help .ini file format +line break = FALSE + +[why-advanced-help] +title = Why advanced help? +line break = TRUE +</pre> diff --git a/sites/all/modules/advanced_help/help/readme.html b/sites/all/modules/advanced_help/help/readme.html new file mode 100644 index 000000000..68579bd5d --- /dev/null +++ b/sites/all/modules/advanced_help/help/readme.html @@ -0,0 +1,107 @@ +<h2 id="project-description">Synopsis</h2> + +<p>The <strong>Advanced help</strong> module provides a framework that allows +module and theme developers integrate help texts in a Drupal site.</p> + +<p>These help texts are stored in ordinary <code>.html</code>-files +that lives in the file system (as opposed to the database). These +files are distributed from the project Drupal.org repo in the same +package as the module or theme, and placed in a subdirectory named +<code>help</code> in the project or theme directory. This means that +the help texts can be easiely kept in sync with the project they +provide help texts for, but also that read access to these files +are not managed by any content access restrictions imposed by Drupal.</p> + +<p>The help texts can be marked up with standard HTML. They will be +rendered using your site's theme.</p> + +<p>If the module or theme author does not make use of the +<em>Advanced help</em> HTML-framework, but if there is a +<code>README.md</code> or <code>README.txt</code> in the package, +the content of that file will be shown instead.</p> + +<p>The help texts may appear in a popup or not as the project prefers. +By taking away access to view the popups, a site can hide popups from +users.</p> + +<p>The help texts can be placed in a hierarchy, allowing for top down +navigation of help.</p> + +<p>The help texts may be made searchable. If advanced help search is +enabled, all help texts are fully indexed. This means that the entire +contents of the advanced help set of pages can be searched for +keywords.</p> + +<h2 id="use">Using the module</h2> + +<p>When you enable the module, a new tab with the legend “Advanced +help” will show up under “Help”: + +<div class="ta-center"> +<img class="help-img-center" alt="ahelp_tab.png" src="&path&ahelp_tab.png" width="661" height="225" border="1" /> +</div> + +<p>By itself, this module doesn't do much. The <strong>Advanced +help</strong> assists other modules and themes in showing help texts. +Nothing will show up until you enable at least one other module that +makes use of the advanced help framework or comes with a file +named <code>README.md</code> or <code>README.txt</code>. However, it +comes with a small companion demo module named +<strong>Advanced help example</strong> to demonstrate how it works. +For more extensive example of use of the advanced help features, see +the <strong>Views</strong> project.</p> + +<!-- +<h2 id="project-recommended">Recommended modules</h2> + +<ul> +<li><a href="https://www.drupal.org/project/markdown">Markdown filter</a>:<br> +When this module is enabled, display of any <code>README.md</code> the +module shows will be rendered with markdown.</li> +<li><a href="https://www.drupal.org/project/attributions">Attributions</a>:<br> +When this module is enabled, attributions of third party content used +by the project (i.e. some text from Wikipedia) will be available in an +attribution block and on an atribution page.</li> +</ul> +--> + +<h2 id="support-status">Support status</h2> + +<p>Reported bugs for the Drupal 7 branch will be fixed in a timely +manner. Bugs in the issue queue for the Drupal 6 branch will only be +fixed if accompanied with a patch, after the patch has been reviewed +and tested by the community. No Drupal 8 version is currently under +development. Post a message in +the <a href="https://www.drupal.org/node/1928218">issue queue</a> if +you're interested in managing a port of the project to to Drupal +8. Older versions are no longer supported.</p> + +<p>Community support in the form of patches are very welcome for both +Drupal 6 and Drupal 7 versions, and will be given priority. For QA, +the project needs community support in the form of reviews of patches, +development versions and releases.</p> + +<p>The primary goal of the module is to remain <strong>light-weight +and simple</strong>. This means that not all feature requests will be +implemented, even if they are a good idea. Feature requests +accompanied by patches are more likely to make it into a release.</p> + +<p>The maintainer hopes that the community is willing to help out by +answering & closing support requests.</p> + +<!-- +<h2 id="project-problems">Known problems</h2> +--> + + + +<h2 id="project-maintainers">Credits</h2> + +<ul> +<li><a href="https://www.drupal.org/u/merlinofchaos"">merlinofchaos</a> (52 commits, original creator)</li> +<li><a href="https://www.drupal.org/u/redndahead">redndahead</a> (8 commits)</li> +<li><a href="https://www.drupal.org/u/dmitrig01">dmitrig01</a> (3 commits)</li> +<li><a href="https://www.drupal.org/u/amitgoyal">amitgoyal </a> (5 commits)</li> +<li><a href="https://www.drupal.org/u/gisle">gisle</a> (current maintainer, D7)</li> +<li><a href="https://www.drupal.org/u/gnuget">gnuget</a> (current maintainer, D8)</li> +</ul> diff --git a/sites/all/modules/advanced_help/help/translation.html b/sites/all/modules/advanced_help/help/translation.html new file mode 100644 index 000000000..8faf0e904 --- /dev/null +++ b/sites/all/modules/advanced_help/help/translation.html @@ -0,0 +1,44 @@ +<p>To translate a help-file indexed by <strong>Advanced help</strong>, +first create a directory +<code>translations/help/<em>language</em></code> in the project's +root directory. The <em>language</em> is the language code that +appears on the <em>Languages</em> page in the administrative UI.</p> + +<p>Then, copy the <code>.ini</code> file and all +the <code>.html</code> files from the help directory into this. If +you need to alter an image to use it in a translation, you may also +put the altered image there.</p> + +<p>In the topics section, the <code>.ini</code> file only needs to +keep the topic names (unaltered) and titles (translated). If there is +a <code>name</code> or <code>index name</code> setting in the +'advanced help settings' portion, that should be retained. Any +retained settings should be translated. The rest of the data in the +<code>.ini</code> file may be discarded or ignored.</p> + +<p>Each <code>.html</code> file should then be translated in place.</p> + +<p>When translating a <code>.html</code> file, you will find that +the <code>&path&</code> keyword (used for images and links) +will lead to the original directory. If you must translate items that +are linked, such as images containing text, +use <code>&trans_path&</code> instead, which will lead to the +translated directory. This will allow you to pick and choose which +linked items, if any, will be translated.</p> + +<p>If a topic is not tranlated, the default (untranslated) version +will be shown instead.</p> + +<h2>Translating Advanced help's help files</h2> + +<p>If you want to help with the translation of +<strong>Advanced help</strong> help texts for a particular language, look for an issue named named “Translation to XXX” (where +“XXX” is the language you want to translate the help texts to) in the <a href="https://www.drupal.org/project/issues/advanced_help">issue queue for Advanced help</a>. +If such an issue does not exist, please can create it. +Choose <em>Category</em> “Task”, +<em>Status</em> “Needs review” and +<em>Component</em> “Documentation”. +Upload translated files as an attachment (change the file type from <code>.html</code> to <code>.txt</code> to be allowed to upload). </p> + +<p>Uploaded translations will be included in the next version if +reviewed and approved by other users (i.e. gets to status “RTBC”).</p> diff --git a/sites/all/modules/advanced_help/help/using-advanced-help.html b/sites/all/modules/advanced_help/help/using-advanced-help.html new file mode 100644 index 000000000..c47750bb4 --- /dev/null +++ b/sites/all/modules/advanced_help/help/using-advanced-help.html @@ -0,0 +1,152 @@ +<p>The <strong>Advanced help</strong> module provides a framework that +allows module and theme developers integrate help texts in a Drupal +site. Although the <strong>Advanced help</strong> does not provide +general help by itself, it provides a powerful and easy framework that +modules and themes may use to provide their own help.</p> + +<p>Modules and themes utilizing <strong>Advanced help</strong> should +create a subdirectory named <code>help</code> inside their own main +directory. Place the file +<em>MODULENAME</em>.help.ini (resp. <em>THEMENAME</em>.help.ini) in this subdirectory. +formatted similar to the following example:</p> + +<pre> +[about-php] +title = About PHP +file = about-php +weight = -10 + +[history] +title = History of PHP +parent = about-php + +[usage] +title = Usage of PHP +weight = 1 + +[security] +title = Security of PHP +weight = 2 + +[syntax] +title = PHP syntax +parent = usage +</pre> + +<p>This file defines five help topics (inside the square brackets), and +some settings for them. +See: <a href="&topic:advanced_help/ini-file&">Advanced help .ini file format</a> for +a list of defined settings.</p> + + +<p>All topics are addressed by the module or theme providing the +topic, and by the topic id. To produce a themed link to popup +about a topic, use the a format similar to the following example:</p> + +<!-- D6 +<pre> +$output = theme('advanced_help_topic', 'help_example', 'about-php'); +$output .= ' ' . t('Click the help icon!'); +</pre> +--> + +<!-- D7 --> +<pre> +$output = theme('advanced_help_topic', array( + 'module' => 'help_example', + 'topic' => 'about-php', +)); +$output .= ' ' . t('Click the help icon!'); +</pre> + +<p>This produces the following output:</p> + +<pre> +<a class="advanced-help-link" title="About PHP" + onclick="var w=window.open(this.href, 'advanced_help_window', + 'width=500,height=500,scrollbars,resizable'); + w.focus(); return false;" + href="/help/help_example/about-php?popup=1"> +<span>Help</span> +</a> + Click the help icon! +</div> +</pre> + +<p>This produces a clickable help icon like the one shown below:</p> + +<div class="ta-center"> +<img class="help-img-center" alt="clickable icon" src="&path&click_icon.png" width="180" height="90" border="0" /> +</div> + +<p>Inside your help file, you may link to other help topics using this format:</p> +<pre> +<a href="&topic:module/topic&">topic</a> +</pre> +<p>This format will ensure the popup status remains consistent when +switching between links.</p> + +<p>To reference items within the help directory, such as images you wish to embed within the help text, use:</p> + +<pre> +<img src="&path&example.png"/> +<img src="&trans_path&example.png"/> +</pre> + +<p>The <code>trans_path</code> keyword refers to a translated version of the image in the translation directory and may be used it differs from the original.</p> + +<p>To reference any normal path in the site, use:</p> +<pre> +<a href="&base_url&admin/settings/site-configuration">anchor text</a> +</pre> + +<p><strong>NOTE: </strong> In previous versions <strong>Advanced +help</strong> did not require the &'s to be wrapped around +<code>topic</code>, <code>path</code>, and <code>base_url</code>. +This is currently still supported, but will be removed in a future +version. By adding the &'s these tokens are now not limited +to <code>href=""</code> and <code>src=""</code> parameters.</p> + +<h2 id="access-control">Access control</h2> + +<p>When this module is installed, users with the +<code>view advanced help index</code> +permission can access the advanced help index by going to +<em>Administer → Advanced Help</em> +(<code>admin/advanced_help</code>). Additional permissions +<code>view advanced help topic</code> and +<code>view advanced help popup</code> +enable users to access the actual help pages and popups.</p> + +<p>The help texts are stored as plain .html-files and can, unless +protected, be accessed by anyone who knows their URL. To protect +them, place the following four lines in a file named +<code>.htaccess</code> in project's <code>help</code> directory:</p> + +<pre> +<Files *\.html> +Order Allow,Deny +Deny from all +</Files> +</pre> + +<p>It as the responsibility of the site manager to make sure this type +of protection is in place if the site has help files that merits +protection from direct access.</p> + +<p>See also this tracker in the project's issue queue: +<a href="https://www.drupal.org/node/1980936">#1980936 Typing complete path to .html help files in module bypasses user permissions</a>.</p> + +<h2 id="search">Search</h2> + +<p>To enable advanced help search, navigate to +<em>Administration → Configuration → Search and metadata → Search settings</em>. +Scroll down to <em>Active search modules</em> and tick the box to the +left of “Advanced help”. The search form will appear on the top of +the advanced help index pages.</p> + +<p>If the core <strong>Search</strong> module is enabled, the contents +of the advanced help framework will be indexed on cron. If you enable +new modules or themes and wish to immediately index their help text, +navigate to <em>Administration → Reports → Status report</em> and +click the link “run cron manually”.</p> diff --git a/sites/all/modules/advanced_help/help/why-advanced-help.html b/sites/all/modules/advanced_help/help/why-advanced-help.html new file mode 100644 index 000000000..3f36b3dda --- /dev/null +++ b/sites/all/modules/advanced_help/help/why-advanced-help.html @@ -0,0 +1,44 @@ +The <strong>Advanced help</strong> framework was designed to replace the original Drupal help system, which has several flaws that make it hard to create new help, hard to maintain existing help, and particularly hard to access help. + +The primary goal, then, is to increase the accessibility of help, meaning the ability of both the user and the help text author to access the needed tools to use, create, maintain and translate the help. + +This system is completely separate from Drupal's <code>hook_help()</code>. In Drupal 6 and 7, it actually co-exists with it; in the future, it is hoped that it will completely replace it allowing <code>hook_help()</code> to be deprecated and removed. + +Messages added to the top of a page are not really “help”. Often these messages are an introduction to a form or a short blurb telling a user what to do with a particular page. The problem is, these messages are always there, they are easily ignored, and they come before the actual page. In general, when users are learning, they want to see the page first, then ask questions. The reverse order is much less conducive to actually teaching a user how to use something. By allowing help to be available on request, the system conforms more naturally to how most people work. + +<h2>Advanced help is organized by topic</h2> +With the <code>hook_help()</code> method, help text is organized by URL path. This is fine if you have help text describing how to use a particular page or what a particular page does, but ultimately is limiting because manuals and documentation are usually grouped by topic, and those topics are determined by the material itself. + +<strong>Advanced help</strong> allows the documentation author to organize topics as he or she sees fit; the only restriction, really, is that each individual chunk of text needs to stand on its own as a discrete topic. + +What's more, modules and themes can insert their topics into another's hierarchy. This would allow the Drupal core to create a task based help navigation system which allows modules and themes to insert topics into that navigation fluidly. This allows modules and themes to continue to keep their systems separate, yet integrate into the main system. + +<h2>Advanced help topics are processed HTML in their own files</h2> +This separation makes it easy to find and modify. Currently, everything is lumped together in <code>hook_help()</code> in PHP strings that are run through <code>t()</code>, and there is a fair amount of PHP code necessary in this system that actually gets in the way of writing good, explanatory text. + +In fact, requiring a documentation author to understand PHP at all is a detriment. The idea that documentation writers need to have PHP development as a skill seriously reduces the number of available contributors. HTML, on the other hand, is a much more common skill, is relatively easy to learn, and the amount of HTML needed to write documentation is only a little bit more than the HTML used in forum posts. + +Another benefit to not using PHP is that the files themselves are safe. They are filtered to escape malicious script code that could take over the server or do worse things. This means that these files can be used relatively easily on Drupal.org itself. It also means that descriptions of the project pulled from the project's help pages or README.txt or README.md can be made on the project's Drupal.org without the need to download the module or theme to look at the contents of these files. This also simplifies maintenance, as the files can be corrected easily by patches, which are updated by tyhe maintainer and pushed to git. + +By moving all docymentation into help files, we could, if we wanted, package the Drupal.org handbooks, or a subset of them, directly into a Drupal distribution, or a Drupal add-on, so that Drupal administrators can have Drupal help without needing to visit Drupal.org. This can be valuable in locked down corporate environments and on planes. But more importantly, the handbooks can be made version aware much more easily than the current method on Drupal.org. + +The downside to this method is that these books can't easily be made dynamic. Though the use of alter hooks could allow a module or theme to make modifications to the help as needed, doing this could make the help files less useful when you take them out of context. + +<h2>Advanced help files are translated as a file</h2> +It is actually not easy to translate documents as strings, particularly when the language being used is very much unlike English. In fact, when translating a document, the organization of the sentences may change drastically. It is also a burden on the CPU to do this, as you are indexing on very long strings. + +Translators have a much better time translating a document as a unit, because of the presence of the entire context. + +<h2>Advanced help has its own navigation system</h2> +By making use of a navigation system specified in a .ini file (which is not PHP code and therefore safe to use), the help can be structured like a book, which is typical of online manuals. This is familiar to users, can be organized (and re-organized) and allows a module or theme to include significantly richer text without burdening the PHP code with having its help loaded unnecessarily. + +This book can be navigated hierarchically as well, making it easy to keep related topics together. +<h2>Advanced help is indexed by the search engine</h2> +An important goal of this system was to add searchability to the help. By being able to enter keywords into the search box and find relevant topics, we come up with a system that resembles the kind of help that comes with many operating systems. This is very valuable when searching through manuals trying to find out how to do a particular thing. + +This search is specific to the help, meaning that the help will not be mixed in with the global node search. This can be considered both an advantage and a disadvantage. For the most part, this help system is meant to provide help to site administrators, and content searches should not find it. The disadvantage, of course, is when you want to use it for end user help, you will not be able to. + +<h2>Inline help can be brought in via popups</h2> +In addition to the manual-like hierarchical navigation, <strong>Advanced help</strong> can also provide context-sensitive additional help through a popup. While popups are controversial, the argument for using them is that when getting help while on a form, <i>a popup will not throw away a user's data.</i> Browsers are not very friendly to input forms if they are not submitted, and navigating away from the form can be dangerous. There are various other solutions to this problem, but each one has a drawback. The drawbacks to popups are well known, but mostly it is the irritation of having new windows. When getting help, though, a popup is usually invited. Help should not interfere with what the operation the user is trying to complete. It differs greatly from the uninvited popup, which are usually ads or popups meant to prevent users from navigating away from a site. + +Popups can be added to a page with plain text links or themed icon links. |