Roadkill .NET is a lightweight but powerful Wiki platform built on the following foundations:
- .NET 4.5
- jQuery
- ASP.NET MVC 5 with Razor
- Lucene.net search engine
- Creole, Media Wiki and Markdown syntax support
- Bootstrap 3 based UI.
- Supports SQL Server, SQL Server CE, SQL Azure (v1.6+), Sqlite, MySQL, Postgres, MongoDB
- It's themeable and extendable, has documentation, supports Active Directory authentication and is (I hope) extremely easy to use. It's Free Open Source (FOSS)
Roadkill is licensed under the MS-PL license which means it's free to use commercially or privately, but requires you to retain the copyright, trademark and attribution if you intend to distribute it (typically for commercial gain).
- Please see the Roadkill wiki for information on installing
- Please use issues for any discussions, bug reports, enhancements.
- AWS t2.micro is generally big enough for a small site. Note: this AMI is Windows 2016 July 2018. It may need updating after launch via RDP.
- Azure instructions
- Google Cloud: looking for help
July 2018
The next version of Roadkill will be Roadkill version 3. Because of the instability of .NET Core over the past 1.5 years, it's been a long time coming. It's currently making good progress now we have the stability of .NET Core 2.0.
It's a major version number because the following major changes are planned:
The next version will be ASP.NET Core only, aimed at Linux hosting for cost and scability.
Through its ASP.NET Core identity integration, version 3 will support everything that Microsoft.AspNetCore.Identity
supports
Version 3 will be Postgres only, using Marten as its NoSQL document store. Postgres can be run as Docker container, or is available a service by services such as AWS RDS.
The new Roadkill will be powered by its RESTful API, rather than version's 2 after-thought approach. This enables far easier plugin and extensibility to exist for Roadkill.
Roadkill 3 will be a docker image you run, on Linux Docker. With Docker comes built in scalibility, easier versioning,
The next version will use ElasticSearch for its search engine, rather than Lucene, removing a lot of complexity and past problems from Roadkill. You can run Elasticsearch as a Docker image, or use a hosted service search as AWS's Elasticsearch.
Sorry Creole fans, but supporting 3 different markdown formats is too labour intensive, and CommonMark has come a long and pretty much made Creole redundant, and Mediawiki syntax has zero support for .NET. Looking at commercial wiki engines like Confluence, it ultimately doesn't make a lot of difference what markdown format you support, providing there is good documentation for the syntax.
Version 3 will only support Markdown, using the CommonMark standard via Markdig. CommonMark is a well thought-out and documentated extension of Markdown and has a large community behind it.
Because Roadkill is moving to CommonMark, the editor can now be improved to be more user friendly, and have a faster client-side preview. The TUI editor is currently being considered for this: https://github.com/roadkillwiki/roadkill/issues/57
A new material-design based theme.
While this may not make the initial v3 release, the plan is to redesign the file manager to emulate the Wordpress 4 file manager.
Instead of having to memorize page names, adding links will be similar to Wordpress in finding pages that exist on the site.
As Roadkill is not a commercial project, nor backed commercially, there are no time-frames that can be relied upon. It is essentially me creating it in my spare time.
Make sure you use the version-2
branch, master is not currently stable
To setup Roadkill on a developer machine, you will need:
- Visual Studio 2015, Community Edition is fine, Roadkill is written using Community Edition.
- IIS
- SQL Server. Your SQL Server installation should be the default instance (not YOURMACHINE\SQLEXPRESS) for the tests to pass. They rely on the connection string being
Server=(local);Integrated Security=true;Connect Timeout=5;database=Roadkill
- An NUnit runner (NUnit, Resharper, Dotcover etc.) if you want to run the tests. This is required if you want to contribute.
To get a 'fresh' Roadkill installation on your development machine, you will need to do the following:
- For IIS: create a new site with a .NET 4 application pool.
- If you're using SQL Server: create a database called "roadkill". Run the
/lib/Test-databases/roadkill-sqlserver.sql
script.- If you want to use SQLite or SQLServer CE, empty databases can be found
/lib/Test-databases/SqlCE
or Sqlite.
- If you want to use SQLite or SQLServer CE, empty databases can be found
- You can also install Roadkill using the unattended url, e.g.: http://localhost/install/Unattended?datastoretype=sqlserver2008&connectionstring=database=roadkill;uid=sa;pwd=Passw0rd;server=.\SQLEXPRESS
No contributions are currently being taken until Version 3 is released.