# Eureka Streams

Eureka Streams is a free, open-source enterprise, social networking platform developed by Lockheed Martin. Activity streams and gadgets make up its core functionality. Content within Eureka Streams consists primarily of microblogs and internal and external web feeds. Users typically provide links to other content, such as wikis, blogs and shared documents housed in a content management system.

## Technical architecture

Eureka Streams uses a shared nothing architecture. It uses Memcached, Apache Maven, PostgreSQL and Hibernate. It uses Shindig for OpenSocial.
It makes use of Java Message Service (JMS), Java Persistence API (JPA), Lucene and Google Web Toolkit (GWT). It makes use of the Apache JServ Protocol (AJP), OAuth and Representational State Transfer (REST).

## History

The development of the Eureka Streams software began at Lockheed Martin in early 2009. The open source project was first announced publicly at the Enterprise 2.0 Conference in Boston, Massachusetts in July 2009. However, the name "Eureka Streams" was chosen later that summer and subsequently revealed publicly with the open source project announcement on July 26, 2010.
The core team behind Eureka Streams resides in the CIO Office of Lockheed Martin Information Systems & Global Solutions. Its principal members include Shawn Dahlen, Chris Keohane, Brian H. Mayo, Steve Terlecki, Blake Caldwell, Chad Scott, Rob Keane, and Anthony Romano.
When the open source project was first announced, the open source community initially reacted with some surprise. This is partly because the originating company is a large aerospace & defense company. In addition, the project apparently bucked the trend of fewer enterprises participating in open source projects.
Eureka Streams Version History :
| Version | Release date | Description |
| 0.9 | July 9, 2010 | First open source release (github.com) |
| 0.9.1 | September 1, 2010 | Notification to user when navigating away from personal profile with unsaved changes; text changes to the "following" email notification; enable the use of the back button; external links open in new window |
| 0.9.2 | September 22, 2010 | Group member email notifications - any member of a group is notified when an activity is posted to that group |

## Features

Eureka Streams consists of three end-user components: Activity Streams, Profiles, and Start Page. It also provides governance-related features.

### Activity streams

* Create and follow individual or group streams
* Create public or private group streams
* Post message or links
* Comment on and share activity
* Save an activity as a favorite
* Import activity to an individual or group stream (e.g., from any public RSS feed)
* Organize streams into custom lists
* Save a keyword search for activity
* Create an app from a list or saved search
* Restrict the posting of messages or comments to a stream
* Receive email notifications for new activity, comments, and followers
* Receive real-time alerts for new activity when viewing a stream

### Profiles

* Capture profile information for an individual including a biography, work history, education, and interests
* Capture profile information for a group or organization including an overview and keywords
* Upload an avatar for an individual, group, or organization stream
* Upload a page banner for a group or organization stream
* View the connections for an individual or group stream
* View a checklist of items to complete a profile
* Browse profiles of individual, group, and organization streams sorted by new, active, or popular
* Search for individuals, groups, and organizations based on profile information

### Start page

* Add apps that display information from intranet and Internet sources
* Organize apps onto tabs
* Move apps on or between tabs via drag-and-drop
* Apply a layout to a tab
* Browse or search a gallery of apps and themes
* View any public RSS feed in a feed reader app and share items to a personal stream

### Governance

* Manage an access list based on LDAP groups and attributes
* Embed videos for end users
* Manage gadgets, themes, and stream plugins
* Configure terms of service confirmation
* Display message to users about appropriate use
* Set a duration for activity expiration
* Manage the creation of new groups
* Manage activity flagged by users as inappropriate