Build a Branded/Skinned Version of Spark

This document describes how you can build a branded/skinned version of Spark. The instructions assume that you have Apache Ant and install4j installed on your computer.

Original source: Re: Change Name ’ Spark"??? - posted by Rob Alexander:

Below is what I recommend you change in the source code for your customized version of Spark. The source code repository for Spark is located at GitHub - igniterealtime/Spark: Cross-platform real-time collaboration client optimized for business and organizations.

When replacing Spark with your custom application name, only do so where it is a potentially user-facing label, not where it is anything Java-related. If your custom application name has more than one word (such as WGU Messenger), then for the value of things like installer.app_short_name, SHORT_NAME, and file names use hyphens instead of spaces (such as WGU-Messenger). Do not use underscores, since that will break Openfire’s Spark updater service.

In the following files, find and replace “Spark” (case sensitive) with your custom application name:

  • build\build.xml
  • ** **** ****src\resources\i18n\spark_i18n.properties **(for English)
  • src\java\org\jivesoftware\launcher\Installer.java
  • ** **src\java\org\jivesoftware\resource\default.properties (also enter your server name for the value of HOST_NAME)
  • src\java\org\jivesoftware\resource\spark.properties (also replace “1.0” in “Version 1.0 Release” with the version of Spark you’re building)
  • **src\plugins\fastpath\src\resources\fastpath.properties **(also replace “1.0” in “Version 1.0 Release” with the version of Spark you’re building)

In the src\resources\images folder - replace the following files:

  • spark.gif

  • spark.ico

  • spark_100.jpg (100 x 100)

  • spark-16x16.png

  • spark-32x32.png

  • spark-60x60.png

  • spark-64x64.png

  • spark.png (244 x 188)

  • away.png (16 x 16)

  • DoNotDisturb.png (16 x 16)

  • message.icns

From a command line, run “ant release” in the build directory.

Run startup.bat from the target\build\bin directory to make sure your customized Spark is functional.

Run spark.install4j from the build\installer directory and make the following customizations to the project in install4j:

  • In “General Settings”, go to the “Compiler Variables” tab to change the VERSION_REVISION to the correct number and find and replace “Spark” with your custom application name. Then go to the “Media File Options” tab to replace “spark” with $.

  • In “Launchers”, rename the Spark launcher to $, then right-click that launcher and click “Edit Launcher”. Then go to “Executable info” to replace “Spark” with $. Then go to “Windows version info” to replace “Spark” with $.

  • In “Installer”, go to the “Actions” tab to set the Target file for the desktop link to $.

  • In “Media”, right-click on the Windows media file and click “Edit Media File”. Then go to “Installer options” to replace “Spark” with $. Then go to “Bundled JRE” to choose the JRE to bundle (make sure you choose Java 1.6 or above, or else Spark won’t exit gracefully on Windows shut down).

  • In “Build”, click on “Start Build”

2 Likes

will this build an exe or an msi? I would prefer to be able to build an msi

install4j builds an exe. Advanced Installer should be able to build an msi.

I think (read that exactly as it is, I am guessing) that this doc might give you a hand:

And don’t worry, you aren’t the only village idiot around these parts. I thought source code compiled itself for a long time… then I realised it was mostly text, and it does need some sort of program to do so.

I think.

TC

shubhadeeprc, I recommend you first try building an installer from source without any customizations, to help determine whether the problem is related to your build process or customizations.

How do I “Run spark.install4j from the build\installer directory and make the following customizations to the project in install4j:”

Is that from Eclipse, Java or what. I can’t seem to get either to work. Thanks.

I’ve now added a sentence to the document that says that the final steps assume that you have the install4j (http://www.ej-technologies.com/products/install4j/overview.html) program installed on your computer.

Thanks

Rob

A quick question for you please, do I need source file to follow the steps for changing the “Look and Feel” of Spark 2.5.8? If yes, could you provide a link for that? I can’t find it here: http://www.igniterealtime.org/downloads/source.jsp

Thanks for your help and keep up the good work.

In the document I’ve now added a link to the Subversion source code repository for Spark.

For those who are doing a Mac version as well, you need to replace the message.icns file in the src\resources\images file with your program icons. Otherwise, when you install the version on OS X it will continue to show the Spark icon.

Thanks for the heads up about the message.icns file. I’ve now added that to the document.

  • Rob

Hi

I need to make the following customization for Spark. Please help with your expertise. Thanks in advance.

  1. Password protect “Preferences” (Spark>Preferences)

  2. Remove/disable for users “Plugins” download and install from Spark>Plugins)

  3. Remove/disable for users “Languages” (Actions>Language)

  4. Remove “User Guide” “Spark Forums” “Check for Updates” (Help> User Guide, Spark Forums, Check for Updates)

  5. I also need to have automatic log off feature from Openfire Server after a specified amount of idle time.

The above changes are necessary for a system administrator to avoid unnecessary support request and avoid out of context questions from end users. We are committed to provide reliable solutions to our end users and make their work environment as sooth as possible. That doesn’t mean that we need to spend our valuable time on a paranoid/digger from messing up things by providing too much details of the tool. Too much information and unnecessary features are always trouble for any system administrator.

I would really appreciate your help on this and I’m sure all us will benefit once we are able to make the above changes.

Oh, couple more things:

Remove/Disable the following:

From the main login interface, remove “Accounts” and “Advanced”.

This is maybe a silly question but is install4j not a free application? according to their site, a single windows-based license runs for ~$400 US. Is this right? Is there a feature limited free version? What are the limitations of the trial version?

Thanks, Jon

Jonny, I installed the fully-featured free trial version, but whenever programs created with it were launched it would say something like “created with a trial version of install4j”. So, my employer bought me a license for the Windows version.

Does anyone know where in the Spark source you are able to change the window header color? I haven’t been able to find it. Also, is it an image file or just a color parameter?

So, is there any free or near free install builder alternatives out there that are multi-platform? US$1000+ for a community project is not really a viable option for me at this time.

TC

Sorry, it worked for me without any similar errors, and this is the only thing for which I’ve ever used Ant. I suggest checking out http://ant.apache.org/problems.html or other Ant sites.

Hello, how can i change the versión on “Help->About” becouse still show 2.5.8

Any clue?

Thanks.