License work
- From: Patrick Wagstrom <wagspat iit edu>
- To: F-Spot <f-spot-list gnome org>
- Subject: License work
- Date: Wed, 20 Jul 2005 15:12:00 -0400
Hi everyone,
I've managed to get some of the preliminary support for licenses
implemented right now. No GUI or way to add licenses, but they're all
stored in the database. The GUI stuff will be next I guess.
Here's a general overview of how things are set up.
There are two new tables created in the database, one called "licenses"
that contains information on the licenses known to this version of
f-spot and another called "photo_license" (yes, it's singular) that maps
each photo to a single license.
Here's the schema for licenses:
licenses ( id INTEGER PRIMARY KEY NOT NULL,
name TEXT UNIQUE,
uri TEXT UNIQUE,
allowReproduction BOOLEAN,
allowDistribution BOOLEAN,
allowDerivative BOOLEAN,
allowCommercial BOOLEAN,
requireNotice BOOLEAN,
requireShareAlike BOOLEAN,
immutable BOOLEAN);
id -> integer used for the system to map licenses
name -> the name of the license (i.e. "CC Attribution-NonCommercial-ShareAlike 2.5" or "Public Domain")
uri -> link to where you can find info on the license (i.e. "http://creativecommons.org/licenses/by-nc-sa/2.5/")
allowReproduction -> does the license allow for reproduction
allowDistribution -> can you redistribute the work
allowDerivative -> can you make derivative works
allowCommerical -> can you use for commercial purposes?
requireNotice -> do you need to give the original author credit?
requireShareAlike -> do you need to use same license?
immutable -> can this license definition be modified?
The general thought behind the last one is that the licenses that come
predefined with f-spot should be marked as immutable as there may be
confusion is some folks made a change so something like by-nc-sa allowed
commercial exploitation.
Most of the other boolean values are contained in the CC RDF definitions
for the licenses.
We join licenses to photos using photo_license
CREATE TABLE photo_license ( photo_id INTEGER,
license_id INTEGER);
This should really be pretty straight forward. With the exception that
photo_id should only be in there once. For most purposes, we shouldn't
worry about multiple licenses on a single photo as it will just get
really confusing.
Internally this is all handled by the creation of a LicenseStore object
that is created and passed into the PhotoStore object when the Database
initializes itself.
Obviously, feedback on the above is GREATLY appreciated.
So here's what I've gotta do now.
1) Add a menu to attach a license to a photo. I was thinking that this
could be the same right clicky thing that is currently used to add tags
to photos (i.e. right click->add license).
2) Make a way to show visibly if a license is attached to a photo. Not
sure about the best way to do this.
3) License search. This will probably be some sort of dialog or
something. Although, ideally it would be another element in the sidebar
with the tags. For example, a tree like this could appear as another
"tag":
Licenses (checking would show only licensed photos)
-> Public Domain
-> Creative Commons
---> By-Nc-Sa
---> By-Sa
---> By
------------------
->Properties
---->allow reproduction
---->allow distribution
---->allow derivative
---->allow commercial use
---->require notice
---->require share alike
Here's the tricky part, where I need some HIG gurus. Logically it seems
that the top section of such a dialog should be an "or" clause (Ie. All
public domain AND all by-nc-sa photos), while the bottom set of
properties should be an "and" clause ("show all photos that allow
commercial use and don't require notice")
Thoughts are appreciated on this stuff. The implementation of the
browse by license is still a ways off though. First job is to get the
menu to set licenses done.
Thanks!
--Patrick
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]