sfm-ui / Social Feed Manager
Social Feed Manager (SFM) harvests social media data from multiple platforms' public APIs to help archivists, librarians, and researchers to build social media collections. More information about the project itself.
Getting started
- Documentation: http://sfm.readthedocs.org
- Installing SFM: http://sfm.readthedocs.io/en/latest/install.html
- About the SFM project: http://gwu-libraries.github.com/sfm-ui
- Project updates: Follow @SocialFeedMgr on Twitter
- Discussion: sfm-dev
- Tickets: sfm-ui is used for all ticketing.
This is a re-architected version of an earlier Social Feed Manager which had been in use at GWU Libraries since 2012.
Overview
Social Feed Manager allows users to:
- define collections comprising sets of targeted accounts, keywords, and other search strategies appropriate to different platforms.
- authorize SFM to harvest data from platforms on the user's behalf.
- view collection information and metadata about harvests.
- extract, filter, and export the datasets to formats appropriate to the user's work.
Repositories
The full Social Feed Manager is made up of several component repositories:
- sfm-ui: (this repo) User interface and datastore for collection and harvest information.
- sfm-flickr-harvester: A harvester for Flickr.
- sfm-twitter-harvester: A harvester for Twitter.
- sfm-weibo-harvester: A harvester for Sina Weibo.
- sfm-tumblr-harvester: A harvester for Tumblr.
- sfm-utils: Utilities to support SFM.
- sfm-docker: Docker configuration for deploying SFM.
sfm-ui is a Django app which:
- Provides a user interface to set up Collection Sets, Collections, and Seeds
- Provides Django admin views to administer Credentials, Groups, and other model entities.
- Publishes harvest.start messages for flickr collections. The app schedules harvest.start messages for publication when the user updates an existing, active Collection.
- Includes a scheduler which uses apscheduler to schedule publication of harvest.start messages.
- Binds to
harvest.status.*(.*)
messages and creates a Harvest object (visible in the admin views) for each harvest status message received. The message consumer is started via thestartconsumer
management command.
Behind the scenes, SFM uses a set of carefully managed processes to harvest and and store this data, recording its actions in detail.
Tickets / pull requests / discussion are welcome.
Unit tests
cd sfm
./manage.py test --settings=sfm.settings.test_settings