Skip to content

Commit e642975

Browse files
Renamed addon and add-on to component.
1 parent 59e10bf commit e642975

12 files changed

+21
-36
lines changed

Components.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ To get the latest releases, use the `download` links below for recent releases.
4747
<li>third party documentation</li>
4848
<li markdown="span">{{chromeUrl}} to configure via <a href="SettingsInterface">SettingsInterface</a></li><li>license (if other than GNU LGPL 3)</li>
4949
</ul>
50-
<span markdown="span">{{chromeUrl}}s only work after you install the add-on in Firefox</span>
50+
<span markdown="span">{{chromeUrl}}s only work after you install the component in Firefox</span>
5151
</td>
5252
<td><strong>Other</strong></td>
5353
</tr>
@@ -306,4 +306,4 @@ To get the latest releases, use the `download` links below for recent releases.
306306
</table>
307307

308308
# Cutting edge
309-
If you're eager to use the development versions, apply [InstallFromSource](InstallFromSource). Also, installing the add-ons that way may be faster than downloading them one by one. Additionally, the source contains [PackagedScripts](PackagedScripts), which serve as active documentation. If you use a [GIT client](http://git-scm.com/downloads), it gives you easy access to future development versions.
309+
If you're eager to use the development versions, apply [InstallFromSource](InstallFromSource). That way may be faster than downloading components one by one. Additionally, the source contains [PackagedScripts](PackagedScripts), which serve as active documentation. If you use a [GIT client](http://git-scm.com/downloads), it gives you easy access to future development versions.

