Hello everybody!
As some of you may have noticed already the Gallery2-Team announced a complete rewrite of the Gallery project named "Gallery3", "G3" in short (read http://gallery.menalto.com/gallery_3_begins). I agree with the G2 devs that a rewrite at this point makes a lot of sense. The latest version of G2.3 provides good funtionality, but has grown heavyweight/complex and slow. However, the announcement of G3 has great impact on the future of the Drupal integration module(s) as well. What does this mean for us?
-
G3 builds on the nice Kohana framework (http://kohanaphp.com/), which allows for a lightweight and flexible implementation. It also makes it really easy to extend or override existing functionality in G3. Thats good news for us, as it will probably allow for better integration (especially the "look and feel" integration). Because G3 is in early stages and the embedding API has not been defined yet, I cant estimate the feature set of G3+Drupal in detail.
-
On the other hand, G3 will likely be incompatible with G2 (on the API and database level). What means the gallery_addon modules I'm currently working on will require major modifications to adapt to the new structure. If G3 is going to be implemented in a consequent manner, we can expect a good chance of tight integration with Drupal.
For that reason I decided to stop development of the addon modules and start tracking the G3 progress, so that we can have a Drupal 6 (and/or 7) integration module at the time when G3 will be released (targeted for February 2009 atm). Depending on the speed of development of Gallery3 I hope to have CCK/Views integration at that time as well. But we will probably NOT have a G2+D6 compatible release of the addon modules anymore.
Everyone interested in early testing and feedback of embedded G3 please send me a mail, so that I know who to deal with.
Cheers, Thilo (alias profix898)
Update
I'm wondering if we shouldn't take what we can from gallery and build a "feature port" in drupal.
To be honest I have been thinking about something like this last summer as well. However, after spending hours in IRC and talking to several people face to face, I dont think that should be an option (at least not for this module). Let me tell you why.
Developers perspective: A feature port is possible of course, but for code level transfer of existing Gallery2 functionality we would need to reimplement the whole model-view-controller pattern in the Drupal module. IMO it would be easier to simply rewrite most of the features from scratch utilizing Drupal framework benefits such as the node system, etc. However, thats only a vague argument against a port, the user perspective is much more compelling.
User pespective: Image/imagefield and friends have evolved a lot in 2008, so that all the basic functionality is available with Drupal modules already. With the latest status of these modules in mind, it doesnt make sense to feature port all of Gallery2 into a new module. Most features can just be added to existing Drupal functionality. Gallery2 is a separate application, separate to install and maintain, making it more difficult for newbies to setup and use, and difficult for users to integrate seamlessly into the Drupal landscape. The question is: Why would users still prefer Gallery?
The good news is that Gallery3 will be different from Gallery2 in many aspects. Gallery3 will use jQuery and jQuery UI instead of YUI, making it somewhat compatible with Drupal (especially with Drupal 7 that will probably ship with jQuery UI in core). Also G3 will be using a theming layer similar to PHPTemplate (no longer Smarty) bringing it much closer to Drupal with respect to theming and uniform appearance. But still, is this enough for users to run Drupal+Gallery3 instead of just Drupal?
I think we can turn Gallery's most obvious disadvantage into its biggest strength, namely the fact that it is a separate application. Here is what I have in mind for Gallery3 and Drupal7.
Gallery module for Drupal 6.x integrates a single G2 instance with Drupal. For the next version I would like to interface with multiple galleries based on a clean object-oriented model (php 5.2+ only support). There are three different aspect I'm currently taken into account for defining the structure for the new module (lets call it GNG = Gallery Next Generation).
A) Integration level
There should be two different integration levels supported with GNG. Level 1, the 'Embedded mode', behaves just like we are used to with the current gallery module. The embedded mode simply renders an embedded gallery page (and - of course - supports other features like G2: filter tags, etc.). Level 2, the 'Field level integration', will provide a field for referencing or actually representing a Gallery entity. The moment the 'fields in core' patch hits Drupal 7 we get the (probably) unique opportunity to provide field-level integration without duplicating G3 entities in Drupal.
B) Interaction level
I'm thinking of two different interfaces for "talking" to a G3 instance. Level 1, the 'Local' mode, uses an API provided by G3 on the PHP level. Thats the situation we have in the current module. Because Gallery3 is build with a RESTful API we can actually have remote access to all (or at least most) of G3's functionality. The remote protocol of G2 only supported the most basic features. Level 2, the 'Remote' mode, interfaces G3 through the REST-API making it possible to even integrate with G3 instances on a remote server (without direct file/db access).
Not everything explained in A) and B) will necessarily work in combination. And one thing that makes the situation more complicated, is the permission model used in this context.
C) Permission model
In principle, we can think of two distinct models. Model 1, the 'user synchronization' model, maintains a 1:1 sync of users in Drupal and their Gallery counterparts. This is the model used in the current version of gallery model. Another possible option is Model 2, the 'single user interaction' model. Here all communication with the Gallery instance happens with the same single user account.
Single user interaction would be especially useful in combination with a remote Gallery instance. We could have a Gallery installation acting as an image or media repository (an 'ImageTank'). People could manage all media in a central repository (and with a powerful GUI), but only exposing a subset of items to the public (to the Drupal website in this case).
I hope this short introduction helps to understand my perspective on Gallery3. And why I think its still worth to maintain a module for integrating an external media management application.
Cheers, Thilo

