Development
From Partner Documentation Wiki
|
|
|
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.
- 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
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.
- design: modules
- design: codex
- design: legend configuration tool
- design: gui editing framework
- design: cog metadata
- design: cog database
- design: rover binary
- design: rover database
- design: map viewer configuration application
- design: coordinate representation
- design: editing framework
- design: rendering
- design: gps modules
