From f35245d746080f4e8ba020eff66375e1a938ce52 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Mon, 25 Mar 2019 09:21:12 +0200 Subject: Add: initial commit --- dimbola.com/.bzrignore | 1 + dimbola.com/branches.mdwn | 8 +++ dimbola.com/dimbola-0.0.2.jpg | Bin 0 -> 46038 bytes dimbola.com/index.mdwn | 72 ++++++++++++++++++++ dimbola.com/local.css | 1 + dimbola.com/problems.mdwn | 71 ++++++++++++++++++++ dimbola.com/releasing.mdwn | 32 +++++++++ dimbola.com/roadmap.mdwn | 56 ++++++++++++++++ dimbola.com/testing.mdwn | 95 ++++++++++++++++++++++++++ dimbola.com/wishlist.mdwn | 153 ++++++++++++++++++++++++++++++++++++++++++ 10 files changed, 489 insertions(+) create mode 100644 dimbola.com/.bzrignore create mode 100644 dimbola.com/branches.mdwn create mode 100644 dimbola.com/dimbola-0.0.2.jpg create mode 100644 dimbola.com/index.mdwn create mode 100644 dimbola.com/local.css create mode 100644 dimbola.com/problems.mdwn create mode 100644 dimbola.com/releasing.mdwn create mode 100644 dimbola.com/roadmap.mdwn create mode 100644 dimbola.com/testing.mdwn create mode 100644 dimbola.com/wishlist.mdwn (limited to 'dimbola.com') diff --git a/dimbola.com/.bzrignore b/dimbola.com/.bzrignore new file mode 100644 index 0000000..edd4856 --- /dev/null +++ b/dimbola.com/.bzrignore @@ -0,0 +1 @@ +.ikiwiki diff --git a/dimbola.com/branches.mdwn b/dimbola.com/branches.mdwn new file mode 100644 index 0000000..c6e92a8 --- /dev/null +++ b/dimbola.com/branches.mdwn @@ -0,0 +1,8 @@ +These are the publically announced [bzr](http://bazaar.canonical.com/en/) +branches for Dimbola. To check out the code, run this command: + + bzr get http://code.liw.fi/dimbola/bzr/trunk/ + +(replace the URL with whatever branch you want, of course). + +* [liw trunk](http://code.liw.fi/dimbola/bzr/trunk/) diff --git a/dimbola.com/dimbola-0.0.2.jpg b/dimbola.com/dimbola-0.0.2.jpg new file mode 100644 index 0000000..80ccf2b Binary files /dev/null and b/dimbola.com/dimbola-0.0.2.jpg differ diff --git a/dimbola.com/index.mdwn b/dimbola.com/index.mdwn new file mode 100644 index 0000000..7d90fc7 --- /dev/null +++ b/dimbola.com/index.mdwn @@ -0,0 +1,72 @@ +[[!meta title="Dimbola photo manager"]] + +Helping Linux-using photographers be awesome at finding their photos. + +Dimbola +------- + +Dimbola is, or will be, a free Linux/GNOME application for +**managing digital photographs.** It is aimed at serious +photographers. It is currently **nearing alpha state**, +some basic functionality is there and works, but lots is +still missing. + +This page is a placeholder for until there is some real +content. (Help wanted! This is a wiki, just fix things +if you see something broken.) + +See the [[roadmap]] for what will hopefully happen in +the future. + + +[[dimbola-0.0.2.jpg]] + + +Download +-------- + +The **current version is 0.0.3.** + +To hear about new releases, subscribe to the announcement mailing list by +sending e-mail to `announce-subscribe@dimbola.org` (you will get further +instructions in reply). + +See [NEWS file](http://bazaar.launchpad.net/%7Edimbola-team/dimbola/trunk/annotate/head%3A/NEWS) +for what's new in each release. It is also available as Help/News in the program. + +See [[branches]] for version control branches. + +The program is developed under Ubuntu 9.04 (jaunty) and +9.10 (karmic), but should work elsewhere with Python 2.6, +PyGTK, dcraw, pyexiv2, and netpbm. + +Dimbola is licensed under the GNU General Public License, +version 3 or later. + + +Releasing +--------- + +See [[testing]] for a manual test manuscript, and +[[releasing]] for a release checklist. + + +Problems and stuff to improve +----------------------------- + +See [[problems]] page for a list of problems (things +that are done, but work badly) and the [[wishlist]] +page for new things that would be nice to add. + + +Authors +------- + +Currently being developed by Lars Wirzenius (liw@liw.fi). +Help is quite welcome. + + +See also +-------- + +Lars's [blog entries](http://blog.liw.fi/tag/dimbola/) about Dimbola. diff --git a/dimbola.com/local.css b/dimbola.com/local.css new file mode 100644 index 0000000..79a8bf6 --- /dev/null +++ b/dimbola.com/local.css @@ -0,0 +1 @@ +@import "http://files.liw.fi/ikiwiki-theme/local.css"; diff --git a/dimbola.com/problems.mdwn b/dimbola.com/problems.mdwn new file mode 100644 index 0000000..f796cff --- /dev/null +++ b/dimbola.com/problems.mdwn @@ -0,0 +1,71 @@ +This page lists **problems** (or bugs): things that go wrong, +in the parts that have been implemented already. For example, +a failure to rotate an image would belong on this page. +See also [[wishlist]] page. + +Things that must be fixed before the next release +------------------------------------------------- + +* Nothing right now. + +Fixed in bzr, but not yet in a release +-------------------------------------- + +* dimbola-gtk needs a manual page. +* Drag-and-dropping tags from tree should be possible from tag name, + currently it just starts editing immediately. +* If dcraw is not installed, the error message is quite mysterious, + and should instead say something sensible like dcraw not being + installed. Requiring it to be installed is perhaps not entirely + warranted, in case people only want to use JPEGs or PNGs or + other formats that GdkPixbuf supports natively. + - catch OSError when running external programs with subprocess + and report error to user in a clear fashion + - demote dcraw dependency in .deb to a recommendation + - have dcraw type caching silently handle the case of there not + being dcraw installed by return "does not support" for everything +* Folders are not sorted by name in the folder tree. +* Photo's tags not sorted case-insensitively. + +Current +------- + +* Does not build a working .deb under Debian (works under Ubuntu). + **Help needed.** +* Cannot drag-and-drop tags to image preview. +* Can't enter รค into tag name. This is perhaps an indication that unicode + is not enforced properly in the database layer. +* When changing folder, selection should be reset in grid, and + photo's info should be updated accordingly. +* Grid's scrollbar does not seem to be set correctly when + changing to a folder. +* Is not internationalized (i18n) and therefore not localized (l10n). + **Help needed.** +* Database schema should be more systematic about how tables are named. + photos and folders are main tables, but tags just references two other + tables. (Suggested by jiivonen) +* Database should build indexes for things to keep things speed. Exactly + what needs indexing should be determined by benchmarks. (Suggested by + jiivonen) + + +Bugs in other people's code that Dimbola users may hit upon +----------------------------------------------------------- + +* When exporting, can't select the directory that opens as default. + See . + Workaround: go to parent directly, and select the desired directory + there. + + +Stuff to fix some time later in the future +------------------------------------------- + +* Database schema should use FOREIGN KEYs. Can't be fixed yet, since + it requires Sqlite 3.6.19 and Ubuntu karmic only has 3.6.16. + (Suggested by jiivonen) + +Help for Dimbola: +------------------------------------------- +* [Overview of dimbola](https://launchpad.net/dimbola) +* [Bazaar branches of dimbola](https://code.launchpad.net/dimbola) diff --git a/dimbola.com/releasing.mdwn b/dimbola.com/releasing.mdwn new file mode 100644 index 0000000..3766355 --- /dev/null +++ b/dimbola.com/releasing.mdwn @@ -0,0 +1,32 @@ +This is a checklist of making a Dimbola release. + +1. Branch trunk into a temporary branch for making + release preparations: + + bzr branch trunk release-prep +1. Make sure `make clean check` passes. +1. Update `NEWS`. +1. Update `debian/changelog`. +1. Run through the [[testing]] manuscript. If there + are any serious bugs, abort release process. +1. Increase version number in `dimbola/__init__.py`. +1. Build `.deb` package, install it, and test it. + + rm -rf ../build-area && bzr bd + sudo dpkg -i ../build-area/*.deb +1. Make sure Help/News is up to date when + running the newly installed package. +1. Upload `.deb` package to main upload target. +1. Merge temporary branch to trunk. +1. Tag: + + bzr tag version_x_y_z +1. Push changes to trunk to master location. +1. For each other Debian-like upload target, + make a new temporary branch, update + debian/changelog with a very short entry + marked for the upload target, build package, + and upload. (You may have to fix building + on anything than Ubuntu first, though.) +1. Make a new screenshot and put it on the + front page. diff --git a/dimbola.com/roadmap.mdwn b/dimbola.com/roadmap.mdwn new file mode 100644 index 0000000..e06944f --- /dev/null +++ b/dimbola.com/roadmap.mdwn @@ -0,0 +1,56 @@ +Roadmap for Dimbola +=================== + + +Dimbola 1.0 +----------- + +This is the feature set that 1.0 will hopefully have. +Since Dimbola is a hobby project, changes are always +possible. + +* Copy photos from camera/memory card to hard disk. (dimbola-copy is + a command line program that most of this, but needs to be + integrated into the GUI.) + * Optionally rename files. + * Optionally copy files to two locations. + * Also add to currently open database. +* Add photos to database from hard disk. + * Individual, hand-picked images. **Done.** + * Recursively for a whole directory tree. +* Tag, rate, rotate photos efficiently. + * Tags can be created. **Done.** + * Tags can be arranged in a hierarchy. **Done.** + * One or more tags can be added to one or more photos in one operation. + * Tags can be added to photos when they're exported. + * Tag lists can be exported and imported (merged to current list), + so people can share them. + * Tags have flags for controlling export to photos, sharing. +* Import and display EXIF fields. + * Display all fields. + * Display user-specified selection of fields. + * Display a basic, pre-configured set of fields. **Done.** +* Display/edit all IPTC fields. + * Display all fields. + * Display user-specified selection of fields. + * Display a basic, pre-configured set of fields. +* Search photos based on various criteria. + * Which folder they're in. **Done.** + * Tags they have. **Done.** + * Rating. **Done.** + * EXIF fields. + * IPTC fields. + * Searches can be saved. + * Search results (saved or not) are updated automatically when something changes. +* Virtual folders ("collections" in Lightroom). +* View photos in another window, which can be made fullscreen (perhaps on + a second monitor). **Done.** +* Export original or JPEG versions of photos. **Done.** + * Exported files contain or are accompanied by metadata. +* Generate a simple HTML gallery from selected photos. +* Databases can be synchronized between different computers. + * For example, between desktop and laptop (sync everything), or + two collaborating people (sync just some stuff). + * Two-way synchronization: changes to either end will be combined to + the other, without overwriting the other's changes. +* Everything that sensibly can, can be done with only mouse or keyboard. diff --git a/dimbola.com/testing.mdwn b/dimbola.com/testing.mdwn new file mode 100644 index 0000000..811f728 --- /dev/null +++ b/dimbola.com/testing.mdwn @@ -0,0 +1,95 @@ +Manual testing of Dimbola +========================= + +**Note: This version is for the upcoming 0.0.2 release.** + +Dimbola has an automatic unit test suite with decent coverage. It does +not test everything, however, and particularly the UI parts of the code +are untested. Thus, for a Dimbola release, the following manual test +manuscript is supposed to be followed. It also does not cover everything, +but ensures at least that the basics work. As Dimbola evolves, this test +manuscript will evolve with it, to match the new or changed stuff in a +new release. + + +Update test manuscript for new release +-------------------------------------- + +If you are testing in preparation for a new release, first update +this test manuscript to match the upcoming release. + + +Setup +----- + +Get the Dimbola test images from + and unpack them +in a location that is suitable for you. + +If you have a default.dimbola file, please rename it for the +duration of this test manuscript, or run dimbola with +a filename for a new database file. + +Start Dimbola, either from the command line or the GNOME menus. +Verify that there are no folders and no tags. + + +Importing +--------- + +Import all photos in dimbola-test-images (which you unpacked +in the setup section). + +Verify that all folders exist and images have a thumbnail, and can +be viewed in full size. + + +Browsing +-------- + +Select some photos. Verify that they have relevant EXIF data +which looks correct or at least does not not look obviously +incorrect. + + +Exporting +--------- + +Select some photos and export them twice: once as the original +files, and once as JPEGs. Export each to a different (preferably +new) folder. + +Verify that the exported files look correct by opening them in +a suitable image viewer. + + +Tagging +------- + +Create some tags. Arrange them in a hierarchy by dragging and dropping +them. + +Add tags to photos by dragging and dropping to them, and to the +currently selected photos' tag list. Select several tags, and +several photos, and drag the tags to the photos. Verify all +photos got all tags. + +Remove tags from the photos' tag list using the popup menu. + +Remove tags from the global list. Also remove a tag that apply to +some photos, and verify they get removed from the photos as well. + + +Rating +------ + +Select photos and add ratings to them. Then change the ratings. +Verify that they ratings stick if you select some other photo and +then go back. + + +Searching +--------- + +With some photos and tags and ratings in the database, search for +them with various criteria. Verify that you find the right ones. diff --git a/dimbola.com/wishlist.mdwn b/dimbola.com/wishlist.mdwn new file mode 100644 index 0000000..7567480 --- /dev/null +++ b/dimbola.com/wishlist.mdwn @@ -0,0 +1,153 @@ +[[!meta title="wishlist for Dimbola"]] + +This page lists wishes for new stuff to add to Dimbola. +See also [[problems]] page. + +Done in bzr, but not in a release yet +------------------------------------- + +* Allow user to remove photos from database and optionally from disk as well. + + +Planned for the next release +---------------------------- + +* Dimbola should write (and rotate) a log file that could be added + to bug reports easily. +* Add date of import. This could be used for an iPhoto-like "list of + imports" view. Perhaps a "import id" as well? + + +Website +------- + +* Website wants to be loved by a web designer. **Help needed.** +* Make a feedback form for each release, using ikiwiki polling features. + + +Importing photos +---------------- + +* Importing should detect duplicate photos and optionally not add them. +* Maybe importing should add photos really fast, and then add thumbnails, + previews in the background? +* When importing images to database, the folders with the new images + should perhaps be selected so the images are visible immediately. +* Import should optionally be recursive: everything in subdirectories + should be imported as well. +* Add all exif fields into database, not just selected ones. Let user see a predefined set, + all of them, or a user-defined set (multiple user-defined sets?). Add + way for user to re-scan all files for Exif headers (useful for then (py)exiv2 + gets new features?). + +Thumbnail grid +-------------- + +* Thumbnails should have some basic metadata displayed: stars for ratings, + at the very least. +* Thumbnail grid should allow selecting by painting with the mouse. +* Thumbnail grid shows images in semi-random order (photoid). Order by mtime, if nothing else. + Ideally user should be able to choose from different orderings, such as + Exif timestamp, camera photo serial number, or file mtime. + +Tag and tag management +---------------------- + +* Tag tree should allow showing all tags (expand all trees), only top level + tags (close all trees), or close everything except a single tree. +* Photo's tag list: should let user select whether to show only tags + explicitly added, or also their parents (and aliases if those are added). +* Should be able to add add multiple tags to multiple photos at a time with drag-and-drop. + +Exporting photos +---------------- + +* Add tags, exif to exported photos (jpegs, originals). + +Editing with the GIMP +--------------------- + +* When editing with gimp, can we export a .xcf? Or have gimp do raw conversion? + +Code reactoring +--------------- + +* When grid.photoids gets set, it should automatically trigger loading of thumbnails + from database, and also shouldn't forget thumbnails that are in the new value of + photoids. +* remove_from_menu should be accompanied by method that just removes all menu entries + added by that plugin. + +New features +------------ + +* Preview sizes should perhaps be user-configurable. +* Searching based on Exif headers would be good. ("Find all photos taken + with this camera and that lense on this time of day.") +* It should be easy to copy tags from one photo to another. +* Folders, tags (in tag tree), and grid should display photo counts. +* Remember some settings across restarts, such as size of thumbnails. +* Undo/redo: adding, renaming, removing tags in tag tree; adding, removing + tags to photos; rotate; ratings; ... +* Tags should perhaps have aliases, flags (export with photo, export when + sharing tag lists). See also . +* Search tags in tag tree. Add a search box at the top. +* Should handle the case when photos move in the filesystem: have a way to + search for and reconnect with photos after they've moved. (Might happen + 'cause they're on an external disk and the mount point changes.) Store + checksum, size of original files and use that to find the photos if they + move. +* Would be nice to handle offline images properly: indicate when they're + not there, and warn (not crash) when doing things that would require + them. +* Would be nice to have an icon for Dimbola. **Help wanted.** +* Add the functionality of dimbola-copy to dimbola-gtk. +* A performance stress tester for the database would be good, so we know + how big a photo set it can handle. +* Support IPTC tags. +* Make it possible to have "presets" of tags and other metadata that get + added to images when they're imported, or later. +* Background jobs should estimate remaining time. +* Smart collections or saved searches, a la Lightroom. +* Collections or manually created virtual folders, a la Lightroom. +* Should use unicode only in the database, and not allow any other kind + of text. +* Synchronization between Dimbola databases would be really cool. +* Add support for arbitrary key/value pairs as metadata? +* Dimbola should have File/New, File/Open, File/Close. Not File/Save, since + all changes are saved immediately and implicitly, but perhaps + File/Save as. +* Need to add i18n and l10n. +* .dimbola files need a MIME type of their own, so double-clicking on them + will open them up in Dimbola without hassle. But not all Sqlite files! +* Verify checksums of photos, at opportune moments. Also, a background job to + verify checksums of selected photos, or all photos. +* Export metadata to photos (not doable for RAW images, mostly) or XMP files. + Either manually, or automatically for each change. +* Large thumbnail or small preview of the selected photo, a la Lightroom. +* Film strip to show all photos on the grid, for non-grid views to show context. +* View two photos at a time to compare them. +* Survey mode: show all selected photos, then allow user to deselect + and make the remaining thumbs bigger (as big as they can be while + showing everything). does this emphasize "find faults" rather than "find good stuff"? + (see [Carl Weese on editing](http://theonlinephotographer.typepad.com/the_online_photographer/2009/10/editing-a-large-set-of-digital-captures.html) + and [followup](http://theonlinephotographer.typepad.com/the_online_photographer/2009/10/zen-slap.html), + both at [The Online Photographer blog](http://theonlinephotographer.com/)) +* Make a PDF, video file, and web slideshow of selected photos. +* A "previous import" collection, or perhaps a way to show all imports as folders. +* When no photo is selected, say so in the photo info and other sidebar sections, rather + than just making them insensitive. This would provide a hint to the user what the + reason for the insensitivity is. +* Do some database stress testing: add logging of what requests are done to the db.py module, + then make a dummy database that is very large, and do the requests on that many times. + Does it work? What's slow? Memory usage? + +Definitely not until after 1.0 +------------------------------ + +* Some RAW processing support would be good. (Set parameters for dcraw + when it is run.) +* Support geo stuff: add location tags from GPS traces (match on timestamps), + find by location, perhaps show and search on maps. +* A plugin to export selected photos as a PDF formatted for printing as a + book would be nice. -- cgit v1.2.1