SlideShare a Scribd company logo
Julien Ponge

L’Aquarium Paris, Sun Microsystems

       Paris - 2008/12/12
Outline
Introduction + demo


  IzPack features


 Demo making-of


   Beyond IzPack
Outline
Introduction + demo


  IzPack features


 Demo making-of


   Beyond IzPack
PhD
                       Opensource
Computer Science and    developer
    Engineering
Unique installer
Unique installer   Multiple systems
v2
Download for your operating system



java -Xmx256m -jar filename.jar
chmod -R +x lib/ant/bin
lib/ant/bin/ant -f setup.xml
bin/asadmin start-domain domain1
Demo

 One download
 Works everywhere
 Straightforward
Outline
Introduction + demo


  IzPack features


 Demo making-of


   Beyond IzPack
Outline
Introduction + demo


  IzPack features


 Demo making-of


   Beyond IzPack
~25.000 downloads / month
(...)
Choose your panels
#1



      Choose your panels



#2




     ...use them!
variables
                Config files,
                 scripts, ...




Content-aware
 replacement
raw         pack200




deflate (gzip)    bzip2
Custom actions




Custom panels     Installer JAR




 3rd-party libs
Custom actions




Custom panels     Installer JAR




 3rd-party libs
Our very own native launcher, or...
2001
v3.0.0
     v2.0 Win32 shortcuts
  (rewrite) UserInputPanel



2001
03 08 11          08
                2002

v1.0    v2.10.0
   CVS @TuxFamily
   Fast development
                        Steady growth, people keep on joining
X11
                v3.0.0           shortcuts
     v2.0 Win32 shortcuts                        CommunityOne
  (rewrite) UserInputPanel             GPL         JavaOne



2001                    2004                    2008
03 08 11          08     02         01 05         04 05 10
                2002              2005

v1.0    v2.10.0        Move to                Move to v4.1.0
   CVS @TuxFamily      BerliOS                Codehaus
   Fast development
                        Steady growth, people keep on joining
You decide
                                                            to use it for
                                   X11                   your next projects
                v3.0.0           shortcuts
     v2.0 Win32 shortcuts                        CommunityOne
  (rewrite) UserInputPanel             GPL         JavaOne



2001                    2004                    2008
03 08 11          08     02         01 05         04 05 10
                2002              2005

v1.0    v2.10.0        Move to                Move to v4.1.0
   CVS @TuxFamily      BerliOS                Codehaus
   Fast development
                        Steady growth, people keep on joining
Outline
Introduction + demo


  IzPack features


 Demo making-of


   Beyond IzPack
Outline
Introduction + demo


  IzPack features


 Demo making-of


   Beyond IzPack
Packs, conditions, langpacks,
        libraries, GUI, metadata, ...

Files          Descriptor               Resources




                Compiler




              Installer JAR
Compiler




Installer JAR
Compiler




Installer JAR
Compiler




Installer JAR
Compiler




Installer JAR
<installation version=quot;1.0quot;>

  <info>
    <appname>Glassfish</appname>
    <appversion>v2 ur2 b04</appversion>
    <authors>
      <author email=quot;quot;
               name=quot;Julien Ponge (packager)quot;/>
      <author email=quot;quot;
              name=quot;Sun Microsystems and the GlassFish communityquot;/>
    </authors>
    <url>http://glassfish.org/</url>
    <javaversion>1.5</javaversion>
    <requiresjdk>yes</requiresjdk>
  </info>

                                (...)
(...)
<panels>
    <panel   classname=quot;HTMLInfoPanelquot; />
    <panel   classname=quot;HTMLLicencePanelquot; />
    <panel   classname=quot;TargetPanelquot; />
    <panel   classname=quot;UserInputPanelquot; />
    <panel   classname=quot;InstallPanelquot; />
    <panel   classname=quot;ProcessPanelquot; />
    <panel   classname=quot;ShortcutPanelquot; />
    <panel   classname=quot;SimpleFinishPanelquot; />
</panels>

                      (...)
<pack name=quot;GlassFishquot; required=quot;yesquot;>
  <description>GlassFish</description>

  <file src=quot;launch-browser.shquot; targetdir=quot;$INSTALL_PATH/binquot;
        condition=quot;izpack.macinstallquot; />

  <fileset dir=quot;linuxquot; targetdir=quot;$INSTALL_PATHquot;
           condition=quot;izpack.linuxinstallquot;>
    <% linux_specific.each do |file| %>
        <include name=quot;<%= file %>quot;/>
    <% end %>
  </fileset>

  <executable targetfile=quot;$INSTALL_PATH/lib/ant/bin/antquot;
              stage=quot;neverquot; os=quot;unixquot; />
  <parsable targetfile=quot;$INSTALL_PATH/bin/launch-browser.shquot;
            os=quot;unixquot; />
</pack>
<pack name=quot;GlassFishquot; required=quot;yesquot;>
  <description>GlassFish</description>

  <file src=quot;launch-browser.shquot; targetdir=quot;$INSTALL_PATH/binquot;
        condition=quot;izpack.macinstallquot; />

  <fileset dir=quot;linuxquot; targetdir=quot;$INSTALL_PATHquot;
           condition=quot;izpack.linuxinstallquot;>
    <% linux_specific.each do |file| %>
        <include name=quot;<%= file %>quot;/>
    <% end %>
  </fileset>

  <executable targetfile=quot;$INSTALL_PATH/lib/ant/bin/antquot;
              stage=quot;neverquot; os=quot;unixquot; />
  <parsable targetfile=quot;$INSTALL_PATH/bin/launch-browser.shquot;
            os=quot;unixquot; />
</pack>
<pack name=quot;GlassFishquot; required=quot;yesquot;>
  <description>GlassFish</description>

  <file src=quot;launch-browser.shquot; targetdir=quot;$INSTALL_PATH/binquot;
        condition=quot;izpack.macinstallquot; />

  <fileset dir=quot;linuxquot; targetdir=quot;$INSTALL_PATHquot;
           condition=quot;izpack.linuxinstallquot;>
    <% linux_specific.each do |file| %>
        <include name=quot;<%= file %>quot;/>
    <% end %>
  </fileset>                             Ant-style:
                                            **/*
  <executable targetfile=quot;$INSTALL_PATH/lib/ant/bin/antquot;
                                            dir/*.class
              stage=quot;neverquot; os=quot;unixquot; />    **/*.jar
  <parsable targetfile=quot;$INSTALL_PATH/bin/launch-browser.shquot;
                                            lib/**/*.jar
            os=quot;unixquot; />
</pack>
<pack name=quot;GlassFishquot; required=quot;yesquot;>
  <description>GlassFish</description>

  <file src=quot;launch-browser.shquot; targetdir=quot;$INSTALL_PATH/binquot;
        condition=quot;izpack.macinstallquot; />

  <fileset dir=quot;linuxquot; targetdir=quot;$INSTALL_PATHquot;
           condition=quot;izpack.linuxinstallquot;>
    <% linux_specific.each do |file| %>
        <include name=quot;<%= file %>quot;/>
    <% end %>
  </fileset>

  <executable targetfile=quot;$INSTALL_PATH/lib/ant/bin/antquot;
              stage=quot;neverquot; os=quot;unixquot; />
  <parsable targetfile=quot;$INSTALL_PATH/bin/launch-browser.shquot;
            os=quot;unixquot; />
</pack>
<conditions>
  <condition type=quot;variablequot;
   id=quot;start.glassfishquot;>
    <name>gf_start_domain</name>
      <value>true</value>
  </condition>
