DotNetKicks: Search and a new build server

Search DotNetKicks with Lucene.NET

One of the features most requested on the DNK issue tracker over the past number of weeks was search. Mark McAvoy recently joined the DNK project team (welcome Mark!) and took on search as his first task. Utilising the open source Lucene.NET search engine, you can free text search DNK stories using a number of query operators.design-pattern-search

Here are some example queries:

If you are a member of DNK you can also restrict the search to stories which you have kicked.

 

 

DotNetKicks CruiseControl.NET Build Server

Another recent development is the addition of a build server on http://build.dotnetkicks.com/. Thanks to Simone for setting this up. We will soon integrate our unit tests and other reports into the build output.

 

cc

 

 

 

kick it on DotNetKicks.com
Posted by gavinjoyce | with no comments

DotNetKicks - Now Serving SVN Revision 501

 

commits The DotNetKicks open source project is blistering ahead, there have been 336 commits in the last month taking us up to revision 501. Thanks to everyone who has contributed to the project so far. Our main contributors the past few weeks were James Welsch, Simone Busoli, Kevin Fricovsky and Atif Aziz.

 

JSON Services and DNK Widgets

We have launched an initial set of DotNetKicks JSON Services, these will be expanded upon in the near future. We currently support the following anonymous operations:

 

  • getFrontPageStories()
  • getFrontPageStoriesPaged(pageNumber, pageSize)
  • getPopularStories()
  • getPopularStoriesPaged(pageNumber, pageSize)my-recent-kicks
  • getPopularStoriesPagedFromTimePeriod(pageNumber, pageSize, timePeriod)
  • getTaggedStories(tag)
  • getTaggedStoriesPaged(tag, pageNumber, pageSize)
  • getUpcomingPageStories()
  • getUpcomingPageStoriesPaged(pageNumber, pageSize)
  • getUpcomingStories()
  • getUpcomingStoriesPaged(pageNumber, pageSize)
  • getUpcomingStoriesPagedFromTimePeriod(pageNumber, pageSize, timePeriod)
  • getUserFriendsKickedStories(username)
  • getUserFriendsKickedStoriesPaged(username, pageNumber, pageSize)
  • getUserFriendsSubmittedStories(username)
  • getUserFriendsSubmittedStoriesPaged(username, pageNumber, pageSize)
  • getUserKickedStories(username)
  • getUserKickedStoriesPaged(username, pageNumber, pageSize)
  • getUserSubmittedStories(username)
  • getUserSubmittedStoriesPaged(username, pageNumber, pageSize)

Kevin created a screencast demonstrating how to create a 'my recent kicks' widget using jQuery and the DNK JSON services. Atif created a live display widget using jQuery which show the live DNK front page, popular and upcoming stories on one page. Let me know if you have seen any other uses of the JSON api.

 

DNK Zeitgeist

James has continued his great work on the new DotNetKicks Zeitgeist. Looking at the Zeitgeist for September, we can see that there were:

  • 496 stories submitted
  • 172 stories published
  • 4733 Kicks
  • 349 Comments

This feature will become a first class citizen in the UI when we redesign the UI.

 

DNK Growth

growth September broke all the previous records - it was by far our most active month on the site (pdf). In an effort to be as transparent as possible, we are now publishing the Google Analytics statistics for the site on two Google groups:

Please join either group if you would like to receive these stats by email. It is also a good time to let you friends and colleagues know about DNK and its fantastic .NET news feed.

 

Custom Kick It buttons

custom-kickit Simone recently added another nice new feature which allows you to customise the 'kick it' buttons. You'll see the new options after submitting a story. It will soon be easy to create these kick it buttons from any story page.

 

Facebook Group

James also created a DotNetKicks facebook group which already has 9 members. Search for 'DotNetKicks' on facebook if you would like to join.

 

Seen in the wild

I have come across two website using the open source DotNetKicks code base so far:

Anyone seen any others?

 

 

DotNetKicks Tags: , , ,

 

 

kick it on DotNetKicks.com
Posted by gavinjoyce | with no comments

New DNK Features: Kick Spy & Shoutbox

This week there have been over 100 commits to the DotNetKicks open source trunk. Some fantastic new features are now available on DotNetKicks.com and many others are in progress.

kickspy

Kick Spy

The Spy displays each action a user takes on the site including submitting stories, kicking, tagging, commenting and shouting.

This is a work-in-progress and will soon become a self updating filterable control using Ajax.NET professional and jQuery. There are plans to extend Kick Spy to user profiles and stories too.

View it in action here >>

If you would like to shape how this feature end up, please let us know your thoughts : issue 86 on Google Code

 

Shoutbox

The Shoutbox allows users to have little conversations in various places in the site.

There currently is one on the Who's Online page and on every members profile. shoutbox

Feel free to drop me a note on my profile.

Issue 87 on Google Code

 

Other Improvements

Since joining the project a few weeks ago, James Welch has become a regular contributor to DotNetKicks.

One of the many features that he has added is the ability to view stories both kicked and submitted by friends.

Here are the latest stories that have been submitted by friends of mine on DotNetKicks:

http://www.dotnetkicks.com/users/gavinjoyce/friends/submitted

He also improved the paging control which now looks like:

paging

 

Community News

I asked Scott Guthrie if he would consider placing a 'kick it' button on his blog and he agreed. His posts are some of the most popular on DotNetKicks as you can see from the ScottGuthrie tag. This is a nice boost to the community, I'm sure that we will gain new fans from his blog. Thanks Scott.

Jon Galloway's JavaScript technique is used to inject the 'kick it' link and image into the page automatically.

 

Coming Soon

A number of new features are in the pipeline:

DotNetKicks Zeitgeist

DotNetKicks Chats

 

kick it on DotNetKicks.com

 

They (spammers) look like ants from here

spammersSince adding some basic user visualisation to DotNetKicks.com the other day, I have become slightly addicted to viewing the who's online page. This morning I added colour coding to the users based on their status - green for new users, blue for existing users and red for spammers.

Spammers don't really know that their account has been flagged, although they may notice that their posts have been deleted. When they attempt to post a new like, everything seems fine - they are shown the confirmation page like everyone else. Their story isn't added of course, so our upcoming feed isn't troubled by spammed links to random topics.

What is interesting is how often these spammers come back to the site trying to peddle their dodgy wares. I take a great satisfaction is seeing them squirm hopelessly through their pointless little loops, trying everything and achieving nothing.

DotNetKicks 1 Spammers 0

 

kick it on DotNetKicks.com

 

DotNetKicks Tags: , ,

DotNetKicks Beta 2 Available For Download

I have just tagged and uploaded SVN revision 283 as DotNetKicks beta 2. This beta includes a number of great new features.

 

dotnetkicks-download-beta2 

Enjoy!

 

DotNetKicks Tags: , ,
Posted by gavinjoyce | with no comments

DotNetKicks New Features: Profiles, Gravatars, Sortable Upcoming Stories

The DotNetKicks.com open source project has picked up quite a bit of steam lately, over 75 commits have been made to the SubVersion trunk in the past week (rss feeds). It is great that the project is moving again, thanks to the wonders of open source and a great community. If you would like to contribute in any way to the project, please let me know.

The two big new features this week are user profiles and upcoming story sorting:

User Profilesprofile-view

Following on from last weeks great 'Who Kicked It?' control by Kevin, we have now enabled user profiles and gravatars. Gravatars are 80x80 images and are provided by this free service. There was some concern from the community about the speed at which the gravatar images are served from this service, I have addressed this by implementing a server side gravatar cache. I'll post about this in more detail in the near future.

You can set your gravatar and other profile details on your DNK profile page (there is a new 'your profile' link in the top DNK menu). The url will be similar to:

http://www.dotnetkicks.com/users/gavinjoyce/profile

We now also have the ability to see a paged list of:

Thanks to james.e.welch & simone.busole for contributing these new features.

Upcoming Story Sorting

One of the limitations of the DNK upcoming story view was that it was easy for good stories to get lost. Is takes about 6 kicks for a story to reach the homepage feed, many on 5 kicks never make it. To address this, there are now two extra ways to sort the upcoming stories:

upcoming-story-sorting

The 'Top This Week' is especially useful for find those quality stories that sometimes did fall away.

Thanks to pedicool for contributing this new feature.

Whats Next?

That's up to you. Please let us know which features you would like implemented next. Clicking the star icon on any issue in the list will bump it up on our priority list. Also, please do let us know your great ideas for DotNetKicks.com.

