The Fogcutter Suite - smart tools for collaboration and knowledge management
What is it?Fogcutter is an umbrella project, sponsored by Fogbeam Labs, which is building a suite of powerful, open-source tools for knowledge management and collaboration.
Why "Fogcutter?"Fogbeam'ers like light and things related to light... our projects are about, as we like to say, "cutting through the information fog." We like to build tools to help people find, share, reuse and create knowledge out of the raw data and unstructured information they have in their organizations. So "fogcutter" gets to the core of what we are all about. And it sounds cool to boot.
Tell Me MoreThe 65,000 foot overview description would go something like this:
"Fogcutter is an open-source suite of APIs, components and applications - driven by the principles of federation, composition, open protocols, and open standards - for building and enabling intelligent enterprise applications for collaboration, social-networking, knowledge management and discovery, organizational learning, Information Retrieval and decision support."Fogcutter proper, then, is an "umbrella project" or over-arching structure for sub-projects that handle different parts of this vision. Think of how Glassfish has become an "umbrella" project for a series of related projects: OpenMQ, OpenESB, !SailFin, Portal Server, etc. With Fogcutter as the overall encompassing framework, sub-projects will deal with provide various APIs and/or applications / subsystems that are part of this overall "intelligent application" vision. Subprojects will deal with things like: an API / system for managing tags, recommendations engine, mechanism for dealing with voting/ranking things, something for managing a social graph and allowing queries against it, etc. Of course, as before, in a lot of areas existing open-source code exists to do these things. In that case, we may (within the letter and spirit of the respective licenses) just "borrow" existing code, possibly wrapping or modifying it to fit the model of what we're doing here. Other bits will have to be written entirely from scratch, and that's OK.
So, what about these sub-projects?
Neddick is an Open Source Information Discovery Platform, based on Groovy & Grails, and making up one component of the Fogcutter Suite. Neddick shares an approach to information discovery with consumer facing websites like Reddit, Digg, and other aggregator applications. You could call Neddick "Reddit for the Enterprise" but that would be oversimplifying a bit. Neddick is intended mainly for organizational use and therefore has features that Reddit lacks, but, in turn, lacks certain things that Reddit has. But Reddit was absolutely our inspiration for Neddick and you'll notice the commonality almost immediately.
Relative to Reddit, Neddick adds features like:
- Channels can subscribe to RSS feeds - any "channel" in Neddick (roughly equivalent to a Sub-Reddit on Reddit) can link to 0 or more RSS feeds, and the channel will automatically be populated from those feeds on a scheduled basis.
- Tags - Neddick supports the application of arbitrary tags to entries, and provides each user a view of the tags they have used, to enable rapid access to specific content.
- Channel Filters - Filters allow you to filter your view of a channel based on criteria including: body keyword, title keyword, score, and tags.
- More powerful "sharing" capability - Neddick supports sharing content by email, XMPP, and HTTP POST.
- ActivityStrea.ms support - Neddick can HTTP POST entries to remote endpoints in ActivityStrea.ms format. This is how we built our integration with Quoddy - the Enterprise Social Network component of the Fogcutter Suite.
- Channel Triggers - Triggers allow a user to specify actions to occur when Entry related events occur which match criteria which may include: A new Entry is posted which matches a body keyword or title keyword, an Entry is voted up past a specified score threshold, or a specified tag is applied to an Entry. Trigger actions include sharing via email, XMPP and HTTP post, and in future releases will be extend to include sending JMS messages, launching workflows via BPM integration, and running user provided scripts.
Quoddy is an Open Source Enterprise Social Network, based on Groovy & Grails, and making up one component of the Fogcutter Suite. Quoddy shares a common "look and feel", and substantial functionality, with consumer facing Social Networks like Facebook or Google+ as well as proprietary Enterprise Social Network products like the products from Jive Software and Yammer among others. You could call Quoddy "Facebook for the Enterprise" but that would be oversimplifying a bit. Quoddy is intended mainly for organizational use and therefore has capabilities which make it uniquely suited to provide the social fabric to support organizational knowledge sharing, knowledge transfer, collaboration and decision support.
Relative to consumer Social Networks and other Enterprise Social Networking products, Quoddy adds features like:
- Calendar Feed Subscriptions - Quoddy supports subscriptions to any calendaring server which provides an iCal feed, so you can see your upcoming events rendered in your feed alongside other important events. Future releases will support CalDAV and interactive editing of Calendar Events from right in the stream.
- RSS/Atom Feed Subscriptions - Quoddy supports subscriptions to any arbitrary RSS feed, so you can find crucial information in your feed. Subscribe to internal blog servers, document management systems, wikis, and any other repository which provides RSS, or subscribe to your favorite blogs, Google Alerts, and other external information sources.
- Business Events Subscriptions - using the Hatteras Business Events Subscription engine, Quoddy allows users to define subscriptions to business events right off of the enterprise SOA/ESB backbone. Find out exactly what is going on in your enterprise, in real-time with Quoddy and Hatteras.
- BPM Integration - Quoddy supports subscribing to User Tasks from BPM / Workflow engines. We currently only support Activiti, the leading Open Source BPM offering, but support for other workflow products will be coming in future releases. Fine-grained User Stream definitions. Quoddy provides robust support for creating different "user stream" definitions, which filter content by type, source, group, or other criteria, and makes it trivially easy to quickly change the current Stream. For example, you may tke a quick peek at an enterprise-wide view of all the activity from every user, and then quickly switch back to a personalized view which includes only your BPM User Tasks. Quoddy emphasizes putting you in control of the content which is rendered in your stream, helping avoid information overload.
- ActivityStrea.ms protocol support using REST. Quoddy exposes a HTTP interface for external systems to post ActivityStrea.ms messages. This allows our integration with Neddick as well as other 3rd party products.
- Heceta - a search engine that leverages all of the various bits of information from Neddick, Quoddy, and "TBD" to provide better / deeper / more insightful search results than you can get from simple document content analysis. Intranet search in the Enterprise usually sucks, largely because page-rank type algorithms don't work well due to the lack of links between documents. But by supplementing the content analysis with scoring based on tags, social graph connections, activity-stream information, etc., it should be possible to do a much better job. This is not, by the way, a totally novel idea. It's something people are referring to as Social Search.
Hatteras is an Open Source Business Events Subscription Engine, written in Java and making extensive use of Apache Camel, which makes up one component of the Fogcutter Suite. Hatteras works with Quoddy to provide the capability for users to create Subscriptions to Business Events on the organizations ESB infrastructure. Hatteras connects to Quoddy, downloads all defined Subscriptions, and then listens for matching messages. Messages which match a Subscription are persisted to an XML database and Hatteras then sends a notification to Quoddy which creates a Subscription Item record which can be rendered in the user's stream. Quoddy and Hatteras thereby provide seamless access to important business events, alongside other import pieces of content the user has selected.
Future versions will focus on better administrative tools, and more hooks to provide interoperability in your unique environment. Over time, Quoddy, Hatteras and other Fogcutter products will add a powerful Event Stream Processing / Complex Event Processing capability to correlate events and provide deep analysis for powerful business insights. Over time, we will surface the capability to provide correlation between Events, People, and Content (Documents) and will offer the ability to quickly navigate in any direction, between the nodes in a graph of related entities which have causal, topical, or temporal relationships with each other.
Is there a demo site or something?
Yes, demo instances of Quoddy and Neddick are available at http://demo.fogbeam.org
A preview of Heceta will be along later.
Demos of other open source technologies we use and incorporate into our solutions are available at http://demo2.fogbeam.org
Fogcutter Synchronized Release "418 Teapot" is released as of 08-25-2013. This release features the 4th "tech preview release" of Neddick, and the first public releases of Quoddy and Hatteras. See http://fogcutterdev.blogspot.com/2013/08/ann-fogcutter-suite-synchronized.html for more details.
Is there some sort of "roadmap" or project plan?
Yes. See https://github.com/fogbeam/Fogcutter/wiki/Roadmap for details.
More information about detailed plans for adding features and/or fixing bugs can be found at http://dev.fogbeam.org/bugzilla