+1-888-365-2779
Try Now
More in this section
Categories
Bloggers
Blogs RSS feed

Answers to the Sitefinity 3.6 questions

by Ivan Osmak

There have been quite a few questions in the comments to my last post announcing Sitefinity 3.6 and as one of the visitors noticed, no one did answer the questions. This post will make much more sense, if you take a minute and go back through the comments on that post. So, to start with that one, no the team did not get any smaller, as a matter of fact a new developer has joined our ranks just few weeks ago.

Documentation

Sitefinity 3.6 brought a lot of bug fixes and several end user features, not just the new backend architecture, which is understandably the most interesting to the audience on this blog. Having that in mind, we wanted to get the fixes and features out as soon as possible and decided we'll deliver the documentation after the official release (kind of a win-win situation we thought).

 

I am sorry if we have poorly communicated this decision.

 

We are working on the documentation and samples as I write this post. Since the process of getting the manuals online is not as trivial, as one would expect, I will be publishing the materials here on the blog as soon as they are done. We expect to have all the topics in about 10 days and online in the manuals - until then check this blog for the fresh materials and samples.

Embedded templates, references and mappings

As it has been pointed out, I have promised to have the reference ControlsConfig file and all the templates delivered with the Sitefinity. We have changed our minds and published these materials as knowledge base article. However, the KB we have published, was unfortunately rather incomplete and had several wrong references. We are all truly sorry for this and are working (actually finishing) the simple tool which will generate the correct references for the ControlsConfig file for the entire site. The tool will also be able to extract embedded templates from your own modules. We are expecting to have the tool done this week.

 

One other problem that has slipped through the official release is the public control mappings - they are not working correctly, though, there is a simple workaround - you just set the paths manually. It is impossible to change the defaults for the new instances of controls (e.g. you want the external template to be used whenever you drag NewsView control on the page - currently it is always going to use embedded template). All these issues have already been fixed and are pending release in the hotfix.

 

ContentViewDesigners were another tiny detail that slipped by - namely you could not map them (same problem as in previous paragraph) and hence had no opportunity to modify them. With designers there is no workaround, since you cannot change their properties through Sitefinity. This issue has been fixed as well.

Secured modules

 

The issue with custom secured modules not appearing in Sitefinity has been reported shortly after we have released Sitefinity 3.6. Fortunately, Pepi has quickly tracked down the problem and published a workaround in form of KB. KB explains the background on the issue and provides a solution.

Localization of embedded templates

While I will talk more about this in the future posts, here are some basic principles:

  • Embedded templates use embedded resources for localization
  • External templates use embedded resources for localization if they are using our template parser (our template parser is used when your template files have any other extension than .ascx)
  • External templates use external localization files if you are using ASP.NET template parser (you are using ASP.NET template parser if your templates end with .ascx extension)

Silverlight controls

The only built-in Silverlight control at the moment is the video player that is available with build made against .NET 3.5. You can obviously use your own Silverlight controls in Sitefinity (like one of the visitors mentioned, by wrapping it in user control). We have finished the ground work for the Silverlight controls in Sitefinity, so with every new version of Sitefinity, chances are, more Silverlight enabled controls will be included.

The hotfix