</conditions>
<guiprefs height=quot;600quot; resizable=quot;yesquot; width=quot;800quot;>
  <modifier key=quot;allXGapquot; value=quot;5quot;/>
  <modifier key=quot;allYGapquot; value=quot;5quot;/>
  <modifier key=quot;paragraphYGapquot; value=quot;15quot;/>
  <modifier key=quot;useHeadingPanelquot; value=quot;yesquot;/>
  <modifier key=quot;headingLineCountquot; value=quot;1quot;/>
  <modifier key=quot;headingFontSizequot; value=quot;2quot;/>
  <modifier key=quot;headingBackgroundColorquot; value=quot;0x00ffffffquot;/>
  <modifier key=quot;headingPanelCounterquot; value=quot;textquot;/>
  <modifier key=quot;headingPanelCounterPosquot; value=quot;inHeadingquot;/>
</guiprefs>
Outline
Introduction + demo


  IzPack features


 Demo making-of


   Beyond IzPack
Outline
Introduction + demo


  IzPack features


 Demo making-of


   Beyond IzPack
MacOSX packages   BitRock InstallBuilder
IzPack is the only
true cross-platform
  installer to date
(...)
(...)
         IzPack is a
        complement
Disclaimer: you should never remove GF!
http://izpack.org/
http://xircles.codehaus.org/projects/izpack/




http://feeds.feedburner.com/IzPack




http://svn.codehaus.org/izpack/
http://github.com/jponge/izpack/tree/master
Q&A

   Julien Ponge


julien@ponge.info

http://izpack.org/
http://julien.ponge.info/

More Related Content

What's hot

Puppet Camp LA 2/19/2015
Puppet Camp LA 2/19/2015Puppet Camp LA 2/19/2015
Puppet Camp LA 2/19/2015
ice799
 
PyCon 2011: IronPython Command Line
PyCon 2011:  IronPython Command LinePyCon 2011:  IronPython Command Line
PyCon 2011: IronPython Command Line
Lecturer UC Davis & Northwestern
 
Chef Conf 2015: Package Management & Chef
Chef Conf 2015: Package Management & ChefChef Conf 2015: Package Management & Chef
Chef Conf 2015: Package Management & Chef
ice799
 
Hadoop: Code Injection, Distributed Fault Injection
Hadoop: Code Injection, Distributed Fault InjectionHadoop: Code Injection, Distributed Fault Injection
Hadoop: Code Injection, Distributed Fault Injection
Cloudera, Inc.
 
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'
Jen Andre
 
exploit-writing-tutorial-part-5-how-debugger-modules-plugins-can-speed-up-bas...
exploit-writing-tutorial-part-5-how-debugger-modules-plugins-can-speed-up-bas...exploit-writing-tutorial-part-5-how-debugger-modules-plugins-can-speed-up-bas...
exploit-writing-tutorial-part-5-how-debugger-modules-plugins-can-speed-up-bas...tutorialsruby
 
Writing malware while the blue team is staring at you
Writing malware while the blue team is staring at youWriting malware while the blue team is staring at you
Writing malware while the blue team is staring at you
Rob Fuller
 
O porque das minhas aplicações funcionarem... E o que acontece com os recurso...
O porque das minhas aplicações funcionarem... E o que acontece com os recurso...O porque das minhas aplicações funcionarem... E o que acontece com os recurso...
O porque das minhas aplicações funcionarem... E o que acontece com os recurso...
Comunidade NetPonto
 
How to reverse engineer Android applications
How to reverse engineer Android applicationsHow to reverse engineer Android applications
How to reverse engineer Android applications
hubx
 
Zend Framework 1.8 workshop
Zend Framework 1.8 workshopZend Framework 1.8 workshop
Zend Framework 1.8 workshop
Nick Belhomme
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Heiko Behrens
 
Logging system of Android
Logging system of AndroidLogging system of Android
Logging system of Android
Tetsuyuki Kobayashi
 
Androidの本当にあった怖い話
Androidの本当にあった怖い話Androidの本当にあった怖い話
Androidの本当にあった怖い話Yusuke Yamamoto
 
