FogBugz Posts

FogBugz Leopard and Mampstack

Wednesday, August 06, 2008 by Michael H. Pryor

Stefan from WuffWuffWare.com sent us instructions on getting FogBugz installed with Mampstack and I wanted to make sure they were available in case someone else was attempting the same:

Install BugFogz on Leopard 10.5.4 inside Bitnamis Mampstack

  • The MacOS X machine is a vanilla machine with all the current software updates and a single user called admin
  • WebSharing is off, so we dont interfere with the MAMPStack
  • IP-Adress for that example is 192.168.178.199

INSTALL THE MAMPSTACK FROM BITNAMI

  • Download the current MAMPStack from www.bitnami.com
  • For this documentation we use MAMPStack 1.0-beta-1
  • Install Bitname MAMPStack to /Applications/mampstack-1.0-1
  • Give MAMPStack database a root user password


The for the sake of simplicity:
sudo ln -s /Applications/mampstack-1.0-Beta-1 /Applications/mampstack

Until FogBugz has some settings for the path of PHP:
sudo mv /usr/bin/php /usr/bin/php-orig
sudo ln -s /Applications/mampstack/php/bin/php /usr/bin/php
sudo ln -s /Applications/mampstack/php/bin/pear /usr/bin/pear
sudo ln -s /Applications/mampstack/php/etc/php.ini /etc/php.ini


In /etc/php.ini change:
- Replace all mampstack-1.0-beta-1 with mampstack

In /Applications/mampstack/apache2/conf/httpd.conf change:
- Replace all mampstack-1.0-beta-1 with mampstack
- Listen 80
- ServerName localhost:80

In /Applications/mampstack/ctlscript.sh change:
- Replace all mampstack-1.0-beta-1 with mampstack

In /Applications/mampstack/apache2/scripts/ctl.sh search for 8080 and 
change the message to “httpd started”

Change into /Application/mampstack
cd /Applications/mampstack
sudo ctlscript.sh stop
sudo ctlscript.sh start apache

The apache-Daemon is started as super user, so it can bind port 80 !

In a web browser: go to http://192.168.178.199 and the BitNami Welcome 
message should be shown to you

Now we start mysql with:
cd /Applications/mampstack
./ctlscript.sh start mysql

Be aware, that the server is now only started manually: to make this 
happen at system startup and without being logged in: see below.

INSTALL FOGBUGZ

Now we continue with the installation instructions of fogbugz at:
  1. PHP requirements
    http://www.fogcreek.com/FogBugz/docs/60/topics/setup/MacSystemRequirements.html

    create that test.php file in /Applications/mampstack/apache2/htdocs

    The page http://192.168.178.199 should display the required content.

    You might have to add a php after <? to make it work)
    also the echo -r - stuff should return the required value in the shell
  2. CURL requirements: Curl is installed (on my machine with curl 7.16.3
  3. The MONO framework: Download it from the given web page and install it

FIX THE FOGBUGZ INSTALLATION

Now download FogBugz from your order. I used version 6.1.30 for Macintosh.

Try to install it.

The install will fail. Now we have to fix that following the instructions in
http://www.fogcreek.com/FogBugz/docs/60/topics/setup/MacWhatSetupDoes.html

  • Go to /Library/WebServer/fogbugz.install
    • cd /Library/WebServer/fogbugz.install
    • sudo ./install.sh and answer the questions of PEAR for installation with y
    • the automatic restart of apache and the changes to /etc/apache2/httpd.conf will fail: We have to fix that manually
    • you have to stop the web sharing with sudo apachectl stop
  • Edit /Applications/mampstack/apache2/conf/httpd.conf and add the following line:
    • Include "/opt/fogbugz/Accessories/fogbugz.conf"
  • Make fogutil.so available:
    • mkdir /Applications/mampstack/php/lib/php/extensions
    • cp /opt/fogbugz/Accessories/fogutil.php5.2-mac-dynamic.so /Applications/mampstack/php/lib/php/extensions/fogutil.so
  • Fix the permissions a little. In my case:
    • sudo chmod -R admin /opt/fogbugz
    • sudo chmod u+x /opt/fogbugz
    • sudo chmod -R o-wx /opt/fogbugz/Website
    • sudo chmod -R u-w /opt/fogbugz/Website
    • sudo chmod -R o-wx /opt/fogbugz/Accessories
    • sudo chmod 554 /opt/fogbugz/Accessories/fogbugzmaintd
    • sudo chmod 444 /opt/fogbugz/Accessories/fogbugzmaintd.php
    • sudo chmod 664 /opt/fogbugz/Accessories/application.data
  • And then, because I am not a unix guru, and I just want this to work:
    • sudo chmod -R a+rwx /opt/fogbugz/Website
    • sudo chmod -R a+w /opt/fogbugz/Accessories
    • sudo chmod o+x /opt/fogbugz/Accessories
  • Restart apache via: sudo /Applications/mampstack/ctlscript.sh restart apache
  • Go to a browser and open http://192.168.178.199/fogbugz/install1.php
    • If this returns an error: the systems web server is runnung you have to stop that via sudo apachectl stop
    • If this returns an error: “Forbidden”, then the permissions are not set correctly
  • Follow the instructions, which should succeed
  • Fogbugz showed me an arror with my PHP settings about:
    • max_allowed_packet
    • Add the following line in /Applications/mampstack/mysql/my.cnf after
      [mysqld]

      max_allowed_packet=50M

MAKE IT STARTING AT SYSTEM STARTUP TIME

a.) Create a file as super user at /Library/LaunchDaemons/com.bitnami-apache.service.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>com.bitnami-apache.services</string>
        <key>LaunchOnlyOnce</key>
        <true/>
        <key>OnDemand</key>
        <false/>
        <key>ProgramArguments</key>
        <array>
                <string>/Applications/mampstack/apache2/scripts/ctl.sh</string>
                <string>start</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>UserName</key>
        <string>root</string>
</dict>
</plist>


b.) Create a file as super user at /Library/LaunchDaemons/com.bitnami-mysql.service.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>KeepAlive</key>
        <true/>
        <key>Label</key>
        <string>com.bitnami-mysql.services</string>
        <key>Program</key>
        <string>/Applications/mampstack/mysql/bin/mysqld</string>
        <key>ProgramArguments</key>
        <array>
                <string>--user=admin</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>Umask</key>
        <integer>7</integer>
        <key>UserName</key>
        <string>admin</string>
        <key>WorkingDirectory</key>
        <string>/Applications/mampstack/mysql</string>
</dict>
</plist>


c.) Create a file as super user at /Library/LaunchDaemons/com.bitnami-fogbugz.service.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>com.bitnami-apache.services</string>
        <key>LaunchOnlyOnce</key>
        <true/>
        <key>OnDemand</key>
        <false/>
        <key>ProgramArguments</key>
        <array>
                <string>/Applications/mampstack/apache2/scripts/ctl.sh</string>
                <string>start</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>UserName</key>
        <string>root</string>
</dict>
</plist>


d.) Load the files into launchd via:
sudo launchd load -w /Library/LaunchDaemons/com.bitnami-apache.service.plist
sudo launchd load -w /Library/LaunchDaemons/com.bitnami-mysql.service.plist
sudo launchd load -w /Library/LaunchDaemons/com.bitnami-fogbugzd.service.plist


Categories: FogBugz
Tags: , ,
Actions: E-mail | Permalink

Full Screen Wiki Editing

Monday, July 28, 2008 by Joel Spolsky

Frustrated by wasted screen real estate when you're editing Wiki articles in FogBugz?

Try Chas's Greasemonkey script.

Full Screen Wiki Editing in FogBugz

Categories: FogBugz
Actions: E-mail | Permalink

Review of FogBugz

Wednesday, June 11, 2008 by Joel Spolsky

Carson McComas reviews FogBugz: "Its genius is in its maturity. It is mature, seasoned, and polished software that makes tracking multiple issues with difficult sticky elements not just easy, but enjoyable. You know software is great if you still love it, and use it heavily after several months. Now I can't live without it."

