It's been over a month since my last project update and we are due to give out another update.
First, we are slightly behind on the release. We have been trying to coordinating with the core BlogEngine.NET team regarding some changes we would like to see in the core, so we could release the Photo Gallery Project as more of an extension rather than a whole new project. Unfortunately, due to circumstances beyond our control, this has been slower than what we had originally anticipated.
Some of the design challenges of implementing a Photo Gallery within BlogEngine.NET is re-using the existing code base as much as possible. The good thing is BlogEngine.NET is very well written and can easily be extended and re-factored to fit other, similar purposes, like re-using the Comments implementation for Albums and Photos. The bad thing is if we extend or re-factor code within any of the core classes, the core BlogEngine.NET teams needs to incorporate and merge them into main source code tree.
And sometimes even a small re-factoring change can have a large impact on the code base in terms of the number of files affected. This leads to increased dependency and communications with the core team, and they have their own priorities and vet process prior to incorporating it. All this, unfortunately, slows down the overall process.
In the mean time, we have not stopped working. In fact, we have been looking ahead and trying to determine how we want to installation and deploy the Photo Gallery Extension. We would like to make this as simple as possible. So we have decided to go ahead and add one additional item to our to-do list prior to our first release - we are going to separate Photo Gallery business logic into it's own .NET assembly. Basically from an end user perspective that means we will wrap up most of the core functionality (excluding web pages) into a dedicated DLL. Then end-users would have the option to download and deploy just the DLL and not the full source code, similar to how BlogEngine.NET is distributed today.
Since the PhotoGallery project adds several new web pages for the Photos, Albums, and the Gallery, and associated administration pages, the process would involve copying those files to their appropriate directories within the BlogEngine.NET virtual directory. We are still working on a way to makes this as easy and seamless. We are very open to guidance and suggestions in this area.