I'm have no strong feelings either way about the US election but this is funny.

by matt.perry 10/8/2008 4:23:09 PM

Are we looking at another gaffe prone President?

 

Tags:

Umbraco Action Handler

by matt.perry 9/3/2008 12:21:25 PM

I had quite a common requirement with a current Umbraco project I'm working on.  Each page can have an infinite number of banner ads on the right hand column of the screen.   Easiest way is to create a new document type for each banner item and allow them to be added as sub pages of the main text page.   In this particular web site each text page can have its own sub text pages so you end up with a nice tree structure of homepage, child pages and grand-child pages.

If each of these pages can have banner items the visual representation of the tree in the Umbraco manager pages becomes very difficult to understand.

image

What I needed was a container folder in the tree to place all the banner ads so they don't get mixed up with the text pages.

 image

When expanded you can see the banner items

image

This necessitated creating the banner 'container' sub-folder automatically each time a new text page was created.

 

The simplest way to achieve this is to use Umbraco Action Handlers

 

All the code is shown below but the main part of the Action Handler which is simply a Class Library dumped in the bin folder of the Umbraco site.


We are only interested in trapping the event fired when a page is create(d) otherwise leave the function.

// Only work with create event           

if (action.Alias != "create") return true;

Similarly we are only interested in the Text Page document type         

  // Only work with Text Page docuemnt types
            if (documentObject.ContentType.Alias != "Text Page") return true;

 

Create a new document of type banner container and base the location of the current documentID.

 

            Document bannerItem = null;

            bannerItem = Document.MakeNew("Banners", DocumentType.GetByAlias("Banner Container"), documentObject.User, documentObject.Id);

I didn't want this container folder showing up in the navigation or any sitemap so I had to set some properties and then save the object.

            bannerItem.getProperty("umbracoNaviHide").Value = "1";
            bannerItem.getProperty("siteMapHide").Value = "1";
            bannerItem.Save();

 

That's it.....simple but very useful for creating a specific structure of sub-page when creating a new content node.

 

Full Code:

 

using System;
using System.Collections.Generic;
using System.Text;

using umbraco.BusinessLogic.Actions;
using umbraco.BusinessLogic.console;
using umbraco.cms.businesslogic.web;

namespace UmbracoWebsite

{
    public class BannerHandler : IActionHandler
    {
        #region IActionHandler Members

        public bool Execute(Document documentObject, umbraco.interfaces.IAction action)
        {
            // Only work with create event
            if (action.Alias != "create") return true;

            // Only work with Text Page docuemnt types
            if (documentObject.ContentType.Alias != "Text Page") return true;

            Document bannerItem = null;

            bannerItem = Document.MakeNew("Banners", DocumentType.GetByAlias("Banner Container"), documentObject.User, documentObject.Id);
            bannerItem.getProperty("umbracoNaviHide").Value = "1";
            bannerItem.getProperty("siteMapHide").Value = "1";
            bannerItem.Save();

            return true;

        }

        public string HandlerName()
        {
            return "BannerHandler";
        }

        public umbraco.interfaces.IAction[] ReturnActions()
        {
            return new umbraco.interfaces.IAction[] { new umbraco.BusinessLogic.Actions.ActionNew() };
        }

        #endregion

    }
}

Tags:

iPod refresh coming soon?

by matt.perry 8/24/2008 11:51:50 AM

Kevin Rose has posted a short video on the upcoming iPod changes over the next three weeks.  Apple looks to distance the iPhone from the iPod range in terms of price so expect to see across the board price cuts.

Interestingly the next incarnation of the MacBook Pro looks to have integrated Blueray support.  No word on if this is OSX only or wether Bootcamp drivers for Vista will exist.

 

Tags:

Apologies....

by matt.perry 7/31/2008 6:18:36 PM

Sorry about doing this but I often use this blog just to note down interesting links that I find.

Kevin Rose of Digg.com fame tweeted about this site and I think it's quite interesting.  How would a social network look like if it was all mapped out?  Who speaks to each other in the social graph?  The patterns make an interesting visual.

http://socialmediatrader.com/10-amazing-visualizations-of-social-networks/

Tags:

Blog Re-launch

by matt.perry 7/31/2008 5:37:00 PM

I've a strong desire to become more active in the 'blogsphere' and therefore I'm re-launching this site. 

My focus now will primarily be on the Umbraco CMS product but I will continue to look into Rocky Lhotka's CSLA.NET framework.  Both products are mature stable applications and most importantly for the Small to Medium sized Enterprise (SME) sector that I work in, they are both free or subject to flexible licence agreements.

This site is actually only a temporary one whilst I build an Umbraco version.  :-)  

I've got a couple of nice Umbraco packages to launch soon as well, so watch this space.

Tags:

CSLA.NET | .NET | Umbraco

Screen recording software

by matt.perry 6/17/2008 5:41:50 PM

I'm shortly going to be recording some short demo's of Umbraco for us on my companies web site.  We are looking to show people the great functionality of Umbraco's back office and how easy it is to use.

I've just downloaded Total Screen Recorder and will let you know how I get on.

 

http://www.totalscreenrecorder.com/download.html

Tags:

CSLA - SQL Reporting Services

by matt.perry 1/4/2008 3:32:00 PM

Quick tip on how to use CSLA objects on a SQL 2005 Reporting Services instance.

http://forums.lhotka.net/forums/post/13747.aspx 

More links.

by matt.perry 1/2/2008 4:46:00 PM

Tags:

Online tutorials for WPF, Blend and Silverlight.

by matt.perry 12/31/2007 10:53:00 AM


I've been waiting patiently for Silverlight v2.0 and Blend 2.0 before really giving too much time to WPF and Silverlight but the featureset is now getting there and it's worth the time investing in learning resources.

Looking around the web there is great opportunity to be in at the begining of these exciting technologies. 

http://www.nibblestutorials.net/ 

More links

by matt.perry 12/30/2007 10:23:00 PM

Not that I havent got enough to do I've decided to complete a life long ambition, for a geek, next year and build a robot.

As I know precisely nothing about electronics but certainly with an aptitude to learn I am currently scowering the web for info and blogs.

I found these along my travels.......

www.hackaday.com

www.phidgets.com 

Powered by BlogEngine.NET 1.2.0.0
Theme by Mads Kristensen

About the author

Matt Perry Software architect, CMS specialist and football fanatic. Need to find a way to join them all together!

E-mail me Send mail

Calendar

<<  January 2009  >>
MoTuWeThFrSaSu
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

View posts in large calendar

Pages

Recent comments

    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2009

    Sign in