Carson's site is at WorkHappy.net.

Categories: FogBugz
Actions: E-mail | Permalink

C# wrapper for the FogBugz API

Wednesday, June 11, 2008 by Eric Nehrlich

One of our customers wanted to use the FogBugz API from C#, but the API was only available via a REST interface.  So they wrote a C# wrapper around the FogBugz API to let them do what they wanted, and was gracious enough to share it with us.  You can download it from this link, which also includes a description of how it works.

Categories: FogBugz
Tags:
Actions: E-mail | Permalink

Fluid

Wednesday, June 11, 2008 by Joel Spolsky

If you're a Macintosh user, check out Fluid, which lets you create custom icons in the dock for websites you visit a lot.

Indiekid created a high-res fluid icon for FogBugz:

Categories: FogBugz
Actions: E-mail | Permalink

Git Integration

Thursday, May 08, 2008 by Michael H. Pryor

John Reilly has created integration between Git and FogBugz, which is available for download.

 

 

Categories: FogBugz
Tags:
Actions: E-mail | Permalink

Rails plugin for FogBugz

Thursday, April 24, 2008 by Eric Nehrlich
One of our customers, Caio Chassot, wrote a plugin for Rails that will let a Rails app submit bugs directly to a FogBugz installation by using BugzScoutCheck it out!
Categories: FogBugz
Tags:
Actions: E-mail | Permalink

WorkingOn is still working on FogBugz

Monday, April 21, 2008 by Michael H. Pryor

Daniel Schaffer has a new version of his FogBugz add on out. Check out WorkingOn v 1.3...

 


Categories: FogBugz
Actions: E-mail | Permalink

Team Foundation Server Integration

Thursday, April 17, 2008 by Michael H. Pryor

I posted earlier on Lou Franco's integration between FogBugz and TFS.  It looks like he's made a lot of progress...

  1. Part I: Syncing TFS with FogBugz
  2. Part II: Log Files
  3. Part III: Diff Files

 

Categories: FogBugz
Tags:
Actions: E-mail | Permalink

ProjectLocker and FogBugz Integration

Friday, April 11, 2008 by Michael H. Pryor

 

ProjectLocker now integrates with FogBugz! 

Categories: FogBugz
Actions: E-mail | Permalink

6.1.23 for PHP version of FogBugz released (replaces 6.1.19)

Friday, April 11, 2008 by Michael H. Pryor

If you are using 6.1.19 PHP FogBugz, please upgrade to 6.1.23 which is now available at https://shop.fogcreek.com

 

 

Categories: FogBugz
Actions: E-mail | Permalink

Installing FogBugz on Joyent Accelerator

Monday, April 07, 2008 by Eric Nehrlich
One of our customers worked with us to get FogBugz installed on Joyent Accelerator.  This was a tricky install because Solaris has some quirks that are unlike Linux, but we eventually worked through all of the issues.  Afterwards, our customer was kind enough to document the necessary steps in a KnowledgeBase article on installing FogBugz 6.0 on a Joyent Accelerator.  Check it out for some tips and tricks on installing FogBugz in such an environment.
Categories: FogBugz
Tags: ,
Actions: E-mail | Permalink

Integrating Office and FogBugz with Smart Tags

Thursday, April 03, 2008 by Michael H. Pryor

