Page Type Builder 1.3 Released

I’m happy to announce that version 1.3 of Page Type Builder now is available for download. This is a minor release featuring mainly small fixes and tweaks. It does have one new feature though, PTB now reads PageTypeProperty attributes from interfaces that a page type class implements.

Below is a complete list of changes:

  • PTB now reads PageTypeProperty attributes from properties declared in interfaces that a page type class implements. This feature was contributed by Andreas Knudsen. Many thanks!
  • All public members of PageTypePropertyAttribute and PageTypeAttribute has been made virtual.
  • Updated to use the latest version of Castle.Core which includes the classes that was previously located in Castle.DynamicProxy2.dll.
  • Added a default property mapping for LinkItemCollection.
  • PageTypePropertiesProxyGenerationHook (a class that is used internally) now override Equals and GetHashCode which should yield slightly better performance.

How to upgrade

Page Type Builder uses Castle DynamicProxy2 which in older version meant that it had a dependency to two external assemblies, Castle.Core.dll and Castle.DynamicProxy2.dll. Version 1.3 has been upgraded to use the latest version of DynamicProxy which is now included in Castle.Core.dll. This means that in order to upgrade to version 1.3 of PTB you need to replace PageTypeBuilder.dll and Castle.Core.dll with the new versions and you also need to remove Castle.DynamicProxy2.dll from your bin or libs folder.

Rate the release

As usual, I would appreciate ratings of the release and the project on the CodePlex site.

PS. For updates about new posts, sites I find useful and the occasional rant you can follow me on Twitter. You are also most welcome to subscribe to the RSS-feed.

Comments

  1. Simon's avatar

    Simon 1 years ago

    Nice work, I'll use it on our next project.

    Does Castle.DynamicProxy2.dll interfer with PTB somehow? It might be needed by other assemblies and can't be removed in some projects.

  2. Joel Abrahamsson's avatar

    Joel Abrahamsson 1 years ago

    I haven't done much investigation and it might work without removing the old DynamicProxy2 assembly but I would guess it doesn't as you will then have two classes with the same name and namespace in your app domain. However, in that case you can add binding redirect from the old version to the one that is included in Castle.Core.

  3. Joel Abrahamsson's avatar

    Joel Abrahamsson 1 years ago

    On second thought a binding redirect probably might not be a feasible option unless it's possible to redirect from one assembly to another. Either way, if you do run into trouble with this, please let me know. It would also be fairly simple to recompile PTB for the old version.

  4. Paddy's avatar

    Paddy 1 years ago

    Kool! I love PTB more and more the more I use it! :)

    So... How do I use the new interface inheritance thingy? I tried moving the PageTypePropertyAttribute line to an interface a class inherits from. After compiling, the property doesn't seem to get the value from the database.

  5. Paddy's avatar

    Paddy 1 years ago

    Ehm... Immediately after posting my previous post, I though about this a bit more, and got the idea that maybe I can't use the "lazy" virtual property for this, so I implemented a "full" property instead, wich this.GetPropertyValue(...) etc, and that finally worked for me!

    So never mind my previous post...

  6. Minesh Shah's avatar

    Minesh Shah 1 years ago

    Hey Joel
    Does PTB 1.3 work with EPIServer 5.2 SP2 if is their a seperate download for this. As I am getting the following error message :

    Error 3 Assembly 'PageTypeBuilder, Version=1.3.0.0, Culture=neutral, PublicKeyToken=6fb8762af0e6dbed' uses 'EPiServer, Version=6.0.530.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7' which has a higher version than referenced assembly 'EPiServer, Version=5.2.375.236, Culture=neutral, PublicKeyToken=8fe83dea738b45b7' d:\DevRoot\Main\Bin\PageTypeBuilder.dll xxx.PTB

    Regards

    Minesh

  7. Joel Abrahamsson's avatar

    Joel Abrahamsson 1 years ago

    Hi!

    PTB 1.2 and higher is built using the initialization system introduced in EPiServer CMS 6 so for CMS 5 you have to use version 1.1 :/

Follow me on Twitter

  1. @unclebobmartin Because code coverage is a number that management can measure? 13 hours ago
  2. I'm amazed. "oikeinkirjoitusehdotuksista" is an actual word in the Finnish language! 13 hours ago
  3. @tednyberg Amen to that! 14 hours ago
follow me

Latest comments

  1. Per Ivansson wrote "We will definitely try to release as continiously as we poss..." on On selling 200OK and Truffler to EPiServer
  2. Joel Abrahamsson wrote "Thanks Andreas! Regarding your questions it's not really ..." on On selling 200OK and Truffler to EPiServer
  3. Andreas R wrote "Congrats on the sale. Hope ur rolling around in cash now ;) ..." on On selling 200OK and Truffler to EPiServer

About this site

This blog is built with EPiServer Community, EPiServer CMS, ASP.NET MVC and a bunch of other great products. The source code is available for download at the projects page, where you also can read more about this site and my other projects.

read more