Debugging PHP with xDebug inside of Eclipse PDT 2.1
Debugging PHP with xDebug inside of Eclipse PDT 2.1Debugging PHP with xDebug inside of Eclipse PDT 2.1
Debugging PHP with xDebug inside of Eclipse PDT 2.1
Bastian Feder
 
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...
digitalSTROM.org
 
Using the Android Native Development Kit (NDK)
Using the Android Native Development Kit (NDK)Using the Android Native Development Kit (NDK)
Using the Android Native Development Kit (NDK)
Xavier Hallade
 
[UniteKorea2013] Protecting your Android content
[UniteKorea2013] Protecting your Android content[UniteKorea2013] Protecting your Android content
[UniteKorea2013] Protecting your Android content
William Hugo Yang
 
Inter-process communication of Android
Inter-process communication of AndroidInter-process communication of Android
Inter-process communication of Android
Tetsuyuki Kobayashi
 
You can now use PVS-Studio with Visual Studio absent; just give it the prepro...
You can now use PVS-Studio with Visual Studio absent; just give it the prepro...You can now use PVS-Studio with Visual Studio absent; just give it the prepro...
You can now use PVS-Studio with Visual Studio absent; just give it the prepro...
Andrey Karpov
 

What's hot (19)

Puppet Camp LA 2/19/2015
Puppet Camp LA 2/19/2015Puppet Camp LA 2/19/2015
Puppet Camp LA 2/19/2015
 
PyCon 2011: IronPython Command Line
PyCon 2011:  IronPython Command LinePyCon 2011:  IronPython Command Line
PyCon 2011: IronPython Command Line
 
Chef Conf 2015: Package Management & Chef
Chef Conf 2015: Package Management & ChefChef Conf 2015: Package Management & Chef
Chef Conf 2015: Package Management & Chef
 
Hadoop: Code Injection, Distributed Fault Injection
Hadoop: Code Injection, Distributed Fault InjectionHadoop: Code Injection, Distributed Fault Injection
Hadoop: Code Injection, Distributed Fault Injection
 
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'
 
exploit-writing-tutorial-part-5-how-debugger-modules-plugins-can-speed-up-bas...
exploit-writing-tutorial-part-5-how-debugger-modules-plugins-can-speed-up-bas...exploit-writing-tutorial-part-5-how-debugger-modules-plugins-can-speed-up-bas...
exploit-writing-tutorial-part-5-how-debugger-modules-plugins-can-speed-up-bas...
 
Writing malware while the blue team is staring at you
Writing malware while the blue team is staring at youWriting malware while the blue team is staring at you
Writing malware while the blue team is staring at you
 
O porque das minhas aplicações funcionarem... E o que acontece com os recurso...
O porque das minhas aplicações funcionarem... E o que acontece com os recurso...O porque das minhas aplicações funcionarem... E o que acontece com os recurso...
O porque das minhas aplicações funcionarem... E o que acontece com os recurso...
 
How to reverse engineer Android applications
How to reverse engineer Android applicationsHow to reverse engineer Android applications
How to reverse engineer Android applications
 
Zend Framework 1.8 workshop
Zend Framework 1.8 workshopZend Framework 1.8 workshop
Zend Framework 1.8 workshop
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
 
Logging system of Android
Logging system of AndroidLogging system of Android
Logging system of Android
 
Androidの本当にあった怖い話
Androidの本当にあった怖い話Androidの本当にあった怖い話
Androidの本当にあった怖い話
 
Debugging PHP with xDebug inside of Eclipse PDT 2.1
Debugging PHP with xDebug inside of Eclipse PDT 2.1Debugging PHP with xDebug inside of Eclipse PDT 2.1
Debugging PHP with xDebug inside of Eclipse PDT 2.1
 
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...
 
Using the Android Native Development Kit (NDK)
Using the Android Native Development Kit (NDK)Using the Android Native Development Kit (NDK)
Using the Android Native Development Kit (NDK)
 
[UniteKorea2013] Protecting your Android content
[UniteKorea2013] Protecting your Android content[UniteKorea2013] Protecting your Android content
[UniteKorea2013] Protecting your Android content
 