All in all, we are very happy with the release, since there seems to be only few issues that have made it to the release and those are generally minor ones. We have been monitoring all the feedback over the past days (part of the reason we've been a bit quite) and have been fixing the glitches. We are aiming to release a hotfix in coming days that will address the reported issues and provide the ControlsConfig generator - which will provide correct references for all the host types. Most of the clients are very happy with the ease of upgrade, so one of our major goals has been fulfilled - though we will continue to work in this direction and make the whole process even simpler.

 

The hotfix will be extremely simple in nature and will require from you only to change the .dll files in the bin folder. At the same time, we are working on the documentation and will release it incrementally here on the blog.

 

I am sorry if I have come off as uninterested in your questions and problems you have risen. It's only that I wanted to give you the real answers and status updates on what are we going to do about these problems, rather than give you some generic political answer. And real answers take time of course.

 

Stay tuned for the docs...

18 comments

Leave a comment
  1. Romi Feb 17, 2009
    Umm...I stay tuned, but the changes in templates and resources is very important and have many repercutions in our custom applications. Some time ago we speek about ferrari for this tool, but now is like only turbine motor for speed course in salt-lake and no belt to attach driver! I come back to school with you and waiting clear tutorials or i come back to old version and stop for future.More you stop the dev licence for nothing more (plz explain you!). This is no win win.
  2. Patrick Feb 17, 2009

    Hi Ivan,

    Thanks for the update and clear explanations. As you guys released the 3.6 beta, I don't agree with the earlier post. Don't go wildly upgrade your client production sites without even giving it a spin. As Telerik has mentioned several times that there was a major overhaul in the backend and the way templates will work, first thing to do is ofcourse do some validations.

    Having said that, I'm anxious to see the new documention and sample code. Assuming the contacts and products module would get transfered to the new and mighty way of creating nice sitefinity modules?

    Anyway, please keep the blog posts coming, sitefinitywatch populated and upload all sitefinity webinar you have on disk.

  3. Adam Crandall Feb 17, 2009
    Ivan

    I'm curious about localization.  We spent a lot of time and money converting all the resource files to french, we sent these to Sitefinity for version 3.4 I beleive.  I need confirmation that everything is still in french as our client is now upgrading to 3.6.

    Thanks
  4. xyz Feb 17, 2009
    Oh dear.

    Telerik, these Sitefinity guys need your help to improve the quality of this product and need help fast.

    How about sending in some troubleshooters to the Sitefinity team to help them automate testing and improve their development processes? These bugs that are getting through reflect a very poor testing process and a unplanned/rushed release.

    Also it would be worth sending some API designers to help the Sitefinity team build classes that are actually extensible, and not full of private members and no events. It can be a real nightmare to extend modules (simple example: How do you hook the save event on the Blogs module - answer: you can't without building an entirely new module and creating your own ControlPanel with an overriden method. Come on Sitefinity - this should be EASY).
  5. Gary Haywood Feb 18, 2009
    Thanks for the effort Sitefinity team; I have just done a pluggable module and it is quite an improvement in simplicity and effort.

  6. Ivan Feb 18, 2009
    @ Romi

    thanks for the feedback. I am not sure how is the new module architecture affecting your existing modules, since the old backend framework and classes are still in place for the sake of backward compatibility. If you do have specific issues, please open a support ticket. We will greatly appreciate it.

    As for the documentation, I have explained that on several places already. We decided to release the fixes and new features, rather than wait yet more to finish up the documentation. We are working on the documentation.

    Licensing is way out of my domain and I cannot comment on that. I suggest you contact our sales department and iron out any issues you may have with licensing policies. They will be able to help you much more with that, than I would.

    As always, thank you for the feedback and your relentless participation in community.

  7. Ivan Feb 18, 2009
    @ Patrick

    thanks for the kind words. Always nice to hear those after release.

    As for the sample modules, we will provide all the sample modules for the new backend (products, contacts) + a real intra-site module and a new conceptual sample. I'll try to get out the documentation outline today and then you'll get a better picture.

    Once again, thank you for taking the time to provide feedback.
  8. Ivan Feb 18, 2009
    @ Adam

    the new tool that we are working on for exporting the embedded templates will export the embedded documentation as well, so everything will be as it was (I mean you'll be able to modify it). If you have sent us the resources for compilation before - then they are included as well. Obviously, there are some new keys in the resources, so you may need to do some additional translating (but it really should not be anything major). Drop a ticket or email if you run into problems and we'll take care of it.

    On the side note, the work has already began on the localization tool that will make all these troubles we are having with localization at the moment matter of a past.
  9. Bob Feb 18, 2009
    xyz, All managers in Sitefinity expose global events such as Executing and Executed that allow you to interfere or take actions on data manipulation. If you need events for the user interface such as buttons or selectors, you simply have to add code behind file for the template and hook to the appropriate event. I can’t think of anything simpler than that. If you have better idea please share it with us. We will be more than happy to implement it for you. Can you name a few classes that can’t be extended?
  10. Ivan Feb 18, 2009
    @xyz

    Not sure there is really a question, but I have to comment on your comment.

    Sitefinity 3.6 was a major overhaul of the backend architecture in the preparation for the new Generic Content API to be released in Sitefinity 4.0. As a release that features major changes in the architecture and transfer of the modules to this new architecture, together with new features and bug fixes - a handful of issues that have appeared after the release hardly qualify as a catastrophic release. Can we improve? Sure. We are working very hard making every new release better, upgrade procedures easier and finally the work with Sitefinity more pleasent to both developers and end users. I am sure long time users can vouch for this trend.

    Sitefinity API features OnExecuted and OnExecuting events for all managers, which provide commands such as "CreateContent", "UpdateContent", "UpdatePage"... provide you with the ability to cancel the event (if you are subscribing to the OnExecuting event), the actual object on which the operation is being performed so that you can modify it. It is our opinion that handling these kind of events should be handled on an application (manager) level and not in user interface, because you'd be running a risk of violating the DRY principle in doing otherwise.

    However, the new backend architecture featured in Sitefinity 3.6 introduces views which promote reusability of user interface and single responsibility principle. Back when the old backend architecture was designed, modules were very simple and at the time appeared they will stay like that - so we have provided only two base classes: "ControlPanel" and "CommandPanel". As Sitefinity evolved, both in terms of our own modules and modules our clients have been developing, it became apparent that the old backend architecture is not appropriate anymore, so we have built a new architecture which, as I have already mentioned, provides much more flexibility on the more detailed parts of the module (not just ControlPanel, but a single view - such as CreateNewView of Generic Content module).

    I'd also like to touch on your observation of our usage of private members. Restrictions are crucial part of design, since they are only way to achieve encapsulation. It is next to impossible to achieve backward compatibility with classes packed with public or virtual members. The only way is to abandon the class and start from scratch - and that's not such an appealing solution, you'd agree.

    Finally, I'd like to say that I do appriciate your observations and they raise very legitmate questions. I hope I was able to address your concerns and give some background on the decesion making process over here.

    I did not want to imply that every design, decesion or implementation we make is perfect - of course not. But, most of these problems you have mentioned have two sides and it is a necessity of life to pick one - sometimes it is less wrong one, sometimes more wrong one.

    Thank you for sharing your thoughts with the community.

  11. Ivan Feb 18, 2009
    @ Garry

    Thanks for the nice words Garry. Congrats on the new module. I am extremely happy that you have found it intuitive and simple.
  12. Grooverinthesouth Feb 19, 2009
    For people looking for a way to extract the embedded resources in the meantime... download DotNet resource extractor from http://www.nirsoft.net/utils/dot_net_resources_extract.html

    In blogs, for example, you can extract the embedded templates from the Telerik.Blogs.dll, modify them and then edit your blogs module on your blogs page and point the SingleItemTemplatePath property and ItemListTemplatePath property to your new custom templates.

    Easy as pie. This skips the ControlsConfig which is being fixed, but how many blog modules do you really need on a website? You'll only have to do it probably once for each website...
  13. Ralph Feb 20, 2009
    I've read the above comments, but I need to modify the front end forum template.
    I'm not really sure how to modify the ControlsConfig  to make the changes I need. A fix is mentioned for it. Do I wait for the fix or is there a way to do it now? I have extracted the original template but there is not a pointer to new templates like in the Blog module's appearance setting. Any help with this one?
  14. Kazi Apr 03, 2009
    Hi

    Can someone give me a link for on how to add custom meta fields in sitefinity 3.6?

  15. Ivan Apr 03, 2009
    Hi Kazi,

    please consult this article:
    http://blogs.sitefinity.com/Ivan/Posts/09-03-21/Products_module_Adding_and_removing_meta_fields.aspx
  16. Shreya Aug 06, 2009
    Hi,
    I have added the above comment. How can I restrict these characters in Name field????
  17. Shreya Aug 06, 2009
    Hi,
    I have added the above comment. How can I restrict these characters in Name field????
  18. Shreya Aug 06, 2009
    Hi,
    I have added the above comment. How can I restrict these characters in Name field????

    Leave a comment