Comments
Final Release for Gallery 2 Module
I like the idea of going to Gallery 3, but I have real doubts that they will be able to pull something off within their very aggressive time frame. In the meantime, what is the status of your Gallery 2 module? Do you feel the dev version is okay to use? Thanks for all of your work on the module, by the way.
As much as I like Gallery...
I'm wondering if we shouldn't take what we can from gallery and build a "feature port" in drupal.
I really want all of my photo's to be nodes, it would be much simpler... No duplicating effort for things like geotagging photos, just use gmap. Albums could just be a form of automatically generated view. There may already be a module working on this, of course, I've just been using gallery so long I haven't looked.
Yes ... and No
Read my reply to your comment above (added to the original announcement).
gallery 3 embedding intro drupal 6.x
hi can you help me in tryin to embedd gallery3 into drupal.
see my thread.
http://drupal.org/node/1046446
thanks
milplus
Drupal 6.10 and G3
Hey Thilo
Thanks for your indepth considerations layed out here. I appreciate it beeing a non-developer so to say :-)
I am in the process of setting up D6.10 and G3.0 alpha 2
I have installed the Drupal and works well. I have installed G3a2 inside the Drupal. I have minor issues on the G3 as a standalone app. Working on it...
I cme acroos your integration module and reading from here I guess the ones available are not valid for my setup at all !!!???
Since I am starting from scratch on both platforms (Clean install also for both DBs), I am willing to do testing of an integration module for G3 if you have one available or when. Let me know what happens.
I am running a thread here on this issue:
http://gallery.menalto.com/node/86074
Henrik
Gallery3 has been released
After looking at Gallery3, I can't help but feel that at the end of the day we are still trying to integrate 2 separate systems that will always work differently. As modules such as ImageCache become more feature full, I think those not already tied down to Gallery will start out with a more Drupal centric system. 'Photos as nodes' is the ultimate in flexibility.
I really do appreciate the work that Thilo and others have done but you do have to ask yourself, code wise, why are we repeating ourself.
Bridges have their place
It's similar to the forum issue. Using Drupal's forum is the ultimate in integration. But some people really need all the bells and whistles that vBulletin provides. The vBulletin folks are focused on making the best forum they can and will likely always be ahead of what Drupal's forum module can do. If you really need high end forum software but still want to use Drupal, you use a bridge. At the same time, many people think they need vB when Drupal's forums would really be enough for them. It's a matter of analyzing your neeeds and seeing what fills them best.
The same can be said for image handling. For most Drupal users, native Drupal solutions will be enough. But some sites need more and are willing to accept the loss of true integration for the benefits of a dedicated image gallery app. In my case, the camera club site I built needs a full featured gallery but really doesn't need much for integration. The rest of the site is mostly informational without much in the way of user participation. For that, Gallery is a perfect fit. I get the features I need such as easy mass uploading and it integrates enough that it's not a jarringly different site when you go to the gallery part. The rest of my sites, though, use native Drupal modules because they don't need the power of Gallery.
Michelle
See my Drupal articles and tutorials or come check out the Coulee Region
Full integration of images
Full integration of images into the main system is always a big advantage.
However, no modules does what Gallery does in terms of archive, organisation, navigation across images and smooth uploads. What's lacking here is seemless compatibility between the two platforms.
In my book looking into the future:
Gallery 3 is aiming at keeping a core Gallery more simple (Similar to what Drupal does)
Simple API's for smooth add-on modules
Simple API for smooth embedding, where this ofcourse covers Drupal integration.
In other words, integration might be a more smooth process from here, and less re-coding is required for updates and upgrades.
As mentioned earlier, I am very open to an early test between D6.10 for now and G3. All is setup - just waiting for the module from here...
G3 integration vs feature port
When I set up my gallery sites for a group of artists, 18 months ago, I looked at the available Drupal modules and at Gallery G2.
I found the profusion of different Drupal modules very confusing. There did not seem to be universal agreement on a single approach in Drupal (and yes choice can be good). Setting up test installations for the huge number of systems possible was very time consuming.
G2 offered so much more, thanks to your efforts with the integration. However the learning curve is very steep and to be honest I have not mastered a slick combination of G2:Image and FCKeditor. There are still some features of embedded G2 that don't seem available in D6, for instance quota handling seems kludgy and there is certainly no admin interface for this. G2+D6 takes a large amount of disk space on my shared hosting account, and more problematically still uses a huge amount of memory that my hosting company is a little sniffy about.
Imagefield + Imagecache get a huge plug from the Lullabot/OReilly book "Using Drupal" so will probably become the default for anyone going down that route, and will get better as CCK fields become part of core. The gallery they produce in the book is not as good as G2 but perhaps it is only a simple example (I havent tried to build it yet).
G3 will also be better, simpler and smaller on disk at least than G2. It is not yet finished however.
So both systems are changing. There are strong arguments for the "pure Drupal" camp and the "stick best working bits together" camp, and I suspect strong emotions too.
Whichever way you personally go, you have got a big programming task ahead and the workload* might be the deciding factor. I just wonder whether we would not all benefit if you took your expertise and experience and applied it to a pure Drupal solution by joining the Imagefield + Imagecache developers?
(* I'm happy to feedback my experiences, but am not able to contribute to the coding effort)
gallery3 embedded in drupal
Very nice work for so far with the gallery3 application. Its very powerfull and quick!! When their is mp3 added at gallery3 i will start using it immediately. Hoop there will be a good drupal integration module for gallery3 soon. to bad i'm not familiar with development on modules. Can't wait to start with gallery3.
Gallery3 on Drupal!! Lots of power and functionality for a broad way in use
Practice what you preach
Gallery Next Generation?
Well, Gallery 3 now to Beta 2, with work continuing. I've upgraded a site from G2 to G3; I like the new gallery, tho an oddity is that don't have albums targeting individual contributors.
Wonder, then, re whether the Gallery Next Generation module might arrive; if still seems worthwhile.
Noticed in Gallery site there's post suggesting a Drupal integration could happen sometime - inc as menalto site run on Drupal, but not foreseeable future.
Till such a time as a module might happen, I'll interlink Gallery and Drupal sections of sites in just basic fashion.
I'll interlink Gallery
Hello Doc Marin,
Can u give an example how you interlink gallery3 in your drupal site? Do you place html code in a regular node that refers to gallery3?
Thanks for your answer
greetings,
Willem
Practice what you preach
very basic interlinking
Hi Willem:
Only this - I've created menu w links to main gallery albums; manually put the links in the menu. Use this as block, on left, for various pages.
Also added a link to main gallery page to the navigation menu. And, where relevant, add links from within articles
I'd already been doing this w G2 and Drupal 6.
From the gallery, I've added link to my site homepage (ie Drupal homepage) to header text and site credits/footer text.
For myself, not looking for real fancy integration w Gallery. I liked the random images blocks w Gallery 2 module for Drupal 5 - thought these enhanced look of pages, plus linking to Gallery.
Martin
use Views Gallery as basis for cracking gallery?
Well, this thread is sadly moribund; and G3 development slower than anticipated - nearly a year since a stable release anticipated, but still in Beta 3.
I've seen something re G3 integration being possible for Drupal 7.
After waiting, and wondering if Gallery 3 is good for seo, say (so photos get found by search engines, rather than languish on server), I've again looked at options in Drupal, seen Views Gallery. Tried this, and seems to me that with enhancements, can make for cracking gallery. So too perhaps Node Gallery, which might be very similar.
I've done an article on Views Gallery enhancements: http://drupal.org/node/685550
- has some ideas; surely plenty more could be added. Maybe no great need for coding, as there's so much Drupal can do.
And, yes, I appreciate Drupal developer types can tell me this has been the case for a long time, but until Views Gallery, had seemed daunting to non-coder/developer like me.
My "enhanced" Views gallery:
http://www.drmartinwilliams.com/photo-gallery
It's only a few days old, so yet to see how this performs. But, maybe something like this is worth pursuing.