Neddick Technology Preview Release 4 (TPR4)

@mindcrime mindcrime released this Aug 25, 2013 · 63 commits to master since this release

Neddick is an Open Source Information Discovery Platform, which shares an approach to information discovery with consumer facing websites like Reddit, Digg, and other aggregator applications. Neddick makes up one component of the Fogcutter Suite and is based on Groovy & Grails. Neddick could be termed "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...
  • support - Neddick can HTTP POST entries to remote endpoints in 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.

Technology Preview Release 4 (TPR4) adds substantial new functionality, and many bug fixes, compared to the previous TPR3 release and provides the foundation for our future roadmap and the forthcoming fully certified and supported Neddick Enterprise from Fogbeam Labs.

New Features

  • Access control using Apache Shiro - Shiro provides the capability to implement fine grained, role-based access control.
  • Private Channels
  • Aggregate Channels
  • Channel Filters
  • Channel Triggers
  • "Share to Quoddy" via HTTP POST using protocol

Bug fixes & enhancements

  • Complete UI refresh - the entire UI has been reworked to be much cleaner, and to be consistent with Quoddy and the other components of the Fogcutter Suite.
  • Update Grails to Grails 2 - The previous code base was built on Grails 1.3.7. We've moved to Grails 2.2.3 now.
  • Update Groovy to Groovy 2 - along with the move to the new Grails, we've also updated to Groovy 2.1.5
  • New "Share" dialog - the UI element for the "share entry" feature has been completely rebuilt and is cleaner and supports new functionality.
  • Bug #94 - Edit Channel Properties page is broken
  • Bug #51 - Problem with excessive file handles - probably a file handle leak

To learn more about Neddick visit the Project Homepage at

Known issues

  • The only supported database is PostgreSQL at the moment. Support for others (MySQL, Oracle, DB/2, etc.) will be in future releases. Future versions will feature an installer that allows admins to select the database type to install against.
  • JMS messaging assumes a specific version of JBoss MQ and the app bundles the required client jar files for that version only. Future versions will feature an installer that allows admins to select
    the messaging serever to install against.
  • Neddick currently assumes that the database connection is to a database named "neddick" using a user named "postgres" and with no password required. Editing these details requires editing a Groovy file and rebuilding the war from source.


A pre-built war file is part of this release, which simplifies setting up a basic Neddick server.

  1. download the attached neddick.war and the .zip or .tgz of the Neddick source
  2. download the attached file
  3. download and install the latest Apache Tomcat 7.x release
  4. create a postgres database named "neddick"
  5. extract the neddick source into a convenient directory
  6. from the neddick source directory, cd into the "sql" directory and run the following command:

    psql -U $dbuser -d neddick -f quartz_sql.sql
    and then
    psql -U $dbuser -d neddick -f quartz_sql_new.sql
    substitute your database user (probably "postgres" by default) for $dbuser in the above command

  7. Note that if you make the "neddick" database owned by user "postgres" and turn on "trust" authentication for local ip connections from localhost, you can start the Neddick instance without making any changes to the datasources configuration.
  8. copy the neddick.war file into the "webapps" directory under Tomcat
  9. extract the files from into a directory. This is just a trimmed down version of JBoss with only the MQ functionality turned on, and all the destinations for Neddick already configured.
  10. Launch the mesaging server by running from the bin directory.
  11. Start Tomcat
  12. If your "neddick" database uses a different username than "postgres" and/or requires a password, you will need to build a new neddick.war from source, after editing DataSource.groovy to reflect your connection credentials. After running grails clean; grails war to create the war file, copy target/neddick-0.0.1.war into $TOMCAT_HOME/webapps/neddick.war and then start Tomcat.

For help, post to our Google Group at, or visit us on IRC at irc://