Wednesday, April 29, 2009

Gallery Server Pro 2.3 beta released

Today I am releasing the near-final version of Gallery Server Pro 2.3, with the full release expected by May 31. This is a significant release, with new features such as user albums, self-registration, album paging, and more. Read my previous blog entry for more details. A bonus feature not previously announced is support for changing settings in the Site Admin area in a Medium Trust environment (GoDaddy users rejoice!).

Play with an online demo of 2.3 beta here. The demo has self-registration and user albums enabled. Create a new account and notice how an album is automatically created. You have administrative rights to your album but not the others. I configured it so you have read-only permissions to the rest of the gallery, but you may want to give greater or less access. For example, you can set up your gallery so that each user can only view their own album but no others.

The demo also has album paging set to show a maximum of ten thumbnails per page. This is probably lower than what you would set in a production app, but it helps illustrate the idea.

Download the Gallery Server Pro 2.3 beta here.

Just like the current version, out of the box it will run on a 32-bit operating system running .NET 2.0 or higher. If you have a 64-bit OS, replace System.Data.SQLite.DLL in the bin directory with the 64-bit version. MS .NET 3.5 users should use the 3.5 version of web.config (look in the root directory).

The installation instructions for the 2.2 version of GSP also apply to 2.3, so read the Admin Guide for more information.

Please report any issues in the forum or with the contact form.

Unfinished items in the beta

  • Do not try to upgrade your existing gallery to the beta, as the Upgrade Wizard is unfinished. The RTM version *will* allow you to easily upgrade from previous versions. The beta should be installed as a new web application and is to be used for testing purposes only.
  • I will not provide an upgrade path from the beta to the final release. It *may* be possible to upgrade to the RTM version by simply replacing the web files, as no database changes are anticipated, but I make no promises.
  • The restore function cannot restore from versions earlier than the beta. I expect to add support for this by the RTM.
  • There are a few minor bugs, usability tweaks, and features that need to be completed.

Friday, April 17, 2009

Preview of Gallery Server Pro 2.3

There are  number of exciting new features coming in GSP 2.3 that expand on the already robust enterprise-level capabilities in Gallery Server Pro. Your feedback has been the driving force in telling me what areas I need to focus on. Please continue using the forum to let me what can be done better, what isn't working, and - if you are so inclined - what you really like!

I am targeting a release date of May 31 for 2.3. Nearly all the features and bug fixes are complete. I am now in the testing phase and working on the Upgrade Wizard. There are a few database changes which require a  SQL script, and I will make sure the Upgrade Wizard handles it all for you. This takes time but I am committed to making the path to 2.3 as robust and painless as possible.

New features in 2.3:

  • Faster, lighter pages - Page size has been reduced up to 25% and the number of HTTP requests reduced up to 25%.
  • Album ownership.
  • Self-registration.
  • User albums - An album can be automatically created and assigned to each user. The user owns that album with customizable permissions for managing its contents. This is great for community sites!
  • Paging of thumbnail images in an album.
  • Download multiple media objects in a ZIP file.
  • Option to automatically delete the high resolution original image after upload, preserving only the thumbnail and compressed version.
  • Allow recursive deletion of the high resolution images from an album.
  • Clicking the download button for an image downloads the original image, not the compressed image.
  • Error logging.
  • Option to make an album private when it is created.
  • Support SSL encryption of e-mails.
  • Remove dependence on modifying global.asax when integrating into an existing ASP.NET application.
  • Rounded corners of thumbnails and other objects (unfortunately, IE does not support this).
  • Navigate back and forth using the left and right arrow keys instead of Enter and Shift-Enter.
  • Allow a gallery to be built from a read-only directory.
  • Support for .divx files.
  • Play .avi and .wvx videos in the browser instead of creating a hyperlink.
  • Show .pdf files in an inline frame.
  • Show a hyperlink to easily open MS Word files instead of displaying the message "Your browser cannot display this media object...".
  • Add support for .rtf files.
  • Allow deleting albums in addition to media objects on the Delete objects page.
  • Use of jQuery for advanced client effects.
  • Almost all settings in galleryservepro.config now exposed in the Admin Site Settings area.
  • Several other usability enhancements...

Many of these features are controlled by new switches that allow you to revert to the previous behavior if desired. So if you don't want to allow self-registration, just don't enable that feature.

In addition, there are several dozen bug fixes that improve reliability, performance, and the user experience.

I will give a brief overview of a few of the most significant changes.

Album ownership

Administrators can assign any user as the owner of an album. By default, owners can add, edit, and delete objects within the album. The permissions given to owners are defined in a template role named _Album Owner Template and can be easily changed using the Manage Roles page in the Site Admin area.

You can assign the owner on the Edit album info dialog window, as seen here:

Screenshot of edit album dialog

In previous version of GSP you could accomplish the same thing, but you first had to create a role with the desired permissions, attach it to the album, and then add the user. This required going into the Site Admin area and navigating between two different pages. The new technique is cleaner and simpler. Behind the scenes, GSP is still creating that role for you, but now you don't have to worry about the details.

Self registration and user albums

You can allow users to create their own accounts and optionally to automatically create an album that each user owns. When enabled, a create account link appears in the top right that takes the user to a registration wizard:

Screenshot of create user page


There are a number of configuration options, which are accessible on a new page in the Site Admin area called User Settings:

Screenshot of user settings


Rounded corners and downloading objects in ZIP

For 2.3, I broke one of my cardinal rules of web development: target the web standards, not particular browsers. This is generally good advice, but there is great support for adding rounded corners in almost all major browsers using proprietary CSS tags. Rounded corners are so simple to implement, and look so nice, that I just had to do it. Almost every HTML element that previously had square corners now gets a beautiful rounded treatment handled by the browser, not a bunch of image slices. Check it out:

Screenshot of rounded corner

Unfortunately, Internet Explorer, even IE8, does not support rounded corners. This omission in IE8 was a big disappointment, but those of you using other browsers (Firefox, Safari, Chrome) will see elegant shapes in your gallery.

In addition, there is a button for downloading the objects in an album in a ZIP file. Clicking the button takes you to a page where you can select one or more media objects or child albums in the current album. The objects you select are zipped up and sent to the user in a convenient ZIP file.


Album paging

When an album contains hundreds of objects, it can take a long time to load and become difficult to navigate. There is a new paging option so that only a small number of objects are loaded at a time. Here you can see what happens when the page size is set to eight:

Screenshot of paging

Clicking the next or previous button initiates a lightweight AJAX callback to load the next page. Once a page is loaded, it is stored in the local cache for lightning-quick response. You can change the page size to your preference, including whether you want the paging controls at the top, bottom, or top *and* bottom.


Error logging

A new table now stores any errors for later review by administrators. In addition, more information is collected and the e-mail has a more pleasant formatting.

Screenshot of error log


Improved PDF handling

PDF documents are now shown in an inline frame. How cool is that!

Screenshot of new PDF handling


These are just a few of the many improvements! As always, thank you for your donations - you are what keeps this project alive. Peace.