becontent

25
beContent A META-FRAMEWORK FOR WEB APPLICATIONS

Upload: daniele-di-pompeo

Post on 20-Jul-2015

1.603 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: beContent

beContentA META-FRAMEWORK FOR WEB APPLICATIONS

Page 2: beContent

beContent – cos’è (1)

A meta-framework for web applications

beContent is a new way of designing data-intensive web applications. It is not a Content Management System, it is not an emulation of PHP Nuke, it is not similar to Joomla. beContent is a Model Driven framework which allows you to design your own data and to generate the application around it.

beContent is based on sound and formal foundations which are the result of the work which has been carried out by the he MDD/Software Engineering and Architecture group at the University of L'Aquila , Italy.

which are the result of the work which has been carried out by the he MDD/Software Engineering and Architecture group at the University of L'Aquila , Italy. Eclipse beContent is endowed with a modeling platform implemented over Eclipse/EMF and which allows to specify a complex web application by means of simple coordinated models and to generate the corresponding application.

2

Page 3: beContent

Installazione di beContentSVILUPPO GUIDATO DI UNA SEMPLICE APPLICAZIONE WEB

3

Page 4: beContent

Installare beContent (1)

La prima schermata

dell’installazione di

beContent ci fornisce un

riassunto sui dati necessari per

completare correttamente

l’istallazione

4

Page 5: beContent

Installare beContent (2)

Si devono fornire i dati

per permettere a

beContent di

connetterni al DB

In particolare:

Username

Password

Nome DB

N.B. il DB deve essere già presente sul nostro DBMS

Host

Prefefisso

5

Page 6: beContent

Installare beContent (3)

In questa fase (l’ultima)

sono richieste le

informazioni di

amministrazione

Le informazioni

importanti da ricordare

per il primo accesso

sono:

Username

Password

6

Page 7: beContent

Sviluppo dell’applicazione (1)

Organizzazione delle cartelle

Contents

Contiene gli script necessari per lo sviluppo della nostra apps

Include

Contiene gli script del core

Skins

Contiene i file grafici

Se non si è interessati ad uno sviluppo del core per iniziare basta creare

una nostra cartella in Contents, per il nostro dominio e copiare il nostro

tema grafico in Skins

7

Page 8: beContent

Sviluppo dell’applicazione (2)

Organizzazione della cartella SKINS

THEME

CSS

DTML

EN

IT

IMG

JS

8

Page 9: beContent

Sviluppo dell’applicazione (3)

Organizzazione della cartella DTML

DTML

EN

IT

Widget

Utilizzata per inserire eventuali widget grafici condivisi all’interno della nostra app

Single, Multiple

Cartelle utilizzate da beContent per la rappresentazione grafica delle nostre entity

9

Page 10: beContent

Sviluppo di un temaLINEE GUIDA PER LO SVILUPPO DEL NOSTRO TEMA

10

Page 11: beContent

Sviluppo del tema (2)

Dobbiamo suddividere il codice html in più file per permettere a beContent di costruire automaticamente la nostra pagina

Frame-public

File principale del tema

Frame-public-head

Usato per l’inclusione del tag html <head>

Heder

Utilizzato per includere la sezione superiore delle nostre pagine web

Menu

Utilizzato da beContent per inserire il menu

Footer

Utilizzato per includere la sezione inferiore delle nostre pagine web

11

Page 12: beContent

Sviluppo del tema - InitGraphic (3)

Oggetto singleton

Deve conoscere la skin su cui

deve lavorare

fornisce la costruzione automatica

della struttura del tema grafico

In particolare assegna al tema

grafico le informazioni del:

frame-public-head

header

menu

footer

12

Page 13: beContent

Sviluppo dell’applicazioneLINEE GUIDA PER LO SVILUPPO DELLA NOSTRA APPLICAZIONE

13

Page 14: beContent

Sviluppo dell’applicazione (1)

beContent ci consente di sviluppare applicazioni web seguendo

due linee di sviluppo

