berkmancenter / tagteam

Enhanced Social Tagging for Academic Communities
http://tagteam.harvard.edu/
GNU Affero General Public License v3.0
93 stars 30 forks source link
atom feed rss ruby tagging

{Build Status}[https://travis-ci.org/berkmancenter/tagteam]

= TagTeam

TagTeam is an RSS / Atom / RDF aggregator with the ability to filter and remix its input feeds with a high degree of flexibility.

Items can be added directly to TagTeam "bookmarking collections" via the provided delicious-like bookmarklet, and these items can be remixed and filtered like any other item.

TagTeam can aggregate content from anything that emits RSS, Atom, or RDF. This includes delicious, zotero, WordPress, twitter, mediawiki, connotea, blogger, github, and too many other applications and services to mention. It uses the feed-abstract gem, written as part of this project to create a better way of dealing with structured feeds. feed-abstract understands some generators and does magical things - like turning twitter hashtags into actual tags on aggregated items.

TagTeam can import Delicious and Connotea backups directly into a bookmark collection, and will support more formats soon.

Remixed feeds are available as RSS 2.0, Atom, and jsonp output and can be viewed directly in a hub. Feeds, FeedItems, and Tags can be added and removed from a Remixed feed contextually within the application.

Tag filters can be applied at different levels to allow hub owners to maintain a consistent collection of tags - you can take messy tags in and give clean tags out.

TagTeam can be many things to many people, allowing you to ignore or utilize its many features depending on what you need. Examples:

== System Requirements

== Installation

TagTeam is a fairly traditional rails 5.0 app that needs a java daemon and redis for job tracking / management.

=== To run with RAILS_ENV=production on localhost

== Testing

+rspec+

== Development

The only thing you need is +Docker+ (https://docs.docker.com/install/) and +Docker Compose+ (https://docs.docker.com/compose/install/).

== Caching

Most of TagTeam is action cached for non-authenticated users, and sometimes for users without administrative rights. The default cache time is 15 minutes, and the file-based cache is expired via the cron jobs articulated above. Feel free to switch the caching backend, but honestly if you're not clustering and have a moderately fast disk subsystem there's almost no point. "rake tmp:clear" can be your cache-clearing sledgehammer, of course.

== Architectural Overview

More info can be found in the rdoc-generated API docs (check out this repo and run "rake doc:app") and in the doc/ddl.png graphical schema overview.

== TODO

== Links

== Contributors

== License

TagTeam is licensed under the AGPL

== Copyright

2016 President and Fellows of Harvard College

== Performance Monitoring