×

Discover

WIRIS plugin for generic editor

Introduction

This document will provide assistance to those developers who want to integrate WIRIS EDITOR in their platforms and there is not a specific plugin already available. More precisely this document covers two scenarios:

  • Integrating WIRIS EDITOR into an HTML editor. See a live demo.
  • Integrating WIRIS EDITOR into a simple Textarea. For example into wiki’s, blog’s and other Web applications that uses plain textarea’s to edit rich HTML text. See a live demo.

Before starting any development, please, ensure that there is no plugin already available for your needs. See WIRIS EDITOR plugins.
 

DOWNLOAD - HTML editor Plugin                DOWNLOAD - Textarea Plugin


1 Requirements

  • A web server with PHP, ASP.NET, ASP or Java servlets compatibility (or other language, but our internal engine is only distributed in PHP, ASP.NET and as Java servlet).
  • A web server with UTF-8 encoding compatibility.
  • Knowledge about Javascript language.
     
  • A valid license to install the plugin in a production environment; otherwise, you can use the downloaded file just for demo purposes.

Important note: In versions older than 3.50.0 the name of the plugin directory was pluginwiris instead of generic_wiris.

2 Starting

2.1 For PHP servers

  1. mbstring extension must be installed and enabled in the server.
  2. Copy generic_wiris directory in your web system root path. Then, open generic_wiris/configuration.ini and set your own values. This table specifies all possible parameters.
  3. Give execution right to the web server user on the PHP files contained at generic_wiris/integration.

2.2 For ASP.NET servers

Copy generic_wiris directory in your web system root path.

Create an application on your IIS through your control panel. The application root directory depends on the WIRIS Plugin package that you have downloaded.

  • For demo package: create an application with root directory on the extracted folder.
  • For integration package: create an application with root directory on /generic_wiris. For versions older than 3.50.0 you need to create the application at /pluginwiris/integration. If, given your project requirements or architecture, you need to have only one application move /generic_wiris/bin contents to the /bin directory of your project and copy the Web.config configuration to your project Web.config. If you use .NET 4.0 or above use the values of Web.config4.0.

Now, open generic_wiris/configuration.ini and set your own values. This table specifies all possible parameters.

2.3 For ASP servers

Copy pluginwiris directory in your web system root path. Then, open pluginwiris/configuration.ini and set your own values. This table specifies all possible parameters.

2.4 As Java servlet

  1. Install the pluginwiris_engine.war in your Java web applications server (tomcat).
  2. Copy generic_wiris directory in your web system root path. Then, open pluginwiris_engine/WEB-INF/generic_wiris/configuration.ini and set your own values. This table specifies all possible parameters. For versions older than 3.50.0 it is essential that you set wiriscachedirectory and wirisformuladirectory.

2.5 For Ruby on Rails

  1. Install wirispluginengine gem manually
  2. Specify wirispluginengine gem inside your application's Gemfile.
  3. Mount Wirispluginengine engine into your application's config/routes.rb file, adding the following line: mount Wirispluginengine::Engine => 'wirispluginengine'
  4. Copy generic_wiris directory in your /vendor/assets/javascripts folder
  5. Give write permissions to wirispluginengine-X.Y.Z/cache and to wirispluginengine-X.Y.Z/formulas directories to the web server user. Those folders will be used to store formula MathML codes and temporal images. If you prefer, you can configure the location of these folders (see section 3).

3 Rules

There are some rules for plugin develop:

  • Don’t edit generic_wiris/core files. These files are the plugin kernel. We pledge to upgrade only those files in future versions.

Important complementary information

WIRIS Plugin follows this criterion:

  • It uses the generic_wiris/formulas directory to save the MathML of the formulas (source of the formulas). These files are very important. If you want to migrate your web server, remember copying that directory, or your created formulas (for example, in post forums) will be lost.
  • It uses generic_wiris/cache directory to save image files. These files aren’t very important. You can delete them whenever you want; they will be created again automatically when browsers will request the images of the formulas.

You can use this example code to load your implementation:

<script type="text/javascript" src="./generic_wiris/core/core.js"></script>
<script type="text/javascript" src="./generic_wiris/wirisplugin-generic.js"></script>

Environment variables

WIRIS Plugin core uses three global variables that you should use/modify:

  • _wrs_currentPath: contains the current URL path (for Safari fixes).
  • _wrs_isNewElement: you must set this Boolean variable when you are opening a new editor window true or false depending if you are creating a new formula or editing it.
  • _wrs_temporalImage: you must set this object variable when you are opening a new editor window. It must contain the image that you are editing. See integration.js for more information.

6 Functions

There are core functions that you can use but not modify. These functions are in generic_wiris/core/core.js .

7 Simple examples

There are simple examples of WIRIS Plugin integrations that you can download.