SlideShare ist ein Scribd-Unternehmen logo
1 von 65
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/

Weitere ähnliche Inhalte

Was ist angesagt?

Puppet Camp LA 2/19/2015
Puppet Camp LA 2/19/2015Puppet Camp LA 2/19/2015
Puppet Camp LA 2/19/2015ice799
 
Chef Conf 2015: Package Management & Chef
Chef Conf 2015: Package Management & ChefChef Conf 2015: Package Management & Chef
Chef Conf 2015: Package Management & Chefice799
 
Hadoop: Code Injection, Distributed Fault Injection
Hadoop: Code Injection, Distributed Fault InjectionHadoop: Code Injection, Distributed Fault Injection
Hadoop: Code Injection, Distributed Fault InjectionCloudera, 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 youRob 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 applicationshubx
 
Zend Framework 1.8 workshop
Zend Framework 1.8 workshopZend Framework 1.8 workshop
Zend Framework 1.8 workshopNick 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 2010Heiko Behrens
 
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.1Bastian 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 contentWilliam Hugo Yang
 
Inter-process communication of Android
Inter-process communication of AndroidInter-process communication of Android
Inter-process communication of AndroidTetsuyuki 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
 

Was ist angesagt? (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...
 

Andere mochten auch

IzPack Glassfish Lightning Talks 2008
IzPack Glassfish Lightning Talks 2008IzPack Glassfish Lightning Talks 2008
IzPack Glassfish Lightning Talks 2008julien.ponge
 
IzPack - fOSSa 2009
IzPack - fOSSa 2009IzPack - fOSSa 2009
IzPack - fOSSa 2009julien.ponge
 
IzPack - PoitouJUG
IzPack - PoitouJUGIzPack - PoitouJUG
IzPack - PoitouJUGjulien.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
 
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
 

Andere mochten auch (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...
 

Ähnlich wie Slides Aquarium Paris 2008

Iz Pack
Iz PackIz Pack
Iz PackInria
 
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
 
Adventures in infrastructure as code
Adventures in infrastructure as codeAdventures in infrastructure as code
Adventures in infrastructure as codeJulian 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 surfaceSaumil Shah
 
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 EHCacheCris 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 WorldDima Pasko
 
Sbt, idea and eclipse
Sbt, idea and eclipseSbt, idea and eclipse
Sbt, idea and eclipseMike Slinn
 
Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with DockerHanoiJUG
 
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 2009Christopher 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 presentationArnaud Héritier
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer ToolboxPablo Godel
 
Word press, the automated way
Word press, the automated wayWord press, the automated way
Word press, the automated wayMichaël Perrin
 
Django dev-env-my-way
Django dev-env-my-wayDjango dev-env-my-way
Django dev-env-my-wayRobert Lujo
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

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/