View
984
Download
8
Category
Preview:
Citation preview
Second Annual Workshop, Rome, 24-28 April 2006
Customization of the site
13:45 - 15:30 part 115:30 Coffee Break15:45 - 16:45 part 2
Antonio Martucci
Second Annual Workshop, Rome, 24-28 April 2006
Why are we here..?
Second Annual Workshop, Rome, 24-28 April 2006
Customization..
Second Annual Workshop, Rome, 24-28 April 2006
Summary
• Vocabulary pertinent to customization
• XSL style sheets generating the home page
• Exercises on customization:• changing node's logo
• changing vision identity (banner)
• changing font and color styles
• adding or updating localized text
• changing main layout and re-arranging
page components
This session will cover the following topics:
13:45 - 15:30part 1
15:45 - 16:45part 2
Second Annual Workshop, Rome, 24-28 April 2006
Vocabulary
HyperText Mark-Up Language (HTML)
[the authoring language used to create documents on the World Wide Web]
Cascading Style Sheets (CSS)
[feature added to HTML that gives Web site developers more control over how pages are displayed]
Javascript (JS)
[scripting language enabling Web authors to design interactive sites]
Extensible Markup Language (XML)
[specification allowing designers to create their own customized tags. It enables the definition, transmission, validation, and interpretation of data between applications and between organizations]
Extensible Style Language (XSL)
[a specification for separating style from content when creating HTML or XML pages. The specifications work much like templates, allowing designers to apply single style documents to multiple pages]
Second Annual Workshop, Rome, 24-28 April 2006
http://localhost:8080/geonetwork/srv/en/main.home
Second Annual Workshop, Rome, 24-28 April 2006
banner
content
header
fields
categories
latestUpdates
featured
interactive
Second Annual Workshop, Rome, 24-28 April 2006
header.xsl<xsl:template name="header"/>
<!-- title --><!-- stylesheet --><!-- meta tags --><!-- javascript -->
banner.xsl<xsl:template name="banner"/>
<!-- title --> [logo]<!-- buttons --> [links]<!-- login -->
main-page.xsl<xsl:include href="main.xsl"/>
<!-- search fields -->controls for setting search criteria; list changes according to simple/advanced and local/remote search
<!-- featured -->random map
<!-- latestUpdates -->list of latest updates in the archive
<!-- categories -->search the catalogue according to category types
main.xsl
header
banner
content
<html><head>
</head><body>
</body></html>
<xsl:template match="/">
<xsl:include href="header.xsl"/><xsl:include href="banner.xsl"/>
Second Annual Workshop, Rome, 24-28 April 2006
<xsl:template match="/"><html>
<head><xsl:call-template name="header"/><xsl:apply-templates mode="script" select="/"/>
</head><body onload="javascript:init();">
<table width="100%" height="100%"><!-- banner --><tr><td>
<xsl:call-template name="banner"/></td></tr>
<!-- content --><tr height="100%"><td>
<xsl:call-template name="content"/></td></tr>
</table></body>
</html></xsl:template>
javascript code
template in header.xsl
template in banner.xsl
template in main-page.xsl
MAIN.XSL
Second Annual Workshop, Rome, 24-28 April 2006
javascript code
template in header.xsl
template in banner.xsl
template in main-page.xsl
<xsl:template match="/"><html>
<head><xsl:call-template name="header"/><xsl:apply-templates mode="script" select="/"/>
</head><body onload="javascript:init();">
<table width="100%" height="100%" bgcolor="#FFE400" ><!-- banner --><tr><td>
<xsl:call-template name="banner"/></td></tr>
<!-- content --><tr height="100%"><td>
<xsl:call-template name="content"/></td></tr><!-- footer --><tr><td>
<xsl:call-template name="footer"/></td></tr>
</table></body>
</html></xsl:template>
<xsl:include href="footer.xsl"/>
template in footer.xsl
MAIN.XSL
Second Annual Workshop, Rome, 24-28 April 2006
BANNER.XSL
<xsl:template name="banner ">
<table width="100%"><!-- title --><tr class="banner">
<td class="banner"><img src="{/root/gui/url}/images/header-left.gif" />
</td><td align="right" class="banner">
<img src="{/root/gui/url}/images/header-right.gif" / ></td>
</tr>
<!-- buttons --><!-- login -->....
</table>
</xsl:template>
Second Annual Workshop, Rome, 24-28 April 2006
BANNER.XSL
<xsl:template name="banner ">
<table width="100%"><!-- title --><tr class="banner">
<td class="banner"><img src="{/root/gui/url}/images/ header-left.gif " />
</td><td align="right" class="banner">
<img src="{/root/gui/url}/images/ header-right.gif " /></td>
</tr>
<!-- buttons --><!-- login -->....
</table>
</xsl:template>
td.banner {font-size: 8pt;color: #ffffff;background-image: url('images/blue-stripes.jpg ');border-bottom: 1px solid #ffffff;
}
geonetwork.css
Second Annual Workshop, Rome, 24-28 April 2006
javascript code
template in header.xsl
template in banner.xsl
template in main-page.xsl
<xsl:template match="/"><html>
<head><xsl:call-template name="header"/><xsl:apply-templates mode="script" select="/"/>
</head><body onload="javascript:init();">
<table width="100%" height="100%" bgcolor="#FFE400" ><!-- banner --><tr><td>
<xsl:call-template name="banner"/></td></tr>
<!-- content --><tr height="100%"><td>
<xsl:call-template name="content"/></td></tr><!-- footer --><tr><td>
<xsl:call-template name="footer"/></td></tr>
</table></body>
</html></xsl:template>
<xsl:include href="footer.xsl"/>
template in footer.xsl
MAIN.XSL
Second Annual Workshop, Rome, 24-28 April 2006
<xsl:template name="content ">
<table width="100%" height="100%"><tr height="100%">
<!-- search and purpose --><td class="padded-content" width="70%" height="100%">
<table width="100%" height="100%"><tr>
<td><h1><xsl:value-of select="/root/gui/strings/mainpageTitle"/></h1>...
<!-- interactive maps --><td class="padded-content" valign="top"><center>
<a href="javascript:popInterMap('{/root/gui/url}/intermap')"><img src="{/root/gui/url}/images/intermap.gif" alt="InterMap" align="top" /></a>
...</tr><tr>
<!-- featured map --><!-- latest updates --><!-- categories -->
</tr></table>
</xsl:template>
MAIN-PAGE.XSL
Second Annual Workshop, Rome, 24-28 April 2006
<xsl:template name="content ">
<table width="100%" height="100%"><tr height="100%">
<!-- search and purpose --><td class="padded-content" width="70%" height="100%">
<table width="100%" height="100%"><tr>
<td><h1><xsl:value-of select="/root/gui/strings/mainpageTitle"/></h1>...
<!-- interactive maps --><td class="padded-content" valign="top"><center>
<a href="javascript:popInterMap('{/root/gui/url}/intermap')"><img src="{/root/gui/url}/images/intermap.gif" alt="InterMap" align="top" /></a>
...</tr><tr>
<!-- featured map --><!-- latest updates --><!-- categories -->
</tr></table>
</xsl:template>
MAIN-PAGE.XSL
Second Annual Workshop, Rome, 24-28 April 2006
<h1><xsl:value-of select="/root/gui/strings/mainpageTitle"/></h1>
Find Interactive Maps, GIS datasets, Satellite Imag ery and Related Applications
Second Annual Workshop, Rome, 24-28 April 2006
<xsl:template name="content ">
<table width="100%" height="100%"><tr height="100%">
<!-- search and purpose --><td class="padded-content" width="70%" height="100%">
<table width="100%" height="100%"><tr>
<td><h1><xsl:value-of select="/root/gui/strings/mainpageTitle"/></h1>...
<!-- interactive maps --><td class="padded-content" valign="top" style="background-color:silver;" ><center>
<a href="javascript:popInterMap('{/root/gui/url}/intermap')"><img src="{/root/gui/url}/images/intermap.gif" alt="InterMap" align="top" /></a>
...</tr><tr>
<!-- featured map --><!-- latest updates --><!-- categories -->
</tr></table>
</xsl:template>
MAIN-PAGE.XSL
Second Annual Workshop, Rome, 24-28 April 2006
<td class="padded-content"
Second Annual Workshop, Rome, 24-28 April 2006
1- Changing your node's logo
2- Changing vision identity (banner)
3- Changing fonts and colors
4- Changing text on the homepage
5- Changing page layout and moving content
Exercises
working files are located in each exercise folder
c:\geonetwork\workshop2006\customization\exercises\
part 2
Second Annual Workshop, Rome, 24-28 April 2006
1- Changing your node's logo
2- Changing vision identity (banner)
3- Changing fonts and colors
4- Changing text on the homepage
5- Changing page layout and moving content
Exercises
working files are located in ex01 folder
c:\geonetwork\workshop2006\customization\exercises\
Second Annual Workshop, Rome, 24-28 April 2006
Your metadata is identified by a small logo of your own organization. By default a small, non-specific logo is set up to be displayed with your own metadata. Of course that logo should be replaced to ensure your users correctly identify the source of the metadata record in a result set.
Changing your node's logo
<sources><source>
<code>node-identifier </code> ` <!-- your node's identifier --><logo>/images/logos/my-globe.gif </logo> <!-- your logo's filename -->
</source><source>
<code>fao</code><logo>/images/logos/fao.gif</logo>
</source>
1. create your own logo (size of 40x40 px ) or use an existing one 2. put it in the \web\images\logos folder3. open the file \web\xml\sources.xml in a text editor4. change the file name of your nodes logo to match your logo's name
Second Annual Workshop, Rome, 24-28 April 2006
Changing your node's logo
5. test the change by making a search and display the results (no server restart is needed)
Second Annual Workshop, Rome, 24-28 April 2006
1- Changing your node's logo
2- Changing vision identity (banner)
3- Changing fonts and colors
4- Changing text on the homepage
5- Changing page layout and moving content
Exercises
working files are located in ex02 folder
c:\geonetwork\workshop2006\customization\exercises\
part 2
Second Annual Workshop, Rome, 24-28 April 2006
The banner of your GeoNetwork node can be easily changed by replacing the default with graphics of your own organization. We will go through this process in two steps.
Changing the banner
1. Store the new banner graphics in the folder (/images/banner/)
default banner graphics are 80 pixels high
my-banner-back.gif
my-banner-right.gif
my-banner-left.gif
Second Annual Workshop, Rome, 24-28 April 2006
2. Update banner.xsl document (\xsl\ folder)
Changing the banner
<tr class="banner"><td class="banner">
<img src="{/root/gui/url}/images/banner/header-left.gif" alt="GeoNetwork opensource" align="top" />
</td><td align="right" class="banner">
<img src="{/root/gui/url}/images/banner/header-right.gif" alt="World picture" align="top" /></td>
</tr>
Second Annual Workshop, Rome, 24-28 April 2006
2. Update banner.xsl document (\xsl\ folder)
Changing the banner
<tr class="banner"><td class="banner">
<img src="{/root/gui/url}/images/banner/my-banner-left.gif" alt="My GeoNetwork Node" align="top" />
</td><td align="right" class="banner">
<img src="{/root/gui/url}/images/banner/my-banner-right.gif" alt="My GeoNetwork Node" align="top" />
</td></tr>
Second Annual Workshop, Rome, 24-28 April 2006
Changing the banner
td.banner {font-size: 8pt;color: #ffffff;
/* background-image: url('images/blue-stripes.jpg'); old */background-image: url('images/my-images/my-banner-back.gif');border-bottom: 1px solid #ffffff;
}
3. Update geonetwork.css file (\web\ ) in a text or CSS editor
We will have to update the image name of the graphic used for the middle part of the banner.
Search for the td.banner style in this document and update the filename accordingly. Save and close the stylesheet.
Second Annual Workshop, Rome, 24-28 April 2006
Changing the bannerAfter refreshing your web browser, the home page sh ould look like this:
Second Annual Workshop, Rome, 24-28 April 2006
1- Changing your node's logo
2- Changing vision identity (banner)
3- Changing fonts and colors
4- Changing text on the homepage
5- Changing page layout and moving content
Exercises
working files are located in ex03 folder
c:\geonetwork\workshop2006\customization\exercises\
part 2
Second Annual Workshop, Rome, 24-28 April 2006
Changing the fonts and colors
1. Open the geonetwork.css file located in the \web folder in your text or CSS editor.
Many properties of your website's look and feel are controlled through the CSS style sheet geonetwork.css. This file defines style classes that are used throughout GeoNetwork. By changing styles, you can effectively change your site to be in line with your house look and feel.
Second Annual Workshop, Rome, 24-28 April 2006
td.banner-menu {..
background: #064377;..}
2. Find td.banner-menu and td.banner-loginstyles in geonetwork.css and make the following changes:
td.banner-login {..
background: #266397;..}
td.banner-menu {..
background: #006969;..}
td.banner-login {..
background: #014F4F;..}
Changing fonts and colors
We want to update background colors for menu and login bars to be more in line with the banner graphics.
Second Annual Workshop, Rome, 24-28 April 2006
a.banner:hover{
background: #266397; }
3. Find a.banner and a.banner:hover styles and make the suggested changes. Then, save the file and refresh the home page.
a.banner{
color: #ffffff; /*font color*/}
a.banner:hover{
background: #68933a; /*(hex code)*/}
a.banner{
color: yellow;}
Changing fonts and colors
Now we will update the font color for menu links.
Second Annual Workshop, Rome, 24-28 April 2006
1- Changing your node's logo
2- Changing vision identity (banner)
3- Changing fonts and colors
4- Changing text on the homepage
5- Changing page layout and moving content
Exercises
working files are located in ex04 folder
c:\geonetwork\workshop2006\customization\exercises\
part 2
Second Annual Workshop, Rome, 24-28 April 2006
Changing text on the homepage
All text that is part of the GeoNetwork opensourceuser interface is maintained in a set of XML files. These files can be localized to provide access to the site in several languages.
To see the localized files, open your file manager and go to the following location:
<your geonetwork installation directory>\web\loc\
For each available language, you will find a two letter coded folder containing an image and an xml folder.
1. Open the strings.xml file in a text or XML editor.
Second Annual Workshop, Rome, 24-28 April 2006
Changing text on the homepage
The strings.xml file contains most of the generic user interface text.
Other files contain strings related to error messages, to metadata standards and some other stuff.
Second Annual Workshop, Rome, 24-28 April 2006
Changing text on the homepage
<xsl:template name="content"><table width="100%" height="100%">
...<!-- search --><td><h1><xsl:value-of select="/root/gui/strings/mainpageTitle"/></h1>
...
Second Annual Workshop, Rome, 24-28 April 2006
Changing text on the homepage
Let's insert a new text string in the home page!
main-page.xsl
Second Annual Workshop, Rome, 24-28 April 2006
Changing text on the homepage1. Open strings.xml
and add a new tag as showed on the right. Do it for each language and translate its content. Save the file.
2. Open main-page.xsland find the commented section "Info " in the content template (see red box on the right).
3. Add this additional lines (green box) as new table rows and save the file.
4. Refresh the page.
Second Annual Workshop, Rome, 24-28 April 2006
Changing text on the homepage
The result should look like this!
Same technique to update existing text.
Second Annual Workshop, Rome, 24-28 April 2006
1- Changing your node's logo
2- Changing vision identity (banner)
3- Changing fonts and colors
4- Changing text in the site
5- Changing page layout and moving content
Exercises
working files are located in ex05 folder
c:\geonetwork\workshop2006\customization\exercises\
part 2
Second Annual Workshop, Rome, 24-28 April 2006
Changing page layout and moving content
You can further customize the GUI by moving existing or adding new page elements. To do that, you need to change the XSL style sheets responsible for the
page rendering, main-page.xsl .
banner
content
banner.xsl
main-page.xsl
default layout
Second Annual Workshop, Rome, 24-28 April 2006
<!-- search -->
<!-- interactive maps -->
<!-- featured map -->
<!-- latest updates -->
<!-- categories -->
Changing page layout and moving content
You can further customize the GUI by moving existing or adding new page elements. To do that, you need to change the XSL style sheets responsible for the
page rendering, main-page.xsl .
default layout
content
Second Annual Workshop, Rome, 24-28 April 2006
<xsl:template name="content ">
<table width="100%" height="100%"><tr height="100%">
<!-- search and purpose --><td class="padded-content" width="70%" height="100%">
<table width="100%" height="100%"><tr>
<td><h1><xsl:value-of select="/root/gui/strings/mainpageTitle"/></h1>...
<!-- interactive maps --><td class="padded-content" valign="top"><center>
<a href="javascript:popInterMap('{/root/gui/url}/intermap')"><img src="{/root/gui/url}/images/intermap.gif" alt="InterMap" align="top" /></a>
...</tr><tr>
<!-- featured map --><!-- latest updates --><!-- categories -->
</tr></table>
</xsl:template>
default layout
Changing page layout...
Second Annual Workshop, Rome, 24-28 April 2006
<table border="0" cellpadding="0" cellspacing="0"><tr>
<!-- LEFT CONTENT --><td><table border="0" cellpadding="0" cellspacing="0">
<tr><td>
<!-- Recent additions --></td></tr> <tr><td>
<!-- Categories --></td></tr></table></td><!-- RIGHT CONTENT --><td>
<table border="0" cellpadding="0" cellspacing="0"> <tr><td>
<!-- Search --></td></tr><!-- FEATURED/INTERACTIVE MAPS --><tr><td>
<table border="0" cellpadding="0" cellspacing="0"><tr>
<td>
<!-- Featured data --></td><td>
<!-- Interactive maps --></td></tr>
</table></td></tr>
</table></td>
</tr></table>
default layout
custom layout
rece
nt a
dditi
ons
cate
gorie
s
search
featured interactivemaps
Second Annual Workshop, Rome, 24-28 April 2006
Changing page layout and moving content
Below is a screenshot of the home page after changing the layout.
Second Annual Workshop, Rome, 24-28 April 2006
<table border="0" cellpadding="0" cellspacing="0"><tr>
<!-- LEFT CONTENT --><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td>
<!-- Recent additions --></td></tr> <tr><td>
<!-- Categories --></td></tr>
</table></td><!-- RIGHT CONTENT --><td>
<table border="0" cellpadding="0" cellspacing="0"> <tr><td>
<!-- Search --></td></tr><!-- FEATURED/INTERACTIVE MAPS --><tr><td>
<table border="0" cellpadding="0" cellspacing="0"><tr>
<td>
<!-- Featured data --></td><td>
<!-- Interactive maps --></td></tr>
</table></td></tr>
</table></td>
</tr></table>
<table width="100%" height="100%"><tr height="100%">
<!-- Search --><td class="padded-content" width="70%" height="100%">
<table width="100%" height="100%"><tr>
<td><h1><xsl:value-of select="/root/gui/strings/mainpageTitle"/></h1>...
<!-- Interactive maps --><td class="padded-content" valign="top"><center>
<a href="javascript:popInterMap('{/root/gui/url}/intermap')"><img src="{/root/gui/url}/images/intermap.gif" alt="InterMap" /></a>...
</tr><tr>
<!-- Featured map --><!-- Recent additions --><!-- Categories -->
</tr></table>
default and custom layouts
In the ex05 folder are working files (i.e. updated main-page.xsl) for you to consult as needed.
Second Annual Workshop, Rome, 24-28 April 2006
Changing page layout and moving content
Let's try to get to the result below . Note that you will need to apply correct styles from the CSS file and change background colors.
Suggested to work on a copy of the original main-page.xsl file.
Second Annual Workshop, Rome, 24-28 April 2006
Second Annual Workshop, Rome, 24-28 April 2006
13:45 part 115:30 Coffee Break15:45 part 2
Thank you for your attention!
Customization of the site Antonio Martucci
Recommended