Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Sasa Popovic 77 posts 362 karma points
    Oct 23, 2013 @ 11:18
    Sasa Popovic
    7

    uSiteBuilder v2 - a rebuild

    Hello everyone,

    We at Vega IT love uSiteBuilder and use it every day on our projects. We've been listening at comments from the community on what should be improved for the past 2.5 years, since uSiteBuilder was released and we are sorry because we couldn't adopt all good suggestions in short time.

    The major issues that we have experienced, and which were also reported by the community, are related to performance of uSiteBuilder on medium and large projects (those with tens to hundreds of document types) - more specifically the initial load/initialization time. There were many comments from the community as well, some posted here on our.umbraco.org, some posted as blog posts (as this recent one: https://offroadcode.com/blog/1774/the-state-of-code-first-development-in-umbraco/) and many posted on Twitter.

    The last work that we've done was support for v6 of Umbraco. That work was done in a separate branch on the official repository at codeplex but it was just some small work to make it possible for uSiteBuilder to be used on v6 projects. That version of uSiteBuilder still didn't get any performance improvements.

    After looking at the current approach and implementation of uSiteBuilder and comparing that to the v4 and v6 APIs, we concluded that for major improvements, we need to rebuild uSiteBuilder from scratch.

    We are happy to announce that we have started with the rebuild process with these main goals in mind:

    1. support Umbraco v6.x and v7.x projects
    2. make initial sync process super-fast
    3. implement lazy-load for properties of our document types
    4. implement integration with uQuery
    5. implement full-support for MVC

    There will be many more changes of course but the five listed above will be our main priorities.

    Our estimate is that the work will be completed and tested in three months.

    We are looking forward to getting any feedback from you during the development but also when uSiteBuilder v2 gets released.

    Regards,

    Sasa and the Vega IT team.

  • Stephen 707 posts 1982 karma points core hq
    Nov 06, 2013 @ 11:57
    Stephen
    3

    Super great.

    There are various projects that all try to do the (more or less) same thing (uSiteBuilder, uSync...) and that's good. One thing to keep in mind:although Core can't take over these devs (and that's very good), Core can make life easier for code-first experimenters. So don't hesitate to share feedback about all the points of friction that you may have with Core, missing interfaces and hooks, that would make your life easier.

    Sometime ppl do huge efforts to circumvent those limitations of Core... whereas it might be quite easy to just make an interface public, add a hook, whatever.

    Stephan

  • Sasa Popovic 77 posts 362 karma points
    Nov 06, 2013 @ 12:04
    Sasa Popovic
    0

    Thanks Stephen, we'll do.

    We were actually doing huge efforts with v1 of uSiteBuilder to overcome some limitations of Core.

    Sasa

  • andrew shearer 338 posts 432 karma points
    Nov 13, 2013 @ 03:31
    andrew shearer
    0

    Hi Sasa,

    This is great news. I wondered if you could tell me:

    • Will this be an OSS project? (github? w/ community contributions as you see fit)
    • Will it be available as a Nuget package?
    • Have you considered an incremental release cycle? i.e. Doctype sync as phase 1 functionality, template sync and datatype sync as subsequent phases

    Thanks, Andrew

  • Sasa Popovic 77 posts 362 karma points
    Nov 13, 2013 @ 11:02
    Sasa Popovic
    0

    Hi Andrew,

    1. Yes, this will be an open source project, like version 1. And it will be hosted on codeplex (http://usitebuilder.codeplex.com/) as before and will be open for contributions as it is at the moment.
    2. Yes, it will be available as a Nuget package as well.
    3. Not really because the purpose of uSiteBuilder is not document types sync or template sync or similar - the idea is to have a strongly typed, compile time error checked, etc. and in sync solution in Umbraco so in that sense partial releases would not make much sense. There are tools out there that are used only for sync of document types for example so you could use such tools before uSiteBuilder v2 gets released.

    Regards, Sasa

  • Greg Fyans 111 posts 266 karma points
    Nov 18, 2013 @ 15:48
    Greg Fyans
    0

    Hi Sasa,

    We use uSiteBuilder quite extensively and we're currently trying to decide whether we should use Umbraco 7 for a new project. Is v2 progressing according to plan i.e. you're aiming for a Jan release or should we hold off?

    If realistically v2 won't be available anytime soon then we'll continue with Umbraco 6.

    Greg.

  • Sasa Popovic 77 posts 362 karma points
    Nov 18, 2013 @ 17:00
    Sasa Popovic
    0

    Hi Greg,

    I would suggest you continue with Umbraco 6 as it's still early for us to guaranty release date of uSiteBuilder v2.

    Regards, Sasa

  • Greg Fyans 111 posts 266 karma points
    Nov 18, 2013 @ 17:28
    Greg Fyans
    0

    Hi Sasa,

    Would it maybe be an option to do what you did for v6 - just get it working, not necessarily with all the new features and performance enhancements? This would at least get developers on to using Umbraco 7, then, when uSiteBuilder 2 is released, it's an upgrade.

    I don't mind exploring the possibility of forking 3.0.0 branch and looking into this, unless you think this will cause more problems than it solves - to be honest, I haven't looked at the uSiteBuilder source.

    Greg.

  • Sasa Popovic 77 posts 362 karma points
    Nov 18, 2013 @ 17:42
    Sasa Popovic
    0

    Hi Greg,

    I don't think we would be able to do that as we are quite busy at the moment. We managed to plan the right developers for v2 build and we had to wait for a few months to be able to start with that work.

    I would still suggest you stick to Umbraco 6 until v2.

    Regards, Sasa

  • higgsy 65 posts 92 karma points
    Nov 18, 2013 @ 22:33
    higgsy
    0

    Hi Sasa,

    I hope this is the right forum to suggest a feature. We work with a similar solution for EPiServer sites, called PageTypeBuilder. One of the great features in this product (albeit it is not included in the core product) is an Admin interface that enables an Administrator to view:

    • Page/Document Types that exist in the system but do not exist in code i.e. those that were not created with uSiteBuilder; ability to delete Document Type
    • Properties on any Page/Document Type that does not exist in code; ability to delete Properties
    • Properties on any Page/Document Type that does not match the code definition; ability to reset to the code definition
    I appreciate that currently uSiteBuilder does not delete anything for obvious reasons, but this is functionality that only Administrators should be able to use.
    I can provide a few screenshots if it helps.
    Thanks
    Al
  • Sasa Popovic 77 posts 362 karma points
    Nov 19, 2013 @ 10:05
    Sasa Popovic
    0

    Hi Al,

    Thanks for the tips. I'll add it to the list of TODOs and we'll consider these features (and an admin area in general) for one of future releases.

    We actually work quite a lot with PageTypeBuilder as well so I'll ask one of my colleagues to have a look at the features that you've mentioned.

    Btw, it's possible to delete properties using uSiteBuilder - you just have to mark your property as "obsolete" using an atribute and uSiteBuilder will delete it from the CMS on next run.

    Regards,
    Sasa 

  • Greg Fyans 111 posts 266 karma points
    Nov 19, 2013 @ 10:24
    Greg Fyans
    0

    Hi guys,

    There's a package called uSiteBuilder Admin that has the functionality you're describing, higgsy. Maybe check that out:

    http://our.umbraco.org/projects/backoffice-extensions/usitebuilder-admin

    Greg.

  • Ismail Mayat 3905 posts 7899 karma points admin mvp c-trib
    Nov 19, 2013 @ 10:26
    Ismail Mayat
    0

    Al (never met you before in my life ;-}) and Sasa,

    With regards to admin there is http://our.umbraco.org/projects/backoffice-extensions/usitebuilder-admin so could continue using that or update it to work with v2?

    Regards

    Ismail

  • Sasa Popovic 77 posts 362 karma points
    Nov 19, 2013 @ 10:32
    Sasa Popovic
    0

    I agree with Ismail, if such package is already there then the best would be to just update it to work with uSiteBuilder v2.

     

    Regards,
    Sasa 

  • andrew shearer 338 posts 432 karma points
    Nov 19, 2013 @ 11:25
    andrew shearer
    0

    FYI usitebuilderAdmin doesn't work properly in umbraco 6.x

  • Greg Fyans 111 posts 266 karma points
    Nov 19, 2013 @ 13:01
    Greg Fyans
    0

    It's got it's quirks, but it does just about work.

    Also, it needs a little tweaking, but uSiteBuilderAdmin does work with Umbraco 7. You need to install the package, move it from /umbraco/plugins to /umbraco/Dashboard/plugins and modify the Dashboard.config to combine the developer sections and change the path to the dashboard usercontrol. Some of the CSS is broken, but you can sync (import and export). Result(-ish)!

    Greg.

  • Thomas Tvedt 7 posts 29 karma points
    Dec 08, 2013 @ 21:47
    Thomas Tvedt
    0

    This sounds great :-) When is the planned release date of v2? (23. october+ 3 months == 1. february?)

    A few ideas:

    • You can use MVC's build-in attributes in System.ComponentModel.Annotations to decorate the document types, maybe this is a good idea instead of implementing your own attributes? (Display, UIHint, etc.)
    • nuget-package?
    • a sample-solution?
    -Thomas
  • Sasa Popovic 77 posts 362 karma points
    Dec 09, 2013 @ 15:19
    Sasa Popovic
    0

    Hi Thomas,

    Thanks for the ideas, I'll pass them to my colleagues who are working on the project.

    And yes, we are still targeting end of January/begging of February.

    Regards,
    Sasa 

  • Shannon 8 posts 27 karma points
    Jan 23, 2014 @ 13:28
    Shannon
    0

    Sasa

    Keen to know of how you are progressing

    I am hanging out for the update

  • andrew shearer 338 posts 432 karma points
    Jan 23, 2014 @ 13:30
    andrew shearer
    0

    +1

  • Murray Roke 426 posts 778 karma points c-trib
    Jan 29, 2014 @ 03:13
    Murray Roke
    0

    Hi Sasa,
    I just caught up with the fact you're upgrading the awesome uSiteBuilder. I wanted to see if I could get some early bits and test it out (perhaps contribute), but I don't see anything new here: http://usitebuilder.codeplex.com/SourceControl/list/changesets?branch=3.0.0

    Am I looking in the right place?
    Cheers.
    Murray.

  • Sasa Popovic 77 posts 362 karma points
    Jan 29, 2014 @ 16:48
    Sasa Popovic
    0

    Hi Murray,

    My colleagues are still working with a local repository for the v2 build. Our plan is to have the code pushed either to the same old repository at codeplex or to a new one on GitHub or a similar service (a few people have suggested that we move to GitHub so we are considering that now).

    I'll let you know when we make the code of our minimal viable product (MVP) available so that you can test it out before the first release gets published. You could then contribute as well as we plan to work on additional features after the MVP gets published?

    Regards,
    Sasa 

  • Sasa Popovic 77 posts 362 karma points
    Jan 29, 2014 @ 17:00
    Sasa Popovic
    0

    Hi everyone,

    Some people mentioned that we could contact the Core team in case a change in Core can make our life easier when building uSiteBuilder (Stephen https://twitter.com/zpqrtbnk was one of them).

    A colleague of mine is now building templates sync support in v2 but the problem is that method "Template.MakeNew" from the Core will always add a line like this to the template:

    <%@ Master Language="C#" MasterPageFile="~/umbraco/masterpages/default.master" AutoEventWireup="true" %>

    Can anyone help and suggest who we can contact to get a new overload of the Template.MakeNew method which would not be adding the above line?

    Regards,
    Sasa 

     

     

     

     

     

     

     

     

     

  • Stephen 707 posts 1982 karma points core hq
    Jan 29, 2014 @ 17:06
    Stephen
    1

    That would be me ;-) Which version of Umbraco are you targetting? Because I think what you want is already possible with the new API that's in 6.1 and 7. For older version that would be complicated. Let me know.

  • Sasa Popovic 77 posts 362 karma points
    Feb 03, 2014 @ 17:56
    Sasa Popovic
    0

    Stephen, sorry for not replying sooner. You are right, we checked and the issue has been fixed in 6.1 and 7. We found many other issues with the 6.0.x versions so we'll have to support 6.1+.

    Thanks for your help with this issue.

    Regards,
    Sasa 

  • Maciek 6 posts 26 karma points
    Mar 03, 2014 @ 19:59
    Maciek
    0

    So, any progress? :) I'm dying to try this thing out in VS2013/Umbraco7 development :)

  • Sasa Popovic 77 posts 362 karma points
    Mar 11, 2014 @ 14:46
    Sasa Popovic
    0

    For those of you interested to look at the current work in progress, a status update is available here: http://www.vegaitsourcing.rs/#!/articles/2014/03/usitebuilder-v2-%E2%80%93-a-status-update-from-the-10th-of-march-2014

    Anyone who wants to give it a try can download the latest source from the GitHub repository, build it and give it a try. There are also test projects within the same solution - one for a web forms solution and one for an MVC solution.

    Any feedback is welcome.

    Regards,
    Sasa 

  • Fabio Milheiro 73 posts 135 karma points
    Mar 25, 2014 @ 00:07
    Fabio Milheiro
    0

    When is Umbraco 7 going to be supported by uSiteBuilder? I am about to start an Umbraco 7 project and couldn't find anything mentioning that - only that it is going to be supported but not stating when. It would be very useful to know that.

    Thanks

  • Murray Roke 426 posts 778 karma points c-trib
    Apr 07, 2014 @ 07:48
    Murray Roke
    0

    Hi Sassa,
    I tried the code from github, but I just dropped the DLL (and castle.core.dll) into an existing project.... (we use autofac for DI)

    Is there a doc or primer on differences from the old version?

    In our project I get this error: The model item passed into the dictionary is of type 'Castle.Proxies.HomepageProxy', but this dictionary requires a model item of type 'Umbraco.Web.Models.RenderModel'.

    Cheers.
    Murray.

  • Shannon 8 posts 27 karma points
    Apr 07, 2014 @ 07:51
    Shannon
    0

    Murray,

    I was playing with uSitebuilder and you need to set it to the DocumentType you set or inherited from. Much like the example on the github 

    https://github.com/spopovic/uSiteBuilder/blob/master/source/Vega.Test.MVC/Views/FirstLevel.cshtml

    @inherits Vega.USiteBuilder.UmbracoTemplatePageBase<Vega.Test.Entities.DocumentTypes.FirstLevelDT>

  • Murray Roke 426 posts 778 karma points c-trib
    Apr 07, 2014 @ 07:58
    Murray Roke
    0

    Ahh.... is there a way to limit uSiteBuilder to just the creation of doctypes? we have all our own infrastructure set up for creating viewModels and wiring them up.

  • Shannon 8 posts 27 karma points
    Apr 07, 2014 @ 08:03
    Shannon
    0

    What do you use for the viewModels I am not 100% happy with purely using uSitebuilder for that aswell

  • Murray Roke 426 posts 778 karma points c-trib
    Apr 08, 2014 @ 04:35
    Murray Roke
    0

    We have our own custom mapper.

    We like to have viewModels that are not 1:1 mapped to the doc-type.

  • Fabio Milheiro 73 posts 135 karma points
    Apr 08, 2014 @ 14:46
    Fabio Milheiro
    0

    Hi Sasa, in this thread on November 13, 2013 @ 11:02 you mentioned there would be a uSiteBuilder nuget package.

    Do you have a date for when this is going to happen?

    Thanks

  • Sasa Popovic 77 posts 362 karma points
    Apr 09, 2014 @ 09:20
    Sasa Popovic
    1

    Hi Fabio,

    We'll have both v1 and v2 of uSiteBuilder available as NuGet packages by the end of the week.

    Regards,
    Sasa 

  • andrew shearer 338 posts 432 karma points
    Apr 11, 2014 @ 01:03
    andrew shearer
    0

    hi Sasa,

    Will it be possible to use uSitebuilder v2 solely for Code First development i.e. just Document Type (and Data type?) synchronization? 

     

    thanks

  • Sasa Popovic 77 posts 362 karma points
    Apr 11, 2014 @ 09:12
    Sasa Popovic
    0

    Hi Andrew,

    That was always possible (with versions 1.x) and is now possible as well. 

    Regards,
    Sasa 

  • Shannon 8 posts 27 karma points
    Apr 11, 2014 @ 09:19
    Shannon
    1

    Sasa I have had issues with this and using 

    In the class SiteBuilderApplicationBase the line

    mvc. DefaultRenderMvcControllerResolver.Current.SetDefaultControllerType(typeof(TemplateBaseController));

    I think needs to be an option to turn on and off. As if you only want it for code first you don't need to change the default base controller.

    I am happy to send this change in githib if make it easier for you.

  • Sasa Popovic 77 posts 362 karma points
    Apr 11, 2014 @ 09:28
    Sasa Popovic
    0

    Shannon,

    Feel free to make a fork and a pull request on GitHub. We'll then review your update and approve it if it's all fine.

    Regards,
    Sasa 

  • Sasa Popovic 77 posts 362 karma points
    Apr 15, 2014 @ 17:33
    Sasa Popovic
    0

    Hi Shannon,

    Sorry for my late reply, I was quite busy for the last few days. 

    We have reviewed and merged your change.

    Thanks for supporting the uSiteBuilder team!

    Regards,
    Sasa 

  • andrew shearer 338 posts 432 karma points
    Apr 22, 2014 @ 06:59
    andrew shearer
    0

    hi Sasa, do you have a timeframe on a beta release of v2? thanks

  • Sasa Popovic 77 posts 362 karma points
    Apr 22, 2014 @ 09:23
    Sasa Popovic
    0

    Hi Andrew,

    It's actually already available as a NuGet package: http://www.nuget.org/packages/uSiteBuilder/.

    The source code on GitHub is also up to date with the latest changes: https://github.com/spopovic/uSiteBuilder.

    We've been using it on two Umbraco 6.x projects and one Umbraco 7.x project so far. There were some minor issues but we solved them in the meantime. So I can confirm that it works fine already.

    Any feedback is most welcome. We'll still be working on it as performance can still be improved and we got some good feedback already from the community on how some things could be reorganized in code.

    Regards,
    Sasa 

  • Stephen Brewer 8 posts 30 karma points
    Apr 28, 2014 @ 11:48
    Stephen Brewer
    0

    Hi Sasa

    We are eager to use the new version uSiteBuilder but could do with some quick pointers on how to setup. Do you have any sort of notes on how to setup and run uSiteBuilder?

    Ive had a look at the example code on GitHub but its a bit unclear as to whats needed to get uSiteBuilder up and running.

    Cheers

    Steve

  • Stephen Brewer 8 posts 30 karma points
    Apr 28, 2014 @ 13:33
    Stephen Brewer
    2

    I manged to get a simple test application up and running using the following rough steps :

    1. Create new MVC4 web application (choose Empty Template) (project name = MvcApplication1).
    2. Install Umbraco using Nuget.
    3. Install USiteBuilder using Nuget (be sure to choose the correct one as there is an older unoffical version).
    4. Add a new Class Library project to the solution (project name = MvcApplication1.USiteBuilder).
    5. Add reference to the USiteBuilder dll in project MvcApplication1.USiteBuilder.
    6. Add reference to project MvcApplication1.USiteBuilder in MvcApplication1.
    7. Add following fields to the <appsettings> section of the web.config in MvcApplication1

        <add key="siteBuilderUserLoginName" value="YOUR_ADMIN_USERNAME" />
        <add key="siteBuilderSuppressSynchronization" value="false" />
        <add key="siteBuilderEnableDefaultControllerType" value="false"/>
        <add key="siteBuilderAssembly" value="MvcApplication1.USiteBuilder"/>

    To setup the actual DocumentTypes just add new classes to the MvcApplication1.USiteBuilder project as per the example project in GitHub (see project Vega.Test.Entities in that solution for examples).

    Hope that helps

    Steve

     

  • Sasa Popovic 77 posts 362 karma points
    Apr 28, 2014 @ 15:58
    Sasa Popovic
    0

    Hi Stephen,

    Sorry for my late reply. But it seems that you've figured it out already, which is even better ;-)

    Thanks for sharing the instructions!

    Regards,
    Sasa 

  • Christian Schaiter 1 post 21 karma points
    May 20, 2014 @ 14:02
    Christian Schaiter
    0

    Hi Sasa,

    since this is my first post in the Umbraco forum, I want to thank all of you for providing such a huge amount of useful information. That's really invaluable!!

    We have been starting to use Umbraco v7 6 months ago and have moved to doing a code first approach now, using the great uSiteBuilder tool. In general it works fine for us and saves us a lot of headache especially when it comes to migrating the CMS to our production system. However, I have one question: Is it possible to include the code first approach also for Media-Types (resembling the synchronization mechanism for Document-Types)? Since we also maintain quite a lot of different media in Umbraco, this feature would be extremely helpful for us.

    Best Regards and keep up the great work,

    Christian

  • Sasa Popovic 77 posts 362 karma points
    May 20, 2014 @ 16:58
    Sasa Popovic
    0

    Hi Christian,

    uSiteBuilder doesn't support Media Types at the moment. 

    We might add support for Media Types in the future but we also welcome people from the community (including you) to contribute to the project by adding cool new features to uSiteBuilder. In case you want to contribute to the project, the latest source is here: https://github.com/spopovic/uSiteBuilder

    Regards,
    Sasa 

  • AB 29 posts 80 karma points
    Jun 02, 2014 @ 11:02
    AB
    0

    Hi all,

    I would really like to use uSitebuilder and umbraco v7.  How stable is the build to use with v7?

    Would anyone not recommend using this approach?

  • Sasa Popovic 77 posts 362 karma points
    Jun 02, 2014 @ 11:25
    Sasa Popovic
    0

    Hi Adam,

    We've been using it for a few months on a number of Umbraco 7 projects and it's working very well. 

    Just be sure to take the latest version from GitHub (https://github.com/spopovic/uSiteBuilder) or at least the latest NuGet package (https://www.nuget.org/packages/uSiteBuilder/).

    Regards,
    Sasa 

  • AB 29 posts 80 karma points
    Jun 02, 2014 @ 11:56
    AB
    0

    Thanks Sasa, much appreciated!

  • AB 29 posts 80 karma points
    Jun 03, 2014 @ 12:11
    AB
    0

    Hi Sasa,

    I keep recieving

    The model item passed into the dictionary is of type 'Umbraco.Web.Models.RenderModel', but this dictionary requires a model item of type 'Models.Pages.HomePage'.

    Any ideas?

    Thanks

    Adam

  • Fabio Milheiro 73 posts 135 karma points
    Jun 03, 2014 @ 12:31
    Fabio Milheiro
    0

    This is not the thread for that question but what you need to do is to make your HomePage view model extend RenderModel.

     

    public class HomePageViewModel : RenderModel
    {
      public HomePageViewModel(RenderModel renderModel)
        : base(renderModel.Content, renderModel.Culture)
      {
      }

  • higgsy 65 posts 92 karma points
    Jun 03, 2014 @ 22:41
    higgsy
    0

    Hi all,

    I'm wondering whether there is any support for PropertyGroups in the latest version of uSiteBuilder. PropertyGroups in PageTypeBuilder (for EPiServer) enable you to add multiple properties to a DocType where you can't acheive that purely through inheritance.

    Any thoughts? This would be hugely beneficial.

    Thanks

    Al

  • higgsy 65 posts 92 karma points
    Jun 27, 2014 @ 03:30
    higgsy
    0

    Anyone any thoughts on PropertyGroups?

Please Sign in or register to post replies

Write your reply to:

Draft