DevelopmentTools.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ This is for developing [Core extensions][core extension] and SeLite frameworks (
2121
* [Debugging Extensions (MDN)](https://developer.mozilla.org/en-US/docs/Building_an_Extension#Debugging_Extensions)
2222
* [TroubleShooting](TroubleShooting)
2323

24-
For the easiest download get all add-ons of [SeLite Development Tools collection](https://addons.mozilla.org/en-GB/firefox/collections/peter-kehl/selite-development-tools/). Otherwise install
24+
For the easiest download get all components of [SeLite Development Tools collection](https://addons.mozilla.org/en-GB/firefox/collections/peter-kehl/selite-development-tools/). Otherwise install
2525

2626
* [AMO admin assistant](https://addons.mozilla.org/en-US/firefox/addon/amo-admin-assistant/)
2727
* [DOM Inspector](https://addons.mozilla.org/en-US/firefox/addon/dom-inspector-6622/)

DocumentationStandard.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,10 @@ Don't use [Kramdown-specific header IDs](http://kramdown.gettalong.org/syntax.ht
8080
## Generating raw links
8181
GitHub doesn't serve raw versions of most file types with their MIME, except for images. So we use [htmlpreview.github.io](http://htmlpreview.github.io) for `.html` files. For any other files, e.g. `.xml, .xsl` or `.js`, use [rawgit.com](http://rawgit.com).
8282

83-
In detail: Use _htmlpreview.github.io_ rather than _rawgit.com_ for `.html`, because if you pass a generic Github URL (rather than a commit hash or a tag), _htmlpreview.github.io_ fetches the latest commit of that file. So we don't have to update those _htmlpreview.github.io_ links. However, production _cdn.rawgit.com_ caches the files. So if you change e.g. `add-on's-name/src/chrome/content/reference.xml` or `extension-sequencer/src/chrome/content/selenese_reference_to_html.xsl`, then update its _cdn.rawgit.com_ URLs to use the new commit hash or tag.
83+
In detail: Use _htmlpreview.github.io_ rather than _rawgit.com_ for `.html`, because if you pass a generic Github URL (rather than a commit hash or a tag), _htmlpreview.github.io_ fetches the latest commit of that file. Therefore we don't have to update those _htmlpreview.github.io_ links. However, production _cdn.rawgit.com_ caches the files. If you change e.g. `component's-name/src/chrome/content/reference.xml` or `extension-sequencer/src/chrome/content/selenese_reference_to_html.xsl`, then update its _cdn.rawgit.com_ URLs to use the new commit hash or tag.
8484

8585
### Updating links to cdn.rawgit.com
86-
Navigate to [github.com/selite/selite](https://github.com/selite/selite) > 'latest commit XYZ...' link near middle top > 'Browse files' button near the right top > locate the file > 'Raw' button. The URL will start with _https://raw.githubusercontent.com/selite/selite/XYZ.../\<add-on's-name\>/src/chrome/..._ Then append the path part of that URL to _https://cdn.rawgit.com/_, i.e. _https://cdn.rawgit.com/selite/selite/XYZ.../\<add-on's-name\>/src/chrome/..._
86+
Navigate to [github.com/selite/selite](https://github.com/selite/selite) > 'latest commit XYZ...' link near middle top > 'Browse files' button near the right top > locate the file > 'Raw' button. The URL will start with _https://raw.githubusercontent.com/selite/selite/XYZ.../\<component's-name\>/src/chrome/..._ Then append the path part of that URL to _https://cdn.rawgit.com/_, i.e. _https://cdn.rawgit.com/selite/selite/XYZ.../\<component's-name\>/src/chrome/..._
8787

8888
Apply similar steps to SelBlocksGlobal.
8989
<!--TODO

ExitConfirmationChecker.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ layout: default
66
{:toc}
77

88
# Status #
9-
This add-on is a work in progress. Currently it works only for Selenese commands `type` and `typeRandom`.
9+
This component is a work in progress. Currently it works only for Selenese commands `type` and `typeRandom`.
1010

1111
# Overview #
1212
Modern web pages assist you to prevent unintended loss of the data that you entered. When you edit a form but you don't submit it and then you try to close the tab (or the window or the browser), or you try to navigate away from the screen (following links or typing a new URL), the page asks you to confirm your intention. In Firefox it says 'This page is asking you to confirm that you want to leave - data you have entered may not be saved.' and it gives you a choice of two buttons: 'Stay on Page' and 'Leave Page'. (You won't be able to close the tab/window or even Firefox unless you click at one of those buttons, or unless you close Firefox forcibly). The application asks for that confirmation in a handler for [window.onbeforeunload()](https://developer.mozilla.org/en-US/docs/WindowEventHandlers.onbeforeunload).
@@ -18,7 +18,7 @@ Also, say you have an application that attracts your attention (e.g. an alert fr
1818
ExitConfirmationChecker helps your [scripts][script] to validate that the application asks for this confirmation exactly when it should. (It doesn't add any Selenese commands.)
1919

2020
# What it does for you #
21-
This add-on suppresses the confirmation dialog activated from `window.onbeforeunload()`. If that's all you need, use mode `ignored`. The other two active modes `includeRevertedChanges` and `skipRevertedChanges` also verify (or assert) whether the confirmation popup would show up (or would not show up) as it should.
21+
This component suppresses the confirmation dialog activated from `window.onbeforeunload()`. If that's all you need, use mode `ignored`. The other two active modes `includeRevertedChanges` and `skipRevertedChanges` also verify (or assert) whether the confirmation popup would show up (or would not show up) as it should.
2222

2323
## Out-of-the-box ##
2424
Out-of-the-box ExitConfirmationChecker only handles

InstallFramework.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ layout: default
88
# Scope and downloads #
99
This assumes that you've set up your web application and that there is an SeLite framework for it. You'll need packages mentioned at [Overview](./) > [Install](./#install). However, if you haven't downloaded SeLite [Components](Components) yet, getting them from source (which you'll need anyway) may be faster.
1010

11-
Regardless of how you install [Components](Components), download SeLite source to get the frameworks: follow [InstallFromSource](InstallFromSource) > [Get the source](InstallFromSource#get-the-source). If you're installing add-ons from source, follow [Install add-ons from source](InstallFromSource#install-add-ons-from-source).
11+
Regardless of how you install [Components](Components), download SeLite source to get the frameworks: follow [InstallFromSource](InstallFromSource) > [Get the source](InstallFromSource#get-the-source). If you're installing components from source, follow [Install components from source](InstallFromSource#install-components-from-source).
1212

1313
If your web application uses SQLite, you'll get full SeLite functionality and smoother script data life cycle. You'll be able to copy/restore {{ appDB }}, {{ scriptDB }} and {{ vanillaDB}} from within SeLite (via [SettingsInterface](SettingsInterface)). Otherwise you need to apply [DataImport](DataImport).
1414

InstallFromSource.md

+5-8
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ You need SeLite source to get [AppsFrameworks](AppsFrameworks) and [PackagedScri
99

1010
There are repositories for
1111

12-
* all add-ons (except for [SelBlocksGlobal](SelBlocksGlobal)) and frameworks
12+
* all components (except for [SelBlocksGlobal](SelBlocksGlobal)) and frameworks
1313
* [SelBlocksGlobal](SelBlocksGlobal)
1414
* documentation (you can view it offline as per [AboutDocumentation](AboutDocumentation)).
1515

@@ -20,19 +20,16 @@ There are repositories for
2020
| Documentation | [source](https://github.com/SeLite/SeLite.github.io) | [Download ZIP](https://github.com/SeLite/SeLite.github.io/archive/master.zip) | https://github.com/SeLite/SeLite.github.io.git | [Updates (feed)](https://github.com/SeLite/SeLite.github.io/commits/master.atom) |
2121
{: .table}
2222

23-
# Install add-ons from source #
24-
(If you've already installed any SeLite add-ons from downloads, uninstall them and restart Firefox. Only then apply the next steps.) Run `SeLite\setup_proxies.bat` and `SeLBlocksGlobal\setup_proxy.bat` (or `SeLite/setup_proxies.sh` and `SeLBlocksGlobal/setup_proxy.sh` on Mac OS/Linux). You can provide a Firefox profile name as a parameter, otherwise it uses `default` profile. After setting up proxy files, start Firefox (with that profile).
23+
# Install components from source #
24+
(If you've already installed any SeLite components from downloads, uninstall them and restart Firefox. Only then apply the next steps.) Run `SeLite\setup_proxies.bat` and `SeLBlocksGlobal\setup_proxy.bat` (or `SeLite/setup_proxies.sh` and `SeLBlocksGlobal/setup_proxy.sh` on Mac OS/Linux). You can provide a Firefox profile name as a parameter, otherwise it uses `default` profile. After setting up proxy files, start Firefox (with that profile).
2525

26-
On Windows (and probably on Mac OS, too):
27-
28-
* you may need to accept add-ons
29-
* verify that all SeLite add-ons are enabled at Firefox menu > Tools > Add-ons > Extensions.
26+
You may need to accept components (add-ons). Verify that all SeLite components are enabled at Firefox menu > Tools > Add-ons > Extensions.
3027

3128
Visit Firefox chrome URL _about:config_. Find or create a preference with name `xpinstall.signatures.required` and set it to `false`. (See [MDN Signing and distributing your add-on](https://developer.mozilla.org/en-US/Add-ons/Distribution)). <!-- Also see https://support.mozilla.org/en-US/kb/add-on-signing-in-firefox?as=u&utm_source=inproduct and https://wiki.mozilla.org/Add-ons/Extension_Signing -->
3229

3330
Restart Firefox.
3431

35-
Add-ons set up this way won't receive any updates. You'll need to run `GIT pull` (or download a new `.zip` file and extract it at the same location).
32+
Components set up this way won't receive any updates. You'll need to run `GIT pull` (or download a new `.zip` file and extract it at the same location).
3633

3734
# Install Selenium IDE from source #
3835
You'd need this only for debugging Selenium IDE, or custom add-ons that override it.

JavascriptComplex.md

+1-13
Original file line numberDiff line numberDiff line change
@@ -109,19 +109,7 @@ However, that would flood the client's namespace with no obvious benefit. It wou
109109
### Dependent Javascript code modules ###
110110
A Javascript code module can depend on one or more other code modules. If the dependent functionality is optional, wrap any respective code, e.g. calls to `Components.utils.import()`, in a `try{..}` statement, so that clients can still use the essential functionality even without the optional module.
111111

112-
Also, two or more Javascript code modules can depend on each other cyclically. That can be required (for essential functionality), each one requiring the other(s), or optional (for some functionality only). Make sure a code module defines `EXPORTED_SYMBOLS` and any symbols required by its cyclic dependent code module(s) before it loads those dependants via `Components.utils.import()`. See sources of `SeLiteSettings` and `SeLiteData.Storage`. TODO links.
113-
114-
## CommonJS modules in the future ##
115-
This is a new approach to Javascript modules - [CommonJS](http://wiki.commonjs.org/wiki/Modules/1.1). Firefox offers it for add-ons, but it documented it only in December 2013 (at [Module structure of the SDK](https://developer.mozilla.org/en-US/Add-ons/SDK/Guides/Module_structure_of_the_SDK)).
116-
117-
SeLite depends on Firefox-specific Javascript features and on Selenium IDE, which is for Firefox only. Due to high number of existing user extensions, Firefox will most likely support its classic way of code modules for years. So there is no urgent need to migrate SeLite to CommonJS.
118-
119-
In order to move towards CommonJS we'd need to:
120-
121-
* migrate the documentation to use JSDoc 3 [@module tag](http://usejsdoc.org/tags-module.html) (more at [JSDoc CommonJS support](http://usejsdoc.org/howto-commonjs-modules.html)). However, JSDoc 3 is not supported by [NetBeans 7.3](https://netbeans.org/kb/73/ide/javascript-editor.html#jsdoc_support) (not sure about newer versions). Until then the JSDoc documentation would not show up in NetBeans.
122-
* have NetBeans code navigation to recognise CommonJS notation.
123-
124-
The migration may not change [ExtensionSequencer](ExtensionSequencer) mechanism, since that resolves the order of activating [extensions of Selenium IDE][extension of Selenium IDE], and not the order of loading Javascript code modules.
112+
Also, two or more Javascript code modules can depend on each other cyclically. That can be required (for essential functionality), each one requiring the other(s), or optional (for some functionality only). Make sure a code module defines `EXPORTED_SYMBOLS` and any symbols required by its cyclic dependent code module(s) before it loads those dependants via `Components.utils.import()`. See sources of `SeLiteSettings` and `SeLiteData.Storage`. <!--TODO links.-->
125113

126114
# Class inheritance #
127115
There are many ways of class inheritance in Javascript. Follow [Mozilla way](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript#Inheritance) with `Object.create()`. E.g.:

JavascriptEssential.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ If you've used Javascript only for web pages, you’ll find out some new terms a
2626
Privileged Javascript controls (or extends or overrides) Firefox functionality. It can only come from {{chromeUrl}}s or _file://_ URLs. That is why [Bootstrap](Bootstrap) and [SettingsInterface](SettingsInterface) (and [SettingsAPI](SettingsAPI)) can't load files over http (neither https). _chrome://_ URLs are governed by extension's `chrome.manifest` (which maps a custom _chrome://xyz/_ URL prefix to a location within the extension).
2727

2828
## Scope ##
29-
Javascript for web applications has only two levels of scope: _global_ and _local_ (within functions). On the other hand, Firefox avoids conflicts between add-ons by running them with separate global scopes. However, extensions can share Javascript files without mixing their scopes: they can specify global scope used in those files. (The code from such files is still shared, even though global scope for each of its usages may be different. See {{navLoadingJavascriptFiles}}.) See also [Core scope].
29+
Javascript for web applications has only two levels of scope: _global_ and _local_ (within functions). On the other hand, Firefox avoids conflicts between components (add-ons) by running them with separate global scopes. However, extensions can share Javascript files without mixing their scopes: they can specify global scope used in those files. (The code from such files is still shared, even though global scope for each of its usages may be different. See {{navLoadingJavascriptFiles}}.) See also [Core scope].
3030

3131
## Prevent name conflicts ##
3232
If you add custom functionality at [Core scope], do it only for new Selenese commands or for use in parameters of Selenese commands. The later should be grouped in an object with a name unlikely to cause conflicts. Such object serves as a namespace. You can have multi-level namespace objects, or group classes and functions in a Java package-like notation.

PackagedScripts.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ Follow [InstallFromSource](InstallFromSource) for the easiest way to get SeLite
1717

1818
To make navigation across files easy, here's a convention: filenames of suites end with `_suite.html`, and cases are in files that have names ending with `_case.html`. If there are several shared cases, they can be in `shared_cases/` subfolder.
1919

20-
Scripts have {{navValuesManifests}} for any [Settings](Settings). If the same add-on has multiple [suites][suite] that need different configuration, such [suites][suite] and their {{valuesManifest}}s are in subfolders.
20+
Scripts have {{navValuesManifests}} for any [Settings](Settings). If the same component (add-on) has multiple [suites][suite] that need different configuration, such [suites][suite] and their {{valuesManifest}}s are in subfolders.
2121

22-
Selenium IDE doesn't indicate the current [suite]'s folder in the GUI. Therefore make suite file names clear. That helps especially when having similar suites in different folders (because of different configurations). SeLite own suites have file names in format `add-on-name_subfolder_suite.html` or `add-on-name_subfolder_subfolder_suite.html`.
22+
Selenium IDE doesn't indicate the current [suite]'s folder in the GUI. Therefore make suite file names clear. That helps especially when having similar suites in different folders (because of different configurations). SeLite own suites have file names in format `component-name_subfolder_suite.html` or `component-name_subfolder_subfolder_suite.html`.
2323

2424
## Navigating to local forms/pages
2525
[Cases][case] of packaged scripts must refer to their local `.html` forms/pages by _file://_-based URLs relative to location of the [suite]. Do not use URLs should not be relative to the [case], because the same case can be shared by multiple suites.
@@ -53,7 +53,7 @@ These validate functionality
5353
* which would be awkward to test in Selenese, or
5454
* which is not Selenese-specific, and while it can (and should) be tested from Selenese, it should be tested without Selenium IDE, too.
5555

56-
There's no extra installation - they are a part of their add-ons (in folders `javascript-tests`). You can invoke them offline and directly from Firefox (without starting Selenium IDE) through {{chromeUrl}}s listed at [Components](Components). However, you normally don't need to run them separately, since they get invoked from packaged Selenese scripts.
56+
There's no extra installation - they come as a part of their components (in folders `javascript-tests`). You can invoke them offline and directly from Firefox (without starting Selenium IDE) through {{chromeUrl}}s listed at [Components](Components). However, you normally don't need to run them separately, since they get invoked from packaged Selenese scripts.
5757

5858
# Shell tests #
5959
These are invoked from shell (i.e. `cmd` on Windows). They only exist for [ExtensionSequencer](ExtensionSequencer) > [Shell tests](ExtensionSequencer#shell-tests).

0 commit comments

Comments
 (0)