User:Kiz 0987 - Gallery Codex
Personal tools

User:Kiz 0987

From Gallery Codex

kiz_0987 is the maintainer of the drupal integration for Gallery2. See

Gallery2 Integration Enhancement Options

Here are my thoughts of potential enhancements to the Gallery2 Integration. This is just to have all the info in one place, instead of spread amongst several emails and forum postings. My experience is mainly with Drupal embedding, but most of these are generally applicable.

In this page gallery.module refers to the Drupal module that embeds Gallery2 into Drupal.

The top 2 support requests for the Drupal embed are:

  • URL Rewrite problems.
  • Problems setting the initial Gallery2 location/URL.


  • I agree with ozgreg that a more closely knit community of embed authors would be useful to try not to reinvent the wheel everytime a new integration or feature is developed.
  • A single site for support would be valuable (a set of integration-specific forums rather than the single forum as now). Perhaps all documentation should be on the codex?


  • User/Group initial sync.
  • Improved G2EmbedDiscoveryUtilities.class. This is a great utility, but some of the error messages could be improved. Also, many people have had issues with embed.php not being readable, which I think is due to safe_mode.
  • Improved test routines. I wrote G2EmbedTestUtilities.class but nobody else uses it :-(. It could be improved, but the idea is to allow for a general mechanism to test for required/optional Gallery2 modules, PHP limits...
  • Logging. Allow for data/events from the new Gallery2 logging system to be available to the embed app.
  • URL Rewrite. I think the proposed improvements for G2.3 for this module are excellent and will go a long way to reducing the time spent on support issues.
    • There remains the issue of what happens if an incorrect URL is given. A preferable result would be a page_not_found (this could be done already once user/group sync is available -- right now there is confusion over whether it's an image not found or a user not found) or a page_not_found but can still display the imageblock for random photos (I think now this would not work due to the first error).


  • Return unthemed versions of the block content (particularly for imageblock, album select and the menus). This would allow the embed application to theme the blocks in their own way. Drupal also has a fairly simple and consistent method for a user to override these theming functions -- that way the (knowledgable) user can theme the blocks as they want, without changing Gallery2 or gallery.module code.
    • Right now to create the Gallery Grid block in Drupal it's necessary to get the 4 (or more) images, strip some of the html code and then retheme it into a block.
  • Move the admin menu to a block.
  • Have an API to get/set tags.


  • There are a few embed app specific themes designed for Gallery2, but these will always be rare. Instead the method used is to have a standard embed (eg Drupal's Garland) theme and a standard Gallery2 theme (eg Matrix) and the embed code includes a small CSS file to make sure these work well together. This is much more complex to do than it would initially appear to be.
    • Some G2 themes (eg Siriux) do not have specific element names, and so they conflict with the embed ones (eg "content", I think).
    • Some G2 parts (eg breadcrumb) have to be removed by a display:none in the CSS (or a template change). This often causes unforeseen problems (the display:none also being applied to other H2 elements for example). Perhaps the new local template system for Gallery2 woudl allow embed apps to include some local template overrides, without requiring a full template?
    • ImageFrames do not always have specific CSS tags defined that are essential for them to work. Eg The new Garland theme in Drupal5 defined td with padding, which interferes with many ImageFrames. I could not find a way to remove this except defining table.ImageFrame_shadow td {padding: 0;} for all image frames (yuk).

Data Sync

  • Many people want to allow for a tighter level of integration into Drupal (photos as nodes). This would require some kind of sync of G2 items to embed items so that addition/deletion/change can be captured.
    • This could allow for keyword->taxonomy sync and (equally important) Views support. (Views is an amazing module that allows the user to get a defined/filtered set of content from their site. Including photos into this would be excellent)