Tag Archive - enterprise

Third Firefox Enterprise Working Group Call

We’re planning our third call for Wednesday, August 22th at 10:00am Pacific, 1:00pm Eastern, 17:00 UTC. Here’s the meeting details:

  • 650-903-0800 or 650-215-1282 x91 Conf# 280 (US/INTL)
  • 1-800-707-2533 (pin 369) Conf# 280 (US)
  • IRC – irc.mozilla.org – #ewg

The theme is “Extensions.” We’re going to talk about how folks are using extensions in their organizations.

Please check out the EWG Wiki page for more information.

Firefox Enterprise Working Group Meeting Coming Up

We’re planning our second call for Wednesday, August 8th at 10:00am Pacific, 1:00pm Eastern, 17:00 UTC. Here’s the meeting details:

  • 650-903-0800 or 650-215-1282 x91 Conf# 280 (US/INTL)
  • 1-800-707-2533 (pin 369) Conf# 280 (US)
  • IRC – irc.mozilla.org – #ewg

The theme is “Wishlist.” We are hoping to get people to talk about what they think is missing from Firefox to make it work better for enterprises and institutions. Please feel free to update the Wishlist page before the call.

You can also take a look at the Firefox Enteprise Working Group wiki.

Note we will be recording this call so you can listen later if you can’t attend.

Manually Repackaging the Firefox Installer on Windows

One of the things I’ve alluded to in a few posts but failed to actually post is how to manually repackage a Firefox 2 installer on Windows. This post will remedy that situation.

We have documented at least three different cases where we would need to manually repackage the installer (cases where the Firefox Release Repackager won’t work). These cases included packaging more than two extensions, needing to update the list of files that are removed by the installer and most recently, replacing setup.exe with a rebranded version. Let’s talk about how we can manually repackage the installer.

First thing is to download the installer we want to repackage and unzip it using 7-Zip. For our example, we’ll use Firefox 2.0.0.5. Create a directory and then download Firefox Setup 2.0.0.5.exe. Execute the following command to extract the contents of the file:

7z x "Firefox Setup 2.0.0.5.exe"

This will unpack the contents into the directory. After you have unpacked the file, move “Firefox Setup 2.0.0.5.exe” into a different directory or remove it.

Next we make the updates we want to make, such as replacing setup.exe, changing removed-files.log or adding additional extensions. After we’ve made our changes, we want to repackage the files into a 7-Zip archive.

7z a -r -t7z app.7z -mx -m0=BCJ2 -m1=LZMA:d24 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3

This will create a file called app.7z that contains our files. Note that I can’t tell you what all those parameters do – those are copied directly from the Firefox build scripts.

For the next step, we’ll need to download a file and create a file. We need to download 7zSD.sfx which is the self-extracting installer. You can download it here. Then we need to create a file called app.tag that looks like this:

;!@Install@!UTF-8!
Title="Our New Name"
RunProgram="setup.exe"
;!@InstallEnd@!

app.tag is used to tell the self extracting installer what file to run after the files are extracted. I’m not sure what “Title” is used for.

Now that we have all the files, we can actually create the installer:

copy /B 7zSD.sfx+app.tag+app.7z our_new_installer.exe

The “/B” is very important! It tells copy that these are binary files so it doesn’t add extra characters to the files.

And that’s it. We now have a self extracting installer with our customizations.

Firefox Enterprise Working Group Call Reminder

Just a reminder that we will be having our first Firefox Enterprise Working Group call tomorrow. The theme is “experience.” Here’s the meeting details:

Wednesday, July 25 at 10:00am Pacific, 1:00pm Eastern, 17:00 UTC.

Call-in information:

  • 650-903-0800 or 650-215-1282 x91 Conf# 280 (US/INTL)
  • 1-800-707-2533 (pin 369) Conf# 280 (US)

We’ll also have a “backchannel” for people to talk on irc if they want – irc.mozilla.org – #ewg

Please don’t feel like you need to be involved in an “enterprise” in order to participate. We’re expecting folks involved in enterprises, educational institutions, and more.

