Archive 1.x:Desktop Development Environment

There are a number of useful tools for interacting with the open semantic framework (OSF) components. Here are some standard ones, most open source, for interacting with various portions of the stack.

This listing assumes a Windows desktop; most components are also available for the Mac.

Remote Instance
These are tools for interacting with a remote server or instance.
 * WinSCP is an open source SFTP client and FTP client for Windows. Its main function is the secure file transfer between a local and a remote computer. Beyond this, WinSCP offers basic file manager functionality. It uses Secure Shell (SSH) and supports Secure FTP
 * PuTTY is a free implementation of Telnet and SSH for Windows and Unix platforms, along with an xterm terminal emulator. Unless you are an admin or are doing command line modifications of a remote server, the WinSCP tool should be sufficient for access and management of a remote instance
 * cURL is free and open software that supports command line access to HTTP and other URL-accessible services. cURL is used for submitting remote commands (including SPARQL queries) to structWSF endpoints. cURL also supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication

General Editor
A standard text editor is useful for modifying code or general dataset edits or modifications.
 * Notepad++ is a free and open source text editor and source code editor and Notepad replacement that supports several languages. It runs in the MS Windows environment, and has many useful utilities and plug-ins
 * GeSHi is the Generic Syntax Highlighter. It is free and open source and runs on PHP and Windows. It has highlighting templates for a wide range of popular languages, can accept new templates, and is highly customizable for multiple output formats. It is most useful to those wishing to publish code snippets or highlights

Local Development
It is sometimes useful to have a mirrored, local development environment for making local changes and tests before uploading to a remote instance.
 * XAMPP is a free, open source, and easy to install Apache distribution containing MySQL, PHP and Perl. XAMPP is really very easy to install and to use - just download, extract and start. Distributions are available for Linux, Windows, Mac OS and Solaris. It also has helpful monitoring utilities. It is a good basis for setting up a local LAMP stack
 * Drupal is a free content management system (CMS) that allows anyone to easily publish, manage and organize a wide variety of content on a website. Hundreds of thousands of people and organizations are using Drupal to power an endless variety of sites. There is a useful site for installing Drupal on XAMPP and some other guidance on local Drupal configurations. The current system uses the latest version of Drupal 6
 * TortoiseSVN is an open source, easy-to-use SCM / source control software for Microsoft Windows and an excellent standalone Apache Subversion (SVN) client. It is only necessary for developers working directly on the code base of the system

Semantic Component Development
The semantic components are the Flex-based] data display and manipulation widgets within the system. The Dashboard and Storyviewer are also components. Theming or styling support for these widgets is best provided by a Flash/Flex IDE; two are listed below, but the proprietary Flash Builder from Adobe is recommended.
 * Flash Builder is the commercial development environment for Flash/Flex projects from Adobe. It is available in standard and premium versions. Flash Builder (formerly called Flex Builder) is available in a trial version and for reduced prices to students, teachers and unemployed developers. See further the article on Using Flash Builder
 * FlashDevelop is an open source IDE for Flash/Flex development based on the .Net platform. It works best with Flex version 4.x and features some automatic set ups. However, since the current sComponents are written in Flex 3.5x, you may experience some configuration challenges. See further the article on Using FlashDevelop

Ontology Development and Management
There is really only one definitive open source tool for general management of OWL ontologies. It is rather complicated, however, with a bit of a learning curve.
 * Protégé 4 is a free, open source ontology editor and a knowledge acquisition system. Like Eclipse, Protégé is a framework for which various other projects provide plug-ins. Given its broad usefulness, an entire Protégé category is provided on this zWiki

Ontology Visualization
Sometimes it is useful to visualize (and sometimes, edit) graph visualizations of ontologies.
 * Cytoscape is an open source bioinformatics software platform for visualizing molecular interaction networks and integrating these interactions with gene expression profiles and other state data. However, the usefulness of the platform also extends to general ontologies, which can be quite large scale

Data Preparation
Smaller datasets can be authored and maintained in irON format using the comma-separated value (CSV) serialization version of commON. For this, the MS Excel or Open Office calc spreadsheets are excellent.

Image Preparation
Image preparation is likely only of importance to those doing much documentation. The two standard open source packages we use are:
 * Inkscape is an open source vector graphics editor, with capabilities similar to Illustrator, CorelDraw, or Xara X, using the W3C standard Scalable Vector Graphics (SVG) file format
 * GIMP is the GNU Image Manipulation Program. It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems and in many languages

Documentation
There are many aspects to documentation, and not all developers or analysts are even tasked to contribute documentation. Nonetheless, here are the standard packages we use for various aspects of documentation:
 * This zWiki is a major documentation focus. The zWiki is based on the MediaWiki wiki platform. There are also established means for formatting, publishing and exporting content from the zWiki
 * Both Word and Open Office are capable word processors and writing platforms. Open Office is quite a bit cleaner if the content needs to be re-purposed or exported in other formats
 * KompoZer is a complete, open source Web authoring system that combines Web file management and easy-to-use WYSIWYG Web page editing. It is easy to use, useful to on-technical computer users who want to create Web pages without needing to know HTML. It can be used to modify XHTML rendered directly from MediaWiki
 * This zWiki reference provides access and a listing of useful converters for the various tools listed herein.

Tool Use by Workflow Area
A separate document describes the workflows associated with all aspects of an open semantic framework (OSF) instance. That document also cross-references the tools above to work area.

In addition, this matrix provides a general correlation by job type/area to these possible tool uses: