Friday, May 31, 2013

Gallery Server Pro 3.0 Released

Two years in the making, version 3.0 of Gallery Server Pro is finally here! This is a major release and includes a tremendous number of new features and updated styling. Among them:

  • UI rewritten using modern HTML5/CSS3
  • Resizable, dockable 3-pane layout
  • New template engine lets you easily change the UI using only HTML/CSS skills
  • Tagging support for media and albums
  • Editable properties of media and albums
  • Skinnable UI - ships with dark and light skins
  • Two slide show modes - full screen and inline
  • Looks great on any device - iOS, Android, Windows Phone, Mac, Linux, and Windows
  • Improved video encoding
  • Improved sorting

Download Gallery Server Pro 3.0

New UI using modern HTML5/CSS3

The default skin is a gorgeous light text on black background:


The new design was inspired by user feedback where I learned that images are best viewed against an 18% neutral gray background. The background color I chose ended up a little darker than this to enhance the contrast against the text.

The icons are modern, monochromatic, and match the trend we see with other applications and operating systems.

Clicking a thumbnail takes you to a larger version:


Properties about the image appear in the right pane. A user with edit rights can change any property the administrator has made editable. There are subject tags and people tags. Each tag is a clickable link that takes you to a virtual album containing those tagged items. Tags are automatically imported from the image file if present.

Running a slide show is one of the most common actions, so its icon is bigger than the rest to bring attention to it.

Skinnable UI - ships with dark and light skins

A light skin is also available for those of you wanting the more traditional dark text on light background:


Each skin consists of a set of images and CSS files. The main CSS file – gallery.css - can be edited in the admin area, letting you make quick and easy changes.

Resizable, dockable 3-pane layout

The window is divided into three panes. Each pane is resizable and can be docked. Their availability and default visibility can be controlled by the administrator. By default, an album treeview appears in the left pane, the thumbnails or media object is in the middle, and details about the selected items are in the right pane. The contents of each pane are customizable by editing it’s template in the site admin area.

UI templates

The most frequent request I’ve heard about Gallery Server Pro was an easier way to customize the UI. Previous versions were heavily based on ASP.NET server controls hard coded into ASCX user controls. While .NET developers could download the source code to change things, it was a steep learning curve and, at any rate, not an option for anyone else.

For version 3, I completely replaced it with an architecture of flexible jsRender templates and Web.API callbacks. There are several templates covering the various areas of the screen (header, left pane, right pane, album view, media object view). These templates are managed on a new page in the site admin area:


In this screenshot, we are looking at the template for the album thumbnail view (shown in the center pane of the first screenshot of this blog post). The template is 100% jsRender syntax, which is a client side HTML rendering system. If one wishes to execute javascript at the time the template is rendered, enter it on the JavaScript tab. The Target Albums tab lets you select which albums the template applies to, and the Preview tab lets you see the effect of your changes before you save it.

Media templates

Version 3 also lets you customize the the exact HTML and javascript sent to a browser based on the media type and the client browser. For example, MP4 files are supported using native HTML5 syntax in many modern browsers but not Internet Explorer version 8 and earlier. We handle this by defining a default MP4 media template that specifies the HTML5 video tag:


Then we specify another media template for MP4 using the browser ID ie1to8. That will catch all IE versions up to 8. For them we send some HTML and javascript that uses the FlowPlayer Flash plug-in to render the video.


Gallery Server Pro ships with a default set of media templates that should work well for most of you, but feel free to tweak it as desired.

Two slide show modes - full screen and inline

Version 3 adds a full screen slide show capability, which is enabled by default.


If you wish to revert to the older, inline slide show, the setting is on the Media Objects – General page. You may want to use the inline slideshow if you are integrating the gallery into an existing web site and you want to let the user cycle through images without having the entire screen taken over.

Looks great on any device - iOS, Android, Windows Phone, Mac, Linux, and Windows

A lot of work has gone into making the gallery look fantastic regardless of the device you are using, from a 3.5-inch iPhone to a 27-inch desktop monitor. The gallery uses adaptive rendering to hide certain elements on small screens, while using clever CSS in other aspects to reflow the right pane underneath the media object instead of to the right. For example, here is how an image looks on an 4-inch Android phone:


If you scroll down, you see the rest of the page:


Improved video encoding

Version 2.6 was set to encode all videos to Flash video, but Flash is a dying animal and doesn’t work on most tablets and phones. So version 3 now encodes all video to H.264 MP4 by default, leading to much greater compatibility on devices.

As with previous versions, the encoder still requires the installation of the Gallery Server Pro Binary Pack, available as a free download, and must run in a web site with full trust. The trust level is reported on the landing page in the site admin area.

Improved sorting

The sorting function has been overhauled and vastly improved. You can now sort by any metadata tag in ascending or descending order. To prevent overwhelming the user, a default gallery lets you choose from five properties.