Please update the wiki if you can with your participation. As pointed out earlier, you can be as anonymous as you want. The wiki is at http://wiki.mozilla.org/Enterprise.

We look forward to your participation!

Rebranding the Firefox Installer

Updated files for Firefox 2.0.0.9 are available here.

One of the other extensions I’ve written is the Rebrand extension. This extension allows you to rebrand Firefox to whatever you want just by installing an extension. A question I often get asked by people that use this extension is whether or not it is possible to rebrand the installer. This post will provide instructions on how to rebrand the Firefox 2 installer. In particular, we are going to create a new customized setup.exe that can be used with the instructions in this post. Basically you unpack the installer and simply replace setup.exe with the new one we will create.

The installer for Firefox 2 is based on the Nullsoft Scriptable Install System so first we need to install NSIS.

To actually customize the installer, we need the original files that were used to create the installer. I have packaged the files from a non branded Firefox 2.0.0.5 for you. That means the files show “Bon Echo” instead of “Firefox” and the images are just a globe (no Firefox). You can download them here. After you download the package, unzip it into a directory and we’re ready to go.

Here are the files we’ll need to change.

  • license.rtf – This is the license agreement that must be agreed to by the user during the install. You’ll need to replace it with your own RTF file containing a license. If you do not want or need the user to agree to a license agreement, you can comment out the line:

    !insertmacro MUI_PAGE_LICENSE license.rtf

    in installer.nsi.
  • branding.nsi – This file contains most of the text changes you’ll make, including name of your browser and your company.
  • wizHeader.bmp – This image is at the top of right of every page in the installer.
  • wizWatermark.bmp – This image is on the first page of the installer.
  • defines.nsi – This file contains some version specific strings, so it will need to be changed as you move to different versions of the Firefox source code. It will also need to be changed if you change the name of the executable.
  • version.nsh – Unfortunately the installer folks didn’t do a good job of keeping branding strings just in branding.nsi, so there are a few miscellaneous things you might want to change here.

Now that we’ve customized the files, it’s time to build the installer. To do this, we’ll use one of the tools that came with NSIS, makensis.exe.

makensis installer.nsi

If we did things correctly, the result of this command should be a new setup.exe that contains all of our customizations. You can test this immediately by just running setup.exe and seeing if it contains your customizations.

There’s not a quick and easy way to integrate this setup.exe into the Firefox packaging, so for now my recommendation is to unpack a Firefox 2 installer using 7-Zip and simply replace setup.exe with the new one you just created. Once I get the information on manually repackaging Firefox, I’ll post it.

Note that this is a new process I’ve just put together, so please let me know if I’ve missed anything or if you have problems.

Firefox Enterprise Working Group Update

Fixed Eastern time – sorry about that.

I wanted to give an update on where we are with the Enterprise Working Group. We’re planning our first call for Wednesday, July 25 at 10:00am Pacific, 1:00pm Eastern, 17:00 UTC. Here’s the meeting details:

  • 650-903-0800 or 650-215-1282 x91 Conf# 280 (US/INTL)
  • 1-800-707-2533 (pin 369) Conf# 280 (US)

Please don’t feel like you need to be involved in an “enterprise” in order to participate. We’re expecting folks involved in enterprises, education institutions, and more.

Each of the calls will be organized around a central theme, with the primary goal being to simply communicate information and document that information, in the hopes that people inside and outside the group can learn from our experiences. For the first call, the theme is going to be “Experience” and I’m hoping to get people to talk about what their experiences have been so far, not just with deploying Firefox but with communication around Firefox within their organization, including convincing people that it’s important. The theme of the next call (in approximately two weeks) is going to be “Wishlist” and we’ll talk about what people see missing from Firefox for enterprise deployment. If you definitely want to speak about your experience on the call, you can email me in advance at ewg@kaply.com with your name and a summary and I’ll make sure you can share your experience. That will help things move along on the calll

