[Shotwell] Enhansment to shotwell
Jim Nelson
jim at yorba.org
Fri Apr 23 12:02:50 PDT 2010
I mentioned the architecture overview without providing a URL. In
case you've not seen it:
http://trac.yorba.org/wiki/ShotwellArchitectureOverview
In particular, you'll want to look at Data Structures, Database, and
Commands and Command Manager (as we'll want most of these actions to
be undoable).
-- Jim
On Fri, Apr 23, 2010 at 5:55 AM, Bengt Thuree <bengt at thuree.com> wrote:
> Perhaps consider checking how DigiKam is storing the tags.
> DigiKam also have a hierarchy system of the tags (f-spot do not).
> I think that digikam stores them in the embedded XMP aread as
> /tag1/tag2/tag3 format.
>
> /Bengt
> Den Fr, 2010-04-23, 22:20 skrev Ruslan A. Bondar:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Hello, Adam.
>>
>> I think the code change will contain following steps:
>> 1. Add field "ParentTagId" to TagTable
>> 2. Change the TagTable class to handle this field.
>> 3. Change the find_parent_marker and add_tag_page methods in LibraryWindow
>> to provide recursive tree creation for tag tree.
>> 4. Change drag'n'drop handler to allow moving tags between branches.
>>
>> And something more, such as listeners of tag tree alteration etc. I think
>> these changes will not affect any other functionality. And no major
>> changes in design are required.
>>
>> I think it would be better to store only photos "owned" by this tag, but
>> on load build the full list, containing photos from this and all child
>> tags. And for now I see several ways:
>> 1. Create helper table to speedup loading, but this will slow down tag
>> reassigning (Tag moving between branches). This table may contain only 2
>> fields: TagId and AllTagPhotos.
>> 2. Walk over the table recursively and build the list via concatenation,
>> this will be slightly slower.
>>
>> These are the common thoughts. I'll dig the source deeper during the
>> weekend.
>>
>> On Thu, 22 Apr 2010 19:25:51 -0700
>> Adam Dingle <adam at yorba.org> wrote:
>>
>>> Ruslan,
>>>
>>> thanks for your email. As you probably know, we're also interested
>>> in hierarchical tagging.
>>>
>>> I think at this point we'd like to implement a single-parent system,
>>> in which each tag can have multiple children but only one parent.
>>> This is ticket 1401. After that, we might consider extending the
>>> system to support multiple parents in some way.
>>>
>>> A single-parent tag system in Shotwell would work like this. In the
>>> sidebar, the user should be able to drag any tag A onto any other tag
>>> B; then A becomes a child of B. If the user drags any tag onto the
>>> Tags heading, then it becomes a top-level tag.
>>>
>>> If the user selects any tag, then Shotwell should display all photos
>>> which belong to the tag or any of its children. The set of photos is
>>> sorted according to the View->Sort Photos settings. If a photo
>>> belongs to multiple child tags, it is displayed only once in the
>>> sorted set.
>>>
>>> All tag names must be globally unique. For example, I can't create a
>>> tag named "washington" under a parent "states", and another tag also
>>> named "washington" under a parent tag "cities".
>>>
>>> You said you might like to participate in coding this feature - that
>>> would be great. If the description above sounds reasonable to you,
>>> as a next step maybe you could look at the Shotwell code and send a
>>> brief design proposal to this mailing list. In your proposal,
>>> please describe the database schema changes you intend, plus any new
>>> major classes introduced (if any) and any major changes to existing
>>> classes. We'd be happy to comment on your implementation plan.
>>> Thanks!
>>>
>>> adam
>>>
>>> Ruslan A. Bondar wrote:
>>> > -----BEGIN PGP SIGNED MESSAGE-----
>>> > Hash: SHA1
>>> >
>>> > Hello all.
>>> >
>>> > I have an idea, maybe similar to http://trac.yorba.org/ticket/1401,
>>> > but I'll tell in more details.
>>> >
>>> > It would be great to allow organizing tags into graph.
>>> > So one tag may have multiple parent and multiple children tags. And
>>> > each of them may be assigned to the photo. It will be more flexible
>>> > to organize your photos. As an owner of large, enough, photo album
>>> > (~100 GB of photos) I can say - This feature is VERY useful.
>>> >
>>> > Also I'd like to participate in coding of this feature.
>>> > -----BEGIN PGP SIGNATURE-----
>>> > Version: GnuPG v2.0.14 (GNU/Linux)
>>> >
>>> > iEYEARECAAYFAkvNx+QACgkQRadsTlsSykPASgCcDBrgeobgyNweH2CLTaFt1xZu
>>> > gqUAn3jfVCjMrDPuwQJQWvh3KBYqdq7q
>>> > =4KsN
>>> > -----END PGP SIGNATURE-----
>>> > _______________________________________________
>>> > Shotwell mailing list
>>> > Shotwell at lists.yorba.org
>>> > http://lists.yorba.org/cgi-bin/mailman/listinfo/shotwell
>>> >
>>> >
>>>
>>
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v2.0.14 (GNU/Linux)
>>
>> iEYEARECAAYFAkvRkIYACgkQRadsTlsSykNC4gCeJ6XCVc9RzUwluOwj/lo960xg
>> G30AnAvyDgsu+DK9raFT2LUZFOtf3APZ
>> =LAuc
>> -----END PGP SIGNATURE-----
>> _______________________________________________
>> Shotwell mailing list
>> Shotwell at lists.yorba.org
>> http://lists.yorba.org/cgi-bin/mailman/listinfo/shotwell
>>
>>
>
>
> --
> Bengt Thuree bengt at thuree.com
>
> _______________________________________________
> Shotwell mailing list
> Shotwell at lists.yorba.org
> http://lists.yorba.org/cgi-bin/mailman/listinfo/shotwell
>
More information about the Shotwell
mailing list