Users Guide FlatFusion V1.0.1

What is FlatFusion?

FlatFusion is a Content Management system (CMS) that makes it possble to edit and maintain the content and the design of websites separated from each other.
The links and the menu structure are stored in a central file. For the appearance of the single menus and the single pages arbitrary menu templates and/or page templates can be used.

What distinguishes FlatFusion from other Content Management systems?

Most CMS systems are based on PHP, Python, Perl or another programming language which is executed normally directly on the webserver. Some CMS systems additionally needs a database in order to store their data in there.

That means, the webserver of a provider must support the programming language of the chosen CMS as prerequisite and provide a database if necessary. Before the CMS can run, you have to install it on the webserver, possibly assign access rights and maintain other settings.
In case that the webpages should be tested before they are uploaded to the server, so a local webserver must be installed additional on the local computer and the configuration settings must be done a second time.

Above mentioned CMS systems are also called Web Content Managementsystems. They merge together the individual menu templates, page templates and content files to the complete HTML-file online at runtime and then the output is sent to the browser.

FlatFusion on the other hand is a Desktop Content Management system. What does this mean and where are the advantages?

1. Main functions

2. System requirements

FlatFusion is completely written in Java, from that it should run in principle on every system for which a current Java runtime environment (JRE) is available.

FlatFusion was created with the aid of the free Oracle JDeveloper from Oracle Corporation. JDeveloper is a registered trademark of the firm Oracle Corporation

FlatFusion was tested under following operating systems:

A Java runtime environment (JRE) or Java developer kit(J2SE) in version 1.4.1 or higher must be correctly installed on the computer.
The Java runtime environment of Sun Microsystems is recommended, if this should be needed, it can be downloaded at:

Sun Microsystems

3. Installation

First of all it should be checked whether the Java environment works correctly.

In both systems the output should look similar to that, the version numbers must not be smaller as 1.4.1:

java version "1.4.2_05"
Java(TM) 2 Runtime Environment, standard Edition (build 1.4.2_05-141.3)
Java HotSpot(TM) Client VM (build 1.4.2-38, mixed mode)

A message like "command not found" indicates that the Java interpreter was not found. Possibly Java is not installed correctly or the paths for the Runtime environment are wrongly set. Please read the documentation of Sun and/or Apple for installation instructions.

Windows installation:

Simply execute the downloaded Installer and follow the instructions.

Installation Mac OS X:

3. Before the start: Defining a website for FlatFusion

Before FlatFusion can work correctly, first the corresponding files which contain the administrative information and the individual web site parts which FlatFusion needs for the generation must be created. An single page is not stored anymore in a single HTML file, but stored logically separated in different sub files. FlatFusion than merges together all these information again during the generation to a HTML page.

Basically there are four different file types with which FlatFusion works.

The individual files and their setup and content is declared subsequently in detail.

3.1 The page structure file


is the most important file anyway, because it contains all information about the setup of the page. In this file the used menus are stored, the names of the individual menu items are in there and the links to the single pages are stored hereu as well. Furthermore inside the page structure file is stored which HTML page and which menu will be generated with which template.
In a word the page structure file contains all information which FlatFusion needs to create the complete web site. It is characterised by the file extension '.struc'.

How is the page structure file established? Following as an example the page structure file of software.mortaxx.net:


   # --- Main menue ---
   00
   0001   ]News          ]/software/index.htm       ]main.menu ]main.tpl  ]<b>X</b>
   0002   ]Products      ]/software/jwb.htm         ]main.menu ]main.tpl  ]<b>X</b>
   0003   ]Downloads     ]/software/dldjwb.htm      ]main.menu ]main.tpl
   0004   ]Register      ]/software/regjwb.htm      ]main.menu ]main.tpl
   0005   ]Imprint       ]/software/impressum.htm   ]main.menu ]main.tpl
   0006   ]About         ]/software/about.htm       ]main.menu ]main.tpl
   0007   ]Contact		 ]/software/kontakt.htm     ]main.menu ]main.tpl
   # --- Sub menu level 1 - Products
   010002
   01000201 ]JWorkPlan     ]/software/jwb.htm         ]sub1.menu ]sub1.tpl
   01000202 ]FlatFusion    ]/software/ff.htm          ]sub1.menu ]sub1.tpl
   # --- Submenue level 1 - Downloads ---
   010003
   01000301 ]JWorkPlan     ]/software/dldjwb.htm      ]sub1.menu ]sub1.tpl
   01000302 ]FlatFusion    ]/software/dldff.htm       ]sub1.menu ]sub1.tpl
   # --- Sub menu level 1 - Register ---
   010004
   01000401 ]JWorkPlan     ]/software/regjwb.htm      ]sub1.menu ]sub1.tpl
   01000402 ]FlatFusion	   ]/software/regff.htm       ]sub1.menu ]sub1.tpl
   01000490 ]JWorkPlan successfully registered        ]/software/regjwbpr.htm ]# ]sub1.tpl
   01000491 ]FlatFusion successfully registered       ]/software/regffpr.htm  ]# ]sub1.tpl
   # --- Blind page for - Contact ---
   010007
   01000790 ]Contact form processed                   ]/software/kontaktpr.htm ]# ]main.tpl
   # --- Sub menu level 2 for menu item 010201 ---
   0201000201
   020100020101 ]Users guide ]/software/handbjwb.html	    ]sub2.menu ]sub2.tpl
   020100020102 ]License (EULA) ]/software/lizenzjwb.html	]sub2.menu ]sub2.tpl
   020100020103 ]Screenshot 1 ]/software/sc1jwb.html	    ]sub2.menu ]sub2.tpl
   020100020104 ]Screenshot 2 ]/software/sc2jwb.html	    ]sub2.menu ]sub2.tpl
   *

