Readme.txt for MapleNet, Release 14 Updates for MapleNet 14 ----------------------- The MapleNet 14 Server is now supported on Macintosh Intel OS X 10.6. MapleNet 14 includes updates to support Maple 14 (plotting, tables) plus minor bug fixes (plot, embedded component buttons). *********************************************************** * Important Note: * * For Clients Viewing MapleNet Content in Web Browsers * * * *********************************************************** Sun Java as of release 1.6.0_19 has modified their security model. Java Applet code running in a browser that uses both signed and unsigned JAR files, (which applies to MapleNet) will now cause a warning dialog to appear when that Applet is first displayed. The dialog is titled "Warning - Security" and states "Java has discovered application components that could indicate a security concern." Name: (name of Applet) and at the bottom of the dialog there is a message "The application contains both signed and unsigned code." The dialogs asks "Block potentially unsafe components from being run?" For MapleNet Content the response is No. This will allow the Java code to run. (Responding Yes will cause the applet to stop working.) Users can disable this message for all Applets from the Java Control Panel. In the Java Control Panel, select the Advanced tab then expand the Security item. Next, expand the Mixed code item under Security and click the Disable verification radio button. Click OK to save the change and close the control panel. MapleNet's JAR files themselves are signed but the code uses third party jars and resource files that are unsigned for portions of MapleNet functionality. These 3rd party jars do not pose any known security issues. Functionality added previously in MapleNet 13 --------------------------------------------- 1) The server component of MapleNet 13 requires Java 1.6 and Apache Tomcat 5.0. or later. Tomcat 6 is recommended. Client machines require Java 1.6.0_10 or later to support the 3-D plotting features in a browser. Java 1.6.0_10 from Sun Microsystems uses a revised Java plugin. Using older plugins may cause content that uses 3-D plots to stop responding. 2) Image Generation of Maple Expressions and Plots Images of Maple 2-D expressions and Maple plots can be generated using URLs. For example, the URL http://yourserver.com:port/maplenet/imaging/image?maple=Int(2*x,x=a..b)&type=math&width=500&fontcolour=red&fontsize=24 will generate an image of the 2-D math representing the integral of 2x with the limit a to b. The equation will be drawn in red and the base font size will be 24 points. NOTE: Replace yourserver.com and port with appropriate values for your server setup. See the MapleNet Publisher's Guide that can be installed from the product disc for the complete details and syntax. 3) MapleNet 13 includes a simple math web service whereby client applications can pass Maple expressions to the server for evaluation. These applications can be written in any language that supports integrating web services using the Web Services Description Language (WSDL). MapleNet 13 publishes its WSDL file definition at http://yourserver.com:port/maplenet/services/MapleService?wsdl NOTE: Replace yourserver.com and port with appropriate values for your server setup. The WSDL definition downloaded from this URL can be used in a variety of client writing environments such as Eclipse with the Axis plugin, the Microsoft Visual C# Integrated Development Environment (IDE), the Sun Microsystems NetBeans IDE, and others. Functionality added previously in MapleNet 12 --------------------------------------------- 1) The server component of MapleNet 12 requires the use of Java 1.5 and Tomcat 5.0. or greater. If using Tomcat 5.5 be sure to also install the Tomcat Compatibility package which adds the Xerces XML parser to the /common/endorsed directory. 2) MapleNet 12 worksheets support the new Worksheet features that are part of Maple 12 with the following variations: - Code Edit Regions: The code for these regions can only be executed in MapleNet Worksheets when the Code Edit Regions are in the collapsed state, i.e. the Code Edit Region is displayed as a Button. - EmbeddedComponent Sliders and Gauges: In MapleNet Worksheets, the code to be executed when the Sliders or Gauges are dynamically changed with the mouse, is only executed when the mouse click is released. These components do not support continuous updates while dragging the slider or gauge control. - Dragging in Plots: Embedded Component Plots support 3 mouse actions which are Click, Drag and Drag End. For Embedded Component Plots in MapleNet Worksheet these actions will be processed as follows: Click - on a single mouse click (mouse must be stationary) the event is sent from the plot to the Server. Drag - only the first drag motion is processed. Continuous drag events are not sent to the server. Drag End - when the mouse is released a final drag event is processed. NOTE: Both the Drag and Drag End are sent to the server together only after the mouse button is released. - Start-up Code region MapleNet worksheet will execute the Start-up Code Region when the server first creates the worksheet before rendering the worksheet in the browser. - Dual Axis Plots MapleNet supports the Dual Axis plots that can be generated by Maple expressions. Functionality added previously in MapleNet 11 --------------------------------------------- 1) Browser settings for worksheet configuration now persist between sessions. The first time a worksheet is loaded, MapleNet loads a Browser Configuration page to test for the availability of Javascript and Java in the browser. This test is necessary for the proper rendering of worksheet pages. The results of this test are now stored in cookies in the browser so that subsequent MapleNet worksheets are loaded without first loading the test page. Prior to MapleNet 11 the results were not stored causing the test page to be run on first access to a MapleNet web site. If rendering of the worksheets is incorrect, one solution is to delete the cookies associated with the MapleNet site, particularly the cookies named js, j2js and js2j. Alternatively a user could load the page http://your_server:port/maplenet/util/config.jsp and choose one of the three options to use for their browser. (Replace your_server and port with the actual MapleNet server name and HTTP port number.) Worksheets are best rendered with Javascript and Java enabled as these are required by the interactive content in most of the MapleNet content. 2) Maplets will now load images. Images will now be loaded relative to the location from which the maplet is loaded. If the maplet was in the location /maplenet/maplets/Example.maplet and the image was in the location /maplenet/maplets/images/logo.gif then in the Maplet the image could be referenced as Maplets:-Elements:-Image("images/logo.gif") using a relative path. Images are loaded from the server and not from the local filesystem on the browser. Changes in MapleNet relative to MapleNet 10 and earlier ------------------------------------------------------- 1) MapleNet Server as a Servlet The core component of the MapleNet server has been completely rewritten as a servlet. This means that the server will now function as an integral part of the servlet based Web server and is no longer a separate stand-alone program. As part of the rewrite, the MapleNet connection to the math engine is now handled using the standard HTTP protocol (i.e. the same protocol used to deliver Web Pages to the user's browser). The need to access port 14444 through a firewall is no longer required. 2) Web Page Interaction with Maplets Web pages can now be written to pass data into a Maplet as it starts and can also receive Maplet results when the Maplet is shut down. For more details, see the Publisher's Guide. 3) MapleNet Worksheets accept HTTP Request Parameters Maple worksheets can now be written to accept external data when the worksheet is loaded. The MapleNet server parses standard HTTP request parameters and builds a Maple table that the worksheet can access. 4) Simplified Publishing MapleNet content should now be uploaded to the Web server using standard internet tools such as FTP, SSH, or WebDAV. System Administrators can now create directories under the /maplenet web application directory with the required permissions to allow or restrict access to portions of the server. 5) Maplets and Jar Files The jar files used in MapleNet have been renamed as listed near the end of this document. Also since MapleNet does not use the Java Extension Mechanism anymore, jar files are now saved in the Java cache instead of the extension directory. This means that jar files that the MapletLoader.jar requires must be explicitly referenced on the web page that loads the maplet. The simplest way to reference the correct code is to - set 'codebase' to /maplenet/jar - set 'archive' to point to mapletloader.jar and mnc-index.jar The file mnc-index.jar is indexed jar file that will configure Java to find the appropriate MapleNet code in the other mnc-*.jar files. Please read the Publisher documentation for the correct method to get Maplets to display in MapleNet 11. Installing MapleNet ------------------- Installation instructions are in the install.htm file in the root directory of the product disc. Installation must be on a system with a JSP(TM) compatible server, such as Tomcat. The "web root" directory must be the directory where your server expects to find web archive (WAR) files for automatic deployment. A properly deployed MapleNet test site creates a directory tree in the directory on the server similar to \maplenet\admin \maplenet\error \maplenet\images \maplenet\jar \maplenet\js \maplenet\META-INF \maplenet\samples \maplenet\temp \maplenet\theme \maplenet\util \maplenet\WEB-INF where represents the web application directory. MapleNet 10.5 Users ------------------- To upgrade from MapleNet 10.5, users should: a) backup all user created MapleNet content. b) upgrade Java and/or Tomcat if required. c) uninstall MapleNet 10.5 if MapleNet 12 is using the same Tomcat webapps directory. d) install Maple 12. e) install MapleNet 12. f) test the installation of MapleNet using the sample on the MapleNet test pages. g) Once the samples are working, move user created MapleNet content to the MapleNet 12 location. MapleNet APIs ------------- *** IMPORTANT PROGRAMMING NOTES *** To existing MapleNet users, version 10 and earlier: Since MapleNet now uses the standard HTTP protocol to communicate with the math engine, a new constructor has been added to the MapleStatement object. The format of the constructor is MapleStatement( Applet applet); where the MapleStatement is created using the applet object. The host and port of the server is determined from the Web page URL that loaded the applet. The Java Plugin Extension Mechanism is no longer required as of MapleNet 10.5. MapleNet jars are cached using the standard Java behavior and do not need to be installed in the JRE extension directory. Therefore, adding a manifest file for extension version information is no longer required. Due to the new servlet-based MapleNet server, MapleNet content built with MapleNet 10.5 jars can only communicate with MapleNet 10.5 servers. Applets built with the MapleNet 10.0 jars can only communicate with Maplenet 10.0 servers. To distinguish the jars, the name of the MapleNet 10.5 jars are all prefixed with the name "mnc-XXX.jar". Prior versions named the jar files "maplenetclient-XXX.jar". For MapleNet 10.5, the jar files required to build applets (and to be referenced in the archive parameter of the applet tag in the web page) are as follows (the old MapleNet 10 file name appears in parentheses). mnc-index.jar (maplenetclient-index.jar) mnc-client.jar (maplenetclient-client.jar) mnc-freehep.jar (maplenetclient-freehep.jar) mnc-maplenet.jar (maplenetclient-maplenet.jar) mnc-maplets.jar (maplenetclient-maplets.jar) mnc-mathdoc.jar (maplenetclient-mathdoc.jar) mnc-mathdoc2.jar (maplenetclient-mathdoc2.jar) mnc-misc.jar (maplenetclient-misc.jar) mnc-openviz2.jar (maplenetclient-openviz2.jar) mnc-plot.jar (maplenetclient-plot.jar) mnc-resources.jar {no file} mnc-url.jar (maplenetclient-url.jar) mnc-util.jar (maplenetclient-util.jar) mnc-utilcodepage.jar (maplenetclient-utilcodepage.jar) mnc-webeq3.jar (maplentclient-webeq3.jar) {no file} (maplenetclient.jar) To existing MapleNet users, version 1.3 and earlier: ---------------------------------------------------- Due to a restructuring of Java classes throughout all Maplesoft products, the MapleNet APIs for the MapleNet client code have been moved to a different package. The package com.maplesoft.client.* is now renamed com.maplesoft.maplenet.client.* This means that in your current applets you must change the imports to point at com.maplesoft.maplenet.client.* and then recompile the applets. Refer to the Publisher's Guide for instructions. JavaServer Pages(TM) -------------------- MapleNet JavaServer Pages (JSPs) allow you to use HTML to display Maple calculations. Maple expressions can be inserted in web page sources and rendered within web browsers. For details, refer to chapter 4 of the MapleNet Publisher's Guide. Scalability ----------- Scalability is now achieved using Tomcat's JK Connector and placing a web server such as Apache 2.0 on front of a "farm" of Tomcat servers. For details, see Scalability.htm in the /maplenet directory.