Documentation / MathType

  • Demos
  • Visit our website
  • Downloads
  • Contact us
  • MathType

    • Wiris Quizzes

      • Learning Lemur

        • CalcMe

          • MathPlayer

            • Store FAQ

              • VPAT for the electronic documentation

                • MathFlow

                  • BF FAQ

                    • Miscellaneous

                      • Home
                      • MathType
                      • MathType Integrations
                      • MathType web interface features
                      • MathType web interface features

                      Formula persistence

                      Reading time: 2min

                      This article explains how MathType Integrations store formulas created with MathType

                      First of all let us note that there are two ways to store the formulas:

                      1. Store a formula in full MathML.This is the default behavior of the MathType Integrations since version 2.50
                      2. Store a formula as an IMG tag.

                      Both methods needs the "storage and cache" mecanism that stores files in the file system but that can be overriden following the instructions detailed here.

                      Storing the formulas with the IMG tag

                      Formulas mixed with HTML takes the form of:

                      <img
                      class="Wirisformula"
                      src="tinymce/jscripts/tiny_mce/plugins/tiny_mce_wiris/integration/
                       showimage.php?formula=e0455f7f946668e0cdedb568a1025821.png"
                      alt="square root of 2"
                      align="middle"
                      data-mathml="&laquo;math xmlns=&uml;http://www.w3.org/1998/Math/
                       MathML&uml;&raquo;&laquo;msqrt&raquo;&laquo;mn&raquo;2&laquo;/mn&raquo;&laquo;/
                       msqrt&raquo;&laquo;/math&raquo;" />
                      

                      When the formula is displayed, thesrc part of the tag img tells what formula to display. The number, e0455f7f946668e0cdedb568a1025821 is called the digest and is used to recover the MathML and generate the image. The data-mathml is used only for reediting the formula.

                      Thus, MathType needs to store two kind of information in the server. By default, such information is stored in the file system:

                      1. The inverse association <digest> to MathML. This information cannot be removed unless exists a mechanism that is able to regenerate them.
                      2. A cache with the images generated from MathML. This cache can be removed if necessary and it will be regenerated when formulas are displayed.

                      Configuration of the storage mechanism

                      The easiest thing that can be configured are the folders where the images are stored. See MathType Integrations configuration table.

                      Additionally, you might want to change

                      1. The algorithm used as the <digest> of a formula. For example, change from md5 to sha1, or use a key of a table in a relational database.
                      2. The way the <digest> values are stored. For example, they could be stored in a relational database. The default behavior is use the file system.
                      3. The way the images are stored. For example, they could be stored in a relational database. The default behavior is use the file system.

                      To provide your own implementation of the digest and cache mechanism, you will need to write a Java, .NET or PHP (depending on your server technology) class that implements the com.wiris.plugin.storage.StorageAndCacheinterface. Then, change the key wirisstorageclass of the configuration.ini to point to your own class. See API documentation for a description of the interface and configuration table to learn how to change the configuration file.

                      Configuring the configuration. This topic is not covered by this article, but it is worth to mention that there is a similar way to provide a custom class that feeds the values of the configuration.

                      For Java technology

                      The value of wirisstorageclass is the fully qualified class name of your class. Then, the class should be available in the classpath of the servlet. For example,

                       wirisstorageclass=com.wiris.plugin.storage.FileStorageAndCache

                      All plugins for Java contains a wirisplugin-api.jar that can be used to compile your class.

                      For PHP technology

                      The value of the wirisstorageclass is the name of the PHP class

                       wirisstorageclass=MyStorageClass
                      

                      The new Storage Class should be placed under integration/lib directory and the file name should be the class name followed by .class.php extension.

                      For example if the new class is called TestStorageClass:

                      • The value of wirisstorageclass key on configuration.ini file should be wirisstorageclass=TestStorageClass
                      • The php file name should be TestStorageClass.class.php and should be placed under integration/lib folder.

                      For .NET technology

                      The value of the wirisstorageclass is the name assembly-qualified name of your class. For example:

                       wirisstorageclass=<namespace>.MyStorageClass, <assembly-name>

                      Was this article helpful?

                      Yes
                      No
                      Give feedback about this article

                      Related Articles

                      • Using MathType with WordPress
                      • MathType API documentation
                      • MathType MTEF v.5 (MathType 4.0 and later)

                      Formula persistence

                      Storing the formulas with the IMG tag Configuration of the storage mechanism For Java technology For PHP technology For .NET technology

                      Making people’s STEM work more meaningful

                      MathType

                      • MathType for Office Tools
                      • MathType for Mac
                      • MathType for Microsoft 365
                      • MathType for Google Workspace
                      • MathType for LMS
                      • MathType for XML Editors
                      • Arabic notation
                      • Our products accessibility
                      • MathType is online

                      WirisQuizzes

                      Learning Lemur

                      Solutions for Education

                      • Blackboard Learn
                      • Brightspace by D2L
                      • Canvas
                      • Google Classroom
                      • Moodle
                      • Schoology

                      Solutions for Publishing Houses

                      Solutions for Technical Writers

                      Solutions for Chemistry

                      Integrations

                      • HTML Editors
                      • MathType in WordPress

                      Pricing

                      Company

                      Careers

                      Blog

                      Contact Us

                      Buy Now

                      Plugin Downloads

                      © Wiris 2025

                      • Cookie Settings
                      • Cookie Policy
                      • Terms of Use
                      • Privacy Policy / GDPR
                      • Student Data Privacy
                      • Compliance
                      • Powered by Helpjuice
                      Expand