Se non hai necessità di modellare un dominio complesso allora utilizza le

page per descrivere la tua applicazione

Se hai la necessità di modellare un dominio allora scrivi le tue classi in

contents/«tua_app»

In questo caso automaticamente creerà un template standard per le tue

entity che può essere modificato a tuo piacimento

I template creati li troverai nella cartella theme/single theme/multiple

14

Page 15: beContent

Sviluppo dell’applicazione (2)

Se non hai necessità di modellare un dominio complesso allora

utilizza le page descrivere la tua applicazione

Nel back-end beContent ti permette di

Inserire immagini

Scrivere il testo

Utilizza i file skins/theme/dtml/it/single/sys_page_single

skins/theme/dtml/it/multiple/sys_page_multplie per realizzare la grafica

delle pagine singole e multiple

Richiama le tue pagine tramite Content($pageEntity) in altri script

15

Page 16: beContent

Sviluppo dell’applicazione (2)

In beContent per lavorare con le entity salvate sul DB si deve

utilizzare Content

beContent differenzia i risultati di Content in due categorie:

SINGLE: ovvero quando il risultato del Content è in riferimento all’istanza

di una sola entity

MULTIPLE: quando il risultato del Content fornisce all’utente più istanze di

entity uguali

16

Page 17: beContent

Sviluppo dell’applicazione (3)

Content

Content è la classe di sistema che ti permette di recuperare le

informazioni memorizzate delle entity nel DB

Offre un’ampia interfaccia:

get(): restituisce l’html del template

forceSingle(), forceMultiple(): forzano l’utilizzo del template grafico dell’entity

setFilter(<campo da filtrare>,<valore>): permette di indicare il campo o i

campi sui quali eseguire il filtro

apply(«skin», [«label»]): consente di applicare l’html del template dell’entity in

una Skin differente

17

Page 18: beContent

Sviluppo dell’applicazione (4)

Skin

E’ la classe di sistema che permette di selezionare il file html principale

per la nostra applicazione

Sull’oggetto skin verranno applicati i vari contents e le varie skinlet

I principali metodi da utilizzare:

close(): mostra a schermo l’html prodotto

setContent(«label», «skinlet/content->get()»): indica al motore di template il

valore da inserire nel placeholder

18

Page 19: beContent

Sviluppo dell’applicazione (5)

Skinlet

Indica il particolare template grafico del tema desiderato

I template single e multiple vengono selezionati in automatico, non occorre

specificarli con delle skinlet a meno di particolari esigenze

Fornisce i seguenti metodi:

setContent(«label», «skinlet/content->get()»)

get()

Differisce da skin dal fatto che non fornisce il metodo close()

19

Page 20: beContent

Motore di TemplateLINEE GUIDA PER UTILIZZARE IL MOTORE DI TEMPLATE

20

Page 21: beContent

Motore di template (1)

beContent utilizza al suo interno il famoso motore di template php

smarty template engine (www.smarty.net)

Per utilizzare il motore di template basta affidarsi alla

documentazione di smarty

Non serve altro

21

Page 22: beContent

Motore di template (2)

beContent provvede ad assegnare al template richiesto l’istanza

che Content crea

Viene assegnato al template sotto la varibile:

$instance nel caso di un’instanza single

$instances nel primo di un’istanza multiple

22

Page 23: beContent

Motore di template - JOIN (3)

beContent assegna al

template un oggetto

risultalto di istanze di

entity corrispondenti al

risultato del Content

Per utilizzare il risultato

bisogna fare attenzione

Bisigna accedere

all’entity correlata

attraverso

l’identificativo di

relazione indicato

precedentemente

23

Page 24: beContent

Motore di template - APPLY (4)

Attraverso il metodo

apply beContent

fornisce un meccanisco

per individuare

differenti apply sullo

stesso template

L’etichetta scelta lato

PHP deve essere usata

come prefisso nel

template utilizzando

sempre

$instances/$isntance a

seconda dei casi

24

Page 25: beContent

Grazie

25