And now… Raccoon Blog
One of the things that people kept bugging me about is that I am not building applications any longer, another annoyance was with my current setup using this blog.
Basically, my own usage pattern is quite different than most people. I tend to post to the blog in batches, usually of five or ten blog posts in a short amount of time. That means that future posts are pretty important to me, and that scheduling posts is something that I care deeply about. I managed to hack Subtext to do my bidding in that regard, but it was never perfect, and re-scheduling posts was always a pain in the ass.
Then there is RavenDB, and my desire to run on it…
What this means, in short, is that we now have the Raccoon Blog, which is a blog application suited specifically for my own needs, running on MVC 3 and with a RavenDB backend.
By the time you read it, it will already be running our company blog and it is scheduled to run ayende.com/blog this week.
What is Raccoon Blog?
It is a blog application running on top of RavenDB store and tailored specifically for our needs.
- Strong scheduling features
- Strong re-scheduling features
- Support multiple authors in a single blog
- Single blog per site (no multi blog support)
- Recaptcha support
- Markdown support for comments (you’ll be able to post code!)
- Easy section support (for custom sidebar content)
- Smart tagging support
And just for fun:
- Fully HTML 5 compliant
Comments
And unfortunately including:
No styling
Javascript errors
At least on my IE7 at work. ;-)
Frank,
Can you give me more precise feedback on what you are seeing?
"which is a blog application suited specifically for my own needs"
Unfortunately, I'm not sure anyone else shares your blogging needs!
Steven,
We haven't written that for anyone else.
I was reading one of your old articles here
msdn.microsoft.com/en-us/library/aa973811.aspx
and I noticed that some url are broken, like this one: ayende.com/.../TheNatureOfGenericTypeNames.aspx
Jack,
Those would never work, they are missing the "/blog/" in the beginning
Yes, I noticed it. I just thought you could write a simple url rewrite rule providing a permanent redirect to get advantage of those orphans
Ayende,
I'm impressed with how quickly you turn stuff out. A great example of agile/lean imo.
The Hibernating Rhinos blog is not displaying correctly in any version of IE for me. CSS doesn't seem to load.
Wordpress has all this built in and even more...!
Simon,
Can you send me a screen shot showing how it looks like?
We tested in IE, and it is fine.
Daniel,
I am aware of word press, it doesn't fit how I do things.
I can send you a screenshot, but from what I can see:
The browser requests a stylesheet from: /Skins/Semagogy/css.axd?name=Semagogy
Gets redirected to: /skins/semagogy/css.axd
Which returns a 404 error.
What URL are you actually using? Because we don't have an /Skins/ directory in there.
Okay, I found out what was happening, we had a redirect issue there.
Ah! Bing linked me to http://blogs.hibernatingrhinos.com/
Now, I've gone to http://blog.hibernatingrhinos.com/ - IE9 displays it ok, but IE7 and 8 do not.
When accessing http://blog.hibernatingrhinos.com/ I'm viewing the classic ASP.NET error page (Server Error in '/' Application.).
It was just fixed - Ayende, you sure read your blog FAST!
Very cool. I've been on an off again with writing my own blog app, no because nothing supports what I want to do, but because I want to write an app. This has inspired me to get back on it again. Thanks.
I cannot run the blog because in AbstractController.cs, it tries to read blog config from the database and it returns null
var blogConfig = Session.Load <blogconfig("Blog/Config");
Then when it tries to map with the following line I get an ArgumentException
protected override void OnActionExecuted(ActionExecutedContext filterContext)
<blogconfig("Blog/Config");
<blogconfigviewmodel();
Can you explain why WordPress doesnt fit your needs?
I just started a blog and WordPress was the best option due to its incredible community, plugin and theme support.
You've maybe thought of it earlier but i would strongly recommend that you redirect all of your old urls (running this blog) to your new urls.
I can imagine that you get quite a lot traffic from Google which you don't want to lose.
Felipe,
The blog assumes some data is already in the DB. We will make sure that it will create that data if it doesn't exists.
Vinicius,
Future posting, post reordering, things that I really care about aren't there.
I don't care to run a blog on a platform that I don't know very well.
April Fools! Oh wait...It's May. I guess you really did write your own blogging engine.
Getting the yellow screen of death on http://blog.hibernatingrhinos.com/
Tear :-'(
Sad trombone:
github.com/.../AddCommentCommand.cs#L31
Victor: +1
It's funny you actually get flac when you write your own blog engine. It's a well understood problem domain which is of limited scope but not too trivial, can help you in understanding yet unknown technologies and in this case dogfooding your own products. Did the same thing myself 2 years ago, and I'm fairly sure there may be a version 2.
Sadly, Winhost stated it wouldn't host RavenDB, otherwise I'd probably go for a fubumvc or openrasta + ravenDB combination.
Ryan,
Thanks for noticing, fixed now
Victor,
Ouch! That shouldn't be there, and it will be removed
Make sure to keep the old URLs exactly the same for SEO reasons (see my comment on a previous post). Not even a difference in case allowed. You must 301 redirect case differences to the canonical URL so that all wrong external links still get you link juice.
Are you going to port your posts from this one to the new one ?
Alvaro, I saw in github a migration program, so yes I'd say so.
Would be crazy not to.
Oren, God bless you haven't written Yet Another CMS.
Wheels are being reinvented so many times :)
Didn't spend any time behind the PC after my initial post, but I see others had the same problem. But it has been fixed now. The page is now styled properly and no more javascript errors.
The links in your RSS feed are not correct. They take me to an invalid page in FeedBurner.
Thanks, I'll fix that
How does raven licensing work for this product- - as in let's say I wanted to run my personal blog on this platform. Would I need a ravendb license?
Wyatt, You could do so, since this falls under the OSS license, the entire thing fall under the AGPL license, basically.
I've been going back through a bunch of the previous posts and taking a look at them in the new blog. It's actually really nice. The new markdown comments actually work on a lot of old comments. The bullet points and a lot of code just work.
There are some catches, though. See some of the comments towards the end of Answer: Stopping the Leaks.
I doubt there is much that can be done about this, though.
Harry, We put a LOT of time into making sure that comments ported over nicely. I am willing to accept that some of them won't convert nicely, as long as the vast majority of them does
I'm getting the same articles appearing in Google Reader every day, in a flood of new posts. I'm presuming this happens every time you deploy a new version, which could get annoying considering your rate of development...
Geoff, Yes, I fixed this now
Is there a trick to get this to run in a partial trust environment?
http://ayende.com/blog/4837/and-now-raccoon-blog
The webpage at http://ayende.com/blog/4837/and-nowhellip-raccoon-blog has resulted in too many redirects
You need to host RavenDB somewhere, it can't run without RavenDB. And RavenDB will not work in partial trust env.
Ram, I don't see it, but it is possible, we played a lot with the url re-write scenarios
Ayende, just to let you know a few devs from Australia have been working on a blog engine solving the same things that Racoon does, except for the RavenDb backend of course, we already are working on being able to select a database provider.
Please have a look at http://www.funnelweblog.com/. Our stacks are pretty much the same, MVC3, Razor, nHibernate, Autofac, MEF (we have an awesome extensibility model) and markdown for both posts and comments. Seems silly to have two blog engines which are so close to each other in terms of goals :)
Jake, Thanks for letting me know. But there were a few other reasons to want to write our own blog engine.
I'll put all of them in a future post, but the essence is that: a) using RavenDB properly means that you can't really hide it behind a data layer (more accurately, the RDBMS data model that the data model exposes wouldn't be a very good option for RavenDB).
b) we wanted a RavenDB sample app.
c) it is easier for us to make changes and modifications to our own stuff, which we know and built to support our own needs.
The initial HTML page response is very fast, but opening e.g. category "blog" (http://ayende.com/blog/tags/blog) makes 277 requests and takes a total of 18 seconds on a fast network. Opening this page my chrome 12 totally halts for >10 seconds. IE9 handles the situation better, but the amount of requests and page load time stays the same. Most of the requests are to Facebook and Twitter. I tried on two different networks just to be sure that this is not an issue on my network.
Maybe some room for improvement here?
Hello, i have downloaded the RaccoonBlog and tried to debug it using visual studio. but RavenDb profiler gives me 404 errors at /docs/Raven/Replication/Destinations and /docs/Blog/Config. what can i do to sort this one out. plus what's the default username/password to enter the admin section of Raccoon Blog regards Adeel
Muhammad, It is best to ask on the mailing list for ravendb
Ok, i will ask there. what about admin user/password for Raccoon Blog
Comment preview