Showing posts with label integration. Show all posts
Showing posts with label integration. Show all posts

Monday, January 15, 2007

I want to share, I really do

Over the years I've come to learn a few things about the EPiServer UnifiedFileSystem (UFS from now on), some the easy way, but most the hard way. The following is a list of my recommendations for when setting up the UFS in a new site.


1. Always create a "System" share


A System share is a secure folder mapping in the UFS. It can allow read access to specific files as required, but should only allow website administrators access to create, modify and delete.


What I tend to use this type of share for is to store system files like XML source documents used in property drop-down lists and other system related files that may need to be edited at some time.


To set this sort of share up you will need to add something like the following to your web.config file:

<handler pageDirectory="False" virtualName="System" virtualShare="True" type="EPiServer.FileSystem.Handler.NativeFileSystem,EPiServer">
<customSettings PhysicalPath="D:\Websites\EPiSample\WebSystemFiles" />
</handler>

2. Secure the special "Pages" folder


Now I know doing this will cause extra load on the server as it has to check permissions on files etc, but not securing this location can cause a few security headaches down the track.


A few times now clients have come to me saying they have found some documents in their site using Google that should not be there. What had happened is Google had indexed the site and documents, then a page had expired, but the documents were still available by a direct link.


The solution to this is easy, secure the "Pages" folder. Doing this will ensure that files uploaded to a page folder will get the same permissions applied to them as the page. So if the page expires, then so do the files! To configure a secure pages folder you will need to add something like the following to your web.config file:

<handler pageDirectory="True" virtualName="pages" virtualShare="True" type="EPiServer.FileSystem.Handler.NativeFileSystem,EPiServer">
<customSettings PhysicalPath="D:\Websites\EPiSample\Pages" />
</handler>

3. Create an MS Indexing Service cataglog for your site


To make the search work correctly in the File Manager you really need to configure a catalog for your site. Even if you are using a different search tool for your public site, it's important to configure MS Indexing Server for your user's when using the File Manager search.


You will only need to create one catalog, as long as it indexes all your files, as EPiServer will automatically set the search scope when searching in File Manager. To configure a catalog for the UFS you will need to add something like the following to your handlers in the web.config (except for any versioned file shares as they have their own search capabilities):

<handler pageDirectory="True" virtualName="pages" virtualShare="True" type="EPiServer.FileSystem.Handler.NativeFileSystem,EPiServer">
<customSettings IndexCatalog="EPiSampleCatalog" PhysicalPath="D:\Websites\EPiSample\Pages" />
</handler>

All this information and a lot more can be found in the technical note "Unified File System"

Monday, September 25, 2006

Group notifications in workflow

So you've setup EPiServer workflow and it's all working well, except you can't get email notifications working when using groups in your workflow, why? Well, it's because EPiServer workflow doesn't send notifications to groups, and I'm not sure why not.

This is a feature I have wanted for quite a while now, in fact since my first EPiServer installation. I sent the usual request to EPiServer and it's on the feature request list, but I can't see them implementing this feature as they are moving to Windows WF sometime soon.

Anyway, I have created an HttpModule that enables this functionality. It doesn't require any changes to your workflow, and basically enables the email notifications for groups in a workflow. The module hooks up to the task changed event so when a new group task is created in a workflow, my module then sends the email notification to ALL users in the group (the same email that individuals get). It then stores a flag in the task state to stop it sending the email multiple times.

It currently only works for EPiServer groups, but I imagine it could be extended to work with LDAP and Local groups also (I'll be looking into this myself soon).

If your interested then leave a comment. If I get enough interest I'll see if my employer will let me release this code and I'll post again where it can be obtained from.

Wednesday, September 20, 2006

MondoSearch Integration Pack v2

Mondosoft logo

This week I got my hands on the tech preview of the new MondoSearch integration pack for EPiServer, and have got to say that I'm really liking the look of it so far. This new version provides much tighter integration with EPiServer and exposes a lot more MondoSearch functionality directly in the EPiServer UI.

The first thing you notice are the new MondoSearch and Behavior Tracking tabs in edit mode. The MondoSearch tab allows you to search over pages in edit mode, similar to the standard search box but is not limited to searching the page name and id fields. The Behavior Tracking tab is the best thing though, integrating some of the analytics and reports from Behavior Tracker directly into EPiServer.

There's some new functionality in admin mode too. From the admin mode tool plug-in you can configure the MondoSearch integration, start the crawler, view the log and check on its status.

To make all this possible three new web services have been created, MSService, BTService and IMService. These web services along with the existing SearchService provide the underlying infrastructure for the new integration pack. The web services use the same MQL query language that you may be familiar with if you have developed with MondoSearch before, for executing requests to a MondoSearch instance.

Anyway, it's looking great and is a much more flexible solution with the web service interfaces. It's currently slated for a mid October 2006 release so will look forward to that date, in the mean time I'll look give the tech preview a thorough work over and will post more about it here soon.

If you want a copy of the tech preview you will need to contact Mondosoft, I sent my request to sales@mondosoft.com.

Tuesday, August 29, 2006

Windows Live Writer integration

Last night I was chatting online with a colleague of mine, JD, and he pointed me in the direction of this blog post from Mikael Runhem (may need to scroll down the page to find the post I'm referring to). It was quite weird timing actually as we were discussing the possibility of creating this ourselves. Looks like we got beaten to it!

The cool thing about this post is that it has apparently been posted directly from Windows Live Writer (WLW), directly to the EPiServer blog template. Michael writes:

Not to my surprise, Ruwen has made an excellent job, creating a " blog server emulator" that makes EPiServer pretend it is a Metablog compliant blog server! With this approach we can not only support the new upcoming blog program from Microsoft, Microsoft Live Writer, but also other Metablog compliant blog programs. This opens up for people using Macs, Linux, cell phones etc to create content in EPiServer!

If anyone is interested in WLW, I have been working on a plug-in that integrates the online file storage site Box.net. I have the plug-in ready for initial beta testing and am trying to get a project space on CodePlex to store it. If your interested in this plug-in then read more about it here.