Development: Difference between revisions

From FreeMind
Jump to navigationJump to search
No edit summary
 
Line 28: Line 28:
* at an early stage of your implementation (and testing), put a version into the patch section of sourceforge and/or send it directly to the current project manager. As this is an open project it may be the case that you have to wait a little time for the first responses, but you should get support, comments and help from the project members soon.  
* at an early stage of your implementation (and testing), put a version into the patch section of sourceforge and/or send it directly to the current project manager. As this is an open project it may be the case that you have to wait a little time for the first responses, but you should get support, comments and help from the project members soon.  
* After having successfully developed and integrated some items, you get the developer rights at the sourceforge page to continue our good work. But this should not change the steps described above.
* After having successfully developed and integrated some items, you get the developer rights at the sourceforge page to continue our good work. But this should not change the steps described above.
=== Development resources ===
* [http://freemind.sourceforge.net/javadoc/index.html API documentation]
* [http://freemind.sourceforge.net/Freemind-development.html Obsolete development mind map]
* [http://freemind.sourceforge.net/Freemind-development.mm Obsolete development mind map for download]
* [http://freemind.sourceforge.net/Freemind-development-exported.html Obsolete development mind map exported to HTML with folding]
=== Modular model - view design ===
The architecture of FreeMind makes it possible that FreeMind becomes general tool for editing tree-structured data, that is mind maps, XML/HTML documents, folder trees etc. in future.
All these kinds of data would be presented to the user as a mind map. Model-View-Controller design makes it possible for you only to write so called model of the data structure, without caring for the visual representation. Currently, mind map mode and file mode are implemented.
=== Original vision of Joerg Mueller ===
Joerg Muller is the original author of FreeMind, developing it up to the version 0.4.0. Here follows what he's got to say on his original vision:
: What I had in mind when I began to write FreeMind, was creating a collaborative mind where people can intuitively share there ideas, knowledge and thoughts with each other. Of course FreeMind is only a first step into this direction, but I did this first step. Now a Mode must be implemented that makes collaboration over the Internet possible, maybe using the Topic-Map standard. I think linear text is a very poor way of representing knowledge, and by using trees and networks, visual representation, internet collaboration and open source we should be able to create some kind of a collaborative mind.
: FreeMind now has evolved from a specific Mind Map Editor to a generic editor for tree structured data. I want FreeMind to become for tree structured data what emacs is for linear data (ie. text).
One may think of extending FreeMind to work with networks as opposed to trees only, an example of this being Topic Maps (ISO).
Daniel Polansky: Joerg's vision of FreeMind becoming Emacs for tree data is intriguing, but rather far fetched at the time. You would need to provide scripting facility and at least many basic operations, like upcase, downcase, replace and many others. It is even not evident that this goal valuable compared to other goals - there many quite obvious and still missing features.

Revision as of 18:58, 10 September 2004

To get the latest beta version of FreeMind

Here.

To compile Freemind on your own

If you are a developer, just download the sources, unpack them, find the folder with the file build.xml, and let run the commant ant in that folder.

If you want to be guided and get all the things you need to take care of described in detail, see guide prepared for you by Bob Alexander.

To use concurrent version repository (CVS) with Eclipse

Check out the guide by Bob Alexander.

When working with CVS, remember that it is difficult to change directory and file names under CVS. Moreover, it not easy to remove files completely. Therefore, pay attantion when checking files in. The project manager thanks a lot.

To become a developer

Due to project reasons, we cannot make you a developer with CVS access of FreeMind directly. You have to follow the following steps:

  • create a SourceForge user account.
  • start to discuss the change/feature/bug in our open discussion forum.
  • if the topic is discussed and hopefully accepted, start to change the actual CVS code
  • at an early stage of your implementation (and testing), put a version into the patch section of sourceforge and/or send it directly to the current project manager. As this is an open project it may be the case that you have to wait a little time for the first responses, but you should get support, comments and help from the project members soon.
  • After having successfully developed and integrated some items, you get the developer rights at the sourceforge page to continue our good work. But this should not change the steps described above.

Development resources

Modular model - view design

The architecture of FreeMind makes it possible that FreeMind becomes general tool for editing tree-structured data, that is mind maps, XML/HTML documents, folder trees etc. in future.

All these kinds of data would be presented to the user as a mind map. Model-View-Controller design makes it possible for you only to write so called model of the data structure, without caring for the visual representation. Currently, mind map mode and file mode are implemented.

Original vision of Joerg Mueller

Joerg Muller is the original author of FreeMind, developing it up to the version 0.4.0. Here follows what he's got to say on his original vision:

What I had in mind when I began to write FreeMind, was creating a collaborative mind where people can intuitively share there ideas, knowledge and thoughts with each other. Of course FreeMind is only a first step into this direction, but I did this first step. Now a Mode must be implemented that makes collaboration over the Internet possible, maybe using the Topic-Map standard. I think linear text is a very poor way of representing knowledge, and by using trees and networks, visual representation, internet collaboration and open source we should be able to create some kind of a collaborative mind.
FreeMind now has evolved from a specific Mind Map Editor to a generic editor for tree structured data. I want FreeMind to become for tree structured data what emacs is for linear data (ie. text).

One may think of extending FreeMind to work with networks as opposed to trees only, an example of this being Topic Maps (ISO).

Daniel Polansky: Joerg's vision of FreeMind becoming Emacs for tree data is intriguing, but rather far fetched at the time. You would need to provide scripting facility and at least many basic operations, like upcase, downcase, replace and many others. It is even not evident that this goal valuable compared to other goals - there many quite obvious and still missing features.