japs 2.0 model
DESCRIPTION
This presentation describes the conceptual model of jAPS 2.0 platform and it is recommended to users and developers.TRANSCRIPT
jAPS
Version 1.0
09 May 2009
jjAPSAPS 2.0 2.0 ModelModel
IntroductionIntroduction
✔jAPS 2.0 is an Enterprise Accessible Information Platform that allows to create innovative solutions oriented to services and users collaboration✔Before starting to develop a portal with jAPS its good to know and understand the conceptual model behind the system
Program
This presentation describes the model and the objects constituting the foundations of jAPS:● Pages, Tree Pages, Page Models● Showlet● Contents, Contents Model, Categories● Resources● Symbolic Links● Some special Showlet
Pages
jAPS page:✔is like a blank sheet✔Initially is uniquely defined by its code ✔has a title
my_1_page
“My first jAPS page”
Pages Tree
jAPS pages are logically related to each other in a hierarchical tree structure, with no exceptions
The Page Model (1)
✔The Page Model defines the page characteristics✔In a jAPS portal it's possible to configure multiples Page Models✔Each Page have only one model✔The Page Model defines two aspects:1. The schema
2. The decoration
The Page Model (2)The Page Model (2)
3
4
7
5
1
2
6
+ =
schema decoration Page model
The Page Model(3)
With few page models it's possible to define all the pages of a portal.
home page model
internal page model
service page model
Pause (1)
✔The page tree is the skeleton of the portal ✔The pages, altough “decorated” with the Pages Model, don't include information or functionality✔We must now introduce objects that expose information and functionality
The Showlet (1)
✔jAPS Showlet is an object that allows to display on the pages of the portal information and/or functionality (services) ✔It's possible to insert a Showlet in each of the areas defined by the model associated to the pageN.B.: The jAPS Showlet are similar to the portlet (standard JSR 168), but are much simpler and do not follow the standard. That's why they have a different name.
The Showlet (2)
The Logic Showlets are:✔the application logic that retrieves the information and performs the function✔the logic of presentation, which translates the information into an output to be included in the page
Showlet: example
MeteoService
15°
MeteoService
<temp>
CrayConnector{ getMeteo()}
[good, 15]
MeteoShowlet
Application LogicPresentation LogicInfo
Output
Pause (2)
✔The Showlet are quite general. They can virtually perform any function (just realize it...)✔With the Objects seen so far, we can say that it's possible to build any portal:● Pages Tree allows articulation of pages,
however complex● The Showlet allows to include information or
service in any page
Pause (3)
✔To help developing a new portal we expect to have a lot of default Showlet.✔jAPS contains some default Showlets: the most useful are cut to fit the common requirements✔The most important are related to content management systems (CMS)
Content (1)
✔A jAPS Content is a structured information unit ✔The information can be used in different ways and contexts ✔The jAPS contents, produced by the editors, are collected in a Contents Archive
Content (2)
PAY ATTENTION!!!✔The jAPS Content Does Not include presentation characteristics (colors, effects, size)✔jAPS Content Has No relation with Pages since it's not linked to the Pages Tree
Content Type (1)
A Content Type is the definition of a class of Contents✔The Content Type is a basic structure of information ✔Content Types can be defined as desidered, usually in a portal there are no more than 10 types, sufficient to contain all the informations✔Examples: News, Event, Article, Download card, Product description, Route...
Content Type(2)
Example of a Content Type structure:
Tipo: N O TIZ IAN o m e a ttr ib u to T ip o a ttr ib u to
T ito lo tes to s em p lic eS in te s i tes to s em p lic eC o rpoT e s to ipe rtes toD a ta da taLu ogo tes to s em p lic eF o to im m ag ineR ife rim en ti lis ta d i link
Content Type (3)
✔In the definition of a Content Type, the attributes may be selected from simple types available (text, hypertext, date, ...)✔Some attributes can be of Resources type. Resources are Images, documents✔To handle special cases, it's possible to develop new types of attributes
Content Categories (1)
✔To organize the Content Archive it's possible to associate each content to one or more Categories✔Categories are a classification, regardless of their type✔Categories are also organized in a hierarchy tree
Do not confuse categories with Types: Types define the structure, the categories are used to classify
Content Categories (2)
Categories Examples:Sport
Sport/Calcio
Sport/Rugby
Sport/Petanque
NewsNews/Cinema
News/TV
News/VIP
News/Petanque
New:
Singers-Pilots 5-3
New:
Singers-Pilots 5-3
Article:
Ronaldocapellone
Article:
Ronaldocapellone
Content Type: New
Content Type: Article
Resources, Resources Archive and Resources Category
✔Resources (images, documents text or multimedia) are stored in appropriate Archives✔Each Resource can be related to one or more Content✔Resources can also be arranged through appropriate Categories
Pause (4)
✔Editors can create and update Contents Resources ✔Editors do not need to worry about how, where and when the content will be published✔The Archives of the jAPS CMS is actually one of the potential sources of information to be displayed on pages. In what way this is accomplished? Through Showlet, of course!
Formatting Content
✔In order to publish contents on the pages, you need a precedent formatting process which translates the informations together in a suitable output✔ The information contained in the Content must be formatted in different ways✔jAPS has a formatting engine for content-based models
The Contents Models (1)
✔The Content Model is a formatting scheme for a specific content type ✔For each content type it's possible to define more Contents models✔The formatting engine receives an input content and a consistent model, produces output in the formatted content (eg, a fragment of XHTML)
The Contents Models (2)
A t t r i b u t o V a l o r e
T it o lo N o m in a d e g li s c r u t a t o r i p e r le E le z io n i P o lit ic h e
S in t e s i
C o r p o T e s to
D a t a 2 0 / 0 3 / 0 8
L u o g o C a g lia r i
F o to im m a g in e
R if e r im e n t i E le z io n i P o lit ic h e 2 0 0 8 - P a g e : s p e c ia le e le z io n i
L a C o m m is s io n e E le t t o r a le c o m u n a le h a p r o v v e d u t o a n o m in a r e g li s c r u t a t o r i p e r le p r o s s im e E le z io n i P o lit ic h e d e l 1 3 e 1 4 a p r i le 2 0 0 8 .L a C o m m is s io n e e le t t o r a le h a p r o v v e d u t o a n o m in a r e ( v e r b a le n r . 2 d e l 1 9 / 0 3 / 2 0 0 8 ) g li s c r u t a t o r i p e r la E le z io n i P o lit ic h e d e l 1 3 e 1 4 a p r ile 2 0 0 8 . P u b b lic h ia m o l'e le n c o d e i 7 4 4 s c r u t a t o r i n o m in a t i e r e la t iv a d e s t in a z io n e a lle s e z io n i e le t t o r a li.
Model:NewHomePage
Model:NewComplet
Model:NewList
Content:New
Publication of a Content on a Page
✔To publish a specific content in a specific location of a page we use a Showlet named “ViewContent”✔This Showlet include:● A configuration that allows you to specify the
Content and the Content Model to be used.● The logic to retrieve the content.● The logic of the layout Engine
MeteoService
15°
ContentView Showlet
Lisa Home Page
Configuration:page: home_pageposition: 5showlet: ViewContentcontentId: GEN4modelid: 7
Configuration:page: home_pageposition: 5showlet: ViewContentcontentId: GEN4modelid: 7
Contents Archive
Contents Archive Showlet
ViewContent
ShowletViewContent
Layout EngineLayout Engine
Welcome!
Good news
Bad news
ContentList Showlet
✔To view a list of contents is available a Showlet named “ContentList”
ContentList is configured with an extraction criteria (examples: the three most recent news in order of increasing data, the articles of a certain category sorted by title)
It can be configured with the Content Model to be used to view content
The result is dynamic (in the first instance: If you insert a news, the list changes when reloading the page)
Pause (5)
✔The Showlet “ContentView” allows to fill easily the pages with contents✔With the flexibility introduced by the content models, there are few limits in the way an information can be presented✔To complete the illustration of its potential, we must introduce a new jAPS concept
The jAPS Link (1)
jAPS operates several types of links, depending on the type of destination:● external link● link to Pages● link to Contents
Links can appear in any Content within the attributes of a hypertext, or as specific attributes of type linkThe links also appear in the navigation menu
The jAPS Link (2)
jAPS checks and ensures that internal links always exist (e.g., it prevents the deletion of a content referenced by a link in a different content) Links to Page and Links to Content are internally managed in a symbolic form and translated into real URLs only when pages are displayed in the web browser
Link to a Content(1)
The ability to insert a Link to a Content in another Content allows interesting correlations between the contents in the database, regardless of their publication on the pagesBut what does "link to a Content" mean?
Elezioni 2008Contrariamente alle elezionidel 2006, quest'anno i seggisaranno istituiti nelle sedi...
Elezioni 2006Per la prima volta nella storiadell'Italia, le elezioni politichedel 2006 hanno visto la ...
Link to a Content (2)
When a Link to a Content is shown on a page, what will the real target be?✔jAPS has a set of rules for the resolution of Links to Content, which guarantee the achievement of the referenced content. Simplifying, the link can be translated in: a link to the page on which the content is published , or, if the
content is not published in a link to a default page where the content is displayed
dynamically
Link to a Content (3)
✔Another use of Link to a Content esoteric in appearence, but useful in jAPS, is "link to itself"✔Through the Content Model it's possible to include a link to the same content that you want to format●It is used when you view a summary of the Content (in a list, on the home page ...) and you need to link the full content (examples: "read the article," "continue>>" ... )
Link to a Content (4)
A list in the home pageuses a model which includesa link to the same content.It is not necessary to indicatethe landing page!
Example: list of news
jAPS identifies a destination,in this case the default pagefor the News, and translatesthe link. The default page isconfigured to displaydynamically the specificrequired content
Pause (6)
✔With the technique of symbolic links, jAPS guarantees the consistency of the internal links of the portal (dead links cannot exist!)✔The Contents Link mechanism solves a large part of the navigation requirements on the portal, simplifying the implementation✔Additional navigation needs are covered by another instrument: the Showlet type "Menu"
The Showlet “Menu” (1)
jAPS provides tools to easily compose a broad class of Showlets oriented to web navigationWhat the following components have in common?● Horizontal navigation bar● Vertical Menu (simple or tree)● “Bread Crumb”● “local” Menu● Site map
The Showlet “Menu” (2)
from: www.japsportal.org
The Showlet “Menu” (3)
✔The components listed are made by lists (of type flat or tree) of Page Link ✔Each link has a text and a destination✔The sequence of links can be chosen by the developer or may be related to the tree pages structure
the Showlet “Menu” (4)
✔The basic component supplied by jAPS allows to define lists of links to target pages selected by customizable rules✔The rules can select:● Pages● Set of pages
✔The rules for selecting sets of pages operate on the Pages Tree structure
The Showlet “Menu” (5)
Examples of rules for the selection of pages:● All the “children” pages of a specific page● Entire tree of pages from the Home Page● All pages from Home Page to the Current Page
It is easy to configure “local” menu
The Showlet “Menu” (6)
Home page
Sport
Calcio
Bocce
Attualità
Spettacolo
Rules: tree from home Until first level
Rules: Route from Home to this page
Result:Home Page SportAttualitàSpettacolo
Result:Home Page SportBocce
Home PageSportAttualitàSpettacolo
Home page >> Sport >> Bocce
Vertical menu
Bread Crumbs Menu
The Showlet “Menu” (7)
✔With jAPS components we build Showlet Menù through customization of the presentation and configuration✔The menu “elements” are the title of the page, the destination link is generated by jAPS. We have not to write URLs!✔The menu based on rules are dynamic: adding or removing pages results in an automatic update of the menu items
Final (1)
✔jAPS have additional features (eg, the search engine)✔With the basic components of jAPS is possible to implement all the functions of an information portal without writing Java code✔By contrast the philosophy of jAPS to leave complete freedom for characterization means that the entire presentation (XHTML, CSS and accessories) must be written ad hoc
Final (2)
jAPS is designed to be easily extended in order to:● add customized functionality● extend its basic functionality
4747
Thanks! Thanks!
www.japsportal .orgwww.japsportal .org
< Do It The jAPS Way />< Do It The jAPS Way />