David over at Qdabra Software told us about a little trick to get Office smart tags linking back to FogBugz cases.  The script actually installs a smart tag for all 2 to 8 digit numbers.   ( If you read the Microsoft KB article, you'll see it is much harder to just grab a regular expression like Case 123 than it is to just grab 123).

His excellent instructions:

In order to install the Smart Tag, follow these steps:

  1. Make sure to close all office applications
  2. Download the attached FogBugz.xml and edit it to point to your FogBugz installation.
  3. Copy the edited FogBugz.xml to C:\Program Files\Common Files\microsoft shared\Smart Tag\LISTS
  4. Make sure the Smart Tags are enabled. When composing a message in Outlook 2007, do this:
    1. Office Menu
    2. Editor Options
    3. Proofing
    4. AutoCorrect Options
    5. Smart Tags tab
    6. Ensure "Label text with smart tags" is checked
    7. Ensure "FogBugz" is checked
  5. You might need to log out and back in for changes to take effect

Note: instructions will vary for MS Word and Office 2003.

FogBugz.xml (1.19 kb)

Categories: FogBugz
Actions: E-mail | Permalink

Change your logo..

Thursday, April 03, 2008 by Michael H. Pryor

I have a bit of a confession to make.  I spend a lot of time interacting with customers (which I'm told is a bit out of character for the president of the company) but I enjoy getting feedback from them and it helps me know where we need to focus our efforts.  We get some requests over and over again and while to the end user they may seem very simple to implement, the reality is far from that.  But that wasn't going to stop me from getting a feature out that I really wanted customers to have in this latest release (coming to On Demand later this week).

One request that we get fairly often is the ability to customize the look of different parts of FogBugz, particularly the logo.  It probably makes the kiwi a little sad, but I understand ... no hard feelings.  The only issue is that FogBugz is not the same application it used to be when I used to write code for it in version 2.0 and 3.0.  It has lambda functions, code generators, ajax requests;  which is fine for our brilliant developers but not for me and my limited IQ... one change here can affect a bunch of things over there that you never expected.

I had a bit of free time and I thought, "How hard could it be to let people upload a new image for the logo?"  It turns out, in this case it's pretty complicated.  To upload files, a form needs to have a certain encoding: multipart/form-data.  In php and asp, it's not trivial to decode this file upload, and in asp in particular it means you have to treat the rest of the form elements differently than you would have if it was a normal form post.  We do this for cases currently, but it means I couldn't just throw a File Upload input in an html form on the Site Configuration screen.  Also, storing files in the database requires a special table that will hold binary blob data.  We already have this for uploaded Attachments in FogBugz.  And if we're going to be serving a file from the database, I had to make sure the browser would cache it for a long time, but still download a new one if an admin decided to change it.  It just meant my tiny little code change was growing into a bigger code change, which meant it was unlikely to get done because of the amount of effort it would take.

So in the latest minor version we're about to push out, I piggybacked my feature on the already existing File Upload mechanism.  I protected it so users' couldn't just mine for any old attachment, and I made it so when you change the logo, your browser knows to download a new one.  Unfortunately the user experience is, well, a bit clunky.  You have to make a case, add your logo, and then copy the link for the logo to the site settings  -- rather than just clicking "Browse..." and uploading a new file on the Site page itself.  Since this isn't a feature that would get used daily, or even monthly, I'm hoping I get some slack for my albeit strange design and that people are happy to use it.  

Categories: FogCreek | FogBugz
Actions: E-mail | Permalink

Team Foundation Server (TFS) and FogBugz Integration

Friday, March 28, 2008 by Michael H. Pryor

We've been trying to figure out how to do this for awhile, but Lou Franco over at Atalasoft beat us to the punch.

"Adam, our QA Engineer, and I decided yesterday that we would get TFS integration going with FogBugz. Unfortunately, for us, this page of FogBugz source control integration instuctions does not include TFS. There is this generic page of source control integration instructions to work from, though.

The basic idea is that we either had to get TFS to ping the Fogbugz webserver on each checkin or somehow fill up the CVS table in FogBugz ourselves. One benefit of the latter (aside from having no idea how to get TFS to do things on checkin) is that we could sync the past. That's actually nice, because as Adam and I were looking at our logs, we could see a lot of checkin comments that looked like:

    FB4567: Fixed a bug ...
    Fixed the blah blah (fb5678)
    Case: 6475 Added a way to ...

(of course, the comments are better than that, though) 

And a few other formats.  A simple regex and we could pick up all of the info in these past comments -- then we just needed to run the tool in a Windows Task Scheduler task to keep everything in synch."

Read the rest on Lou's blog...

Eventually we'll get this into FogBugz to make it easier, but I wanted to share with everyone so they know it is definitely possible.  Thanks Lou!