To finalize my mini series on the object store I’d like to put a simple page comments library. The library takes care of everything that is required for you to post and retrieve a list of comments. It does not (so far) offer any moderation functionality or even facilitates any comments removal. It’s something that I will most probably be added in the process.
I am in the process of figuring out how I can contribute it through the Community EpiCode effort on CodeResort. As soon as I get some answers from Steve, I’ll get it uploaded there. In the mean time let me document how to start using it.
I think we’re mostly finished investigating ObjectStore for now. In this article I’ll try to finish up on the apsects of using the Object store in a real life solution that is a basic Page comments. In my previous article concerning ObjectStore I have described a way of storing and retrieving an object from the Store, which is fine and dandy if we know exactly the object’s OD, for example if we reference it from a page. But what good is a store like that if we cannot search it for content? The problem we were trying to solve using ObjectStore was storing comments for ANY Episerver page without having to do anything to the page type. We might need that for the upcoming project so the discovery may prove useful since this is a really neat way of storing objects.
EPiServer developer-to-developer forum holds an article on how to make EPiServer 4.61 run on Vista. I suspect that EPiServer CMS (a.k.a. EPiServer 5) will not have any of the described problems, but in the mean time I’m happily hacking my EPiServer on my other machine as well.
I’ve managed most of the way before and had the server running here, but it was having all sorts of problems, which are all gone after applying the suggestions (especially in the second post).
We’ve been looking at the way to efficiently store a lis of quotes some time ago. And Steve suggested that if we’re to store a gian number of quotes, we may look into some misterious being called ObjectStore…
If there will be many qoutes, e.g. you buy a “100.000 quotes of the day” database, you might want to put them into a separate table in the database. Seasoned EPiServer developers tend to think that everything can be stored as pages in EPiServer, which is kind of true, but not necessarily wise.
Another option could be to store the quotes in the ObjectStore, the general EPiServer storage feature, which can hold about anything you’d like, efficiently, quickly restorable, searchable, indexable, highly available and environmentally safe. It might even solve the global warming problem while we’re at it. Ok, maybe not. Truthfully, only a few developers outside of EPiServer know how to use it, and quite alot of us inside have no clue whatsoever. But, the tales I’ve heard about it would nominate it as a prime candidate for a quote system like this. Right now, it is storing things like XForms definitions and data, WSRP stuff, Content Mirroring data and lots more. It’s been around since 4.50 (I think) and is said to be documented - eventually, until then I guess we’ll have to resort to other ways of doing things.
Since IIS on XP seems to be handling only one site at a time and I have multiple installations of EpiServer for different purposes on my machine I needed a fast way of switching between them.
Sure I could go to the administration console and do it manually, but hey, why waste 30 seconds every time you do it when you can actually batch waste them in a chunk of half an hour to automate it.
so here’s my findings.
The adsutil.vbs is the script you want to get intalled on your system somewhere in the search path. %systemroot% will do.
You will find the script on your XP CD in the \i386 folder. Unpack with the following command:
I’ve recently had a chance to write a Google Maps control for EPiServer, it’s still somewhat buggy and I’m still considering how to release it since it still contains some java script that is potentially GPL infected and I would not like to contaminate someone’s code with it. I may end up rewriting it to some extent or make it more server side so that it’s completely ASP based.
Anyway…
We’ve started working on the rewrite of our site internally in a few CMS’es basically creating an internal competition on which of the engines/teams can do the best the easiest and the fastest site. I can say honestly, EPiServer has been a blast! Virtually any control we’ve decided to place there was almost completely effortless. The controls that are delivered (with sample usage on the demo site) just seem to cover everything. Well, almost everything. There is no map creation component as far as I can tell.
I’ve been wanting to write this control for quite a while and since I deployed a wiki for my family and started filling it in. I had a really nice experience with this Google Map extension to the MediaWiki. I wanted us to have the same on our site. And in the mean time we’ve started running into some limitations that required us to write some plugins for the editor’s site of the CMS. Striking two birds with one stone, here comes the Google Maps for EpiServer.
Anyone familiar with EpiServer knows that the CMS allows you to define the content on any given page through a set of properties defined for its page type. There is a handful of those, and each of them comes with a specific editor. Some of them even come with so called DOPE (Dynamic-on-page-editing). This feature is really so cool that by itself it’s probably one of the driving selling factor. I wanted it all!
To deliver it you need to inherit a property, (in my case I decided to go with a LongString as I can easily go over the 255 char limit if the user woudl decide to have more than a couple of flagpoints on his/her map) and define its editors.
I’ve found out that the property can be easily integrated with the CMS (virtually without any user intervention) by means of attributes/reflection. So here we go:
I’ve just read a blog about a few new additions to C# 3.0 and in the context of what we’ve already learned about the whole “Orcas” project that is the simplest conclusion.
Microsoft .Net Framework designers and coders are just a bunch of programmers who you can clearly see enjoy hat they do. I can’t stress enough how many times I’ve been annoyed to be forced to wrap some private variables in the obvious public properties. No longer!
Instantiating a class followed by a bunch of setting of properties? Now done in one line. Shweet.
One may argue that C# is a set of such syntactic sugar. But then again, I am sure that’s why so many programmers really like it. Even some of the most Java oriented programmers (Yes Albert I’m looking at you!) in our company are looking forward to work on .Net.
It is the general perception here that, comparing to Eclipse, Visual Studio is a weak IDE in terms of pure code-writing-helpers, refactoring, and discovery of code dependencies. Only the next version will even be able to target more than 1 .net framework version… Please fix that crap… But the language designers are continually doing a great job.
Have a read on some:
Writing user documents for our company, I ’ve been using our corporate wiki a lot recently.
Confluence is incredible. I can honestly say I’ve not been impressed by a piece of software to that degree for quite a while.
I really like how it provides me with the possibility for creating small pages like “format specifications” and “installation info” which I can then assemble into e.g. “User’s manual” simple and seamless:
It’s a real joy to work in a international company, the problem we face are hardly ever matched by some locally based endeavours…
As some of our friends here at work, you may choose to reveal your current location to your skype buddies. This is nice and easy since you can just put it in your name or description and everyone will see where you are.This poses a problem should you really travel frequently, it is more likely than not, that your location tag will be out of sync.
As this is a something that happens for them once in a while I found it an interesting concept, fun enough to be worth solving it :)
So how does one establish his location? Short of installing a GPS on your machine, I would suggest checking your IP address and translating it based on one of the available databases.
The thought process goes as follows… [Read about the technical guts of the application in my article at Code Project]
Just so you know… when you’ll notice a Father Christmas sitting on a chair
in the local mall, it might have never crossed your mind that is’t a hard and
dangerous job of many people that leads to these short moments of joy and
happiness that you and your children experience.
Fortunately the Woodpecker Film has taken
the risk and the courage to document the process for you. But beware!
Precautions must be taken…