SlideShare a Scribd company logo
phpWebApp and SEE­GRID Resoures 
phpWebApp and SEE­GRID Resoures 

       Dashamir Hoxha dhoxha@inima.al
       Dashamir Hoxha
         Elda Nallbani enal@inima.al
         Elda Nallbani

  Institute for Informatics and Applied Mathematics 
                          INIMA
                   http://www.inima.al

             The phpWebApp Framework 
          http://phpwebapp.sourceforge.net/

      The SEE­GRID Resources Web Application 
            http://see­grid.inima.al/gridrc/
phpWebApp presentation
phpWebApp presentation
SEE­GRID Resources Web App
Displays resources for each country and cluster.
Displays also summary tables (reports).
Admins can also edit/modify the data.
Modification of data is password protected.
Each country/cluster has an admin password.
The admins can also change their password, and 
country admins can set the cluster passwords.
Why Not Use Plain PHP
Mixing HTML, CSS, JS, PHP, SQL codes
✗   Editing becomes difficult (code colorization, etc.)
✗   The maintenance of the application becomes difficult.
✗   Makes difficult the team work.
✗   Increases the complexity of web applications.
There are no persistent variables.
Lack of modularity.
Choosing a Framework
Possible Tools:
✗   Any template system or web application framework 
    (look at http://sourceforge.net/search/?type=soft)
✗   ColdFusion, Smarty, etc.
Why phpWebApp?
✗   It is free (GNU GPL).
✗   Better than the others (more flexible, powerful, etc.).
✗   We know it better than the others.
What is the phpWebApp Framework
 A Web Application 
 Framework
 Built with  PHP and 
 used for PHP apps
 Easy interface to DB
 Can be used for 
 eContent, 
 eGovernment, 
 eCommerce, etc.
Features of phpWebApp
Separates layout from logic (template system)
Supports modularity.
Thinks of a web application like a state machine.
Supports an event­based programming model.
Supports web components and web objects.
Supports code re­usability.
Features of phpWebApp
Simplifies the interaction of the application with 
the database and makes it database independent.
Facilitates an iterative and incremental 
development approach for web applications.
Supports i18n and l10n (translation to other 
languages) using standard GNU gettext tools.
Has good debugging features.
phpWebApp Components
Templates            Database
Template variables   WebBox­es
State Variables      WebClass­es and 
Transitions          WebObjects

Events
phpWebApp: Templates
XHTML files with some additional tags and 
 variables: <include>, <if>, <repeat>, 
 <recordset>, <var>,  <!­­# comments ­­>, 
 <webbox>, etc.
 <include src="{{./}}edit/cluster_edit.html" />
 <if condition="!{{admin}}">
    <a class="button" href="javascript:edit()">
    Edit</a>
  </if>
phpWebApp: Templates
      <table>
      <repeat rs="clusters">
        <tr><td>{{cluster_name}}</td></tr>
      </repeat>

    </table>

      <recordset id="country">
      <query>
        SELECT country_name FROM countries
        WHERE country_id = '{{country­>id}}'
      </query>
    </recordset>
phpWebApp: Template Variables
  Slots in template files, denoted like this: 
  {{var_name}}
  Get their value in the php code, like this:
    WebApp::addVar(var_name, var_value);

   The framework gets its value from a state 
  variable, from a global php variable or from a 
  php constant that has the same name as the 
  template variable.
phpWebApp: State Variables
 Persistent variables (don'
                          t loose their value from 
 one page to another); similar to session variables.
 Keep the state of the application and its webbox­
 es (which are considered as a state machine).
 Stored inside the web­page itself.
 Example: 
  $user_id = 
  WebApp::getSVar('user_list­>selected_user');
phpWebApp: Transitions and Events
  A transition is the move of the application from 
  one state to another.
  It is done by the function: GoTo('page.html')
  An event is usually sent as well.
  An event can be sent like this as well:
SendEvent('targetBox', 'eventName', 'arg1=val1;arg2=val2');

  It is handled by the php function:
  targetBox::on_eventName($event_args)
phpWebApp: Database
Facilitates the connection and interaction of web 
applications with relational databases.
Is easy and convenient, but also flexible.
Is database independent.
Some of the classes are: Connection, Recordset, 
EditableRS, PagedRS, etc.
phpWebApp: WebBox­es
 A WebBox is a tpl which has its own php code.
 It can also have its own JS, CSS, DB code, etc.
 It can be self­contained and independent, and 
 can be included easily in other pages or in other 
 applications.
 <webbox id="box_id">
   <!­­ content of WebBox ­­>
  </webbox>
phpWebApp: WebBox­es
  The other files are: box_id.php, box_id.js, etc.
  box_id.php is like this:
    <?php
    class box_id extends WebObject
    { . . . }
    ?>

  It can have functions: onParse(), onRender()
  These override the functions of WebObject.
phpWebApp: WebClass­es
An attempt to use the concept of '
                                 Class'
                                       for the 
templates of the framework.
Several WebObject­s of the same class can be 
used in the same page.
<WebObject class=”listbox” name=”books” rs=”books” /> 

Some predefined webclasses are:
✗   listbox: a list of values from a recordset
✗   datebox: select the date from a calendar
✗   tabs: horizontal tab­like menu
The Structure of a Web Page
Conventions of Web Applications
Web Apps should follow some conventions:
 Files index.php, webapp.php, browse.php, etc. 
 are the same for all the applications.
 The configuration of the application is placed in 
 the folder '
            config/'
                    (const.Options.php, 
 const.Paths.php, const.Debug.php, etc.) 
 Templates (webboxes etc.) are usually placed in 
 the folder '
            templates/'
                      .
Future Work
Improvement of the docs of the framework.
Improvements to the framework itself.
Tools for working with the framework:
✗   Emacs mode, Quanta plug­in, etc.
Building reusable WebBox­es and WebClass­es; 
they can be even organized in higher­level 
frameworks for apps of a certain kind.
Code generation and reverse enginnering from 
UML models.
phpWebApp and SEE­GRID Resoures 
phpWebApp and SEE­GRID Resoures 

       Dashamir Hoxha dhoxha@inima.al
       Dashamir Hoxha
         Elda Nallbani enal@inima.al
         Elda Nallbani

  Institute for Informatics and Applied Mathematics 
                          INIMA
                   http://www.inima.al

             The phpWebApp Framework 
          http://phpwebapp.sourceforge.net/

      The SEE­GRID Resources Web Application 
            http://see­grid.inima.al/gridrc/

More Related Content

What's hot (19)

PDF
Introduction to-web-application-development-with-vaadin7
Johannes Eriksson
 
PDF
Vaadin Introduction at OOP 2014
Johannes Eriksson
 
PDF
C sharp and asp.net interview questions
Akhil Mittal
 
DOC
Creating xml publisher documents with people code
Randall Groncki
 
DOC
Oa Framework Tutorial
nolimit797
 
PPT
Xml Publisher
Duncan Davies
 
PPTX
Understanding JSP -Servlets
Gagandeep Singh
 
PPT
Web Application Introduction
shaojung
 
PPTX
Classic asp , VB.net insert update delete crud
Parakram Chavda
 
PPTX
Wildcard Filter
sivachandra mandalapu
 
PPTX
Building Your First Store App with XAML and C#
Tamir Dresher
 
PPTX
Asp.net
Anchit Rajawat
 
DOC
Asp.Net Database
Ram Sagar Mourya
 
PPTX
Java Server Pages
Raheela Patel
 
PPTX
Session 36 - JSP - Part 1
PawanMM
 
PDF
Introduction to CakePHP
mohamedsamirgalal
 
PDF
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 8 ...
WebStackAcademy
 
PDF
Overview Of JDBC
Mindfire Solutions
 
PPTX
Session 32 - Session Management using Cookies
PawanMM
 
Introduction to-web-application-development-with-vaadin7
Johannes Eriksson
 
Vaadin Introduction at OOP 2014
Johannes Eriksson
 
C sharp and asp.net interview questions
Akhil Mittal
 
Creating xml publisher documents with people code
Randall Groncki
 
Oa Framework Tutorial
nolimit797
 
Xml Publisher
Duncan Davies
 
Understanding JSP -Servlets
Gagandeep Singh
 
Web Application Introduction
shaojung
 
Classic asp , VB.net insert update delete crud
Parakram Chavda
 
Wildcard Filter
sivachandra mandalapu
 
Building Your First Store App with XAML and C#
Tamir Dresher
 
Asp.Net Database
Ram Sagar Mourya
 
Java Server Pages
Raheela Patel
 
Session 36 - JSP - Part 1
PawanMM
 
Introduction to CakePHP
mohamedsamirgalal
 
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 8 ...
WebStackAcademy
 
Overview Of JDBC
Mindfire Solutions
 
Session 32 - Session Management using Cookies
PawanMM
 

Viewers also liked (11)

PDF
Using Drupal Features in B-Translator
Dashamir Hoxha
 
PDF
Development Setup of B-Translator
Dashamir Hoxha
 
PDF
B-Translator as a Software Engineering Project
Dashamir Hoxha
 
PDF
An Algorithm for Incremental Multi-Resolution Modeling
Dashamir Hoxha
 
PDF
The Digital Signature and the X.509/OpenPGP Authentication Models
Dashamir Hoxha
 
PDF
Vodafone Webbox
Erol Dizdar
 
PDF
phpWebApp article
Dashamir Hoxha
 
PDF
WEBBOX
SOCIAM Project
 
ODT
Easy Blogging With Emacs
Dashamir Hoxha
 
PDF
Building a Gateway Server
Dashamir Hoxha
 
PDF
Udhëzuesi i Kturtle
Dashamir Hoxha
 
Using Drupal Features in B-Translator
Dashamir Hoxha
 
Development Setup of B-Translator
Dashamir Hoxha
 
B-Translator as a Software Engineering Project
Dashamir Hoxha
 
An Algorithm for Incremental Multi-Resolution Modeling
Dashamir Hoxha
 
The Digital Signature and the X.509/OpenPGP Authentication Models
Dashamir Hoxha
 
Vodafone Webbox
Erol Dizdar
 
phpWebApp article
Dashamir Hoxha
 
Easy Blogging With Emacs
Dashamir Hoxha
 
Building a Gateway Server
Dashamir Hoxha
 
Udhëzuesi i Kturtle
Dashamir Hoxha
 
Ad

Similar to phpWebApp presentation (20)

PPT
Joomla @ Barcamp4(Feb 08 Pune)
Amit Kumar Singh
 
PPTX
Php Web Frameworks
Shreyans Jasoriya
 
PPTX
Feature driven agile oriented web applications
Ram G Athreya
 
PDF
Frameworks
Binny V A
 
PDF
Presentation 1 Web--dev
altsav
 
DOC
Yacks
Ţurcanu Tudor
 
PDF
What Are Progressive Web Application Development
App Verticals
 
PPT
Howtobuildyourownframework
hazzaz
 
PPT
PHP_Frameworks_Discussion
Hean Hong Leong
 
PPTX
Web application architecture
Tejaswini Deshpande
 
PPTX
2c73sjdjddjdjdjfjfkekxnkawk22cdf3443f75.pptx
muhammadmudassarulla
 
PDF
Why Choose PHP for web app development_.pdf
Moon Technolabs Pvt. Ltd.
 
PDF
Top 6 leading PHP frameworks for web development
Appfinz Technologies
 
PDF
Php framework
cncwebworld
 
PPTX
Php Framework
cncwebworld
 
PPTX
They why behind php frameworks
Kirk Madera
 
PPTX
List of Web Technologies used in Web Development
Jayapal Reddy Nimmakayala
 
PDF
Rasmus, Think Again! Agile Framework == Happy Php Developer
Arno Schneider
 
PDF
"Building Modern PHP Applications" - Jackson Murtha, South Dakota Code Camp 2012
Blend Interactive
 
PDF
Quick Application Development with Web Frameworks
Stratepedia Presentations
 
Joomla @ Barcamp4(Feb 08 Pune)
Amit Kumar Singh
 
Php Web Frameworks
Shreyans Jasoriya
 
Feature driven agile oriented web applications
Ram G Athreya
 
Frameworks
Binny V A
 
Presentation 1 Web--dev
altsav
 
What Are Progressive Web Application Development
App Verticals
 
Howtobuildyourownframework
hazzaz
 
PHP_Frameworks_Discussion
Hean Hong Leong
 
Web application architecture
Tejaswini Deshpande
 
2c73sjdjddjdjdjfjfkekxnkawk22cdf3443f75.pptx
muhammadmudassarulla
 
Why Choose PHP for web app development_.pdf
Moon Technolabs Pvt. Ltd.
 
Top 6 leading PHP frameworks for web development
Appfinz Technologies
 
Php framework
cncwebworld
 
Php Framework
cncwebworld
 
They why behind php frameworks
Kirk Madera
 
List of Web Technologies used in Web Development
Jayapal Reddy Nimmakayala
 
Rasmus, Think Again! Agile Framework == Happy Php Developer
Arno Schneider
 
"Building Modern PHP Applications" - Jackson Murtha, South Dakota Code Camp 2012
Blend Interactive
 
Quick Application Development with Web Frameworks
Stratepedia Presentations
 
Ad

More from Dashamir Hoxha (15)

PDF
Easy Blogging With Emacs -- Cheatsheet
Dashamir Hoxha
 
PDF
Autobiography of Benjamin Franklin
Dashamir Hoxha
 
PDF
Easy Blogging With Emacs
Dashamir Hoxha
 
PDF
IT Strategy of Albanian Customs
Dashamir Hoxha
 
PDF
Strategjia për IT-në e Doganës Shqiptare
Dashamir Hoxha
 
PDF
Certificate -- Dashamir Hoxha -- edX/BerkeleyX -- CS169.1x Software as Service
Dashamir Hoxha
 
PDF
Certificate -- Dashamir Hoxha -- edX/BerkeleyX -- CS188.1x Artificial Intelli...
Dashamir Hoxha
 
PDF
Certificate -- Dashamir Hoxha -- edX/BerkeleyX -- CS169.2x Advanced Software ...
Dashamir Hoxha
 
PDF
Certificate -- Dashamir Hoxha -- edX/MITx -- 6.00x Introduction to Computer S...
Dashamir Hoxha
 
PDF
PPPoE With Mikrotik and Radius
Dashamir Hoxha
 
PDF
PPPoE With Mikrotik and Radius
Dashamir Hoxha
 
PDF
Using OpenFire With OpenLDAP
Dashamir Hoxha
 
PDF
Managing HotSpot Clients With FreeRadius
Dashamir Hoxha
 
PDF
SugarCE For Small And Medium Enterprises
Dashamir Hoxha
 
ODP
B-Translator as a Software Engineering Project
Dashamir Hoxha
 
Easy Blogging With Emacs -- Cheatsheet
Dashamir Hoxha
 
Autobiography of Benjamin Franklin
Dashamir Hoxha
 
Easy Blogging With Emacs
Dashamir Hoxha
 
IT Strategy of Albanian Customs
Dashamir Hoxha
 
Strategjia për IT-në e Doganës Shqiptare
Dashamir Hoxha
 
Certificate -- Dashamir Hoxha -- edX/BerkeleyX -- CS169.1x Software as Service
Dashamir Hoxha
 
Certificate -- Dashamir Hoxha -- edX/BerkeleyX -- CS188.1x Artificial Intelli...
Dashamir Hoxha
 
Certificate -- Dashamir Hoxha -- edX/BerkeleyX -- CS169.2x Advanced Software ...
Dashamir Hoxha
 
Certificate -- Dashamir Hoxha -- edX/MITx -- 6.00x Introduction to Computer S...
Dashamir Hoxha
 
PPPoE With Mikrotik and Radius
Dashamir Hoxha
 
PPPoE With Mikrotik and Radius
Dashamir Hoxha
 
Using OpenFire With OpenLDAP
Dashamir Hoxha
 
Managing HotSpot Clients With FreeRadius
Dashamir Hoxha
 
SugarCE For Small And Medium Enterprises
Dashamir Hoxha
 
B-Translator as a Software Engineering Project
Dashamir Hoxha
 

phpWebApp presentation