3.2 The menu template


In the menu template is defined the appearance and layout for a single menu item. Therefore it have to contain only a single line without line feed. FlatFusion processes all menu items of a menu level after each other and merges together the single entries to the complete menu. Therefore in the page structure file usually you use always the same template for the menu items of a menu level. In principle it is of course, however, also possible to use different Templates.
Below as an example the template for the main menu of software.mortaxx.net:

<td align="center" width="150" valign="middle" height="30" bgcolor="#EEEEEE"><a class="mycssclassinactive" href="{#LINK#}" style="font-family:Verdana,Arial,Helvetica,sans-serif; font-size:12px;">{#NAME#}</a></td>

Within the menu templates four placeholders (tags) are allowed, that are replaced then by FlatFusion with the current contents during the generation from the page structure file:

3.3 The page template


In the page template is defined the appearance and layout for a single HTML page. In principle the page template should contain all HTML code that is needed for a basic framework of a HTML page. It should contain all elements, that are supposed to look identically on several or like all pages. Subsequently in extracts again as an example the template for the main page of software.mortaxx.net:


   <HTML>
   <HEAD>
   <TITLE>{#TITLE#}</TITLE>
   <style type="text/css">
   ... CSS code ...
   </style>
		<META ... Meta code...
   </HEAD>
   <body>
   <table width="900" border="0" cellspacing="0" cellpadding="0" align="center" bgcolor="#2a37ea">
      <tr>
        <td>
          <table width="900" border="0" cellspacing="1" cellpadding="0" align="center">
            <tr>
              <td align="center" height="40" bgcolor="#EEEEEE" colspan="7">
                <p style="font-family:Verdana,Arial,Helvetica,sans-serif; font-size:18px;">
                mortaxx Softworks: Software by Christian Hecht</p></td>
            </tr>
            <tr>
   {#MENU00#}
   {#MENU010002#}
   {#MENU010003#}
   {#MENU010004#}
		    </tr>
         </table>
   {#CONTENT#}
       </td>
     </tr>
   </table>
   {#FOOTER#=footer.htm}
   </BODY>
   </HTML>

If you can see, in principle it is normal HTML basic framework. In the template file there are also corresponding placeholders (tags) in order to insert parts at the desired places:

3.4 The content file


The content file contains the actual content of the respective page as the name already says. However, it can not only contain text, but also again HTML code. However it should be regarded to put as much as possible HTML code into the templates and menu templates. Subsequently again an example, as such a file can look like:


<table width="900" border="0" cellspacing="1" cellpadding="5" align="center">
  <tr>
    <td width="900" bgcolor="#EEEEEE" align="justify" style="font-family:Verdana,Arial,Helvetica,sans-serif; font-size:12px;">
      <p align="center"><b>Welcome and so on ...</b></p>
      <p> ... Further text ... <br>
      <p> <a href="{#LNKMENU0104#}">Back to main menu</a><br>
      <p><hr noshade size="1"></p>
{#FILEINC#=include.htm}
{#MENUINC0201000201#}
    </td>
  </tr>
</table>

Here you can see again that it is normal HTML in which the page texts are embedded then. Also in the content file some placeholders are available in order to increase the flexibility.

4. First application start

Windows:

Select the program entry created by the installer in the program menu or call the FlatFusion.exe in the installation directory.

MacOS X:

Execute the JAR file with double click.

4. FlatFusion main window

The main window of FlatFusion contains only a few elements which are explained quickly:

5. FlatFusion main menu

In the main menu of FlatFusion you can manage the project files and set the properties. Subsequently the individual menu items overview:

6. Property dialogues


For further questions to the handling of FlatFusion, proposals or suggestions for improvement, error reports or other notes you can send an inquiry by mail to support@mortaxx.net.

I will process your requests as quickly as possible. A claim for the user to time-near processing does not exist, however.


(c) 2005 by Christian Hecht