Our plan on the calls is to allow for completely anonymous participation with regards to the company/institution for which you work. We understand that there is the potential for sensitive information to be shared, so no one is required to share their affiliation on the phone call or in any documents produced by the Firefox Enterprise Working Group unless they choose to do so. We will probably come up with some generic way to categorize companies like based on employee count or something like that, primarily so that companies with similar deployment situations can work together.

The wiki is going to be hosted at http://wiki.mozilla.org/Enterprise. We’ll also be starting a blog specific to the group.

We look forward to your participation!

Incidentally, we already have someone that will participate in the Firefox Enterprise Working Group that is blogging. Check it out here.

Firefox in the Enterprise: Part 2 – Benefits

Before I get started with this post, I wanted to let people know that I am working with representatives of other companies to form an Enterprise Working Group for Firefox. The goal of this group will be to work together to document enterprise requirements and either create extensions or submit patches to Firefox to meet these requirements. We hope that anyone interested in Firefox in the enterprise will join us. We’ll be having our first meeting in the next few weeks.

In my previous post I talked about obstacles to the enterprise adoption of Firefox, but it wouldn’t be fair to talk about obstacles without talking about the benefits. We all know the benefits to Firefox users, like tabbed browsing and pop up blocking, so this post is going to focus on enterprise specific benefits. Obviously there are many more benefits beyond what I’m covering here. I’d love to hear your opinion in the comments on this post.

Extensions

Extensions are a great way to add genuine business value to Firefox. Within IBM, for example, we have extensions like Koala that can be used to automate business processes, or extensions like Tommy! which take our corporate directory to the next level by integrating other services like blogs. We have an extension available that uses the Firefox password manger to enable single sign on to IBM domains. And of course we have the CCK to produce IBM customized versions of Firefox. We have also seen Greasemonkey used to add business value. For instance, one of our support teams uses a Greasemonkey script to prefill fields in a web application that would normally have to be done with every problem report. The result can be seen in real time savings for support calls.

And these are just few. I haven’t even mentioned some of the other extensions that add IBM specific toolbars or enhance our ability to search our corporate directory. So what does this mean for your business? There are probably areas where a simple Firefox extension or Greasemonkey script could greatly enhance the experience of your employees. It’s definitely something to keep in mind.

Customization

I really can’t say enough about the customizablity of Firefox. Because most of the user interface code is written in JavaScript and can be modified via extensions, I have been able to do some extensive customization. I’ve had schools approach me about things ranging from removing history or bookmarks to disabling access to preferences. I have been able to accomplish all of this through the use of extensions. If you have specific needs around browser customization, whether it be locking down the browser, or perhaps a kiosk, Firefox can be customized to meet that need.

Web Development

My experience has shown that Firefox has become the web development platform, even for organizations that use Internet Explorer internally. The extensions available for Firefox, like the Venkman JavaScript Debugger, the DOM Inspector, Firebug, and the Web Developer extension make web development much easier on Firefox. And there are even more extensions to benefit the web developer.

Open Source

There are some Firefox benefits specifically because it is open source. You can replace the existing update infrastructure with your own so updates are served from your servers. If you have questions, you can access developers directly. When you open a bug, you can keep up with the status and even choose to fix it yourself. You have access to the source code for debugging problems. You can build your own browser with patches that you want if it comes to that.

Open Standards

By using Firefox, you are encouraging the use of open standards and protocols, and helping to keep the web open.

Summary

That’s all I have for now. I know I’ve only scratched the surface here. Please comment as to additional enterprise benefits. And stay tuned for more info on the Enterprise Working Group.

Firefox in the Enterprise: Part 1 – Obstacles

I’ve been thinking a lot about Firefox in the enterprise and I wanted to capture some of my thoughts. This two part article will first cover obstacles to enterprise adoption of Firefox (with some possible solutions) and then cover specific benefits to Firefox in the enterprise.

Before I get any complaints, I am aware that there are large enterprises that are already using Firefox (including IBM). I believe that most of these are supporting Firefox as a secondary browser as opposed to switching to Firefox as the primary browser. Also, I’d love to open up more discussion on this subject, so please comment and correct me if I’m wrong.

Introduction

