Photo Organizer

This is the bug tracker for Photo Organizer.

ID Task Type Severity  desc Category Summary Status Reported In
440Bug ReportMediumBackend / CorePossible to set an album/folder's parent to itself.New2.37 Task Description

We need to enforce that rule to prevent the DB from going nuts.

Either via SQL:

1) Trigger to test that parent != id
2) the (folders|albums)_and_sub(folders|albums) function needs to abort if it sees it

or in PHP:

3) Test the values in the php pages [[ (album|folder).(add|edit).2.php ]] and kick back an error.

I don't think there's another way to mangle things.

This can result in a DoS.

397Feature RequestMediumImportImport of metadata from programs like Raw TherapeeUnconfirmed2.367 Task Description

Some programs like Raw Therapee creates a file to store all metadata to convert a raw file to a jpg file. To repeat the convert process (with or without slightly differences) it would be nice if I'm able to store such metadata with variants at the side of the original picture.

From other programs that storing data in a database, it would be possible to read out the data from the DB and storing metadata into xml-files and backwards.

6Feature RequestLowBackend / CoreSpecify/store RAW image parametersNewDevel1 Task Description

Currently the RAW settings are shared across all images. It would be nice if each image would contain with it the settings used to process the image. The problem is that the decoder often has defaults which change over time, and re-generating the same image can result in differences.

8Feature RequestLowBackend / CoreBetter permission hierarchyAssignedDevel21 Task Description

Right now there are three permissions -- public, private, and "protected", which equates to "public only to all of my clients"

This is pretty lousy; I can certianly envision scenarios where you'd want a client to only see stuff that's specific to that client. To do this now, you have to create separate accounts and mark clients for those specific accounts.

I'd like to see a more generic hierarchical user/group model. Only the photo owner can make changes to their images, but the permission model would break down as follows:

Permissions would be granted on a per-group basis, and individual users can be members of various groups. "Guest" access would just be another group, and would default to assigned.

A permission is inherited; so if "guest" is granted access to the top-level folder, they would be allowed to see everything below it unless a more restrictive permission was specified. This is sort of similar to unix permissions with the "sticky bit" turned on.

This gets a little tricky when talking about folders vs albums, as a user may not be allowed to browse the folder, but the image could be included in a public album. When viewing the image from the folder perspective, it would be disallowed, but from the album perspective, it would be allowed.

EDIT: see http://po.shaftnet.org/new_permission_model

11Feature RequestLowBackend / CoreClean up database conventionsAssignedDevel6 Task Description

Most database results are being indexed by position in a fixed array, rather than by column name. This may be slightly faster, but is hell to program around, especially when there can be twenty fields being returned.

* Convert all fetch_row() calls to fetch_assoc()

Secondly, using prepared statements would make the code a lot cleaner and eliminate the need to escape strings being passed in to the database. Unfortunately, this may require PHP 5.1 to pull off, depending on the maturity of the postgres bindings for earlier versions.

* Use prepared statements and SQL variables instead of inlined data.

89Feature RequestLowBackend / Coreallow advanced search on any database fieldAssignedDevel5 Task Description

RE-do the advanced search so it's more useful -- allow any field to be searched, not just title, caption, etc etc... then build the query on the fly. This is going to be complicated, but necessary...

100Feature RequestLowBackend / CoreContent-based searching that works. :)NewDevel2 Task Description

What we have now is a decent start, but it needs a backand (and instructions for making it all click together)

The eventual goal is to let us "search for images like this one" and have it JustWork(tm).

