...
Anchor | ||||
---|---|---|---|---|
|
Table of Contents | ||
---|---|---|
|
Minimal Rebranding
In this example, the installer is rebranded with a minimum of work. References to “Yellowfin” in the installer user-interface are replaced, and some images are replaced with rebranded versions.
First, set the name of the application as displayed in the installer:
Code Block | ||||
---|---|---|---|---|
| ||||
installer.appname=Real Reports
{code}
|
Override
...
text
...
properties
...
that
...
refer
...
to
...
“Yellowfin”:
Code Block | ||||
---|---|---|---|---|
| ||||
installer.footer.msg= -= www.realreports.com =-
installer.licencefilepanel.msg=A valid licence file is required to install and use Real Reports. If you do not have a licence file, please see your software provider.
installer.finishpanel.supportlink.url=http://www.example.com/support
{code}
|
Override
...
Windows
...
service
...
name
...
and
...
description:
...
Code Block | ||||
---|---|---|---|---|
| ||||
installer.winservice.name=Real Reports
installer.winservice.description=This service starts the Real Reports Server
{code}
|
Tell
...
the
...
installer
...
not
...
to
...
install
...
any
...
Yellowfin-branded
...
sample
...
content:
...
Code Block | ||||
---|---|---|---|---|
| ||||
action.yellowfincontent=false
{code}
|
Create
...
a
...
new
...
html
...
file
...
to
...
display
...
at
...
the
...
start
...
of
...
the
...
graphical
...
installer,
...
and
...
add
...
a
...
property
...
to
...
use
...
the
...
new
...
html:
...
resource.infopanel.html=resources/installsplash.html
...
Create
...
new
...
images
...
to
...
use
...
as
...
the
...
pack
...
icons
...
in
...
the
...
graphical
...
installer
...
(one
...
for
...
each
...
pack).
...
Add
...
properties
...
to
...
use
...
these
...
new
...
images:
...
Code Block | ||||
---|---|---|---|---|
| ||||
resource.pack.core.img=resources/corepack.png
resource.pack.tutorial.img=resources/tutorialpack.png
resource.pack.geopack.us.img=resources/usgeopack.png
resource.pack.geopack.world.img=resources/worldgeopack.png
{code}
|
Put
...
all
...
the
...
properties
...
above
...
into
...
a
...
file
...
called
...
custom.properties
...
:
...
Code Block | ||||
---|---|---|---|---|
| ||||
# text properties
installer.appname=Real Reports
installer.footer.msg= -= www.realreports.com =-
installer.licencefilepanel.msg=A valid licence file is required to install and use Real Reports. If you do not have a licence file, please see your software provider.
installer.finishpanel.supportlink.url=http://www.example.com/support
installer.winservice.name=Real Reports
installer.winservice.description=This service starts the Real Reports Server
# installer actions
action.yellowfincontent=false
# resources
resource.infopanel.html=resources/installsplash.html
resource.pack.core.img=resources/corepack.png
resource.pack.tutorial.img=resources/tutorialpack.png
resource.pack.geopack.us.img=resources/usgeopack.png
resource.pack.geopack.world.img=resources/worldgeopack.png
{code}
|
To
...
create
...
the
...
customised
...
installer:
...
- Extract
...
- the
...
- contents
...
- of
...
- the
...
- existing
...
- installer
...
- jar
...
- file
...
Code Block none none jar xvf /path/to/yellowfin-yyyymmdd-full.jar
...
- Create a new directory called resources and copy the new html file and image files into it
- Copy the custom properties file created above into the root directory of the install folder structure.
The directory should now contain the existing files from the installer archive, as well as your new files, eg:Code Block none none META-INF/MANIFEST.MF custom.properties com/ default.properties resources/corepack.png resources/tutorialpack.png resources/usgeopack.png resources/worldgeopack.png resources/installsplash.html ...
...
- Create the modified jar file
Code Block none none jar cvmf META-INF/MANIFEST.MF /path/to/yellowfin-modified.jar
...
Rebranded Application
In the Minimal Rebranding example, elements of the installer were rebranded, but the Yellowfin application itself was not. This example builds further on this by providing rebranding for some application UI elements.
Set the application name that is displayed within the Yellowfin application (not the installer):
Code Block | ||||
---|---|---|---|---|
| ||||
action.config.appname=Real Reports
{code}
|
Change
...
the
...
names
...
of
...
some
...
files
...
created
...
in
...
the
...
installation
...
directory:
...
Code Block | ||||
---|---|---|---|---|
| ||||
installer.warfilename=realreports.war
installer.applogfilename=realreports.log
{code}
|
Change
...
the
...
support
...
...
address:
...
Code Block | ||||
---|---|---|---|---|
| ||||
action.config.supportemail=support@example.com
{code}
|
Change
...
the
...
...
address
...
and
...
name
...
that
...
broadcast
...
emails
...
are
...
sent
...
from:
...
Code Block | ||||
---|---|---|---|---|
| ||||
action.config.broadcastemail=noreply@example.com
action.config.broadcastname=Real Reports
{code}
|
Change
...
the
...
credentials
...
of
...
the
...
default
...
administrator
...
logon
...
account:
...
Code Block | ||||
---|---|---|---|---|
| ||||
action.adminuser.username=admin@example.com
action.adminuser.password=secret
action.adminuser.email=admin@example.com
{code}
|
Replace
...
Yellowfin-branded
...
images
...
used
...
in
...
the
...
Yellowfin
...
application.
...
Firstly,
...
create
...
a
...
subdirectory
...
under
...
resources
...
called
...
customimages
...
.
...
Then
...
create
...
new
...
images
...
for
...
each
...
image
...
you
...
want
...
to
...
replace,
...
and
...
save
...
them
...
into
...
the
...
customimages
...
directory
...
using
...
the
...
same
...
filenames
...
as
...
the
...
original
...
images.
...
In
...
this
...
example
...
we
...
create
...
new
...
versions
...
of
...
the
...
files
...
header_logo.gif,
...
logo.png
...
and
...
logoFooter.png,
...
saving
...
them
...
into
...
the
...
customimages
...
directory.
...
Code Block | ||||
---|---|---|---|---|
| ||||
action.customimagespath=resources/customimages
{code}
|
Create
...
a
...
custom
...
login
...
page,
...
and
...
add
...
it
...
to
...
the
...
resources
...
directory:
...
Code Block | ||||
---|---|---|---|---|
| ||||
action.customindexpage=resources/login.html
{code}
|
The
...
custom
...
login
...
page
...
also
...
uses
...
a
...
few
...
image
...
files
...
which
...
are
...
not
...
part
...
of
...
Yellowfin.
...
These
...
can
...
be
...
added
...
to
...
the
...
customimages
...
directory
...
we
...
created
...
above,
...
and
...
will
...
automatically
...
be
...
added
...
to
...
the
...
application.
...
Combining
...
these
...
properties
...
with
...
those
...
in
...
Example
...
1,
...
the
...
full
...
custom
...
properties
...
file
...
now
...
contains:
...
Code Block | ||||
---|---|---|---|---|
| ||||
# text properties
installer.appname=Real Reports
installer.footer.msg= -= www.realreports.com =-
installer.licencefilepanel.msg=A valid licence file is required to install and use Real Reports. If you do not have a licence file, please see your software provider.
installer.finishpanel.supportlink.url=http://www.example.com/support
installer.winservice.name=Real Reports
installer.winservice.description=This service starts the Real Reports Server
# installer actions
action.yellowfincontent=false
installer.warfilename=realreports.war
installer.applogfilename=realreports.log
# post-installation application behaviour
action.config.appname=Real Reports
action.config.supportemail=support@example.com
action.config.broadcastemail=noreply@example.com
action.config.broadcastname=Real Reports
action.adminuser.username=admin@example.com
action.adminuser.password=secret
action.adminuser.email=admin@example.com
action.customindexpage=resources/login.html
action.customimagespath=resources/customimages
# resources
resource.infopanel.html=resources/installsplash.html
resource.pack.core.img=resources/corepack.png
resource.pack.tutorial.img=resources/tutorialpack.png
resource.pack.geopack.us.img=resources/usgeopack.png
resource.pack.geopack.world.img=resources/worldgeopack.png
{code}
|
The
...
jar
...
file
...
will
...
now
...
contain:
...
Code Block | ||||
---|---|---|---|---|
| ||||
META-INF/MANIFEST.MF
custom.properties
com/
default.properties
resources/corepack.png
resources/tutorialpack.png
resources/usgeopack.png
resources/worldgeopack.png
resources/installsplash.html
resources/login.html
resources/customimages/header_logo.gif
resources/customimages/logo.png
resources/customimages/logoFooter.png
resources/customimages/loginimage1.png
resources/customimages/loginimage2.png
resources/customimages/loginimage3.png
{code}
h2. Minimal User Interaction
{styleclass: Class=topLink}[top|#top]{styleclass}
This example shows how to create an installer where most user interaction is bypassed. The user only has to select the target installation directory. All other options are pre-selected and hidden from the user.
Custom properties file contents:
{code:none} |
Minimal User Interaction
This example shows how to create an installer where most user interaction is bypassed. The user only has to select the target installation directory. All other options are pre-selected and hidden from the user.
Custom properties file contents:
Code Block | ||||
---|---|---|---|---|
| ||||
# Set default values for installation options
option.pack.tutorial=true
option.pack.geopack.us=false
option.pack.geopack.world=false
option.serverport=8181
option.winservice=false
option.db.dbtype=POSTGRESQL
option.db.hostname=localhost
option.db.dbname=yellowfin
option.db.createdb=true
option.db.username=yfuser
option.db.userpassword=yfpassword
option.db.createuser=true
option.db.dbausername=postgres
option.db.dbapassword=secret
# Tell the installer to hide various options from the user
action.hidedboptions=true
action.hidepacks=true
action.hideserverport=true
action.hidewinservice=true
# Embed a licence file in the installer
resource.licencefile=resources/licence.lic
{code}
|
In
...
this
...
example,
...
the
...
installer
...
will
...
create
...
a
...
new
...
Yellowfin
...
configuration
...
database
...
in
...
a
...
PostgreSQL
...
server
...
running
...
on
...
localhost
...
(on
...
the
...
default
...
port)
...
called
...
“yellowfin”.
...
The
...
installer
...
will
...
connect
...
using
...
the
...
username
...
“postgres” and
...
the
...
password
...
“secret” to
...
create
...
the
...
database,
...
and
...
will
...
create
...
a
...
user
...
“yfuser” with
...
password
...
“yfpassword”.
The installer archive must also contain a valid licence file for the installation at resources/licence.lic.
...