Inter-process communication of Android
Inter-process communication of AndroidInter-process communication of Android
Inter-process communication of Android
 
You can now use PVS-Studio with Visual Studio absent; just give it the prepro...
You can now use PVS-Studio with Visual Studio absent; just give it the prepro...You can now use PVS-Studio with Visual Studio absent; just give it the prepro...
You can now use PVS-Studio with Visual Studio absent; just give it the prepro...
 

Viewers also liked

IzPack Glassfish Lightning Talks 2008
IzPack Glassfish Lightning Talks 2008IzPack Glassfish Lightning Talks 2008
IzPack Glassfish Lightning Talks 2008
julien.ponge
 
IzPack - fOSSa 2009
IzPack - fOSSa 2009IzPack - fOSSa 2009
IzPack - fOSSa 2009julien.ponge
 
IzPack - PoitouJUG
IzPack - PoitouJUGIzPack - PoitouJUG
IzPack - PoitouJUG
julien.ponge
 
Software Testing - Invited Lecture at UNSW Sydney
Software Testing - Invited Lecture at UNSW SydneySoftware Testing - Invited Lecture at UNSW Sydney
Software Testing - Invited Lecture at UNSW Sydneyjulien.ponge
 
FOSS - PoitouJUG
FOSS - PoitouJUGFOSS - PoitouJUG
FOSS - PoitouJUG
julien.ponge
 
IzPack at LyonJUG'11
IzPack at LyonJUG'11IzPack at LyonJUG'11
IzPack at LyonJUG'11julien.ponge
 
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...julien.ponge
 

Viewers also liked (8)

IzPack Glassfish Lightning Talks 2008
IzPack Glassfish Lightning Talks 2008IzPack Glassfish Lightning Talks 2008
IzPack Glassfish Lightning Talks 2008
 
IzPack - fOSSa 2009
IzPack - fOSSa 2009IzPack - fOSSa 2009
IzPack - fOSSa 2009
 
IzPack - PoitouJUG
IzPack - PoitouJUGIzPack - PoitouJUG
IzPack - PoitouJUG
 
Java 7 LavaJUG
Java 7 LavaJUGJava 7 LavaJUG
Java 7 LavaJUG
 
Software Testing - Invited Lecture at UNSW Sydney
Software Testing - Invited Lecture at UNSW SydneySoftware Testing - Invited Lecture at UNSW Sydney
Software Testing - Invited Lecture at UNSW Sydney
 
FOSS - PoitouJUG
FOSS - PoitouJUGFOSS - PoitouJUG
FOSS - PoitouJUG
 
IzPack at LyonJUG'11
IzPack at LyonJUG'11IzPack at LyonJUG'11
IzPack at LyonJUG'11
 
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
 

Similar to Slides Aquarium Paris 2008

Iz Pack
Iz PackIz Pack
Iz Pack
Inria
 
Maven 2.0 - Improve your build patterns
Maven 2.0 - Improve your build patternsMaven 2.0 - Improve your build patterns
Maven 2.0 - Improve your build patternselliando dias
 
Jordan Hubbard Talk @ LISA
Jordan Hubbard Talk @ LISAJordan Hubbard Talk @ LISA
Jordan Hubbard Talk @ LISAguest4c923d
 
Demystifying Maven
Demystifying MavenDemystifying Maven
Demystifying Maven
Mike Desjardins
 
Universal Userland
Universal UserlandUniversal Userland
Universal Userland
Sean Chittenden
 
Adventures in infrastructure as code
Adventures in infrastructure as codeAdventures in infrastructure as code
Adventures in infrastructure as code
Julian Simpson
 
Teflon - Anti Stick for the browser attack surface
Teflon - Anti Stick for the browser attack surfaceTeflon - Anti Stick for the browser attack surface
Teflon - Anti Stick for the browser attack surface
Saumil Shah
 
