{"id":989,"date":"2009-03-12T11:01:15","date_gmt":"2009-03-12T00:01:15","guid":{"rendered":"http:\/\/www.somethinkodd.com\/oddthinking\/?p=989"},"modified":"2009-03-12T14:31:56","modified_gmt":"2009-03-12T03:31:56","slug":"online-photo-db-stage-6-deeper-evaluation-of-coppermine","status":"publish","type":"post","link":"https:\/\/www.somethinkodd.com\/oddthinking\/2009\/03\/12\/online-photo-db-stage-6-deeper-evaluation-of-coppermine\/","title":{"rendered":"Online Photo DB: Stage 6c &#8211; Deeper evaluation of Coppermine"},"content":{"rendered":"<div class=\"aside\">This post is part of the <a href=\"http:\/\/www.somethinkodd.com\/oddthinking\/tag\/online-photo-database\/\">Online Photo Database project documentation<\/a>. Learn more about the project&#8217;s <a href=\"http:\/\/www.somethinkodd.com\/oddthinking\/2008\/12\/03\/online-photo-database-project-status\/\">current status<\/a>.<\/div>\n<p>These notes on <a href=\"http:\/\/coppermine-gallery.net\/\">Coppermine<\/a> are based on a deeper evaluation I just performed. They should be read in conjunction with my <a href=\"http:\/\/www.somethinkodd.com\/oddthinking\/2008\/06\/22\/online-photo-db-stage-4c-evaluation-of-coppermine-photo-gallery\/\">previous notes<\/a> on Coppermine.<\/p>\n<p>My opinion of Coppermine seems to vary. As you may recall, it was the winner of the initial informal competition. Then I evaluated it formally and said &#8220;Okay, but I can do better&#8221;. Now, I have taken another look and I am thinking &#8220;Yeah, I can live with this.&#8221;<\/p>\n<h4>Clarifications\/Corrections of Previous Claim<\/h4>\n<p>I had another look at its capabilities. I do not know why I said it was unable to read EXIF data (requirement WD2), as that is definitely an option, with control over which fields it displays. It also displays IPTC data.<\/p>\n<p>I did not test its display of Photographer and Copyright information from the EXIF\/IPTC fields; I am confident that even if it doesn&#8217;t by default, I can make it do so easily. If I can&#8217;t read it from the image, I can use a couple of the five available custom fields to store the data (which would mean writing a tool to automatically fill the data in when it is left blank.)<\/p>\n<p>In order to meet the requirement to store archive-quality images (PQ4), I pushed the maximum size of the uploaded photos up from the restrictive 1 MB default limit. I found that it needed to be configured to use the ImageMagick library rather than GD2 to handle the large files without running out of memory; fortunately this was trivial on my server through the Coppermine config pages.<\/p>\n<p>Space-separated tags (or keywords) continue to annoy me. I either need to CamelCase or Underscore_Separate people&#8217;s names. (The manual also suggests using non-ASCII space characters from supported charset.) Oddly, you can&#8217;t even insert spaces by escaping with double-quotes &#8211; the double-quotes are treated like just another character, except that they can&#8217;t be easily deleted once created! Oops.<\/p>\n<p>It isn&#8217;t possible to allow non-admins to tag images. That was a desirable requirement, but I would like to push it up to Important, having just finished taking many thousands of photos of people I can&#8217;t name. However, there is a comment form which allows users to quickly feedback identity information, which can then be manually transcribed by me. A drag, but a vast improvement on my current situation, where users offer to make corrections, but then don&#8217;t bother to tell me when they learn it requires an email; it&#8217;s too hard.<\/p>\n<p>I previously claimed that there might be plugins to support feeds. Searching for a few minutes found several possible contenders. I didn&#8217;t check that any of them did what I needed though.<\/p>\n<p>I wasn&#8217;t sure whether it was possible to display many thumbnails at once. The answer is that you can. The theme has a certain amount of clutter preventing you from going overboard, but I could comfortably fit 6 generously-sized thumbnails per line, with a customisably large number of lines per page.<\/p>\n<h4>Subject Descriptions<\/h4>\n<p>A couple of the requirements (viz S+L2 and S+L6) are, at heart, about associating some extra HTML text with a tag. (CAT13 is as well, but the extra text is hiddent from public view.) At first blush, this is impossible with Coppermine, but there is an odd feature that, with a bit of hackery, can almost be made to work. It&#8217;s a bit trickery, but let me see if I can explain quickly. <\/p>\n<p>An album is a folder that can have photos added to it. Albums have text descriptions. Each album can be specially associated with a keyword. Any photos added to any other album that are tagged with that keyword are treated as though they are a member of this special album too.<\/p>\n<p>So, all I need to do is to create a Category called &#8220;Subjects&#8221;. Then I need to create one album in this category per unique subject in my photos (over 1300 to date). The album name can be the name of the subject. The album&#8217;s associated keyword would be the OneWordifiedVersion of the subject&#8217;s name. The album&#8217;s description could be the HTML which describes the subject, where their home page is, and other sites where you could find photos of them.<\/p>\n<p>Except the album description is plain-text, not HTML. All the URLs would have to appear as text to the user. Drats, so close. I wonder how long it would take me to deactivate all the security-inspired escaping of the text to let the text be rendered as HTML.<\/p>\n<p>The whole situation is a bit clumsy, and will require hand-coded utilities to maintain it, but feasible.<\/p>\n<p>[Stop Press: I&#8217;ve realised it still doesn&#8217;t work. If you click on a keyword, it takes you to a search result for all photos with that keyword, rather than taking you to an album that has than keyword. Hence, the description still isn&#8217;t displayed. That sounds like a possible, but non-trivial, issue to fix.]<\/p>\n<h4>Privacy<\/h4>\n<p>The Privacy situation seems to be handled very well. I can have users with individual passwords that can belong to multiple groups. An album can be open or restricted to the members of a single group. (There are also special case groups like &#8220;Me only&#8221;, &#8220;Registered Users only&#8221;, etc.)<\/p>\n<p>Combined with a robots.txt file to ward off the bots, this handles all four of the <a href=\"http:\/\/www.somethinkodd.com\/oddthinking\/2009\/03\/10\/online-photo-db-stage-6-privacy-requirements-clarification\/\">privacy scenarios<\/a> I suggested.<\/p>\n<p>It does mean that you need to manually register all of your Vegas buddies (or have them self-register). I am aware that this is adding to the problem of too many accounts, and I looked for an OpenID plugin, but none was to be found.<\/p>\n<h4>Clutter, Themes and Plugins<\/h4>\n<p>There a number of issues that I expect can be remedied by creating a new theme and culling the display of some of the features.<\/p>\n<p>For example, I find displaying an array of random pictures on the home-page to be both cluttered and distracting. (I expect people to turn up with a mission to see the photos from a particular event, or photos of a particular person, not just random photos of Aunt Maude.)<\/p>\n<p>The array of &#8220;Recently Uploaded&#8221; pictures is likely to be more useful, but ideally it would be &#8220;Albums with Recently Added Pictures&#8221; rather than &#8220;Recently Added Pictures&#8221;. If I can&#8217;t manage that, I&#8217;ll just drop the feature entirely.<\/p>\n<p>Each photo has a link to the album which contains it, and also a subtle link to the user who uploaded it. Given I expect to be the only such user, that extraneous link can be dropped.<\/p>\n<p>The subjects (keywords) of the photos are difficult to find. I will make these more prominent. At the same time, I will drop a lot of the other file information. (Size in bytes, pixel dimensions, etc. are rarely required and can be found by looking at the image file&#8217;s properties rather than cluttering the HTML. Date uploaded will be irrelevant if most of the images were uploaded during the migration.)<\/p>\n<p>When displaying thumbnails, a lot of the padding and spacing could be reduced. Whitespace is often nice for clarity, but where the goal is to display albums of photos, I want more of the page dedicated to that job.<\/p>\n<p>I want to make some select <em>additions<\/em> to the clutter as well: If you display an album in a list, its description is displayed. Oddly, when you look at all the photos in an album, its description is not displayed. That seems like an obvious time to display it. I would like to remedy that in the theme.<\/p>\n<p>I haven&#8217;t done more than 60 seconds investigation into te effort of creating a new theme; I assume it is on par with a WordPress theme (both in difficulty and capability). I have created a couple of WordPress themes (<a href=\"http:\/\/everything2.com\/index.pl?node_id=386963\">You&#8217;re soaking in it.<\/a>) but with few accolades about my skills. If I can&#8217;t do it with the theme, I am sure I could do with plugins, or plain code hacks.<\/p>\n<p>Talking of plugins, I haven&#8217;t noticed much of a vibrant plugin development community. I&#8217;ve probably been spoilt with WordPress that has at least five competing plugins for every simple idea.<\/p>\n<h4>Summary<\/h4>\n<p>It&#8217;s going to take some work to customise this to my liking, but it is certainly doable, and I see that there&#8217;d be an incremental strategy to get there. I am feeling better about Coppermine than my most recent evaluation. <\/p>\n<p>It&#8217;s winning so far&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A deeper evaluation of Coppermine.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_s2mail":"","footnotes":""},"categories":[285,47],"tags":[284,48,376],"class_list":["post-989","post","type-post","status-publish","format-standard","hentry","category-photography-geek","category-review","tag-online-photo-database","tag-photography","tag-review"],"_links":{"self":[{"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/posts\/989","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/comments?post=989"}],"version-history":[{"count":5,"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/posts\/989\/revisions"}],"predecessor-version":[{"id":1001,"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/posts\/989\/revisions\/1001"}],"wp:attachment":[{"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/media?parent=989"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/categories?post=989"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/tags?post=989"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}