EDIT: I've just deployed a 'Who's Online' feature which lists the users who have been active on the site within the last 30 mins.

 

Kick it on DotNetKicks.com: kick it on DotNetKicks.com

 

DotNetKicks Tags: , , ,

Google Analytics Reports for DotNetKicks.com

    cross posted from http://blog.incremental.ie/archive/2007/07/19/google-analytics-reports-for-dotnetkicks.com.aspx 


Statistics  

For those that are interested, I am making available two google analytics reports for DotNetKicks.com:

  • Last 30 days - PDF
  • May 2006 -> Today - PDF

An email will also be sent on the 1st of each month to the DotNetKick Code Commit Feeds. Please subscribe if you are interested in following how the site progresses.

If you haven't already, now would be a good time to place a link or post to DotNetKicks.com on your blog ;). Also, If you have any ideas on how to grow the community, please let me know.


kick it on DotNetKicks.com

DotNetKicks Tags: ,

Posted by gavinjoyce | with no comments

DotNetKicks.com: RSS feeds for tags

    cross posted from http://blog.incremental.ie/archive/2007/07/17/dotnetkicks.com-tag-rss-feeds.aspx 

Tag RSS:

I have just upgraded DotNetKicks.com to Subversion revision 125. The big addition is RSS feeds for tags (issue 1):

SubSonic tag: http://www.dotnetkicks.com/tags/SubSonic/feeds/rss

DotNetKicks tag: http://www.dotnetkicks.com/tags/DotNetKicks/feeds/rss

AJAX tag: http://www.dotnetkicks.com/tags/AJAX/feeds/rss

Feedburner support:

Support for feedburner RSS feeds and counters has also been added (issue 26). It will be interesting to see how many people actually subscribe to the DNK main feed. Closest guess wins a (crappy) prize!

Other Additions:

Another recent addition is a new application wide configuration table (issue 5). Once I have added an admin section (issue 25), site and host configuration will be much easier.

Karma Points, will we or wont we?

Lastly, there has been lots of discussion on the 'Karma Points' feature (issue 7) proposed by Phil Haack. If you have an opinion on this feature, please join the discussion.

 

kick it on DotNetKicks.com

DotNetKicks Tags: , , ,

 

Open Source DotNetKicks?

            Cross-posted from http://blog.incremental.ie/archive/2007/07/06/open-source-dotnetkicks.aspx

A few long months ago I announced my intention to fully open source the DotNetKicks.com codebase. Due to recent work commitments this process has taken much longer that I had wished; the good news now is that it is very close to an initial beta release.

The current code base builds and should be useful to anyone who is considering contributing to the project or running their own kick site. I'll be committing changes to the repository oven the next couple of days, a tagged beta version will be available soon. Before then, please expect quite a few features to either not work or to throw some exceptions.

dotnetkicks-opensource

The code is hosted on google code and the Subversion repository is available at the following location:

http://dotnetkicks.googlecode.com/svn/trunk/

If you are new to Subversion, you can follow Eric Kemp's excellent SVN guide (replace the subsonic specific urls with the relevant dotnetkicks ones).

Please follow these steps to setup your local environment:

1. Create SQL 2005 Database called 'DotNetKicks'

2. Execute the 'DotNetKicks.DB.SQL.2005.sql' script against the new 'DotNetKicks' database

    Scripts can be found in 'svn:\\trunk\DotNetKicks\Database'

3. Execute the 'DotNetKicks.Data.SQL.2005.sql' script against the database

4. Open 'DotNetKicks.sln' in Visual Studio 2005.

5. Update the 'DotNetKicks' connection string in the web.config to relect your SQL server name

6. Build the solution

7. Run the 'Incremental.Kick.Web.UI' web application

8. There are two users already setup:

    username: admin password: admin
    username: user1 password: user1

9. Configure SMTP settings in the Kick_Host table

I'll post again soon outlining how you can get involved in the project. In the mean time, is there anyone with design skills willing to design a logo or a new skin for DotNetKicks?

Sorry for the delay, we're nearly there.

kick it on DotNetKicks.com

DotNetKicks Tags: , ,
Posted by gavinjoyce | with no comments
More Posts Next page »