Extjs Howto
Extjs HowtoExtjs Howto
Extjs Howto
Greg Hendricks
 
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCacheClustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Cris Holdorph
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13Fred Sauer
 
Ideal Deployment In .NET World
Ideal Deployment In .NET WorldIdeal Deployment In .NET World
Ideal Deployment In .NET World
Dima Pasko
 
Sbt, idea and eclipse
Sbt, idea and eclipseSbt, idea and eclipse
Sbt, idea and eclipse
Mike Slinn
 
Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with Docker
HanoiJUG
 
IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009
Christopher Judd
 
Joxean Koret - Database Security Paradise [Rooted CON 2011]
Joxean Koret - Database Security Paradise [Rooted CON 2011]Joxean Koret - Database Security Paradise [Rooted CON 2011]
Joxean Koret - Database Security Paradise [Rooted CON 2011]RootedCON
 
Apache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationApache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentation
Arnaud Héritier
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer Toolbox
Pablo Godel
 
Word press, the automated way
Word press, the automated wayWord press, the automated way
Word press, the automated way
Michaël Perrin
 
Django dev-env-my-way
Django dev-env-my-wayDjango dev-env-my-way
Django dev-env-my-way
Robert Lujo
 

Similar to Slides Aquarium Paris 2008 (20)

Iz Pack
Iz PackIz Pack
Iz Pack
 
Maven 2.0 - Improve your build patterns
Maven 2.0 - Improve your build patternsMaven 2.0 - Improve your build patterns
Maven 2.0 - Improve your build patterns
 
Jordan Hubbard Talk @ LISA
Jordan Hubbard Talk @ LISAJordan Hubbard Talk @ LISA
Jordan Hubbard Talk @ LISA
 
Demystifying Maven
Demystifying MavenDemystifying Maven
Demystifying Maven
 
Ext 0523
Ext 0523Ext 0523
Ext 0523
 
Universal Userland
Universal UserlandUniversal Userland
Universal Userland
 
Adventures in infrastructure as code
Adventures in infrastructure as codeAdventures in infrastructure as code
Adventures in infrastructure as code
 
Teflon - Anti Stick for the browser attack surface
Teflon - Anti Stick for the browser attack surfaceTeflon - Anti Stick for the browser attack surface
Teflon - Anti Stick for the browser attack surface
 
Extjs Howto
Extjs HowtoExtjs Howto
Extjs Howto
 
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCacheClustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCache
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
 
Ideal Deployment In .NET World
Ideal Deployment In .NET WorldIdeal Deployment In .NET World
Ideal Deployment In .NET World
 
Sbt, idea and eclipse
Sbt, idea and eclipseSbt, idea and eclipse
Sbt, idea and eclipse
 
Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with Docker
 
IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009
 
Joxean Koret - Database Security Paradise [Rooted CON 2011]
Joxean Koret - Database Security Paradise [Rooted CON 2011]Joxean Koret - Database Security Paradise [Rooted CON 2011]
Joxean Koret - Database Security Paradise [Rooted CON 2011]
 
Apache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationApache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentation
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer Toolbox
 
Word press, the automated way
Word press, the automated wayWord press, the automated way
Word press, the automated way
 
Django dev-env-my-way
Django dev-env-my-wayDjango dev-env-my-way
Django dev-env-my-way
 

Recently uploaded

Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 

Recently uploaded (20)

Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 

