-
Notifications
You must be signed in to change notification settings - Fork 21
Developer Documentation
Sherry edited this page Aug 10, 2017
·
7 revisions
When you begin development of code for Hydrodesktop, please sign up for the developer mailing list:
- Sign up at: https://lists.sdsc.edu/mailman/listinfo/his-developers
- or send a message to his-sysinfo-request (at) sdsc.edu with the subject help
Also, watch the codeplex discussions
- HydroDekstop Checking out the Trunk
- Hydrodesktop developing on a 64-bit OS
- HydroDesktop Object Model
- HydroDesktop Database Abstraction Layer
- HydroDesktop Web Service Components
- HydroDesktop plug-in listing
- Database schemas
- Logging with Log4Net
- Project Files
- Exporting to Text Files with the ImportExport Library.pdf
- HydroDesktop-Autobuild-Version-Number.pdf
- Create a New Release.docx
- HydroDesktop Good Coding Practices
- Hydrodesktop Refactoring and Implementing Unit Tests
- HydroDesktop Building and Testing
- There are 7 simple steps to create a plugin or extension for HydroDesktop:
- Download HydroDesktop and install it. It is preferable to have the latest version. You may already have it on your computer. Check the downloads page on this site.
- In Visual Studio create a new project of type "Class Library"
- Add references to the DotSpatial GIS libraries that are in your HydroDesktop folder. At a minimum you will need to add references to DotSpatial.Extensions and DotSpatial.Controls.
- Set the output build path for your assembly to the folder for the plugins in your HydroDesktop directory. For real time debugging capabilities, you can also set the Start Action (in your project properties) to "Start external program" and choose your HydroDesktop executable to be the start up program.
- Implement the class, 'Extension' in the main class of your extension.
- Add code to the "Activate" and "Deactivate" methods in your class.
- Do something cool.
- Somewhat more detailed steps are given together with an example plugin for importing a text file here: How to make a plugin.
- A sample solution for the above tutorial is available here: Hello World Data Importer
- A very simple hello world sample plugin project with source code is here: Hello HydroDesktop
- Much of the power of a HydroDesktop plugin comes from using and accessing functions in the map environment. Go to the documentation page on www.dotspatial.org to learn more.
- Please adhere to the coding conventions listed here when working on HydroDesktop:
- http://www.mapwindow.org/wiki/index.php/MapWindow6:CodeConventions
- HydroModeler is a plug-in to HydroDesktop that allows for component-based modeling of hydrologic systems that is being prototyped by researchers at the University of South Carolina. The emphasis of HydroModeler is on standards-based data transfer between the HIS and models using the Open Modeling Interface (OpenMI). The motivation for HydroModeler is to provide an environment that supports community-based model development. To learn more about HydroModeler, please see the HydroModeler help files installed with HydroDesktop or email Jon Goodall (goodall@cec.sc.edu).
Getting HydroDesktop, Presentations and Publications, Functional Specifications, Database Structure & Schema, Sample Data, Workshops and Training, Roadmap, Use Cases, Unit Tests, HydroDesktop Testing Report
- HydroDesktop_Quick_Start_Guide.pdf - With a 15-minute walkthrough, this document illustrates how to discover, access, visualize and export hydrologic time series data using HydroDesktop. If you are a new HydroDesktop user, read this guide to get started.
- Unpublished Web Services Tutorial.pdf - This tutorial will help you access web services from a HydroServer not registered with HIS Central. (also available as .docx)
- HydroDesktop Workshop Exercise - This more advanced exercise was developed by Tim Whiteaker and includes two parts - using HydroDesktop to search and download data, and also using the R plugin in HydroDesktop
- Graph View Plugin documentation
For coding conventions, please see the MapWindow conventions at http://www.mapwindow.org/wiki/index.php/MapWindow6:CodeConventions.
When you're ready to write help documentation, please review the instructions in Documentation\OnlineHelp folder in the repository.
Here is the source code for the Search and Discovery Tool that James Seppi developed and Zichuan Ye improved: WFSTest.zip