Development

From Partner Documentation Wiki

Jump to: navigation, search
Partner Software,
developer website and documentation resource.
1,229 articles in English

Contents

This section is designed for developers, IT staff, third-parties, and advanced users who develop or modify applications built on the Partner Platform.

Please note that Partner Software does not fully support user-created or third-party applications or custom mapsets. However, we will gladly answer any basic development questions you have. If you are interested in Partner supported applications and mapsets, or you wish to schedule a Partner assisted development workshop, please contact David Shaw at 1-800-964-1833 or dshaw@partnersoft.com.

New?

If you're new to development on the Partner platform, take this online course and/or sign up for a class. You should also read Manual: Partner Platform Development to get oriented.

Manuals

Manual: Partner Platform Development
Description of the platform and introduction to development.

Courses

Course: Partner Workbench
The primary development course.
Course: Intro to Programming Logic
A nutshell view of control structures, variables, and basic datatypes.
Course: Selection Structures
A close look at if-then statements.
Course: Loop Structures
A close look at loops.
Course: String Manipulation
A close look at manipulating strings in Beanshell, Groovy, and Python.

Releases and Downloads

How, where, and why to get new versions of the software.

Releases
Everything you never wanted to know about releases.
Release Notes
Somewhat human-readable descriptions of each release.
Release Management
Gory details of branching and merging.
Module Library
Platform modules.
Mapset Library
Mapset modules for your use (and to steal ideas from).
File Library
Reference for individual files.
Directory Library
Reference for individual directories.
Version 4.4 -
4.4 is the current stable major release, a lot of work is going into minor releases 4.4.1 - 4.4.6 and beyond.
Version 4.3 - unreleased developmental branch
Version 4.3 is the current development series of the platform.
Version 4.2
Version 4.2 introduced more development tools, also breaks compatibility with some 4.0 scripts. If your custom mapsets work in this release, there's a good chance they'll work in 4.4+.
Version 4.1 - unreleased developmental branch
Version 4.1 is the last development series of the platform.
Version 4.0
Version 4.0 was the original release of the 4.x series.
Staker Module/Mapset
Module Organization

Planning

Release Schedule
Rough schedule for versioned releases.
Development Plan 2007
Planned projects and time line for the year 2007.

Testing

When you break the software, Paul cries.

3.7 Beta Testing Procedures
Procedures for Beta Testing a new version of our 3.7.X software. Participants should be added to the 3.7 Beta Testing Participants page.
4.X Beta Testing Procedures
Procedures for Beta Testing a new version of our 4.X software.
General Testing Guidelines
Summary of features that require testing in the Partner System (under construction).
Mapset Testing
Criteria and testing procedures for production Mapsets.
Testing Logs
Results from bouts of testing.

Projects

Long-term or major development projects, open participation.

Projects
Main projects page.
Development: Inspection
Modular field inspection system.
Truck Computer
Component-based, touch-screen computers optimized for mounting in vehicles. Includes Daffron-Qualcomm integration and Wireless Matrix integration.
Mobile Development
Our Mobile Development work, iPhone Inspection, Mobile MapViewer etc.
Mobile Networking
Getting bits and bytes to and from computers in the field.
Web map viewer
Put your maps on the web.
User-Developer Conference 2006
An inside look at some of the customer innovations presented at our 2006 User-Developer Conference.
structural engineering analysis
Structural engineering for the staker
GPS Development
For developers who are supporting the existing GPS modules and/or developing new ones. Also describes the design of the post-processing system.
Project: Milsoft Web Services
Integration with the various Milsoft products via their MultiSpeak web service API.

Concepts

scale
map scales, scaling, scaling representation, and math
module
add-on in the partner system
Reference: Acronyms
Various acronyms that may be puzzling you.

Howtos

Mini-tutorials on various features and tasks.

Mapset

Automatic Refresh
Automatic, timed refresh for dynamic map sets.
formatting data
Changing the way the data view tab looks and acts.

Update

Howto: create a Partner Update source on an non-Hub website
The most efficient way to put an installer on external websites without using the Partner Hub or uploading an entire install.
Howto: customize desktop shortcuts and start menu
If you want different icons, shortcut names, or whatever, this is your howto.

Web

MapApp web service
Web service framework embedded in the MapApp (aka Map Viewer).
embedded web server
Embedding the Jetty web server yourself.
Howto: PartnerOnRails
Ruby on Rails on the Partner Platform.
Howto: develop a SOAP web service client
SOAP. The "S" stands for "Simple".

Miscellaneous

charts and graphs
Examples of generating charts and graphs.
custom java code
Adding your own Java libraries or extensions to the system.
fonts
Various font issues.
GPS
Instruction and examples of how to build GPS applications in Partner.
predefined variables
Variables in your script that are set before the script starts.
Scripting Cookbook
A big list of snippets and scripting examples.
labelling
Placing text (and other) labels on the map.
logging
How to add log messages and control logging.
data record source
Getting data from a variety of files and database types.
MapReportDialog
Show some text, HTML, or an image in a window and let the user save, print, or email it.
map control socket
Remote-control of the Map Viewer from another program or system.
Per-Icon Colors
Color icons by a number in the icon's associated data.
drawing
How to enable and use the otherwise-hidden drawing interface.
includes
The syntax for including another script.
shapefile
Reading and writing to the shapefile format, an ESRI standard for GIS data.
forms
Building GUI user-input forms and dialogs.
clipboard
Cut, copy, and paste using scripts.
visibility
Controlling the graphic types displayed in your mapset.
branding
How to brand your mapset and/or install with your own information, logos, and copyrights.
Hibernate
Some notes on getting Hibernate to work with our system.
Toolbox snippet
Courtesy of Donald Webb at French Broad EMC, this brings up a toolbox with lots of buttons.
optimization
Various tips and tricks to speed up your code.
update
The update process and how to set up an update server.
strings
String (text) manipulation tips and tricks.
linux translation server
Setting up a translator on a linux server.
projection
More than you wanted to know about coordinate projection.
progress bars
Keeping your users busy while they wait on your slow code.
dates and times
Dealing with dates, times, formats for dates and times, etc.
map data publishing
Writing dynamic map data to disk for distribution via update.
email
Dealing with email.
database
Dealing with databases and SQL.
Aastra SIP Phones
Instructions for using Aastra SIP phones.
Google Maps
Integrating Partner with Google Maps in various interesting ways.
Howto: Avoid that problem
General troubleshooting.

Packages

Training

The following training classes and tutorials are considered to be development courses. More classes can be found on our Training page.

Course: Partner Workbench
Developing your own Partner Platform applications using the Workbench.
Work Flow and the Partner Web
This class is intended to introduce the system and help attendees develop a methodology for diagramming your current workflow, transferring that diagram into Partner Web database queries, and setting up group and user permissions to utilize those queries. It is two days, and targeted a fairly technical audience.

Languages

basic programming
Quick review of programming concepts and terms.
Java Coding Standards
Partner's Java style guide.
Java
BeanShell
SQL
Python
String Template
PHP

Tools

General Editing Tools
Subversion
CVS
Linux
Wiki
Eclipse
Firefox
GIMP
Wink

Design

These are design notes for planned features. They will most likely not be kept up-to-date after the feature is implemented, so don't expect these to reflect the design of the actual product.