/FlickrMS

Flickr Management System is a FUSE application that syncs a Flickr account to a specified directory. This allows for management of ones flickr photos and photosets directly from a POSIX compliant machine.

Primary LanguageCApache License 2.0Apache-2.0

==Authors==
Created by:	Patrick Jennings
Website:	https://github.com/patrickjennings/FlickrMS


==About==
Are you tired of spending a significant amount of time messing around with the
Flickr website? Are you sick of seeing advertisements on every page you load?
Or are you just looking for an easier way to manage your Flickr photos from any
computer? Imagine being able to use the applications you want to view and modify
your photos while still taking advantage of the unlimited storage space of the
Flickr cloud! Paying for Flickr Pro is no longer the only option for satisfying
your desire for photo perfection... not when there is FlickrMS!

This application can be used to mount a Flickr account directly onto your
file system. The photos will seem to be on your local machine but all changes done
will also affect the users Flickr account. Once mounted, the file system will
act like any other directory and you can use any of your favorite image viewers
or editors to access your Flickr photos!

Photos will be placed in directories that represent which photoset the photo
belongs to. If a photo does not belong to a photoset, the photo will appear in
the root directory. A photo that has an empty name in Flickr, will display its
Flickr photo id instead. All of this is to ensure that all of your photos will be
organized the way you intended and are perfectly viewable from the file system.

The application is written in C and was designed for efficiency and compatability.
It will run on any POSIX compliant machine. This means all UNIX-based and BSD-based
machines should be supported. The application will use the lowest amount of resources
possible. Obviously, this application will use your Flickr account to store photos so
no persistent storage is necessary. The internal caching mechanism dynamically grows
to allow for infinite storage capacity while still recognizing remote changes to the
Flickr account.

FlickrMS was written by an experienced and well-educated hacker. As such, the file system
will be tested for bugs and UI malfunctions. If you find any pressing concerns, please
let them be known at the following URL:
https://github.com/patrickjennings/FlickrMS/issues


==Installation==
Dependencies:
	FUSE (tested on fuse-2.8.5)
		http://fuse.sourceforge.net/
	>=Flickcurl-1.21
		http://librdf.org/flickcurl/

FlickrMS comes with a custom Makefile that can be used to create the binary
application. To compile and create the binary, simply type:

$ make

To install the binary, type:

$ sudo make install

To uninstall, simply type:

$ sudo make uninstall


==Configuration==
You must allow FlickrMS access to your Flickr account. This is done via the Flickr API
and communication through Flickcurl. You must setup ~/.flickcurl.conf as follows:

$ nano ~/.flickcurl.conf
[flickr]
api_key=2e66493ec959256a79e4e5a3da7df729
secret=c1b99d47790391c3
$

Then visit:
http://www.flickr.com/services/auth/?mobile=1&api_key=2e66493ec959256a79e4e5a3da7df729&perms=delete&api_sig=6417abca6880d676c010600e8c65a045
and select:
[OK, I'LL AUTHORIZE IT]

This will allow the user the ability to link their Flickr account with FlickrMS.
The user will be given a 9-digit FROB that can be given to the flickcurl api to
link the user's account to the interface. Finally, execute:

$ flickcurl -a 123-456-789

where 123-456-789 is the 9-digit FROB given to the user above. This will finish
the linking of the user's account with the flickcurl API and library and the
user should then see the following format in their configuration file:

$ cat ~/.flickcurl.conf
[flickr]
auth_token=-------
api_key=2e66493ec959256a79e4e5a3da7df729
secret=c1b99d47790391c3
$

See http://librdf.org/flickcurl/ for more information on Flickrcurl API
configuration and http://www.flickr.com/services/apps/72157623762128193/
for the info on the api key and secret of FlickrMS.


==Usage==
To mount, execute:

$ flickrms mountDir/

This mounts the file system onto the empty directory 'mountDir'. Then
the you will be able to navigate into 'mountDir' and directly access
your Flickr photos! You will then be able to interact with the files
and folders just like if they were on your local computer.

To unmount, execute:

$ fusermount -u mountDir/

This will remove the file system from the 'mountDir' directory. If you
navigate into 'mountDir' you will notice that your Flickr photos will
no longer be visible.


==Q/A==
Q: Why isn't the flickcurl.pc file not able to be found by pkg-config?

A: It is installed in /usr/local/lib/pkgconfig by default. You will have to add
this directory to the PKG_CONFIG_PATH environment variable using the command:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/