Right now GNU GIFT (http://www.gnu.org/software/gift/) looks like the best bet as a backend; I just need to figure out how to make it all work.

Note that we really need search result caching to make this usable with a large image database.

125Feature RequestLowBackend / CoreXML export should include "human-readable" values.NewStable Task Description

instead of <location id="23" />, we should say something like: <location id="23" name="downtown Nowhere, USA" />

for all non-textual datatypes.

Otherwise, we need to export the database tables for these values to mean anything, and this isn't currently possible.

185Feature RequestLowBackend / CoreDevelopment / printing informationUnconfirmed2.333 Task Description

I capture the majority of photos on film, process it myself, print or scan it myself. A lot of people my do the same. I would like to see an option to note down the way I developed the film. IMO it would be best done in the following fashion:

have a table with development instructions (could have fields like: "id"?, "name", "developer", "dillution", "time", "agitation", "temperature", "notes"). The editing would be done in a similar way as for locations. This info would than be linked (through the id field?) as a technical informaion for the photo.

If there was the possibility to enter these information, I would not have to have a separate database/excel sheets noting this down.

Thanks a lot

Jiri

213Feature RequestLowBackend / Coreadd mechanism for tracking models &| model releasesNew2.33 Task Description

It would be nice to know at a glance whether or not we have a model release for a given person in a given photo.

releases are usually obtained in relation to specific events, so this should tie into the datebook.

216Feature RequestLowBackend / Coreshow disk usage in folder/album stats.NewDevel Task Description

it would be nice if we could show the disk usage for a given album/folder, including all of its subfolders.

Now that we have the files and their sizes stored in the database, this should be easy enough.

for example, folder #602 contains 363 images, taking up 2133MB of disk space.

239Feature RequestLowBackend / CoreIntegrate full-text searchNewDevel2 Task Description

http://www.sai.msu.su/~megera/wiki/Tsearch_V2_Readme

It's supposedly been part of the "core contrib" postgresql stuff since v7.4

This would let us perform a search on specific keywords across *all* indexed fields simultaneously.

244Feature RequestLowBackend / CoreAllow for custom rendering pathsNew2.334 Task Description

Right now, it's:

thumb = raw -> scale -> colorspace (+extras) -> sharpen
prev = raw-> scale -> colorspace (+extras) -> sharpen -> watermark

IT would be REALLY nice if we could create customized processing paths; that is to say:

type_1 = raw -> scale -> b&w -> normalize -> sharpen
type_2 = raw -> scale -> add_border, add_text -> sharpen

This could either be on-demand, or automatic on uploads.

307Feature RequestLowBackend / CoreAdd a 'contact this user' form.NewDevel1 Task Description

It would need a CAPTCHA or the like, to prevent spam..

This way people can easily contact a PO user, without having to publish real contact information.

315Feature RequestLowBackend / CoreAllow filtering/finding photos matching criteria in Pro...Unconfirmed2.341 Task Description

This one probably relates to other search-related Feature Requests. But to be specific.

When I'm displaying my Profile pages, I can see for example how many photos were shot with a specific lens, how many were shot with a certain camera, how many were shot on a particular film. But there is no quick way to display the photos matching the one criterion - it does not need to be a complex search, it should display photos only according to the one condition. It could be accessed by a simple link next to the count of photos (or clicking the count number itself?)

Thanks a lot

Jiri Vasina

316Feature RequestLowBackend / CoreAllow for sub-albums on the folder listing pages.New2.342 Task Description

My wife asked for this, actually.

Basically, it would be handy to assign an album to be a "child" of a given folder, instead of having a totally separate hierarchy.

I don't think the converse would be as useful.

327Feature RequestLowBackend / CoreFocal length statisticsUnconfirmed2.342 Task Description

A running statistic of most used focal lengths (can be expanded to any EXIF/IPTC property like most used lens, flash usage and so on).

Something like this: http://billigites.blogspot.com/2005/06/focal-length-statistics.html

Invaluable to decide which lens to buy next. :-)

369Bug ReportLowBackend / Coreadd a 'ignore' field to profile itemsNew2.35 Task Description

It's possible that you might not have a given piece of equipment (eg lens or body) any more, so add a flag to the equipment tables to have them ignore certian rows.

