Under the covers: Difference between revisions

From FreeMind
Jump to navigationJump to search
No edit summary
Line 11: Line 11:


Now an inlined version of the XML schema:
Now an inlined version of the XML schema:
=== freemind.properties and user.properties ===
These files define the user customisable properties of the freemind application.  The freemind.properties defines settings for all users in a multi-user system, and each user should then have a user.properties file, which can override freemind.properties.
'''''TBD - define each of the properties in turn'''''
=== patterns.xml ===
This file provides the current implementation of skinning.  Patterns defined in this file can be mapped to function keys within freemind, and thence applied to mind maps as a style.  Patterns can be simple (make the text in the node ''italic''), or can be complex (make this node large/blue/with-a-1-icon and its immediate child small/yellow/with-a-2-icon).


=== The Plug-in API ===
=== The Plug-in API ===

Revision as of 20:20, 4 August 2006

Under the covers

There doesn't appear to be a page on this wiki dedicated to describing the design of the system for potential developers of plugins etc. This page is meant to fill that gap. Please add whatever documentation you would consider to be necessary to turn a professional java developer into a freemind developer. Thanks (and sorry if such information already exists in a collated form elsewhere) --Violetlight 12:41, 4 Aug 2006 (PDT)

The High Level Design

The File Format

Let's start with a link to the stated requirements (these could be inlined later on) at File Format Requirements.

Now an inlined version of the XML schema:

freemind.properties and user.properties

These files define the user customisable properties of the freemind application. The freemind.properties defines settings for all users in a multi-user system, and each user should then have a user.properties file, which can override freemind.properties.

TBD - define each of the properties in turn

patterns.xml

This file provides the current implementation of skinning. Patterns defined in this file can be mapped to function keys within freemind, and thence applied to mind maps as a style. Patterns can be simple (make the text in the node italic), or can be complex (make this node large/blue/with-a-1-icon and its immediate child small/yellow/with-a-2-icon).

The Plug-in API

Discussion on potential design changes

I've left a section here for discussion on changes in the above (rather than use the discussion page).
This may or may not be useful, but discussion leads to innovation... --Violetlight 12:32, 4 Aug 2006 (PDT)

Other sources of design/development information

You should also see the Development page, which describes & discusses the project's development process and some internal details.