Difference between revisions of "New Freeplane File Format (Proposal)"

From Freeplane - free mind mapping and knowledge management software
(First draft)
 
(Add package notion as directory + comparaison requirement)
Line 10: Line 10:
 
= File types and extensions. =
 
= File types and extensions. =
  
A Freeplane file can come in 3 flavors:
+
A Freeplane file can come in 4 flavors, as single XML document file or as package:
  
# a plain XML format with extension <tt>.freeplane</tt>.<br />This format allows further for easy automated generation and XSLT transformation.
+
# Single XML document:
# the above format in a standard ZIP or JAR file, i.e. if a file named <tt>myfile.freeplane.zip</tt> or <tt>myfile.freeplane.jar</tt> contains a file named <tt>myfile.freeplane</tt>, it will be opened by Freeplane in the same way as the above plain XML format (other files in the same archive will be ignored).<br /> The file format is still easy to generate but takes less space than plain XML, is cleaner to email (some mailers choke on text formats) and can be used to transport other files (even though they will be ignored by Freeplane).
+
## a plain XML format with extension <tt>.freeplane</tt>.<br />This format allows further for easy automated generation and XSLT transformation.
# a more complex zipped format with extension <tt>.freeplanez</tt>.<br /> This format allows for embedded styles, images and other 3rd party objects, aligned (as much as possible) with the [http://www.oasis-open.org/committees/office/ Open Document Format] from the [http://www.oasis-open.org/ OASIS organization].
+
## the above format in a standard ZIP or JAR file, i.e. if a file named <tt>myfile.freeplane.zip</tt> or <tt>myfile.freeplane.jar</tt> contains a file named <tt>myfile.freeplane</tt>, it will be opened by Freeplane in the same way as the above plain XML format (other files in the same archive will be ignored).<br /> The file format is still easy to generate but takes less space than plain XML, is cleaner to email (some mailers choke on text formats) and can be used to transport other files (even though they will be ignored by Freeplane).
 +
# Package Document:
 +
## a more complex zipped format with extension <tt>.freeplanez</tt>.<br /> This format allows for embedded styles, images and other 3rd party objects.
 +
## the same structure but in an uncompressed directory with extension <tt>.freeplane.d</tt>.
 +
 
 +
Overall, the XML format is the same in all flavors, and aligned (as much as possible) with the [http://www.oasis-open.org/committees/office/ Open Document Format] from the [http://www.oasis-open.org/ OASIS organization].
  
 
= File format requirements =
 
= File format requirements =
Line 23: Line 28:
 
# embedding of 3rd party objects
 
# embedding of 3rd party objects
 
# support real styles
 
# support real styles
 +
# allow for comparison between different files
 +
# allow for tracked changes

Revision as of 07:49, 10 April 2010

This page is work in progress and not endorsed in any way (yet) by the Freeplane team as a whole Discussion happens on the developers' mailing list ⇐


Introduction

Freeplane version 1.0.x (and 1.1.x) was developed using FreeMind's format and file extension (.mm) in an effort to allow a smooth transition to users willing to switch to Freeplane. As Freeplane grows mature and wants to make true its Visions, a new file format is required.

File types and extensions.

A Freeplane file can come in 4 flavors, as single XML document file or as package:

  1. Single XML document:
    1. a plain XML format with extension .freeplane.
      This format allows further for easy automated generation and XSLT transformation.
    2. the above format in a standard ZIP or JAR file, i.e. if a file named myfile.freeplane.zip or myfile.freeplane.jar contains a file named myfile.freeplane, it will be opened by Freeplane in the same way as the above plain XML format (other files in the same archive will be ignored).
      The file format is still easy to generate but takes less space than plain XML, is cleaner to email (some mailers choke on text formats) and can be used to transport other files (even though they will be ignored by Freeplane).
  2. Package Document:
    1. a more complex zipped format with extension .freeplanez.
      This format allows for embedded styles, images and other 3rd party objects.
    2. the same structure but in an uncompressed directory with extension .freeplane.d.

Overall, the XML format is the same in all flavors, and aligned (as much as possible) with the Open Document Format from the OASIS organization.

File format requirements

  1. clean XML
  2. multiple maps per file possible
  3. easy generation
  4. embedding of 3rd party objects
  5. support real styles
  6. allow for comparison between different files
  7. allow for tracked changes