As Firefox gains marketshare, there comes a point where increasing that marketshare depends on the adoption of Firefox in large enterprises. This article investigates what type of issues arise when supporting Firefox in a large enterprise, and what can be done to solve those issues.

The primary areas I will address are:

  • Release Lifecycle
  • Service and Support
  • Business Value
  • Third Party Applications
  • Intranet Applications
  • Deployment issues

Release Lifecycle

Simply put, the current Firefox policy of supporting prior versions of Firefox for six months after the next release is just too short, especially considering the time of year when new versions of Firefox are typically released. Many companies only deploy new software once or twice a year, and the process to get that software deployed takes many months.

I know of a company that deploys software once a year, in September. In order to be a part of that deployment, you have to start piloting your application in June. If this company wanted to move from Firefox 1.5 to Firefox 2, they would have had to pilot it in June, for deployment in September. This means that they would have had an unsupported browser for over five months.

In addition, Firefox so far has been released in the fourth quarter (Firefox 1 was release in November, Firefox 2 was released in October). If you work in IT, you know that new software does not get deployed in November, December, or even January. So three months of the six month Firefox support cycle was simply a wash.

Either Mozilla Corporation needs to step up and extend the lifecycle of Firefox to one year, or some enterprising company should take this opportunity to provide better release lifecycle for Firefox.

Service and Support

When a piece of software is an integral part of a company’s business, it is imperative that they have someone to call when they have problems. “Open a bug in bugzilla” or “we accept patches” are simply not good answers when companies are experiencing problems. Certainly companies can staff developers that can build and deploy custom versions of Firefox, but this is the exception, not the rule. In addition, companies that have their own internal help desk need training on how to support Firefox.

This problem is more difficult to solve. Mozilla’s role is not to provide one on one support for customers. This is, however, an excellent opportunity for someone to step in and provide enterprise level phone support for Firefox, as well as to create education modules to train internal help desks.

Business Value

Every organization is in business to provide value to their customers. For a publicly traded company, it’s about shareholder value. For a nonprofit, it might be about reducing overhead so that more donations can go to their primary cause. Unfortunately, it is difficult to show that supporting two browsers or switching to a completely different browser adds business value.

While I don’t have a good solution to this problem, it is worth noting that, for many companies, the move to support Internet Explorer 7 will be just as much work as supporting Firefox. From that perspective, the best way to increase business value
would be to move towards an internal infrastructure that uses open standards so that dependencies on particular platforms are diminished. In addition, if a company ever wanted to move to a platform where Internet Explorer was not available, using open standards would make it easer to move.

Third Party Applications

When most of us surf the web, we don’t tend to find a lot of web pages that simply don’t work in Firefox. This problem has mostly been solved. Companies, however, use third party applications that may or may not work in Firefox. While the current version of a lot of these applications may work with Firefox, older versions of these applications are deployed in many companies with no plans to upgrade in the foreseeable future due to cost (see Business Value above).

There are a few ways to solve this problem. First off, third party application providers should provide free or low cost upgrades to companies that have software that doesn’t work with Firefox. Secondly, when purchasing third party applications, companies should ensure that the software they are purchasing uses open standards. Finally, application vendors should ensure they are using open standards to create their applications so they don’t lock their customers into a particular browser vendor.

Intranet Applications

Third party applications aren’t the only place where support for Firefox can be a problem. What tends to happen in companies is that internal applications get written, deployed, and then forgotten about. In addition, because it might take years to write an internal application, by the time it is deployed, it might be designed for an older browser. Fixing these applications can be some of the most difficult problems to solve, due to lack of funding and even lack of interest by the developers.

Your company should have policies in place to ensure that internal applications are written using open standards so that they don’t depend on a particular browser. In addition, when applications are created, it is imperative that funding be set aside so that if problems are encountered with a particular application in the future, that there is a way to get the problem fixed.

Deployment issues

One of the main things I’ve tried to do in my job is help with deployment issues. In addition to working on the CCK, I’ve worked with some smaller entities to deploy Firefox using things like the Firefox Release Repackager. But these things simply aren’t enough. Companies already have existing deployment infrastructures using Tivoli or Microsoft Active Directory. In addition, the types of customizations that a lot of entities want to do are outside the scope of the CCK.