(This is precipitated by one of my lenses being broken in two; I plan to buy an identical replacement, but it'll have a different serial number...)

390Feature RequestLowBackend / Coregps data in a spatial enabled database?Unconfirmed2.367 Task Description

I think it would be a cool feature to make PO spatial enabled. I mean that it would be possible to use gps data (geolocated images) to search for "photo taken near some point" or "all the photo taken near some street". Or simply to create an interface a la panoramio for look/find for pictures. It should be not to difficult to implement.

393Feature RequestLowBackend / CoreUse GPS timestamp when importing, if present.New2.361 Task Description

If we have a GPS tag, the odds are its timestamp is going to be more accurate than what the camera thinks.

Unfortunately, the GPS timestamp is reported in UTC. All dates in PO are stored sans timezone, but the odds are that you're not in GMT. So we'd need to add some sort of local time zone setting and convert the date/times as appropriate.

395Feature RequestLowBackend / CoreConvert more pages to a POST/REDIRECT/GET output.New2.36 Task Description

if all pages are explicit redirects, we can use POSTs everywhere and still have navigability.

407Feature RequestLowBackend / CoreAdd a 'start/end date' to folder/albumsNew2.361 Task Description

In effect, this would merge datebook entries with the folder/album hierarchies.

I don't know if this is ultimately a good idea or not, but I've noticed that a majority of folders are keyed off specific date(s).

It has ramifications for the permission system (do we tie folders to clients, or rely on datebook events?)

It would also allow us to sort folders based on "event date" rather than "date added/changed" which is frankly far more useful for my purposes.

411Feature RequestLowBackend / CoreOpenID supportNew2.361 Task Description

PO has hooks for an external authentication mechanism. Once the user is authenticated it creates whatever's needed for local use.

OpenID seems to be a natural offshoot of this; not too useful for a single-user system but it would be quite handy for a site wanting to piggyback onto another user.

443Bug ReportLowBackend / CoreWrong user name displayedUnconfirmed2.37 Task Description

In tab My Folders or My Datebook, logged in user name displayed instead of owner user name under 'I am a client of the following users', nevertheless the link is correct. Here is my quick and dirty solution.

--- include/contacts.php.orig
+++ include/contacts.php
@@ -117,7 +117,8 @@
$owner = "";
}

- $all_subscribed_users = pg_query($database, " select identifier, users, last_name, first_name, date_of_creation, value from view_client where client='$my_user_id' and status!='4' $owner ");
+ $all_subscribed_users = pg_query($database, " select view_client.identifier, view_client.users, view_contact_info.last_name, view_contact_info.first_name, view_client.date_of_creation, view_client.value from view_client, view_contact_info where view_client.client='$my_user_id' and view_client.users=view_contact_info.identifier and status!='4' $owner ");
$num_of_subscribed_users = pg_num_rows($all_subscribed_users);

if ($num_of_subscribed_users) {

446Bug ReportLowBackend / Corelocation search always return nothing in Advanced Searc...Unconfirmed2.37 Task Description

Only location in advanced text is not work, others works fine.

I can't find the meaning of ||| by google. But I change ||| to || in file search.text.advanced.php at line 172

$sql_search_string['location'] = build_sql_search_string($keywords['location'], "(view_location.place||view_location.city||view_location.state||view_location.country)");

and change view_location all columns NULL value (if any) to '' by sql command, then it seems work.

Here is the sql command to change view_location

create view view_location as
select location.identifier, location.place, location.city,
COALESCE ( (select value from state where state.identifier=location.state), '' ) as state,
(select value from country where country.identifier=location.country) as country,
users, last_modified_date,
latitude, longitude, private
from location;

464Feature RequestLowBackend / CoreAdd support for "adult" filtersNew2.371
180Feature RequestLowDatabaseBreak out the statistics dataNew2.336
245Feature RequestLowDatabaseMove 'access' and 'original' rights into 'files' table.NewDevel3
297Feature RequestLowDocumentationIn code documentation for PHP-Documentor or DoxygenNew2.331
160Feature RequestLowImportbetter watermarkingNewStable5
162Feature RequestLowImportPTLens/clens supportNew2.331
200Feature RequestLowImportAdd a 'copyright notice' and 'Original URL' to thumbnai...NewDevel1
175Feature RequestLowUser Interfaceshow defined keywords in suplemental categoryUnconfirmed2.334
184Feature RequestLowUser InterfaceFormat (film size) editingUnconfirmed2.336
214Feature RequestLowUser InterfaceSwitch to DHTML "tabs" on main photo page.New2.331
285Feature RequestLowUser InterfaceAutomatic slideshowUnconfirmedDevel2
358Feature RequestLowUser InterfaceAdd a 'fast tagging' UI to the listing pages.New2.354
381Feature RequestLowUser Interface'last X photos'Unconfirmed2.362
420Bug ReportLowUser InterfaceReally Minor Login Page ProbUnconfirmed2.362
442Feature RequestLowUser InterfaceUI EnhancementsAssigned2.371
Showing tasks 1 - 40 of 40 Page 1 of 1

Available keyboard shortcuts

Tasklist

Task Details

Task Editing