When anonymous users or logged on users with view-only permission sort an album, it applies only to them. This preference is stored in session for anonymous users and in the user’s profile for logged on users. When an editor changes a sort, they are applying the new sort to all future users.

To change which properties are available to the user for sorting, edit the album template. For example, to allow sorting by Author, go to the Templates page in the site admin area and select the album template and look for the section where the sort options are defined. Then add a row for the Author:


Notice that we specify data-id=’2’. That number identifies the Author metadata item and can be found on the Metadata screen in the site admin area. Refer to the earlier screen shot of that page to see what I mean. We also hard code the text ‘Author’ rather than specify a variable like the others. After saving the changes, we can now sort by Author:



I am so pleased to release this version. The UI template feature alone allows dramatic new capabilities for making the gallery fit your requirements. In the coming weeks I’ll be releasing an updated Admin Guide. Also in the works are additional blog posts getting into the details of some of these features. This is an exciting time for Gallery Server Pro!

Friday, May 24, 2013

New Licensing Options for 3.0

Since its first release, the stand-alone version of Gallery Server Pro has been licensed under the GNU General Public License and available at no charge. Over the years I have had requests for a commercial license that frees you from the restrictions of the GPL and, for some companies, its stigma.

At the same time, the donation model I’ve been using has not been generating enough revenue to pay the bills, forcing me to accept short-term contracts to fill the gap. I don’t really mind that much, but it slows down the progress of Gallery Server Pro. My head is filled with cool ideas and I never seem to get caught up. I would love to spend more time fulfilling all the feature requests you send me.

As a result, version 3.0 will be released in several variants, as seen in the chart below.


GSP box graphic


GPL Professional

GSP box graphic



GSP box graphic


$149 Sale!

Unlimited file types
Unlimited albums and media files
SQL CE support
Source code available
Includes future 3.0.X releases
Gallery Server Pro logo hidden -
Commercial license - -
SQL Server 2005/2008/2012/Express
(up to 20x faster than SQL CE)
- -
SQL Azure support - -
Sample PayPal and Facebook templates - -
Guaranteed forum support - -

The free GPL version you know and love lives on, with full functionality supporting unlimited file types and number of media files using the SQL CE database.

The GPL Professional edition is the same as the free GPL version, except it comes with a special product key that hides the Gallery Server Pro logo in the footer of the page.

The Enterprise edition uses a commercial license and adds support for SQL Server and includes several bonus features such as SQL Azure support, sample PayPal and Facebook UI templates, and a guaranteed response in the forum. It is regularly priced at $249 but for a limited time I’m knocking $100 off.

The DotNetNuke module is not listed because it won’t be available until at least Entity Framework 6 is released. (It requires the multiple contexts per database feature being introduced in that version.)

These changes give you the flexibility you’ve been asking for while providing enough revenue to allow me to introduce features at a faster pace. It should be a win-win situation for all of us.

Saturday, May 18, 2013

Gallery Server Pro Headquarters Relocated to Boulder, CO

A few minutes ago I fired up the PC in my new home office in Boulder, CO. That’s right – my family has moved from my childhood home in Fort Atkinson, WI to a new home in Boulder. That’s why I haven’t been able to respond to the recent forum posts regarding v3 RC1 - I’ve been off the grid for several days except for what I can accomplish on a smart phone along I-80. Between packing and driving a giant U-Haul truck towing a car across Iowa and Nebraska, I could do little more than read the forum posts the last few days. I’ll address everything in the coming days as we settle into our new life.

We lived in Boulder a decade ago but had moved to WI to be closer to my folks in 2004. It’s been wonderful to be near family but the mountains and culture of Boulder kept whispering in our ears. Last summer we visited Boulder on a vacation and it really sunk in how much we missed the place. Check out some of the top rankings Boulder gets:

  • The 10 Happiest Cities – # 1
  • Top Brainiest Cities – No. 1
  • Ten Best Cities for the Next Decade – 4th
  • Gallup-Healthways Well-Being Index – No. 1
  • Best Cities to Raise an Outdoor Kid – No. 1
  • America's Top 25 Towns to Live Well – No. 1
  • Top 10 Healthiest Cities to Live and Retire – No. 6
  • Top 10 Cities for Artists – No. 8
  • Lesser-Known LGBT Family-Friendly Cities – No. 1
  • America's Foodiest Town – No. 1

I’ll continue working on Gallery Server Pro while Margaret looks for a new job. Our 5 year old son is excited to live in a neighborhood teeming with children and having a killer playground just around the corner. In fact, I just returned from buying him a treat from an ice cream truck meandering through the neighborhood. Sweet!

Friday, May 10, 2013

Gallery Server Pro 3.0 Release Candidate 1 Available

Today I am making available release candidate 1 of Gallery Server Pro 3.0. It is functionally complete and now includes support for upgrading from 2.6.0 and higher. This is a major release and includes a tremendous number of new features and updated styling. Here are a few previous blog posts to refresh your memory:

Public Preview of Gallery Server Pro 3.0

Gallery Server Pro 3.0 Beta Released!

Add a PayPal shopping cart and Facebook to your gallery in 10 minutes

You can download the release candidate here:

Download Gallery Server Pro 3.0 RC1
Download Gallery Server Pro 3.0 RC1 (source code)


The RC ships with two skins – dark and light. The Site Settings – General page lets you switch to a different skin and the popup help icon gives you tips on how you can tweak the styling to suit your preferences, including how to create your own skin.

The beta site has been using the dark skin for a while. Just for fun, I switched it to the light skin for the RC. Check it out.

Reporting Bugs

While I shipped the RC with no known bugs, I will bet good money some are still lurking. Gallery Server Pro is a complex product with over 125 settings, and I have not exhaustively tested every one, much less the nearly infinite combination of them. And don’t even get me started on browser compatibility (sorry IE 6 and 7 users, I can’t support you any longer.) So please report anything you find in the forum.

Product Key and Licensing

The product keys you used in 2.6 do not work in the RC, and I do not yet have the infrastructure in place to provide new ones, so your RC gallery must run in trial mode. The RC is fully functional in trial mode and I expect to release the RTM version before the 30-day window ends, along with an updated product key wizard.

There will be a few licensing changes for 3.0. A free GPL version will continue to be available and I am adding a commercial license that offers benefits not available to GPL license holders. A subsequent blog post will dig into the details.

Upgrade from 2.6

Version 3.0 supports upgrading 2.6 or higher galleries. Note that some settings will be preserved while others are reset to conform to the 3.0 requirements. The upgrade wizard from previous versions has been replaced by a new process that allows you to import a 2.6 backup file into a 3.0 gallery. Follow these steps:

  1. Make a backup of your database, web files, and media files. You’ll only need them if the upgrade fails and you need to revert to 2.6.
  2. In your 2.6 gallery, go to the backup/restore page and create a backup file of your user accounts and gallery data.
  3. Delete your web files, but not your media files (the ones stored in gs\mediaobjects by default).
  4. Download the RC and extract the files to your web directory. As with 2.6, the IIS account needs modify permission to the App_Data and gs\mediaobjects directories.
  5. If using SQL Server, open web.config and update the connectionStrings section to use the SqlClient provider instead of SQL CE (that is, comment out the SQL CE connection string and uncomment the SQL Server one.) Then update the SQL Server connection string to point to your gallery database. Note that 3.0 uses a completely different naming scheme, so the 3.0 tables will exist along side your 2.6 ones until you get a chance to manually delete the 2.6 ones (if you want to). For example, the table gs_Album from 2.6 is named Gsp.Album in 3.0 (note the use of a new Gsp schema).
  6. Open default.aspx in a browser. The gallery will detect that no data structure exists for the connection string named GalleryDb and automatically create it. (For you techies it’s using Code First Migrations for this part.)
  7. A default page will load with a message allowing you to create an admin account. Go ahead and create one. This account will be replaced during the restore operation, so don’t worry about writing down the password.
  8. Now you should be able to go to the backup/restore page in your 3.0 gallery. Click the restore tab and upload the backup file you created in step 2 above. Then restore it.
  9. The restore operation detects the file is from 2.6 and upgrades the schema as it imports it into the new tables it created in step 7. For large galleries this can take a few minutes, especially if you are using SQL CE.
  10. Once complete, review the settings on the various admin pages to verify everything looks the way you want it.

Writing the migration code to convert the 2.6 data to the 3.0 schema was a challenge, and I haven’t had very many databases to test it out on. So it’s very important you try out the upgrade process to make sure it is robust. I wouldn’t be surprised if we find a few glitches, but I need your help to find them.

If you don’t have time to try the upgrade yourself but would like to volunteer your database for testing, send your 2.6 database to me at roger*at*techinfosystems*dot*com (i.e. your .sdf or .mdf file). I’ll test it to make sure it converts. But be aware that a default gallery installation stores passwords as plain text in the database file, so if you won’t want me to see them, don’t send it to me. You can preserve some security by sending me your database anonymously.

Upgrade from the RC to 3.0 RTM

I am hopeful that very small changes will be necessary between the RC and the final release. If so, there is a good chance that you can easily upgrade your RC gallery by copying over a fresh set of web files. Unfortunately, I can’t promise this will be the case, so be prepared for the possibility that there won’t be a RC to RTM upgrade path.

When is it going to be released?

That depends on the RC. I’ll wait a couple weeks to see what gets reported. If there is nothing major, I think I’ll have it out by early June. That will be a Very Good Day.