Mathematica Development User Guide
Getting Started
Starting
Projects
Files
Creating Files
Launching
Debugging
Terminating
Perspectives
Views
More Information
Wolfram Plug-ins
Tasks
Mathematica Code
Mathematica Editor Advantages
Code Popup Menu
Finding Definitions and References
Help Lookup
Syntax Coloring
Code and Package
Syntax Errors
Syntax Warnings
Code Hover
Command Completion
Templates
Outline
TODO Tasks
Adding Comments
Code Folding
Section Grouping
Line Numbering
Code Formatting
Expression Navigation
Bracket Matching
Move to Match
Move to Expression
Quick Fixes
Convert to Package
Function/Symbol Support
Variable Support
Surround With
Test Support
Open Symbol or Package
Large Files
Notebook Loading
Launching
Initialization
Automatic File Loading
Mathematica Path
Notebook Evaluation
Terminating
Multiple Launches
Debugging
Breakpoints
Breakpoint Types
Debug View
Variables View
Breakpoints View
Expressions View
Source Location
Notebooks
Notebook Loading
Stylesheets and Palettes
Opening Notebooks
Searching in Notebook
Notebook Compare
Notebook Hyperlinks
Dynamic Debugging
Packages and Applications
What Is a Mathematica Package?
What Is a Mathematica Application?
Support for Packages
Support for Applications
Application Projects
J/Link
J/Link Projects
Source Support
J/Link Launching
Wolfram MUnit Tester
Creating Tests
Running Tests
Test Suites
Test Comparator
Test Expressions
Child Test Files
Searching and Refactoring
Pattern Search
Pattern Find and Replace
Version Migration Assistant
Pattern Language
Find References
Documentation
Mathematica Documentation
Getting Started
Authoring with Documentation Tools
Creating Pages
Symbol Pages
The Overview Page
Linking to Pages
The Main Page
Loading Your Application
Building and Previewing
Deploying the Application
Alternative Formats
Exporting from a Project
Export to the File System
Export to an Archive
Importing to a Project
Importing from a Notebook
GUIKit
Projects
Widget Outline
Widget Debugging
Parallel Mathematica
Debugging
Profiler
webMathematica
Profiler
Mathematica Installations
Legacy Mathematica
Workbench Updates
Reference
Projects and Applications
Mathematica Projects
Running and Testing
Application Tools
PacletInfo
Contents
Documentation Extension
Setting up an Application Project
Deploying an Application Project
Workbench Preferences
Installation Management
Editor
Indenting
Templates
Warnings/Fixes
Paclet Development
File Properties
Notebook Properties
Source File Properties
Test File Properties
Project Properties
Location
Paclet Settings
Project Paths
Run/Debug Configuration
Main Tab
Installation Tab
Connection Tab
Quick Fixes
Key Bindings
Documentation Tools
Documentation Tools Palette
Symbol Pages
Tutorial Pages
Guide Pages
What's New
2.0
1.1
Getting Started
Starting
Projects
Files
Creating Files
Launching
Debugging
Terminating
Perspectives
Views
More Information
Wolfram Plug-ins
Tasks
Mathematica Code
Mathematica Editor Advantages
Code Popup Menu
Finding Definitions and References
Help Lookup
Syntax Coloring
Code and Package
Syntax Errors
Syntax Warnings
Code Hover
Command Completion
Templates
Outline
TODO Tasks
Adding Comments
Code Folding
Section Grouping
Line Numbering
Code Formatting
Expression Navigation
Bracket Matching
Move to Match
Move to Expression
Quick Fixes
Convert to Package
Function/Symbol Support
Variable Support
Surround With
Test Support
Open Symbol or Package
Large Files
Notebook Loading
Launching
Initialization
Automatic File Loading
Mathematica Path
Notebook Evaluation
Terminating
Multiple Launches
Debugging
Breakpoints
Breakpoint Types
Debug View
Variables View
Breakpoints View
Expressions View
Source Location
Notebooks
Notebook Loading
Stylesheets and Palettes
Opening Notebooks
Searching in Notebook
Notebook Compare
Notebook Hyperlinks
Dynamic Debugging
Packages and Applications
What Is a Mathematica Package?
What Is a Mathematica Application?
Support for Packages
Support for Applications
Application Projects
J/Link
J/Link Projects
Source Support
J/Link Launching
Wolfram MUnit Tester
Creating Tests
Running Tests
Test Suites
Test Comparator
Test Expressions
Child Test Files
Searching and Refactoring
Pattern Search
Pattern Find and Replace
Version Migration Assistant
Pattern Language
Find References
Documentation
Mathematica Documentation
Getting Started
Authoring with Documentation Tools
Creating Pages
Symbol Pages
The Overview Page
Linking to Pages
The Main Page
Loading Your Application
Building and Previewing
Deploying the Application
Alternative Formats
Exporting from a Project
Export to the File System
Export to an Archive
Importing to a Project
Importing from a Notebook
GUIKit
Projects
Widget Outline
Widget Debugging
Parallel Mathematica
Debugging
Profiler
webMathematica
Profiler
Mathematica Installations
Legacy Mathematica
Workbench Updates
Reference
Projects and Applications
Mathematica Projects
Running and Testing
Application Tools
PacletInfo
Contents
Documentation Extension
Setting up an Application Project
Deploying an Application Project
Workbench Preferences
Installation Management
Editor
Indenting
Templates
Warnings/Fixes
Paclet Development
File Properties
Notebook Properties
Source File Properties
Test File Properties
Project Properties
Location
Paclet Settings
Project Paths
Run/Debug Configuration
Main Tab
Installation Tab
Connection Tab
Quick Fixes
Key Bindings
Documentation Tools
Documentation Tools Palette
Symbol Pages
Tutorial Pages
Guide Pages
What's New
2.0
1.1
webMathematica Development
Workbench Tools
Getting Started
Starting
Creating a Project
Configuring
The Server View
Starting the Server
Deploying and Testing
Summary
Tasks
Debugging
Direct Launch and Connect
Indirect Launch and Connect
Debugging Code
Debugging Web Services
Debugging Initialization
Editing Pages
HTML
JSPs
XML
Deploying
Installing
Adding a Console
Reference
Preferences
Server View
Projects
Wizards
Amateras Plugin
Configuration
Main User Guide
Introduction to webMathematica
What Is webMathematica?
Why Use Mathematica in a Website?
Computation
Interactive Programming Language
Connectivity
The Mathematica Front End
Mathematical Typesetting and MathML
Why a Web Interface?
Ease of Use
Server-Based Configuration
Web Technologies
Areas of Use for webMathematica
Web Computation
Education
Publishing
Research
Hobbyist
webMathematica Technology
Requirements
New Features
webMathematica 3.0
webMathematica 2.3
webMathematica 2.2
webMathematica 2.1
webMathematica 2.0
Installation
Setting Up a Servlet Container
Setting Up Java
Unix
Windows
Mac OS X
Setting Up Tomcat
Unix
Windows
Mac OS X
Installing and Configuring Mathematica
Installing the webMathematica Web Application
Tomcat
Other Servlet Engines
Configuring for the X Window System (Unix only)
Configuring Xvnc and webMathematica
Install Xvnc
Launch Xvnc
Test Xvnc
Configure webMathematica
Other X Related Issues
Connecting to the X Server
Xvfb
Manual Font Installation
Upgrading from webMathematica 2.3
Install Mathematica
Install the webMathematica Web Application
Configure the New Layout
web.xml
MSPConfiguration.xml
Security Configuration
Move Content to the New Layout
Finalize the Installation
Optional Further Configuring
MSP Mathematica Application
Launching webMathematica Automatically
Unix
Windows
Web Server Connections
Apache and Tomcat
Microsoft Servers and Tomcat
Testing
BasicExamples
Hello.jsp
Working with Variables: Variables.jsp
MSP Functions: Expand.jsp
Graphics: Plot.jsp
Typeset Images: Integrate.jsp
Live 3D Plotting: Plot3DLive.jsp
Getting Messages: Messages.jsp
Returning General Content: Content.jsp
Interactive Web: SliderPlot.jsp
Applets: TextApplet.jsp
JavaScript: PlotScript.jsp
Setting Variables: SetBasic.jsp
Getting Variables: GetBasic.jsp
Developing Your Own Pages
Wolfram Workbench
Tips and Tricks
Variables
Coding in Pages
Templates
Browse Examples
Design Examples
Banners and Buttons
Minimal Installation
Minimal File Layout
Applications
XML
Introduction to XML
XML Compliance
Mathematica Support for XML
webMathematica XML Applications
MathML
Embedding MathML in Web Documents
XHTML
XHTML and MathML
Rendering XHTML and MathML Documents
Generating MathML from webMathematica
MathML Integrate Example
SVG
Plotting with SVG
SVG Animations
HTML Formatting
The HTML Functions
HTMLTableForm
HTMLFormat
HTMLSelect
HTMLCheckBox
webMathematica Examples
Table Formatting
Select Formatting
Interactive Web Tools
Example: SliderPlot.jsp
Underlying Technology and Limitations
Using Java APIs
Server APIs
Other Java APIs
Data Loading and Computation
File I/O
HTTP Upload
Database Connectivity
Web Services
Data Examples
Loading Data: Load.jsp
Uploading Data: Upload.jsp
Session Storage of Data: Session.jsp
Database Connections: Database.jsp
Mathematica Packages and Applications
Loading Packages
Writing Packages
Installing Packages
webMathematica Applications
$BaseDirectory
$UserBaseDirectory
The Script Directory
$TopDirectory
Absolute Filename
Extended Page Language
Expression Language
Standard Tags
if
set
choose/when/otherwise
Queuing of Long Calculations
Interacting with the Queue
The Job Queue
Lifetime of a Queued Request
Organizing and Configuring a Queued Pool
Alternative Server Technologies
JavaServer Pages
PHP
PDF Documents
Generating a Mathematica Notebook
Converting to PostScript
Converting PostScript to PDF
Creating PDF Example
Returning General Content
Direct Return
MSPReturn
MSPURLStore
AJAX
Time Example
HTML Example
Web Services and XML Exchange
Web Services
Informal Web Services
AJAX Example
Mathematica SOAP Client
webMathematica SOAP Services
Echo Example
Plot Example
Excel Example
Type Specification
Simple Data Types
Date and Time Data
Binary Data
SchemaExpr
SchemaMathML
Arrays
Errors and Exceptions
Security
Advanced Topics
Variables
Input Variables
Interpretation of Input Variables
Interpreted versus Noninterpreted Values
MSPBlock versus MSPToExpression
Page Variables
Session Variables
Security
Server Security
Mathematica Program Security
MSPBlock
MSPToExpression
Avoid ToExpression
Security Validation
The Validation Process
Configuring a Security Model
ToExpression Validation
Security and Kernel Pools
Access Restrictions
Evaluation Formatting
Automatic Formatting
MSPFormat
String Formatting
Graphics and Image Formatting
Suppressing Output
Multiple Calculations
Multiple Kernel Pools
Mapping JSPs to Pools
Multiple Web Applications
Mapping URLs onto JSPs
Handling Errors
Catching Mathematica Error Exceptions
Adding an HTTP Error Page
Displaying Mathematics and Graphics
MSP Functions Returning Images
LiveGraphics3D
Including Static Files
Troubleshooting
Initial Checks
Check the Server
Check the URL
Check the Initial Page
Check the Kernel Monitor
Check the Logging System
Check the Console Shell
Check Mathematica
Specific Problems
Problems Running the Kernel
Problems Running the Front End
Problems Testing Xvnc (Unix only)
Problems Testing Xvfb (Unix only)
Images Do Not Work
Mathematica Packages and Applications
Kernel Initialization
Vertical Alignment in Formatting
Timeout Problems
UnsatisfiedLinkError
Cannot Load JLink`
NoClassDefFoundError: TryCatchFinally
NoClassDefFoundError: JLink Classes
NoSuchMethodError: KernelData
Debugging webMathematica
Not Using Wolfram Workbench
Using Wolfram Workbench
Logging
webMathematica Logging
Server Logging
The Kernel Monitor
Reporting Problems
Reference
Configuration
CheckToExpression
CollectStreams
FileUploadSizeLimit
FrontEndExecutable
FrontEndLaunchFlags
JLinkNativeLibraryDirectory
KeepFrontEndAlive
KernelAcquireCode
KernelAcquireLimit
KernelBaseMemoryLimit
KernelConnectLimit
KernelDestroyCode
KernelExecutable
KernelInitializeCode
KernelLaunchFlags
KernelNumber
KernelPeakMemoryLimit
KernelPool
KernelPoolName
KernelReleaseCode
KernelTimeLimit
SecurityConfigurationFile
URLPattern
Functions
HTMLCheckbox
HTMLFormat
HTMLSelect
HTMLTableForm
MSPBlock
MSPException
MSPFormat
MSPGetMessages
MSPGetPrintOutput
MSPGetUploadFile
MSPGetUploadFileList
MSPLive3D
MSPManipulate
MSPManipulateHeader
MSPPageDirectory
MSPPageOptions
MSPReturn
MSPRootDirectory
MSPSessionVariable
MSPSetDefault
MSPShow
MSPToExpression
MSPURLStore
MSPValue
MSPValueQ
Guides
Configuration
Formatting
MSPTags
ProcessingInput
WebInteraction
webMathematica
Tags
evaluate
evaluateQueued
set
get
Appendix
Processing a JSP
Mathematica Initialization
webMathematica Tags
Request Initialization
evaluate
Request Termination
set
get
evaluateQueued
Mathematica Web Functions
Processing Input
Formatting
Web Interaction
Site Configuration
MSPConfiguration.xml
Security Configuration
X Server Configuration
LiveGraphics3D
Dynamic HTML
Server Technology
Client Technology
Links
Mathematica Technology
Mathematica Packages
Java
Tomcat
Servers JSPs and Servlets
Web Browser Technologies
XML, HTML, MathML, and SVG
PDF Tools
The X Window System
Logging
Workbench Tools
Getting Started
Starting
Creating a Project
Configuring
The Server View
Starting the Server
Deploying and Testing
Summary
Tasks
Debugging
Direct Launch and Connect
Indirect Launch and Connect
Debugging Code
Debugging Web Services
Debugging Initialization
Editing Pages
HTML
JSPs
XML
Deploying
Installing
Adding a Console
Reference
Preferences
Server View
Projects
Wizards
Amateras Plugin
Configuration
Main User Guide
Introduction to webMathematica
What Is webMathematica?
Why Use Mathematica in a Website?
Computation
Interactive Programming Language
Connectivity
The Mathematica Front End
Mathematical Typesetting and MathML
Why a Web Interface?
Ease of Use
Server-Based Configuration
Web Technologies
Areas of Use for webMathematica
Web Computation
Education
Publishing
Research
Hobbyist
webMathematica Technology
Requirements
New Features
webMathematica 3.0
webMathematica 2.3
webMathematica 2.2
webMathematica 2.1
webMathematica 2.0
Installation
Setting Up a Servlet Container
Setting Up Java
Unix
Windows
Mac OS X
Setting Up Tomcat
Unix
Windows
Mac OS X
Installing and Configuring Mathematica
Installing the webMathematica Web Application
Tomcat
Other Servlet Engines
Configuring for the X Window System (Unix only)
Configuring Xvnc and webMathematica
Install Xvnc
Launch Xvnc
Test Xvnc
Configure webMathematica
Other X Related Issues
Connecting to the X Server
Xvfb
Manual Font Installation
Upgrading from webMathematica 2.3
Install Mathematica
Install the webMathematica Web Application
Configure the New Layout
web.xml
MSPConfiguration.xml
Security Configuration
Move Content to the New Layout
Finalize the Installation
Optional Further Configuring
MSP Mathematica Application
Launching webMathematica Automatically
Unix
Windows
Web Server Connections
Apache and Tomcat
Microsoft Servers and Tomcat
Testing
BasicExamples
Hello.jsp
Working with Variables: Variables.jsp
MSP Functions: Expand.jsp
Graphics: Plot.jsp
Typeset Images: Integrate.jsp
Live 3D Plotting: Plot3DLive.jsp
Getting Messages: Messages.jsp
Returning General Content: Content.jsp
Interactive Web: SliderPlot.jsp
Applets: TextApplet.jsp
JavaScript: PlotScript.jsp
Setting Variables: SetBasic.jsp
Getting Variables: GetBasic.jsp
Developing Your Own Pages
Wolfram Workbench
Tips and Tricks
Variables
Coding in Pages
Templates
Browse Examples
Design Examples
Banners and Buttons
Minimal Installation
Minimal File Layout
Applications
XML
Introduction to XML
XML Compliance
Mathematica Support for XML
webMathematica XML Applications
MathML
Embedding MathML in Web Documents
XHTML
XHTML and MathML
Rendering XHTML and MathML Documents
Generating MathML from webMathematica
MathML Integrate Example
SVG
Plotting with SVG
SVG Animations
HTML Formatting
The HTML Functions
HTMLTableForm
HTMLFormat
HTMLSelect
HTMLCheckBox
webMathematica Examples
Table Formatting
Select Formatting
Interactive Web Tools
Example: SliderPlot.jsp
Underlying Technology and Limitations
Using Java APIs
Server APIs
Other Java APIs
Data Loading and Computation
File I/O
HTTP Upload
Database Connectivity
Web Services
Data Examples
Loading Data: Load.jsp
Uploading Data: Upload.jsp
Session Storage of Data: Session.jsp
Database Connections: Database.jsp
Mathematica Packages and Applications
Loading Packages
Writing Packages
Installing Packages
webMathematica Applications
$BaseDirectory
$UserBaseDirectory
The Script Directory
$TopDirectory
Absolute Filename
Extended Page Language
Expression Language
Standard Tags
if
set
choose/when/otherwise
Queuing of Long Calculations
Interacting with the Queue
The Job Queue
Lifetime of a Queued Request
Organizing and Configuring a Queued Pool
Alternative Server Technologies
JavaServer Pages
PHP
PDF Documents
Generating a Mathematica Notebook
Converting to PostScript
Converting PostScript to PDF
Creating PDF Example
Returning General Content
Direct Return
MSPReturn
MSPURLStore
AJAX
Time Example
HTML Example
Web Services and XML Exchange
Web Services
Informal Web Services
AJAX Example
Mathematica SOAP Client
webMathematica SOAP Services
Echo Example
Plot Example
Excel Example
Type Specification
Simple Data Types
Date and Time Data
Binary Data
SchemaExpr
SchemaMathML
Arrays
Errors and Exceptions
Security
Advanced Topics
Variables
Input Variables
Interpretation of Input Variables
Interpreted versus Noninterpreted Values
MSPBlock versus MSPToExpression
Page Variables
Session Variables
Security
Server Security
Mathematica Program Security
MSPBlock
MSPToExpression
Avoid ToExpression
Security Validation
The Validation Process
Configuring a Security Model
ToExpression Validation
Security and Kernel Pools
Access Restrictions
Evaluation Formatting
Automatic Formatting
MSPFormat
String Formatting
Graphics and Image Formatting
Suppressing Output
Multiple Calculations
Multiple Kernel Pools
Mapping JSPs to Pools
Multiple Web Applications
Mapping URLs onto JSPs
Handling Errors
Catching Mathematica Error Exceptions
Adding an HTTP Error Page
Displaying Mathematics and Graphics
MSP Functions Returning Images
LiveGraphics3D
Including Static Files
Troubleshooting
Initial Checks
Check the Server
Check the URL
Check the Initial Page
Check the Kernel Monitor
Check the Logging System
Check the Console Shell
Check Mathematica
Specific Problems
Problems Running the Kernel
Problems Running the Front End
Problems Testing Xvnc (Unix only)
Problems Testing Xvfb (Unix only)
Images Do Not Work
Mathematica Packages and Applications
Kernel Initialization
Vertical Alignment in Formatting
Timeout Problems
UnsatisfiedLinkError
Cannot Load JLink`
NoClassDefFoundError: TryCatchFinally
NoClassDefFoundError: JLink Classes
NoSuchMethodError: KernelData
Debugging webMathematica
Not Using Wolfram Workbench
Using Wolfram Workbench
Logging
webMathematica Logging
Server Logging
The Kernel Monitor
Reporting Problems
Reference
Configuration
CheckToExpression
CollectStreams
FileUploadSizeLimit
FrontEndExecutable
FrontEndLaunchFlags
JLinkNativeLibraryDirectory
KeepFrontEndAlive
KernelAcquireCode
KernelAcquireLimit
KernelBaseMemoryLimit
KernelConnectLimit
KernelDestroyCode
KernelExecutable
KernelInitializeCode
KernelLaunchFlags
KernelNumber
KernelPeakMemoryLimit
KernelPool
KernelPoolName
KernelReleaseCode
KernelTimeLimit
SecurityConfigurationFile
URLPattern
Functions
HTMLCheckbox
HTMLFormat
HTMLSelect
HTMLTableForm
MSPBlock
MSPException
MSPFormat
MSPGetMessages
MSPGetPrintOutput
MSPGetUploadFile
MSPGetUploadFileList
MSPLive3D
MSPManipulate
MSPManipulateHeader
MSPPageDirectory
MSPPageOptions
MSPReturn
MSPRootDirectory
MSPSessionVariable
MSPSetDefault
MSPShow
MSPToExpression
MSPURLStore
MSPValue
MSPValueQ
Guides
Configuration
Formatting
MSPTags
ProcessingInput
WebInteraction
webMathematica
Tags
evaluate
evaluateQueued
set
get
Appendix
Processing a JSP
Mathematica Initialization
webMathematica Tags
Request Initialization
evaluate
Request Termination
set
get
evaluateQueued
Mathematica Web Functions
Processing Input
Formatting
Web Interaction
Site Configuration
MSPConfiguration.xml
Security Configuration
X Server Configuration
LiveGraphics3D
Dynamic HTML
Server Technology
Client Technology
Links
Mathematica Technology
Mathematica Packages
Java
Tomcat
Servers JSPs and Servlets
Web Browser Technologies
XML, HTML, MathML, and SVG
PDF Tools
The X Window System
Logging