Initial Enterprise update

This commit is contained in:
Andrew Roberts
2015-11-10 08:44:35 -08:00
parent 0ed6e587dd
commit 0fd6dd05ab
10 changed files with 713 additions and 0 deletions
+12
View File
@@ -182,6 +182,18 @@
pages:
- url: "bootstrap"
- url: "jquery"
- url: "wordpress"
- url: "enterprise"
pages:
- url: "manage-files-and-images"
- url: "paste-from-word"
- url: "check-spelling"
pages:
- url: "plugin"
- url: "server"
- url: "troubleshoot"
- url: "pro-translations"
- url: "advanced-development-topics"
pages:
+328
View File
@@ -0,0 +1,328 @@
---
layout: default
title: Check Spelling As-You-Type
description: Spell Checker Pro is a premium plugin and server to check spelling as-you-type.
keywords: tinymcespellchecker
---
**Spell Checker Pro** adds spell check as-you-type capabilities to TinyMCE.
The following languages are supported:
|Language | Code |
|:-----------------------------|:-------|
| English | en |
| English (UK) | en_UK, en_GB, en_BR |
| Danish | da |
| Dutch | nl |
| Finnish | fi |
| French | fr |
| German | de |
| Italian | it |
| Norwegian | nb |
| Portuguese (Brazil) | pt |
| Portuguese (Europe) | pt_PT |
| Spanish | es |
| Swedish | sv |
## Downloading Spell Checker Pro
A [TinyMCE Enterprise](http://www.tinymce.com/pricing/) subscription includes the ability to download and install a spell check as-you-type feature for the editor.
Spell Checker Pro requires both a client-side plugin to be configured and a server-side component to be installed and configured.
## Client-Side Plugin Installation
To enable Spell Checker Pro:
1. If you are currently using the `spellchecker` plugin provided with TinyMCE Community Edition, disable it by removing it from the `plugins` list.
2. Add `tinymcespellchecker` to the `plugins` list.
Example TinyMCE Configuration:
````
tinymce.init({
selector: 'textarea',
plugins: 'tinymcespellchecker',
spellchecker_rpc_url: 'localhost/ephox-spelling',
spellchecker_language: 'en',
});
````
### Usage
The TinyMCE Spell Checker Pro plugin activates automatically when users type content into the editor. To see and select a spelling suggestion after a word has been misspelled, please right click the misspelled red underlined word.
### Client-Side Configuration Options
#### spellchecker_rpc_url
This setting enables you to specify the URL to be used for the server side ephox-spelling service.
#### spellchecker_languages
This optional setting allows you to specify the languages that are available to the user, provided as a comma delimited string. The default value for this setting is: 'US English=en,UK English=en_GB,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Norwegian=nb,Brazilian Portuguese=pt_BR,Iberian Portuguese=pt_PT,Spanish=es,Swedish=sv'
#### spellchecker_language
This optional setting allows you to specify the language code that will be used by default. This defaults to "en".
### Toolbar Buttons
#### spellchecker
This button allows the user to perform a spellcheck on the entire document. In addition, the drop down menu attached to this button allows you to specify the language that is currently used when spellchecking.
## Server-Side Component Installation
Spell checking requires the deployment of several server-side components onto a J2EE compatible application server (e.g. Jetty, or Apache Tomcat).
The following server-side components are required to enable spell checking:
|Component | File | Description |
|:----------------------------- |:------- |:----------|
| Allowed Origins | ephox-allowed-origins.war | Supplies configuration for server components to communicate with your application.|
| Spell checking | ephox-spelling.war |Spell checking service for TinyMCE Enterprise.|
This guide will help you set up the Spelling server-side components, and show you how to use them in conjunction with editor clients. The steps required are:
1. Install a Java application server (or use existing)
2. Deploy server-side components
3. Create a configuration file and configure the allowed origins service
4. Pass the configuration file to the Java application server
5. Restart the Java application server
6. Set up editor client instances to use the spelling service
### Step 1. Install a Java Application Server
Server-side components require a Java Application Server to run.
If you don't already have a Java application server installed you can easily install [Tomcat](http://tomcat.apache.org/) or [Jetty](http://www.eclipse.org/jetty/) with their default settings.
These are both simple, open source Java application servers and they're easy to install and configure. The editor SDK supports both of these platforms. For the later setup, it's also helpful if you note any domain name and port number you specify during installation of the web application server.
> **Memory requirement:** Please ensure that you configure your Java Server (Tomcat/Jetty etc) with a minimum of 4GB. Please refer to the Out of Memory Services Troubleshooting page if you require instructions on how to explicitly define how much RAM will be allocated to your Java server.
### Step 2. Deploy Server-side Components
Youll need to ensure you deploy the following WAR files packaged with the TinyMCE Enterprise SDK:
* ephox-allowed-origins.war
* ephox-spelling.war
The easiest way to deploy these files is to simply drag and drop them into the webapps directory of your Tomcat/Jetty server (or equivalent folder of another Java application server), and then restart the server.
More information on deploying components/applications:
* [Deploying applications with Tomcat 6.0](https://tomcat.apache.org/tomcat-6.0-doc/deployer-howto.html)
* [Deploying applications with Jetty](https://wiki.eclipse.org/Jetty/Howto/Deploy_Web_Applications)
### Step 3. Create a configuration file and configure the allowed origins service
> **Note:** It is recommended that you use a plain text editor (eg: gedit, vim, emacs, notepad etc) when creating or editing the application.conf file. Do not use editors like Evernote as there is a good chance of smart quotes being used where plain quotes should be used and this will cause the services to fail.
Services requires a configuration file named `application.conf` to be referenced by the application server.
The SDK comes packaged with an example configuration file (`examples/sample_application.conf`) that can be used as a reference guide. You can use this example file (after modifying it with your settings). We recommend that you make a backup of the file before editing it.
The `allowed-origins` configuration element will need to be specified in order for the spelling server-side component to work.
#### allowed-origins
This element configures the allowed-origins service which allows all server-side components to communicate with specified domains.
The `origins` attribute must list all the domains that instances of the editor will be hosted on. Only requests from the listed origins will be processed by the server-side components. Requests from any other domains will be rejected. An array of strings representing the domains allowed to communicate with the services.
> Note: Be sure to include the protocol (https or http) and any required port number (eg:8080) in the string.
The `url` attribute defines the location of the allowed-origins service. This string is a concatenation of two values:
* String 1: The URL location of the allowed-origins service
* String 2: The API to access in the service (/cors).
Example:
````
ephox {
allowed-origins {
origins = [ "http://myserver", "http://myserver:8080", "http://myotherserver", "http://myotherserver:9090", "https://mysecureserver" ]
url = "http://myserver:8080/ephox-allowed-origins/cors"
}
}
````
#### Entering Origins
The origins are matched by protocol, hostname and port. So you may need a combination of all three, depending on which browser /s you use. If you are serving the editor and services from http://localhost & port 80, then the list of origins should have an entry for "http://localhost" and any other servers with ports, like so:
````
ephox{
allowed-origins{
origins=["http://localhost", "http://any-other-servers:port"]
url = "http://localhost/ephox-allowed-origins/cors"
}
}
````
This only applies to port 80 because this being the default http port, browsers omit it when talking to the server. For every other port and hostname, the recommended setting is to make one entry with the port and one without the port. This is because different browsers behave differently with regards to the Origin header. So the config file should resemble:
````
ephox{
allowed-origins{
origins=["http://hostname", "http://hostname:1234"]
url = "http://hostname:1234/ephox-allowed-origins/cors"
}
}
````
Ensure that you have the right protocol specified, and for more examples see the section below. If you experience issues, please use the Troubleshooting guide (in the Tip below) and you should be able to see if the browser sends a different origin to the one that you have specified. Both must match for the services to work.
#### Troubleshooting
Depending on your configuration and the browser you use, you may need to specify the port number as well when listing the origin. If you observe that requests are failing with services not being available, it may be because the port number is required. Refer to troubleshooting guide - section titled Investigating Using the Browser's Network Tools.
### Step 4. Pass the configuration file to the Java application server
Youll need to reference the configuration file created in Step 3 as a parameter passed to the JVM running the services. Once the server has been configured to use the file, restart the server.
> **Note:** If the path to your application.conf file has spaces in it, you must ensure you prefix each white space with an escape character (\). Example: ` -Dconfig.file=/config/file/location/with/white\ space/application.conf`
The following examples demonstrate how to reference application.conf for Tomcat or Jetty instances.
#### Tomcat Unix example:
Make/edit a script at `/tomcat/install/directory/bin/setenv.sh`
Ensure the file contains a single line, like (this must be the absolute path as before):
`CATALINA_OPTS=" -Dconfig.file=/config/file/location/application.conf"`
#### Tomcat (Windows) example:
Make/edit a script at `DRIVE:\tomcat\install\directory\bin\setenv.bat`
The file should contain a single line:
`set CATALINA_OPTS= -Dconfig.file=DRIVE:\config\file\location\application.conf`
#### Jetty (simple configuration):
You can specify your `application.conf` as a parameter to this command, along with other JVM parameters:
`java -jar /jetty/install/directory/start.jar -Dconfig.file="/config/file/location/application.conf"`
#### Jetty (automatic configuration for services launching on system start-up):
Edit `/etc/default/jetty` and add the line:
`JETTY_OPTS=" -Dconfig.file=/config/file/location/application.conf"`
Edit `/opt/jetty/start.ini` and add the line:
`" -Dconfig.file=/config/file/location/application.conf"`
The first new lines of the file should read:
````
#===========================================================
# Jetty start.jar arguments
# Each line of this file is prepended to the command line
# arguments # of a call to:
# java -jar start.jar [arg...]
#===========================================================
" -Dconfig.file=/config/file/location/application.conf"
````
### Step 5: Restart the Java application server
Once you have created a configuration file, configured the allowed origins service, and passed the configuration file to the Java application server you must restart the Java application server.
With the above steps completed you can now direct TinyMCE instances to use the server-side spelling component.
Set the TinyMCE `spellchecker_rpc_url` configuration property to the URL of the deployed server side spelling component. This URL is provided to you by your Java application server.
Example of TinyMCE client configuration:
````
tinymce.init({
selector: 'textarea',
plugins: 'tinymcespellchecker',
spellchecker_rpc_url: 'http://yourspelling.server.com/ephox-spelling/'
});
````
### Logging
For compartmentalization of logs in your environment or to provide Ephox with more succinct feedback around the behavior of your deployed TinyMCE Spelling Component (e.g. for support purposes), you may want to write out the spelling-service specific logs to a specific file.
To write the spelling-service specific logs to a specific file, youll need to perform the following steps:
#### Create a logging configuration XML file
The spelling service use the [Logback](http://logback.qos.ch/manual/configuration.html) logging format.
For easy implementation, here is a sample XML configuration with a tokenized value you can populate where {$LOG_LOCATION} is the location and name of the file you would like to write the logs to (e.g. /tmp/tinymce_services.log).
````
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>{$LOG_LOCATION}</file>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- This results in all ephox logging going to file.
Change/uncomment this part here if spellchecking specific logging is required -->
<logger name="com.ephox" level="INFO"/>
<!-- <logger name="com.ephox.ironbark" level="INFO"/> -->
<root level="INFO">
<appender-ref ref="FILE" />
<!-- If you want logging to go to the container as well uncomment
the following line -->
<!-- <appender-ref ref="STDOUT" /> -->
</root>
</configuration>
````
#### Add the logging configuration to your classpath
Much like how your `application.conf` services configuration file is added to the classpath (see Step 3 above), youll need to follow a similar pattern to add your logging configuration XML to the classpath.
````
-Dlogback.configurationFile={$LOG_LOCATION}
````
### Troubleshooting Server Issues
#### Browser-Specific Issues
##### Internet Explorer Specific Troubleshooting Tips
If the editor is reporting that the service cannot be found and tracing the network traffic reveals that no request is made at all, check that the server is **not** listed in the "Trusted Sites" section of Internet Explorer's security options. If it is, remove it and try again.
##### Chrome Specific Tips
If the server is not running on a standard HTTP or HTTPS port (80 or 443) then Chrome will include the port in the origin header that is sent to the server. Other browsers do not do this. This is why when specifying the "allowed-origins" config, you should use both the hostname by itself and the hostname and port in the configuration. See Entering Origins for more details
+46
View File
@@ -0,0 +1,46 @@
---
layout: default
title: Install Plugin
description: Spell Checker Pro is a premium plugin and server to check spelling as-you-type.
keywords: tinymcespellchecker
---
## Client-Side Plugin Installation
To enable Spell Checker Pro:
1. If you are currently using the `spellchecker` plugin provided with TinyMCE Community Edition, disable it by removing it from the `plugins` list.
2. Add `tinymcespellchecker` to the `plugins` list.
Example TinyMCE Configuration:
````
tinymce.init({
selector: 'textarea',
plugins: 'tinymcespellchecker',
spellchecker_rpc_url: 'localhost/ephox-spelling',
spellchecker_language: 'en',
});
````
### Usage
The TinyMCE Spell Checker Pro plugin activates automatically when users type content into the editor. To see and select a spelling suggestion after a word has been misspelled, please right click the misspelled red underlined word.
### Client-Side Configuration Options
#### spellchecker_rpc_url
This setting enables you to specify the URL to be used for the server side ephox-spelling service.
#### spellchecker_languages
This optional setting allows you to specify the languages that are available to the user, provided as a comma delimited string. The default value for this setting is: 'US English=en,UK English=en_GB,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Norwegian=nb,Brazilian Portuguese=pt_BR,Iberian Portuguese=pt_PT,Spanish=es,Swedish=sv'
#### spellchecker_language
This optional setting allows you to specify the language code that will be used by default. This defaults to "en".
### Toolbar Buttons
#### spellchecker
This button allows the user to perform a spellcheck on the entire document. In addition, the drop down menu attached to this button allows you to specify the language that is currently used when spellchecking.
+248
View File
@@ -0,0 +1,248 @@
---
layout: default
title: Install Server
description: Spell Checker Pro is a premium plugin and server to check spelling as-you-type.
keywords: tinymcespellchecker
---
## Server-Side Component Installation
Spell checking requires the deployment of several server-side components onto a J2EE compatible application server (e.g. Jetty, or Apache Tomcat).
The following server-side components are required to enable spell checking:
|Component | File | Description |
|:----------------------------- |:------- |:----------|
| Allowed Origins | ephox-allowed-origins.war | Supplies configuration for server components to communicate with your application.|
| Spell checking | ephox-spelling.war |Spell checking service for TinyMCE Enterprise.|
This guide will help you set up the Spelling server-side components, and show you how to use them in conjunction with editor clients. The steps required are:
1. Install a Java application server (or use existing)
2. Deploy server-side components
3. Create a configuration file and configure the allowed origins service
4. Pass the configuration file to the Java application server
5. Restart the Java application server
6. Set up editor client instances to use the spelling service
### Step 1. Install a Java Application Server
Server-side components require a Java Application Server to run.
If you don't already have a Java application server installed you can easily install [Tomcat](http://tomcat.apache.org/) or [Jetty](http://www.eclipse.org/jetty/) with their default settings.
These are both simple, open source Java application servers and they're easy to install and configure. The editor SDK supports both of these platforms. For the later setup, it's also helpful if you note any domain name and port number you specify during installation of the web application server.
> **Memory requirement:** Please ensure that you configure your Java Server (Tomcat/Jetty etc) with a minimum of 4GB. Please refer to the Out of Memory Services Troubleshooting page if you require instructions on how to explicitly define how much RAM will be allocated to your Java server.
### Step 2. Deploy Server-side Components
Youll need to ensure you deploy the following WAR files packaged with the TinyMCE Enterprise SDK:
* ephox-allowed-origins.war
* ephox-spelling.war
The easiest way to deploy these files is to simply drag and drop them into the webapps directory of your Tomcat/Jetty server (or equivalent folder of another Java application server), and then restart the server.
More information on deploying components/applications:
* [Deploying applications with Tomcat 6.0](https://tomcat.apache.org/tomcat-6.0-doc/deployer-howto.html)
* [Deploying applications with Jetty](https://wiki.eclipse.org/Jetty/Howto/Deploy_Web_Applications)
### Step 3. Create a configuration file and configure the allowed origins service
> **Note:** It is recommended that you use a plain text editor (eg: gedit, vim, emacs, notepad etc) when creating or editing the application.conf file. Do not use editors like Evernote as there is a good chance of smart quotes being used where plain quotes should be used and this will cause the services to fail.
Services requires a configuration file named `application.conf` to be referenced by the application server.
The SDK comes packaged with an example configuration file (`examples/sample_application.conf`) that can be used as a reference guide. You can use this example file (after modifying it with your settings). We recommend that you make a backup of the file before editing it.
The `allowed-origins` configuration element will need to be specified in order for the spelling server-side component to work.
#### allowed-origins
This element configures the allowed-origins service which allows all server-side components to communicate with specified domains.
The `origins` attribute must list all the domains that instances of the editor will be hosted on. Only requests from the listed origins will be processed by the server-side components. Requests from any other domains will be rejected. An array of strings representing the domains allowed to communicate with the services.
> Note: Be sure to include the protocol (https or http) and any required port number (eg:8080) in the string.
The `url` attribute defines the location of the allowed-origins service. This string is a concatenation of two values:
* String 1: The URL location of the allowed-origins service
* String 2: The API to access in the service (/cors).
Example:
````
ephox {
allowed-origins {
origins = [ "http://myserver", "http://myserver:8080", "http://myotherserver", "http://myotherserver:9090", "https://mysecureserver" ]
url = "http://myserver:8080/ephox-allowed-origins/cors"
}
}
````
#### Entering Origins
The origins are matched by protocol, hostname and port. So you may need a combination of all three, depending on which browser /s you use. If you are serving the editor and services from http://localhost & port 80, then the list of origins should have an entry for "http://localhost" and any other servers with ports, like so:
````
ephox{
allowed-origins{
origins=["http://localhost", "http://any-other-servers:port"]
url = "http://localhost/ephox-allowed-origins/cors"
}
}
````
This only applies to port 80 because this being the default http port, browsers omit it when talking to the server. For every other port and hostname, the recommended setting is to make one entry with the port and one without the port. This is because different browsers behave differently with regards to the Origin header. So the config file should resemble:
````
ephox{
allowed-origins{
origins=["http://hostname", "http://hostname:1234"]
url = "http://hostname:1234/ephox-allowed-origins/cors"
}
}
````
Ensure that you have the right protocol specified, and for more examples see the section below. If you experience issues, please use the Troubleshooting guide (in the Tip below) and you should be able to see if the browser sends a different origin to the one that you have specified. Both must match for the services to work.
#### Troubleshooting
Depending on your configuration and the browser you use, you may need to specify the port number as well when listing the origin. If you observe that requests are failing with services not being available, it may be because the port number is required. Refer to troubleshooting guide - section titled Investigating Using the Browser's Network Tools.
### Step 4. Pass the configuration file to the Java application server
Youll need to reference the configuration file created in Step 3 as a parameter passed to the JVM running the services. Once the server has been configured to use the file, restart the server.
> **Note:** If the path to your application.conf file has spaces in it, you must ensure you prefix each white space with an escape character (\). Example: ` -Dconfig.file=/config/file/location/with/white\ space/application.conf`
The following examples demonstrate how to reference application.conf for Tomcat or Jetty instances.
#### Tomcat Unix example:
Make/edit a script at `/tomcat/install/directory/bin/setenv.sh`
Ensure the file contains a single line, like (this must be the absolute path as before):
`CATALINA_OPTS=" -Dconfig.file=/config/file/location/application.conf"`
#### Tomcat (Windows) example:
Make/edit a script at `DRIVE:\tomcat\install\directory\bin\setenv.bat`
The file should contain a single line:
`set CATALINA_OPTS= -Dconfig.file=DRIVE:\config\file\location\application.conf`
#### Jetty (simple configuration):
You can specify your `application.conf` as a parameter to this command, along with other JVM parameters:
`java -jar /jetty/install/directory/start.jar -Dconfig.file="/config/file/location/application.conf"`
#### Jetty (automatic configuration for services launching on system start-up):
Edit `/etc/default/jetty` and add the line:
`JETTY_OPTS=" -Dconfig.file=/config/file/location/application.conf"`
Edit `/opt/jetty/start.ini` and add the line:
`" -Dconfig.file=/config/file/location/application.conf"`
The first new lines of the file should read:
````
#===========================================================
# Jetty start.jar arguments
# Each line of this file is prepended to the command line
# arguments # of a call to:
# java -jar start.jar [arg...]
#===========================================================
" -Dconfig.file=/config/file/location/application.conf"
````
### Step 5: Restart the Java application server
Once you have created a configuration file, configured the allowed origins service, and passed the configuration file to the Java application server you must restart the Java application server.
With the above steps completed you can now direct TinyMCE instances to use the server-side spelling component.
Set the TinyMCE `spellchecker_rpc_url` configuration property to the URL of the deployed server side spelling component. This URL is provided to you by your Java application server.
Example of TinyMCE client configuration:
````
tinymce.init({
selector: 'textarea',
plugins: 'tinymcespellchecker',
spellchecker_rpc_url: 'http://yourspelling.server.com/ephox-spelling/'
});
````
### Logging
For compartmentalization of logs in your environment or to provide Ephox with more succinct feedback around the behavior of your deployed TinyMCE Spelling Component (e.g. for support purposes), you may want to write out the spelling-service specific logs to a specific file.
To write the spelling-service specific logs to a specific file, youll need to perform the following steps:
#### Create a logging configuration XML file
The spelling service use the [Logback](http://logback.qos.ch/manual/configuration.html) logging format.
For easy implementation, here is a sample XML configuration with a tokenized value you can populate where {$LOG_LOCATION} is the location and name of the file you would like to write the logs to (e.g. /tmp/tinymce_services.log).
````
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>{$LOG_LOCATION}</file>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- This results in all ephox logging going to file.
Change/uncomment this part here if spellchecking specific logging is required -->
<logger name="com.ephox" level="INFO"/>
<!-- <logger name="com.ephox.ironbark" level="INFO"/> -->
<root level="INFO">
<appender-ref ref="FILE" />
<!-- If you want logging to go to the container as well uncomment
the following line -->
<!-- <appender-ref ref="STDOUT" /> -->
</root>
</configuration>
````
#### Add the logging configuration to your classpath
Much like how your `application.conf` services configuration file is added to the classpath (see Step 3 above), youll need to follow a similar pattern to add your logging configuration XML to the classpath.
````
-Dlogback.configurationFile={$LOG_LOCATION}
````
+58
View File
@@ -0,0 +1,58 @@
---
layout: default
title: Troubleshoot
description: Debug problems with the premium spell checker.
keywords: tinymcespellchecker
---
## Browser-Specific Issues
### Internet Explorer Specific Troubleshooting Tips
If the editor is reporting that the service cannot be found and tracing the network traffic reveals that no request is made at all, check that the server is **not** listed in the "Trusted Sites" section of Internet Explorer's security options. If it is, remove it and try again.
### Chrome Specific Tips
If the server is not running on a standard HTTP or HTTPS port (80 or 443) then Chrome will include the port in the origin header that is sent to the server. Other browsers do not do this. This is why when specifying the "allowed-origins" config, you should use both the hostname by itself and the hostname and port in the configuration. See Entering Origins for more details
## Debug Server Configuration
If spellchecking does not appear to be working, this is generally caused by the following reasons. This guide will walk you through the debugging process to identify the specific problem and how to remedy the issue.
1. The application.conf file is incorrect. Please go back and follow the steps listed in the installation guide. This is the most common problem - often the origins are specified without the port numbers and this can cause things to fail, eg: use 'http://localhost:8080' instead of 'http://localhost'. After making changes to the application.conf file, please restart your Java web server (e.g. Jetty or Tomcat).
2. The application.conf file is correct, but something is wrong with one of the services. See the section below to debug the services.
3. The application.conf file is correct, and the services are working, but the URL's that editor uses are not quite right. Refer to the Spellchecking Client-Side TinyMCE Plugin page for help.
4. All of the above are correct, but the browser sends back a different origin. See step 6. of Using Browser Tooling to Investigate Services Issues and add the origin value to the list of origins. Restart Tomcat and then refresh the editor page in a browser and things should work.
### Check/Debug the Server Configuration
To test the services, we will start with the following:
1. We will use Tomcat 7 installed at /opt/tomcat/ and running on port 8080, and this is our 'application.conf' file. We have made a folder called 'images' in the webapps directory of the tomcat install i.e. /opt/tomcat/webapps/images/. Some of the commands below that require a 'terminal' window to be used.
2. If you are on a Linux or Mac environment use a shell of your choice and make sure the 'curl' package is installed.
3. If you are on a Windows environment follow the page Installing curl in Windows and then open a 'cmd' prompt and run the commands from there.
## Using Browser Tooling to Investigate Services Issues
1. Open your browser's Console/Network tools:
* Chrome: View menu -> Developer -> JavaScript Console. Click the Network tab (located between Elements and Sources).
* Firefox: Tools menu -> Web Developer -> Network.
* Safari: Develop -> Show Error Console. Click the Timelines link between Resources and Debugger.
* Internet Explorer: Click the cog icon on the top-right side of the browser. Select F12 Developer Tools. Click the Network link (next to the Profiler link).
2. Refresh the webpage featuring an TinyMCE configured with the spelling service. Enter a misspelled word into the editor.
3. Locate the network results that match the following URLs:
* http://YOUR_SERVER:YOUR_PORT/ephox-spelling/1/autocorrect
* http://YOUR_SERVER:YOUR_PORT/ephox-spelling/1/correction
4. If the network response for these services is 404, try the following:
* Take the service URL displayed as erroneous (example: http://YOUR_SERVER:YOUR_PORT/ephox-spelling/1/autocorrect).
* Remove everything from the 1 onwards (including the 1) and replace it with /version. (example: Change http://YOUR_SERVER:YOUR_PORT/ephox-spelling/1/correction to http://YOUR_SERVER:YOUT_PORT/ephox-spelling/version). The response code should be 200 and the body should display the version number.
5. If the response for the version URL is still 404, it means the service has not been started or installed correctly.
6. To check the "Origin" value that the browser uses, open the network tools (chrome in this screenshot) and refresh the page. Then enter a couple of words in the editor and select one of the requests on the bottom left ('correction' in the screen shot) and select the 'Headers' section. Look for the 'Origin' header value.
![alt test](/images/spell-checking-browser-tools.png)
> The value of the origin header sent by the must match the origin specified in the application.conf server configuration. If it does not match, you must make the server configuration match the browser
+6
View File
@@ -0,0 +1,6 @@
---
layout: default
title: Enterprise Features
description: Premium features from the makers of TinyMCE.
---
+5
View File
@@ -0,0 +1,5 @@
---
layout: default
title: Manage Files and Images
description: MoxieManager is a premium plugin from the makers of TinyMCE to manage files and images.
---
+5
View File
@@ -0,0 +1,5 @@
---
layout: default
title: Paste from Word
description: PowerPaste is a premium plugin from the makers of TinyMCE for clean Word copy-and-paste.
---
+5
View File
@@ -0,0 +1,5 @@
---
layout: default
title: Professional Translations
description: Professional translations from the makers of TinyMCE.
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB