- A new initalization process. Up until now Page Type Builder has used a plugin-hack to have it’s initialization process started without having to configure it in web.config. With version 6 EPiServer CMS ships with it’s own module system which Page Type Builder now uses instead. In doing so a bug where Page Type Builder would sometimes throw an exception if you added a custom property type which you immediately used in a page type class is fixed. This change introduces some breaking, but very good, changes for those of you that need to run code that is dependent on PTB when the application is initializing. You’ll find more information about this in a separate post about the new initialization process in Page Type Builder 1.2.
- TypedPageActivator.CreateInstance has been made public and virtual and PageTypeResolver.Activator has been made public. This means you can override how Page Type Builder instantiates PageData objects which is rather exciting if you’re into testing. You can read more about this in my blog post about Dependency Injection with Page Type Builder 1.2.
- Page Type Builder now ships with a second, optional, assembly called PageTypeBuilder.Activation.StructureMap. You still only need PageTypeBuilder.dll to use PTB but this addition will enable you to inject dependencies into PageData objects using the IoC container StructureMap. You can read more about this in my blog post about Dependency Injection with Page Type Builder 1.2.
- Validation that page type names don't have more then 50 characters in their names. EPiServer only saves 50 characters any way and creating classes that specify longer names can cause you some trouble.
- Slightly more informative error message when the current page isn't of the correct type. The exception message now includes a hint about one of the most likely causes of this error.
- Null check in DataFactory_LoadedPage to play nicer with Composer. Thanks to Stefan Forsberg for pointing this out. There still seems to be some issues in using Page Type Builder and Composer though. If anyone is interested in looking into them I’d be more than happy to see if there are any changes that can be done to PTB to better accommodate Composer.
- The type of the DefaultValue property on the PageTypePropertyAttribute class has been changed from string to object. For a motivation check out Henrik Nyströms ticket about it.
Help me test it!
Since this release introduces a few changes, one of them major (the new initialization process), I really need all the help I can get with testing it. All you have to do really is download the release, use it in your project, and let me know how it works. And remember that letting me know that it works well is just as important as reporting bugs. So, even if you don’t run into any problems running it please drop me a note using the comment function here, email@example.com, Messenger, Skype or Twitter and let me know!
- Page Type Builder 1.2 Released!
- Page Type Builder 0.8 released – Finally!
- Page Type Builder 1.3.1 released – Some fixes for R2
- Dependency Injection with Page Type Builder 1.2
- Page Type Builder planned development timeline
- Page Type Builder 2 Preview 2
- Ideas for a new major version of Page Type Builder
- Ideas for new features in Page Type Builder 2.0