Framework for web-pages

Göran Hasse, Raditex Control AB, <gorhas at raditex.nu>

Detta är ballongen

På dessa sidor beskriver vi några koncept för tillverkning av webb-sidor. Ibland finns det behov av att göra mer än vad standardramverk kan erbjuda. Detta gäller speciellt informationssystem kring databaser. Här är det ofta nödvändigt att lista och bearbeta stora mängder information från databasen på ett effektivt sätt. Här lämnar standardramverk liten eller ingen hjälp. I detta fall är specialutvecklade hemsidor enda lösningen.

This is a description on how a framwork for web-programing interfaces for information system. Specific we want to target database interfaces and dash-board applications.
Those interfaces are carracterized by high information density. We want to stuff as mutch information on a single page as possible.
Screens for data input can hold a lot of fields. On a dashboard we want to get overview of a lot of things simultainously. This without switching between pages.

Picutre lost
Fig 1: Layout of the pages

Elements of the page

Programming

We ask... How do we want to write code that create this page? The answer could look like this.
What we want is a clean API written in php that create the page for us.

source-highlight -n --input=raditex-template.php --output=src/raditex-template.php.html
01: <?php
02: //----------------------------------------------------------------------
03: //  Copyright Raditex Control AB, gorhas@raditex.nu
04: //----------------------------------------------------------------------
05: 
06: include_once('raditex-config.php');   // configuration data
07: include_once('raditex-library.php');  // main library
08: include_once('raditex-lists.php');    // lists - like menues an other
09: 
10: //php_session_start(); // Optitional - If we need login or cookies 
11: 
12: page_start();
13: 
14: page_header($header_image,"User: gorhas@demo.se");
15: page_drop_down_menu($site_menu);
16: 
17: page_menu($framework_menu);
18: 
19: page_row_start();
20: page_column_start_left();
21: 
22: // Main content of site
23: 
24: html_h('Template', 1);
25: 
26: html_p('Some paragraph text');
27: 
28: //... Main content of page here!
29: 
30: page_column_end();
31: page_column_start_right();   // Optitional
32: 
33: //... Left optitional content
34: 
35: page_column_end();
36: page_row_end();
37: 
38: page_footer("http://www.raditex.nu","Raditex Konsult","http://www.rscada.se","rScada");
39: page_end();
40: //----------------------------------------------------------------------
41: //
42: //----------------------------------------------------------------------
43: ?>
44: 

Implementation

We need to write three files. First a library - the raditex-library.php. This will write all the html-code to the web-browser. Then we need to crate a CSS stylesheet raditex-standard.css so that we will have all attributes on everything. We will also write a java script library raditex-utils.js that implement, among other things, the drop down menu functionality.

Second column

In the second column we can have links related to the webpage

Link to Apache homepage

Link to hompage for rScada

Link to Raditex hompage