Slides Aquarium Paris 2008

  • 1. Julien Ponge L’Aquarium Paris, Sun Microsystems Paris - 2008/12/12
  • 2. Outline Introduction + demo IzPack features Demo making-of Beyond IzPack
  • 3. Outline Introduction + demo IzPack features Demo making-of Beyond IzPack
  • 4. PhD Opensource Computer Science and developer Engineering
  • 5.
  • 7. Unique installer Multiple systems
  • 8. v2 Download for your operating system java -Xmx256m -jar filename.jar chmod -R +x lib/ant/bin lib/ant/bin/ant -f setup.xml bin/asadmin start-domain domain1
  • 9. Demo One download Works everywhere Straightforward
  • 10. Outline Introduction + demo IzPack features Demo making-of Beyond IzPack
  • 11. Outline Introduction + demo IzPack features Demo making-of Beyond IzPack
  • 12.
  • 14.
  • 15. (...)
  • 16.
  • 18. #1 Choose your panels #2 ...use them!
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. variables Config files, scripts, ... Content-aware replacement
  • 28.
  • 29. raw pack200 deflate (gzip) bzip2
  • 30. Custom actions Custom panels Installer JAR 3rd-party libs
  • 31. Custom actions Custom panels Installer JAR 3rd-party libs
  • 32.
  • 33. Our very own native launcher, or...
  • 34. 2001
  • 35. v3.0.0 v2.0 Win32 shortcuts (rewrite) UserInputPanel 2001 03 08 11 08 2002 v1.0 v2.10.0 CVS @TuxFamily Fast development Steady growth, people keep on joining
  • 36. X11 v3.0.0 shortcuts v2.0 Win32 shortcuts CommunityOne (rewrite) UserInputPanel GPL JavaOne 2001 2004 2008 03 08 11 08 02 01 05 04 05 10 2002 2005 v1.0 v2.10.0 Move to Move to v4.1.0 CVS @TuxFamily BerliOS Codehaus Fast development Steady growth, people keep on joining
  • 37. You decide to use it for X11 your next projects v3.0.0 shortcuts v2.0 Win32 shortcuts CommunityOne (rewrite) UserInputPanel GPL JavaOne 2001 2004 2008 03 08 11 08 02 01 05 04 05 10 2002 2005 v1.0 v2.10.0 Move to Move to v4.1.0 CVS @TuxFamily BerliOS Codehaus Fast development Steady growth, people keep on joining
  • 38. Outline Introduction + demo IzPack features Demo making-of Beyond IzPack
  • 39. Outline Introduction + demo IzPack features Demo making-of Beyond IzPack
  • 40. Packs, conditions, langpacks, libraries, GUI, metadata, ... Files Descriptor Resources Compiler Installer JAR
  • 45. <installation version=quot;1.0quot;> <info> <appname>Glassfish</appname> <appversion>v2 ur2 b04</appversion> <authors> <author email=quot;quot; name=quot;Julien Ponge (packager)quot;/> <author email=quot;quot; name=quot;Sun Microsystems and the GlassFish communityquot;/> </authors> <url>http://glassfish.org/</url> <javaversion>1.5</javaversion> <requiresjdk>yes</requiresjdk> </info> (...)
  • 46. (...) <panels> <panel classname=quot;HTMLInfoPanelquot; /> <panel classname=quot;HTMLLicencePanelquot; /> <panel classname=quot;TargetPanelquot; /> <panel classname=quot;UserInputPanelquot; /> <panel classname=quot;InstallPanelquot; /> <panel classname=quot;ProcessPanelquot; /> <panel classname=quot;ShortcutPanelquot; /> <panel classname=quot;SimpleFinishPanelquot; /> </panels> (...)
  • 47. <pack name=quot;GlassFishquot; required=quot;yesquot;> <description>GlassFish</description> <file src=quot;launch-browser.shquot; targetdir=quot;$INSTALL_PATH/binquot; condition=quot;izpack.macinstallquot; /> <fileset dir=quot;linuxquot; targetdir=quot;$INSTALL_PATHquot; condition=quot;izpack.linuxinstallquot;> <% linux_specific.each do |file| %> <include name=quot;<%= file %>quot;/> <% end %> </fileset> <executable targetfile=quot;$INSTALL_PATH/lib/ant/bin/antquot; stage=quot;neverquot; os=quot;unixquot; /> <parsable targetfile=quot;$INSTALL_PATH/bin/launch-browser.shquot; os=quot;unixquot; /> </pack>
  • 48. <pack name=quot;GlassFishquot; required=quot;yesquot;> <description>GlassFish</description> <file src=quot;launch-browser.shquot; targetdir=quot;$INSTALL_PATH/binquot; condition=quot;izpack.macinstallquot; /> <fileset dir=quot;linuxquot; targetdir=quot;$INSTALL_PATHquot; condition=quot;izpack.linuxinstallquot;> <% linux_specific.each do |file| %> <include name=quot;<%= file %>quot;/> <% end %> </fileset> <executable targetfile=quot;$INSTALL_PATH/lib/ant/bin/antquot; stage=quot;neverquot; os=quot;unixquot; /> <parsable targetfile=quot;$INSTALL_PATH/bin/launch-browser.shquot; os=quot;unixquot; /> </pack>
  • 49. <pack name=quot;GlassFishquot; required=quot;yesquot;> <description>GlassFish</description> <file src=quot;launch-browser.shquot; targetdir=quot;$INSTALL_PATH/binquot; condition=quot;izpack.macinstallquot; /> <fileset dir=quot;linuxquot; targetdir=quot;$INSTALL_PATHquot; condition=quot;izpack.linuxinstallquot;> <% linux_specific.each do |file| %> <include name=quot;<%= file %>quot;/> <% end %> </fileset> Ant-style: **/* <executable targetfile=quot;$INSTALL_PATH/lib/ant/bin/antquot; dir/*.class stage=quot;neverquot; os=quot;unixquot; /> **/*.jar <parsable targetfile=quot;$INSTALL_PATH/bin/launch-browser.shquot; lib/**/*.jar os=quot;unixquot; /> </pack>
  • 50. <pack name=quot;GlassFishquot; required=quot;yesquot;> <description>GlassFish</description> <file src=quot;launch-browser.shquot; targetdir=quot;$INSTALL_PATH/binquot; condition=quot;izpack.macinstallquot; /> <fileset dir=quot;linuxquot; targetdir=quot;$INSTALL_PATHquot; condition=quot;izpack.linuxinstallquot;> <% linux_specific.each do |file| %> <include name=quot;<%= file %>quot;/> <% end %> </fileset> <executable targetfile=quot;$INSTALL_PATH/lib/ant/bin/antquot; stage=quot;neverquot; os=quot;unixquot; /> <parsable targetfile=quot;$INSTALL_PATH/bin/launch-browser.shquot; os=quot;unixquot; /> </pack>
  • 51. <conditions> <condition type=quot;variablequot; id=quot;start.glassfishquot;> <name>gf_start_domain</name> <value>true</value> </condition> </conditions>
  • 52. <guiprefs height=quot;600quot; resizable=quot;yesquot; width=quot;800quot;> <modifier key=quot;allXGapquot; value=quot;5quot;/> <modifier key=quot;allYGapquot; value=quot;5quot;/> <modifier key=quot;paragraphYGapquot; value=quot;15quot;/> <modifier key=quot;useHeadingPanelquot; value=quot;yesquot;/> <modifier key=quot;headingLineCountquot; value=quot;1quot;/> <modifier key=quot;headingFontSizequot; value=quot;2quot;/> <modifier key=quot;headingBackgroundColorquot; value=quot;0x00ffffffquot;/> <modifier key=quot;headingPanelCounterquot; value=quot;textquot;/> <modifier key=quot;headingPanelCounterPosquot; value=quot;inHeadingquot;/> </guiprefs>
  • 53. Outline Introduction + demo IzPack features Demo making-of Beyond IzPack
  • 54. Outline Introduction + demo IzPack features Demo making-of Beyond IzPack
  • 55. MacOSX packages BitRock InstallBuilder
  • 56. IzPack is the only true cross-platform installer to date
  • 57. (...)
  • 58. (...) IzPack is a complement
  • 59.
  • 60.
  • 61.
  • 62.
  • 63. Disclaimer: you should never remove GF!
  • 65. Q&A Julien Ponge julien@ponge.info http://izpack.org/ http://julien.ponge.info/