PoNG

From EWIKI
Jump to navigation Jump to search

Please use this page!! This is the pre-release docu.

PoNG Description

Searching for:

How does it works

  1. The browser loads a standard index file (do not edit this file)
  2. The index file pushes the browser to request the layout resource for the layout information and renders the response
  3. The layout in the browser will contain different additional information resources, which are loaded and processed to a web page

Layout Configuration

The layout-structure is a JSON file, requested by the layout resource. By default the /svc/layout/main/structure is loaded first.

Your site may have other layouts than "main", e.g. /svc/layout/admin/structure.

Base idea: "structure" description

The basic object hierarchy of the objects are:

  • layout
    • title
    • header
    • rows
      • cols
        • rows
          • ...
    • footer

The rows can contain either nested cols or alternatively a resource. The same for cols. A resource specifies the URL, where to load information about the content, has some meta data to define its layout, actions and dialogs.

You can get every possible layout with this nesting of rows, cols and resources.

Please refer the PoNG Structure Specification for details.

The example shows, that you can set up a complex portal page with different information resource views on it with a very view lines of meta data definition. The result of this example is shown on the screen shot on the right (no fake). BTW, I would describe it in this way: "This "portal" has a header, then two rows, the second row contains two columns, and then there is a footer."

So how can you explain your browser this w/o any HTML code? Let's try (in a JSON format):

Example

{
 "layout": {
   "title": "Title",
   "header": { 
     "logoURL": "logo.png"
   },
   "rows": [
     {
       "rowId": "myBlog",
       "height": "185px", "decor" : "decor",
       "resourceURL": "blog",
       "type": "pong-list"
     },
     {
       "rowId": "r1",
       "height": "450px",
       "cols": [
         {
           "columnId": "tbl",
           "width": "40%", "decor" : "decor",
           "resourceURL": "resX",
           "type": "pong-table",
           "actions" : [ { "actionName": "Help", "type": "pong-help" } ]
         },
         {
           "columnId": "plot",
           "width": "60%", "decor" : "decor",
           "resourceURL": "gnuplot",
           "callback": "grmh()",
           "actions" : [ { "actionName": "Config", "type": "modal-form" },{ "actionName": "fullWidth" } ]
         }
       ]
     }
   ],
   "footer": {
     "copyrightText": "Copyright 2013, MH.",
     "linkList": [ { "text":"Impressum", "url": "impress.html"}, { "text":"Privacy Note", "url": "privacy.html"} ]	
   }
 }
}

PoNG Example1.png

This example layout structure will result in a "myBlog" box of full width and below are two columns, one with the "resX" and the other smaller one with a "plot". If you just starts with this file, all views will be empty, because no one defined the resource details, that are just resource names at the moment.

And if you think, the there is a bunch of work in defining e.g. the "blog", then check out, what is the todo of this resource definition.

Test the prototype

A Quick Start in 2 min (local installation)

You need a (simple) Web Server, so install Apache package on you Unix or get e.g. XAMPP or ... or ...

  1. Download the static HTML distribution package [here] (523 kB)
  2. Unpack the archive into your web server HTML directory, e.g. /var/www/portal
  3. Point your web browser to the portal root, e.g. http://mydomain.com/portal

Start customizing the portal ...

PoNG: Portal as a Service

We offer a Portal as a Service for free (v0.3 beta test phase).

You can sign up an account and design a new portal on our Portal as a Service with seconds.

Installation Manual

Please refer also the PoNG Release Notes.

Static HTML Installation

Simply load and extract the PoNG Static HTML Distribution to any subdirectory of your web server and customize the structure file /svc/layout/main/structure, logo and CSS files to your needs.

Tomcat based Installation

TODO

PHP based Installation

The PoNG PHP Backend powers the Portal as a Service.

For local installations please contact admin (at) mh-svr dot de

Browser Support

PoNG is tested with

  • Firefox 27.0.1 (Ubuntu 13.10 64bit)
  • Safari, Opera, Chrome (iPad, iOS 7)
  • Android browser, Firefox, Chrome (Android 4.x)

Not supported: IE

PoNG License

The MIT License (MIT)

Copyright (c) 2014 Markus Harms, ma@mh-svr.de

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.