My program doesn't do a lot more than recent versions of Shotwell do.
It is just a bit more convenient for adding tags and titles.
The user sees the photo, and there is a window where he can add tags
(it is actually a drop-down list with predefined tags for my purposes)
and a window where he can enter a description.
The tags get added to the Shotwell tag table, and the description is
used as the title.
However, there is also a SQLITE3 virtual table, containing the photoid,
the description, and the tags. The SQLITE full-text search facility
allows you to do sophisticated searches , for example find all the
photos with the words "Larry " OR "Diane" AND NOT "Fred". It also
allows proximity searches.
Since the description field gets stored in the phototable as the title,
Shotwell can also perform full-text search (which works very well - I
like the incremental search) but it is limited to an AND operation -
find the photos whose title contains ALL the words.
I think it would be easy (!) in Shotwell to make the windows for
editing tags and titles larger, which would be much more convenient.
The use of a virtual table that contains the title and the tags would
allow a more sophisticated search facility:
Look for grandchildren (a tag) and "Harry OR Sally" to find all the
photos with the tag "grandchildrer" with either Harry or Sally in the
title.
On Mon, 2018-04-09 at 09:18 +0200, Jens Georg wrote:
> >
> > Do you plan to remove the list of tags, and have one entry per tag?
> Yes, something like that. Make proper normalized tables etc.
>
> >
> >
> > The problem for my app was given a photo id, find all the tag table
> > entries with this "thumb id" and then remove the thumb and write
> > the
> > data back, rather than just finding all the records with the thumb
> > and
> > deleting them.
> >
> > I realize that not many people are going to want to process the
> > data
> > outside of Shotwell, but having a good description of the various
> > tables and their relationships would be useful.
> There is a little bit of information available here:
>
> https://wiki.gnome.org/Apps/Shotwell/Architecture/Database
>
> >
> >
> > Many years ago I wrote a program to catalog photos (this was before
> > I
> > heard about Shotwell. It used a database system with full-text
> > search
> > abilities.
> > When I switched to Shotwell, I rewrote the program in Python, and
> > added a virtual table to the Shotwell database to make Boolean
> > searching easy. This I can use all the of the SQLITE3 full-text
> > search
> > capabilities to find photos.
> Would you care to explain a bit deeper what you are doing there?
_______________________________________________
shotwell-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/shotwell-list