0

PUG Challenge 2010

Here is my presentation (From build automation to continuous integration) during PUG Challenge in November 2010.
0

Happy new year (and happy birthday) !

I wish everybody a happy new year, and I'm ready to celebrate the 4th birthday of Riverside Software !
0

Managing remote appservers with PCT

I started working a few months ago on remote management of Appservers directly from PCT, so that creating an appserver on a remote server can be automated in a deployment script. I'm looking for some early adopters (meaning beta testers...) who have a need to maintain appservers from a central location in automated fashion ; the aim is to provide some feedback, report bugs, and see if there are missing features.

As always, this part of PCT will remain open-source and available free of charge, so contact me (put PCT in the title) or add comments !

0

PCT now using Mercurial

Some of you may already have noticed, but PCT switched from Subversion to Mercurial. If you are already working with Subversion and don't know about Mercurial or DVCS in general, I really advise you to have a look at them. Mercurial solves a lot of problems frequently occuring in Subversion, especially branching and merging. Joel Spolsky wrote a Mercurial tutorial, with a nice first chapter for Subversion users.

At this time, I really enjoy the followings :
  • It's fast : as you have a local copy of the entire repository, there's no network traffic involved in common usage
  • You can work in the plane/train/hotel room with no Internet connection : doing local commits, revert back to any revision without being connected is an absolute must for me. I've been stuck so many times not being able to compare local versions with previous commits, not being able to keep track of my work during an entire week.
  • As I know that merging is so easy, I easily create a new clone when I need to work on a specific task. This way, I can work with a clean tree, do local commits, and merge when I'm finished. 
PCT is now hosted at GoogleCode which is quite fast (and especially fast compared to Sourceforge SVN servers). Take your time to study Mercurial and enjoy working with your own PCT clone !
0

Padeo trial version

A trial version of Padeo is available here. This version is only limited in time (expires on 1st March), but without any limitation on functionalities. If you're using OpenEdge WebClient, you definitely should try this tool !
6

OpenEdge client deployment using Windows installers (part 1)

When it comes to client deployment, the OpenEdge documentation is rather light. In this blog post, we'll see how to bundle an application with a client networking licence in a single Windows installer.

The advantages of this kind of deployment over a separate installation of Client networking followed by dropping rcode in a specific directory are multiple :
  • No need to feed OpenEdge installer with parameters (licence code, installation directory, components and so on) : include exactly what you want, with a specific licence code, and install where you want.
  • ActiveX and .Net assemblies can be automatically registered
  • Installation can be done over Windows Update using Microsoft SMS, scheduled to every host in an Active Directory, or pushed using standard scripting processes.
  • Package creation can be easily automated : generate your installer directly from your build script !
Generating installers will require a few tools :
  • WiX version 3 : generates MSI installers from XML sources. Created by Microsoft. CPL licence.
  • .Net framework : needed by WiX
  • a working Client Networking installation. In our case, we'll use a 10.2B installation
First of all, we'll prepare the working environment. Create a new directory on your local disk, and download here those files : ClientNetworking.wxs, WixBanner.bmp, WixDialog.bmp, and EULA.rtf. Then create a Binaries directory, in which we will create this directory structure :
  bin
    winforms
  prolang
    ame
  properties
    schemas
  myapp


This Binaries directory will be the exact copy of what will be installed on target computers (this is why you could recognize a standard OpenEdge structure). Due to licencing restrictions, no link will be provided to download a working copy of the Binaries structure and files. To keep things simple, just copy every file from $DLC/bin[/winforms], $DLC/prolang/ame, $DLC/properties[/schemas] to this structure. The build script will take care of including only the needed files.

In addition to the OpenEdge standard files, we will also deploy application specific files (in myapp directory). In this example, we will just deploy a single window called mywin.r. Feel free to create any window from the AppBuilder, and save it as rcode in the myapp subdirectory.

Now we'll copy a few files from $DLC to the root Binaries directory :
  • promsgs
  • version
  • convmap.cp
  • proword.def
  • progress.cfg (this file must contain at least a Client Networking licence !)
  • startup.pf
  • runtime.ini
Update startup.pf to meet your needs, then update PROPATH section in runtime.ini to add the myapp directory (just a relative reference, doing PROPATH=.,myapp is sufficent).
Then create a myapp.bat file running your application :
set DLC=%~dp0
pushd %~dp0
start "MyApp" "%DLC%\bin\prowin32" -basekey INI -ininame runtime.ini -T "%TEMP%" -p myapp.r

You can now open your favorite shell (i.e. cmd.exe), add the Wix path to your PATH, change the working directory to the one you just created, and type the following commands :
candle ClientNetworking.wxs
light -ext WixUIExtension ClientNetworking.wixobj

If everything goes well, it will result in a ClientNetworking.msi in your current directory. Enjoy !!

The next blog posts will explain various sections of ClientNetworking.xml, and provide a few examples on how to deploy your installers.
0

PUG DE and NL presentation (November 09)

The presentation I've made during PUG events in Germany and Netherlands is available here.

Outline of this presentation :
While Webclient has several advantages, it suffers from a poor UI to generate packages, and from multiples constraints when rolling out the initial deployment and updates. This presentation will explain how you could overcome those limitations and be able to completely automate this process with the help of Padeo, an integrated software package. After a short demonstration of the product, we will focus on a real use case, by demonstrating how to integrate upstream with Hudson, a continuous integration system, and downstream with a software deployment package. After having attended this presentation, you should be able to roll out a new update with a single mouse click (or keyboard shortcut if you don't like mice !)
0

Updating servers

I'm currently updating the configuration of my domains. Please note that you may experience some quirks on the followings website : PCT,  Padeo and Cards

Welcome !

Topics covered on this blog will be random thoughts on software development, mainly under OpenEdge and Java platforms, as well as Windows Installers.
Theme by allblogtools.com | Blogger Templates