Provides a ASP.NET MVC 3 front-end for a CKAN repository that is intended to be used for providing a fully functioning data catalog for a CKAN group. Also includes a C# wrapper for the CKAN API that can be used as a stand-alone client library for .NET development. against a CKAN repository.
C# JavaScript Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Build
CkanDotNet.Api.Tests
CkanDotNet.Api
CkanDotNet.Web
References
Screenshots
.gitignore
CkanDotNet.sln
LICENSE.txt
NOTICE.txt
README.markdown
ReleaseNotes.markdown
index.html
resources.txt

README.markdown

Welcome

This project provides an [ASP.NET MVC 3] (http://www.asp.net/mvc/mvc3) front-end for a [CKAN] (http://wiki.ckan.net/Main_Page) repository. This project provides a fully functioning web-based data catalog based on a group in a shared CKAN respository.

In addition, this project provides a C# wrapper for the CKAN API Version 2 for developers that want to develop .NET applications against any CKAN repository.

About

This project was created in partnership with [Open Colorado] (http://www.opencolorado.org) and Colorado Smart Communities.

This .NET implementation was created for communities that want to leverage the Colorado CKAN repository (http://data.opencolorado.org) while hosting a local data catalog front-end on their organization's Windows/.NET platform. For organizations that prefer, there is also a [PHP front-end] (https://github.com/opencolorado/PHP-Wrapper-for-CKAN-API) available.

There is no specific implemention in this project related to data.opencolorado.org so this can be used with any CKAN instance.

Live sites

The catalog is fully themable using CSS/HTML and two live sites are available:

Current Version

Version 1.11, released 4/24/2013. For details see the [Release Notes] (https://github.com/opencolorado/.NET-Wrapper-for-CKAN-API/blob/master/ReleaseNotes.markdown)

Features

  • Customizable home page
  • Show featured packages (packages tagged with 'featured')
  • Show recently updated packages
  • Show popular tags in a tag cloud
  • Show total number of packages that are available
  • Customizable text content and layout
  • Search for data packages by query or by tag
  • Paginated search results
  • Filter results by tag
  • Optionally show package ratings with search results
  • Display results in list mode or table mode
  • View package details
  • Date posted and date last updated
  • Package description with support for CKAN Markdown formatting
  • Resources with customizable resource actions (ex. View KML in Google Maps)
  • Additional package details
  • Related items (apps & ideas)
  • License details
  • RSS feed for package revisions
  • Themeable
  • Supports custom themes with CSS/HTML (just copy an existing theme and customize from there)
  • Designed to be integrated into an organizations web site with no code changes required
  • Optimized for search engines
  • Provides an auto-generated site map (sitemap.xml) for submitting to search engines
  • Meta tag support on home page and package pages
  • Supports [Google Analytics] (http://www.google.com/analytics) including event tracking for resource downloads, search terms etc. (optional)
  • Supports [DISQUS] (http://www.disqus.com) commenting on packages. (optional)
  • Supports [AddThis] (http://www.addthis.com) social medial sharing (optional)
  • Includes support for 'print this page' and sending the page by email
  • Supports [UserVoice] (http://www.uservoice.com) for suggesting new datasets (optional)
  • Configurable CKAN request caching for performance optimization
  • Supports automatic background caching
  • A cache admin interface is provided to view cache contents and clear items from the cache if CKAN changes need to be reflected immediately
  • Supports ASP.NET 4/IIS7.5 Application Auto-Start
  • Maintenance mode
  • Catalog can be taken offline with a custom notice if the CKAN repository needs maintenance
  • Uses clean RESTful URLs
  • Provides breadcrumbs
  • Configurable logging for system monitoring and troubleshooting
  • Provides a download proxy so that downloads from an external catalog can also be tracked in analytics
  • Multiple download proxy locations can be configured
  • If Google Analytics is enabled, the files and total bytes are tracked in the analytics

Getting Started

System Requirements

  • Windows Server 2003 or greater
  • Microsoft Internet Information Services 6 or greater

Installation

Install and Configure Prerequisites

  • .NET Framework 4
  • ASP.NET MVC 3

Install Web Application

  • Download the latest stable build
  • Unzip and install as a web application on your IIS web server
  • Configure the settings in web.config
    • Set the Catalog.Group setting to the name of the CKAN group to use in the catalog
    • Set the page titles to reflect the name of your catalog (ex. City and County of Denver Open Data Catalog)
    • Configure page meta tags (see SEO.* settings)
    • Review the web.config comments for additional settings you may want to change
  • Load the application URL in your browser to test the catalog
  • Configuring ASP.NET 4.0 Auto-Start

Want to Contribute?

Feel free to fork this repo and contribute your ideas.

This project was created using a mix of free tools and open source libraries. You will need the following to compile the project from source and run the unit tests:

C# CKAN API Wrapper

As mentioned above, this project includes a .NET wrapper for the CKAN REST API. This wrapper was created for the needs of this project but it can be used stand-alone if you just need a .NET library to communicate with CKAN.

The following CKAN features are supported at this time:

Model API

  • Package Register
  • Package Entity
  • Group Register
  • Group Entity
  • Tag Register
  • Tag Entity
  • Package’s Revisions Entity
  • Revision Register
  • Revision Entity
  • License List

Search API

  • Package Search