While there are third party solutions that provide a customized Firefox to use Active Directory and Microsoft installers, there needs to be more work in the community to make Active Directory support and Microsoft installers an integral part of Firefox. While Firefox developers do not want to make MSI the primary ship vehicle for Firefox, work could be done to make the MSI installer on par with the Nullsoft Installer. In addition, there needs to be more of an ecosystem around customizing Firefox for certain types of deployment.

Closing Comments

So there you have it. Some quick thoughts on enterprise deployment. In the next installment, I’ll talk about the benefits of Firefox in the enterprise, and in particular some things we’ve found out inside IBM. As always, I’d love to here your thoughts, and if I’ve missed anything.

Deploying Firefox in the Enterprise: Part 5 (Revisited)

Since my original post on setting up a Firefox update server, I realized that some of my information was not correct. This post is to correct that information.

My mistake stemmed from the fact that the format of the Firefox update URL changed between Firefox 1.5 and Firefox 2.

Here’s the URL for Firefox 1.5:


https://aus2.mozilla.org/update/1/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/update.xml

Here’s the URL for Firefox 2:


https://aus2.mozilla.org/update/2/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/update.xml

You’ll notice two differences:

  1. The number after update was changed from 1 to 2 (this identifies which URL format to use)
  2. %OS_VERSION% was added to the URL

The important change here is the addition of OS_VERSION. Whereas before, the update URL provided information only about the browser, with OS_VERSION, the URL now contains information that changes based on the machine on which the browser is running. This makes providing updates a little trickier (although not that much).

(Incidentally, the reason that OS_VERSION was added was so that the update server could detect Windows98 and Windows95 and not send them updates that didn’t work on those machines.)

Let’s present a modified .htaccess file that handles this situation. I’m going to assume that in your enterprise deployment, you don’t care about OS_VERSION, so we are just going to ignore it. In our original .htaccess file, we simply checked for the existence of update.xml in a path that corresponded to the URL. Because of the addition of OS_VERSION, that won’t work anymore, since we would have to duplicate the update.xml file based on every possible OS_VERSION that could be sent to us. So we need to create a .htaccess file that ignores OS_VERSION. The way we do this, is simply redirect the URL to a new URL that doesn’t contain OS_VERSION, and then use our old method of checking for the existence of a file.

RewriteEngine on

RewriteRule ^(.*)/release/(.*)/update.xml /$1/release/update.xml [R]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) noupdate.xml

What this says is if the URL contains something between release and update.xml (OS_VERSION), remap it to remove the OS_VERSION. Then send it to the server again.

I’ll leave updating the PHP script as an exercise for the reader.

I hope this clears up any issues with my original post.

Firefox and the Windows Registry

So it ended up that it wasn’t that easy to switch our installer to use “Product Version” to determine what version of Firefox was installed, so I was asked to provide information on how to use the Windows Registry to determine the installed version of Firefox. Since that information is useful to everyone, I thought I would post it here.

The following registry path is where Mozilla Firefox info is contained:

HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox

(Note that Firefox 1.5 and below used to put information in HKEY_CURRENT_USER as well. Firefox 2 does not.)

Within this registry path, there is a key, CurrentVersion. This key indicates the installed version of Firefox as well as the locale. Don’t confuse this with HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\CurrentVersion which is something else entirely.

If you need to locate the installation, there is a key under Mozilla Firefox with the same name as CurrentVersion. That key contains another key called Main that has a value for the install path (Install Directory).

Incidentally, in the screenshot, you might notice that other folder, Mozilla Firefox 2.0.0.3, which has subfolders called bin and extensions. That’s there for posterity. A long time ago, we told people that to find the plugins directory, concatenate the product and version together and then look for the plugins key as a child of that key. If I remember correctly, that’s how it was done even in the Netscape Navigator 2/3 days. You can read more detail about those keys on MDC.

Page 3 of 4«1234»