Eureka Streams
Encyclopedia
Eureka Streams is a free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

, open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 enterprise social networking platform developed by Lockheed Martin
Lockheed Martin
Lockheed Martin is an American global aerospace, defense, security, and advanced technology company with worldwide interests. It was formed by the merger of Lockheed Corporation with Martin Marietta in March 1995. It is headquartered in Bethesda, Maryland, in the Washington Metropolitan Area....

. Activity streams
Activity stream
An activity stream is a list of recent activities performed by an individual, typically on a single website. For example, Facebook's News Feed is an activity stream. Since the introduction of the News Feed on September 6, 2006, other major websites have introduced similar implementations for their...

 and gadgets
Software widget
A software widget is a generic type of software application comprising portable code intended for one or more different software platforms. The term often implies that either the application, user interface, or both, are light, meaning relatively simple and easy to use, as exemplified by a desk...

 make up its core functionality. Content within Eureka Streams consists primarily of microblogs
Microblogging
Microblogging is a broadcast medium in the form of blogging. A microblog differs from a traditional blog in that its content is typically smaller in both actual and aggregate file size...

 and internal and external web feed
Web feed
A web feed is a data format used for providing users with frequently updated content. Content distributors syndicate a web feed, thereby allowing users to subscribe to it. Making a collection of web feeds accessible in one spot is known as aggregation, which is performed by an aggregator...

s. Users typically provide links
Hyperlink
In computing, a hyperlink is a reference to data that the reader can directly follow, or that is followed automatically. A hyperlink points to a whole document or to a specific element within a document. Hypertext is text with hyperlinks...

 to other content, such as wiki
Wiki
A wiki is a website that allows the creation and editing of any number of interlinked web pages via a web browser using a simplified markup language or a WYSIWYG text editor. Wikis are typically powered by wiki software and are often used collaboratively by multiple users. Examples include...

s, blog
Blog
A blog is a type of website or part of a website supposed to be updated with new content from time to time. Blogs are usually maintained by an individual with regular entries of commentary, descriptions of events, or other material such as graphics or video. Entries are commonly displayed in...

s, and shared documents housed in a content management system
Content management system
A content management system is a system providing a collection of procedures used to manage work flow in a collaborative environment. These procedures can be manual or computer-based...

.

Technical architecture

Eureka Streams uses a shared nothing architecture
Shared nothing architecture
A shared nothing architecture is a distributed computing architecture in which each node is independent and self-sufficient, and there is no single point of contention across the system...

. It uses Memcached
Memcached
In computing, memcached is a general-purpose distributed memory caching system that was originally developed by Danga Interactive for LiveJournal, but is now used by many other sites. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the...

, Apache Maven
Apache Maven
Maven is a build automation and software comprehension tool. While primarily used for Java programming, it can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. Maven serves a similar purpose to the Apache Ant tool, but it is based on different concepts and...

, PostgreSQL
PostgreSQL
PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...

 and Hibernate
Hibernate (Java)
Hibernate is an object-relational mapping library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database...

. It uses Shindig
Shindig (software)
Shindig is an open source project which began in December 2007 to provide a reference implementation for the OpenSocial standard. The software contains both server-side and client-side code...

 for OpenSocial
OpenSocial
OpenSocial is a set of common application programming interfaces for web-based social network applications, developed by Google along with MySpace and a number of other social networks.It was released November 1, 2007....

.

It makes use of Java Message Service
Java Message Service
The Java Message Service API is a Java Message Oriented Middleware API for sending messages between two or more clients. JMS is a part of the Java Platform, Enterprise Edition, and is defined by a specification developed under the Java Community Process as JSR 914...

 (JMS), Java Persistence API
Java Persistence API
The Java Persistence API, sometimes referred to as JPA, is a Java programming language framework managing relational data in applications using Java Platform, Standard Edition and Java Platform, Enterprise Edition....

 (JPA), Lucene
Lucene
Apache Lucene is a free/open source information retrieval software library, originally created in Java by Doug Cutting. It is supported by the Apache Software Foundation and is released under the Apache Software License....

 and Google Web Toolkit
Google Web Toolkit
Google Web Toolkit is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java. Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files...

 (GWT). It makes use of the Apache JServ Protocol
Apache JServ Protocol
The Apache JServ Protocol is a binary protocol that can proxy inbound requests from a web server through to an application server that sits behind the web server. It also supports some monitoring in that the web server can ping the application server...

 (AJP), OAuth
OAuth
OAuth is an open standard for authorization. It allows users to share their private resources stored on one site with another site without having to hand out their credentials, typically username and password.OAuth allows users to hand out tokens instead of credentials to their data hosted by a...

 and Representational State Transfer
Representational State Transfer
Representational state transfer is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation...

 (REST).

History

The development of the Eureka Streams software began at Lockheed Martin in the spring of 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, Social Media Program Manager; Chris Keohane, Social Media Product Manager; and Brian Mayo, Chief Engineer.

When the open source project was first announced, the open source community initially reacted with some surprise. This is partly due the fact that 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
    RSS
    -Mathematics:* Root-sum-square, the square root of the sum of the squares of the elements of a data set* Residual sum of squares in statistics-Technology:* RSS , "Really Simple Syndication" or "Rich Site Summary", a family of web feed formats...

     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

See also

  • List of social networking websites
  • Social software
    Social software
    Social software applications include communication tools and interactive tools. Communication tools typically handle the capturing, storing and presentation of communication, usually written but increasingly including audio and video as well. Interactive tools handle mediated interactions between a...


External links

  • Official website
  • http://github.com/lmco/eurekastreams
  • http://groups.google.com/group/eureka-streams-dev
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK