More in this section
Categories
Bloggers
Blogs RSS feed

Sitefinity Thunder - why you need it, how to install and set it up

by Grisha 'Greg' Karanikolov
Sitefinity Thunder is a free plug-in for Visual Studio. It’s been a great help for Sitefinity developers, as it offers a lot of features which make our lives easier. In this post, I’ll make a summary of some of the most important features it holds, I’ll take you through the installation process and explain which features of Thunder you might want to use in different cases. Bear in mind that since Sitefinity Thunder has a new release every couple of weeks, by the time you read this there might be a good number of new important updates and new features, so I would recommend you stay in touch with what it has to offer.

Why you would want to use Sitefinity Thunder

You know how flexible and extendable Sitefinity is, right? You can create custom templates and themes, custom widgets (both in MVC or Web Forms), construct user-friendly control interfaces (designers) for them, create web services and much more. Well, Sitefinity Thunder saves you time and effort with all that, allowing you to create these elements in an automated way, setting them up in the right folder structure, creating sample code that you can both use as reference and modify to suit your needs.

1

It automatically registers these elements in Sitefinity (as in the case with custom themes) or gives you the ability to do so yourself if you use the “Register Toolbox Widget” button, which appears when you select the SitefinityWebApp

2

Curious fact: A little known fact is that the widget designers you can create through Sitefinity Thunder can save you tremendous amounts of time – try creating a widget without a designer first, write up your code and once you've created and saved it, try creating a Designer for existing widget. You will be suggested data picker interfaces (page, image, video, document or dynamic content selectors, dropdowns, checkboxes and more) for all public properties you have included in your widget:

3

which on the frontend would appear like this:

4

Read more on this awesomeness in the great blog post by David Cowart.

Sitefinity Thunder gives you the option to create new custom modules, where you can write your own logic and have them do anything you choose, should the dynamic modules of Sitefinity come insufficient in functionality.
In order to do any of the above, all you need to do is install Sitefinity Thunder and open your Sitefinity Web Application with Visual Studio – you will be given all of the above options without having to perform any other steps.

 

5

Another great feature that Thunder brings is the ability to connect to a remote server with Sitefinity project hosted there, download and change in real time website templates, themes and widget templates.

6 

This is convenient as you have VS’s IntelliSense to autocomplete and correct your code for you, compared to the built-in browser-based widget template editor. The Toolbox of Visual Studio will automatically be populated with the dynamic fields that you can use with the template you've loaded.

If your Sitefinity License includes that, you can use Thunder to synchronize code and deploy widgets and modules you’ve created remotely using the CodeSync and CodeDeploy functionality.

If you would like to manage themes, website and widget templates or synchronize code and deploy components remotely, you will need to install Sitefinity Thunder onto your project and set up Visual Studio to connect to it besides setting up the Visual Studio plugin.

Installing and configuring Sitefinity Thunder

I placed the “install and config” part of this blog post here deliberately, to make sure you will configure only what you need to, without taking any extra unnecessary steps.

There are 2 components worth bearing in mind when you are installing Thunder. One is the Visual Studio plugin, which you can download and install from Visual Studio Gallery. The installation of that is pretty straightforward – just download the plugin and follow the installation wizard. Having this plugin installed is enough if you want to open your Sitefinity project locally through Visual studio and start creating Sitefinity components, such as widgets, templates and the others, listed in the beginning of this post.
The other is installing the Thunder component in your Sitefinity project, which is necessary only if you are willing to connect to your project remotely to update page/widget templates remotely or use the CodeSync and CodeDeploy features. I am highlighting this as many people waste their time setting up Thunder on their projects and connecting to that, when they never needed to do that.

Setting up Thunder on your project can be done in two different ways:
1) When working with a local project           
In this case, what you need to do is open your Visual Studio, where you’ve already installed the Thunder VS plugin, go to the Telerik dropdown menu at the top, choose Sitefinity Thunder -> Install Sitefinity Thunder Module and use the interface to browse your files and folders till you choose the folder where your project is located. Once you are done, hit the Install button and you’re done.

7

2) When installing Thunder to a project, located on a remote server, what you need to do is this:
From your Visual Studio’s Telerik dropdown menu, choose Sitefinity Thunder -> Connection Settings. A window will pop-up, where you need to Add your project . Choose a Connection name that rings a bell to you, provide the URL where your project can be reached and a valid Username and Password pair for a user with administrative privileges.

8

At this point, since you have no Thunder component installed on your Sitefinity project, if you choose to Test the Connection, it should fail, which is fine. Click OK and note the Download button. Clicking on it should pop up a “Save As” window. What this does is to automatically create a ZIP archive with files you will need to upload to your remotely hosted Sitefinity project. These files are some dll’s, which hold the functionality for Sitefinity Thunder, Code Sync and Code Deploy, as well as a .svc service file, that would allow you to connect to your project remotely. Note that the ZIP file contains these files, arranged in the appropriate folders, so that if you just unpack it on the destination server in the root folder of your Sitefinity web app, all files will automatically go to their correct locations.

Connecting to Sitefinity through Visual Studio’s Sitefinity Explorer that Thunder provides requires you to fill out the above “Connection Setting Editor” with the required URL, username and password, but if you've installed the Sitefinity Thunder component already as described above, you should be able to successfully connect to your project and the “Test Connection” button should return a message “Connected successfully”.
Please note! If you’re setting up a connection to an instance of Sitefinity, which is running not through IIS but through the web server, built into the Sitefinity project manager

(this: )

9

you’re most likely using a URL that looks like http://localhost:14434 or another port. The port number would change each time you exit the Sitefinity Project Manager and start it again, so you will need to change the URL in Visual Studio each time. That’s why I would recommend setting up your project in IIS so that your URL never changes (plus there are tons of other benefits of using IIS too).

So there – now you have plenty of reasons to use Sitefinity Thunder and know how to install and set it up!
Happy Thunder-powered coding!

54 comments

Leave a comment
  1. gregory hernandez Aug 21, 2014

    Thanks for the post Grisha. I'm very interested in this.

    Okay, this is where it gets a bit confusing for me. Say I create a widget or user control (e.g. a News or Events rotator) on my local machine.

    How do I get this widget or user control to be usable on the live site (e.g. not my local environment), without bringing the live onto my computer to build the solution with the new widget/control included?

    Does Thunder eliminate the need to bring down the site in scenarios link the above?

    Thanks in advance. I am really looking forward to your answer.

    Gregory

  2. Grisha 'Greg' Karanikolov Aug 22, 2014

    Hey Gregory,
    A good question! The answer really depends on the control you've created. Here's why:
    1. If you have created an .ascx user control locally on your development machine, you can easily move it to production environment. It consists of an .ascx file, the .ascx.cs codefile and the .ascx.designer.cs  designer file (if you're working with C# of course). In order to run this control locally you need to build your solution, which will recompile your SitefinityWebApp.dll file. And if you register your control within Sitefinity, this setting will be recorded in the ~\App_Data\Sitefinity\Configuration\ToolboxesConfig.config file. So if you'd like to push your control from your dev environment to your production server without having to compile your production project , you need to copy your control including all its files (.ascx , .ascx.cs, .ascx.designer.cs and if you've created a custom designer for it - its files too), the local ToolboxesConfig.config file and the SitefinityWebApp.dll and paste them in their corresponding locations on your production server. That will enable you to be able to drag and drop the control on any page on your production website. If you want to add the control to pages locally and push the end result to your website, after performing the above actions, you can use the SiteSync to sync pages with widget settings.
    2. If you have created a custom control, compiled in a class library, you will be able to distribute it easily, as it's a .dll file which can be copied to any project's bin folder and registered into Sitefinity by customizing the ToolboxesConfig.config file manually or through the administrative backend of Sitefinity. Furthermore, you can make your life even easier here by make your control to automatically register itself in the toolbox.

    In both the above scenarios, bear in mind that the versions of your copies of Sitefinity should be the same, otherwise you'll get "cannot find assembly" type of errors!

    Here's some more info on that:
    Creating self installing widgets and modules in Sitefinity
    Adding controls to the toolbox
    Registering a new widget in Sitefinity

    Hope that helps!

  3. gregory hernandez Aug 22, 2014

    Thanks a million Grisha!

    You just made my life easier. In previous occasions, I copied from dev to production the .ascx , .ascx.cs, .ascx.designer.cs and manually edited the ToolboxesConfig.config.

    On the production side, the widget would show up, but, it'd be somewhat empty, without the functionality that I had on my dev environment.

    I now see that what I was missing was copying the SitefinityWebApp.dll, which I thought was a no no.

    So, I always resorted to bringing the site down, copying the control's code, building the solution, and uploading the site. That's time consuming for me. And, I always had to schedule time where users cannot make any content changes, to avoid loosing new content.

    Again, thanks for this. It's timely, as I working on a couple of controls right now.

  4. Grisha 'Greg' Karanikolov Aug 22, 2014

    Anytime, Gregory! I am glad this helps! Again, be careful to have the same versions of Sitefinity. Ideally you have a copy of your live website on your development machine, so that when you build your project and upload the SitefinityWebApp.dll, it will bot cause any issues.

    On a side note, Sitefinity Thunder contains the Code Sync and Code Deploy features, the latter of which allows pushing controls and modules to a remote environment. You can read more about it here, but bear in mind that you have to have a license which includes these features.

    Cheers,

    Greg

  5. gregory hernandez Aug 22, 2014

    Thanks again Grisha!

    Yes, my dev is a copy of our production, just with slightly older and missing content.

    And, I look into Code Sync and Code Deploy. I believe our license includes those.

    Thanks.

  6. gregory hernandez Aug 22, 2014

    ah! just to clarify. The important thing is that the version of Sitefinity is the same. Right?

    If new pages have been created on the production site, which I don't have on my dev site, I am still good for copying/pasting the SitefinityWebApp.dll.

    Right?

  7. Grisha 'Greg' Karanikolov Aug 26, 2014

    Yes, file versions is what matters, the content discrepancies don't affect this at all.

  8. David Mar 03, 2016

    Thanks Greg, 

    This is a really important post & should not be buried away in a blogs section. It should be one of the first things new Sitefinity folks read. Especially the bit about not needing to create a remote connection. 

    For new starters the Sitefinity Environment is confusing. The relationship between Thunder, Feather, the Admin Page, ASP.NET & MVC is not obvious. Using codenames for products didn't help. Surely Thunder & Feather could have names more descriptive of their purpose. 

    Examples of some questions that took me a lot time to figure out. 

    1. Is Feather the MVC equivalent of Thunder?

        Answer: No. Thunder is used in VS to help automate development & deployment of both ASP.NET & MVC components. Feather is a module that you can enable in the Admin that makes MVC Widgets & page templates available. It is also available as Open Source Code, on GitHub, you can use as sample code if you are using Visual Studio to create your own components. 

    2. Why is the Visual Studio install process of Thunder so much easier than Feather?

         Because they are very different products. Feather is not a VS Add-in used for MVC component development. Thunder can create both ASP.NET & MVC components. You don't need to install the Feather GitHub samples to use Feather. But you may find the feather code useful as examples. 

    3. Is it necessary to use Thunder, Feather or even Visual Studio to create a great website in Sitefinity?

         No. You can do everything thru the Admin Interface. But you will find some things rather clunky ie: Creating your own Theme & pointing to CSS classes. Thunder automates away much of that clunky manual config experience. 

    4. Can I trust most of the WebCasts & Blog Posts as most refer to really old releases of Sitefinity. ie: Pre-8.2. 

        Answer: I don't know. Sitefinity is good that it releases many updates each year. Much of the core hasn't changed for a long time. So the basic info is likely to be applicable. As MVC is an area that has undergone significant innovation recently, anything older than 24 months is likely to be out of date & inefficient compared to the way to do it today. 

    5. It also took longer than I'd like to figure out how to use the latest release of Sitefinity. Purely because I ignored anything (webcasts etc) that refereed to an earlier release. Over time I discovered most of those tutorials & webcasts were still relevant. 

    I hope you find this useful. 

    Thunder can also be used to develop MVC components. 
  9. Katlego Aug 07, 2016

    Hi Greg,

    I have a problem my connection is failing where I have to test the connection using something like http://localhost:12345/.

    Even though I have thunder installed already to visual studio, any reasons to this?

  10. asd Mar 31, 2018
  11. pest control Apr 03, 2018
    Η Alpha Αποφρακτική Service είναι μια επιχείρηση με αλματώδη ανάπτυξη στην καταπολέμηση όλων των ειδών των εντόμων και τρωκτικών. Η ιδιαιτερότητα και η δύναμη της βασίζεται στην υψηλή ποιότητα υπηρεσίας, στην υπεύθυνη εξυπηρέτηση των πελατών της σε συνδυασμό με τα προσιτά κοστολόγια και στα μοναδικά 'φάρμακα' που χρησιμοποιεί τα οποία είναι αβλαβή για ανθρώπους, παιδιά και κατοικίδια ζώα. Η Alpha Αποφρακτική Service καλύπτει με οργανωμένο και φιλικό τρόπο κάθε ανάγκη μας για απολύμανση και απομάκρυνση ανεπιθύμητων εντόμων. Στηρίζεται στην προσωπική γνωριμία που αναπτύσσει με κάθε έναν της πελάτη ξεχωριστά όπως βεβαίως και στις σύγχρονες τεχνολογίες που χρησιμοποιεί.απολυμανσεις τιμες
  12. thiết kế website tại quảng trị Apr 07, 2018
    Very good written article. It will be supportive to anyone who utilizes it, including me. Keep doing what you are doing – can’r wait to read more posts.thiết kế website tại quảng trị
  13. vpn Apr 07, 2018
    It was wondering if I could use this write-up on my other website, I will link it back to your website though.Great Thanks.vpn
  14. wilsonamelie Apr 07, 2018
    Nice Post..!! 
    Printer.
  15. jennyholt Apr 11, 2018
    The way you have explained this thing is amazing. i was glued to your article. Moreover if anyone having problem with Quickbooks services, they can contact me at Quickbook Contact Number. All their problms will be solved by our Technical Support team.
  16. robo Apr 11, 2018
    Nice Informative Blog having nice sharing..DETECTIVES EN MADRID
  17. Cash for cars melbourne Apr 11, 2018
    Your music is amazing. You have some very talented artists. I wish you the best of success.Cash for cars melbourne
  18. certified financial planner whittier Apr 11, 2018
    Most seminars are boring, two hour, pitch-fest with speakers who try to sell books, videos, and coaching kits. These people profit from your desire to secure a common sense retirement plan.certified financial planner whittier
  19. Self-Liquidating Loans Apr 11, 2018
    This article gives the light in which we can observe the reality. This is very nice one and gives indepth information. Thanks for this nice article.Self-Liquidating Loans
  20. robo Apr 12, 2018
    I have read your blog it is very helpful for me. I want to say thanks to you. I have bookmark your site for future updates.construction fencing
  21. Workout Music Apr 12, 2018
    New web site is looking good. Thanks for the great effort.Workout Music
  22. robo Apr 17, 2018
    Thankyou for this wondrous post, I am glad I observed this website on yahoo.DETECTIVE PRIVADO
  23. ΑΠΟΦΡΑΞΕΙΣ ΤΙΜΕΣ Apr 18, 2018
    Τα τελευταία χρόνια επεκτείναμε σταδιακά τις δραστηριότητες μας εκτός τις Αποφράξεις αποχετευτικών αγωγών και εκκενώσεις βόθρων, τώρα αναλαμβάνουμε υπεύθυνα απολυμάνσεις κτηρίων και έκδοση κοινοχρήστων, θέλοντας να προσφέρουμε ολοκληρωμένες υπηρεσίες στις κτηριακές ανάγκες.αποφραξεις
  24. Gespoten kurk Apr 21, 2018
    Nice Informative Blog having nice sharing..Gespoten kurk
  25. this website has a good info Apr 21, 2018
    This is very educational content and written well for a change. It's nice to see that some people still understand how to write a quality post!this website has a good info
  26. Ora Apr 22, 2018
    I was cheerfull and happy enthousiastic when this blog was presented. Interesting stuff to read. Terrasoverkappingen | Pergola's | Zonwering
    | Zwembaden | Polypropyleen zwembad
    I was happy so enthousiastic with all the Interesting stuff to read hre. Zwembad aanleggen | Zwembad bouwen | Zonnescreens | Zwembad op maat | Polypropyleen zwembaden
    I found this a very interesting and entertaining blogarticle to read.  Zwembaden
  27. https://www.soloya.be Apr 27, 2018
    I was really enthousiastic when this blog was presented. Of great interest to me to read. Zonnepanelen | Zonnepanelen kopen | Zonnepanelen installateur | Warmtepomp kopen | Airco | Airconditioning
  28. jennyholt Apr 28, 2018
  29. robo Apr 30, 2018
    Thanks for sharing the info, keep up the good work going.... I really enjoyed exploring your site. good resource...DETECTIVES MADRID
  30. skincare wand May 01, 2018
    The post is written in very a good manner and it contains many useful information for me.skincare wand
  31. Luxenza.be May 03, 2018
    Thank you very much for this useful article. https://massagesalon-limburg.be/ likes it Erotische massage
    Howdy just wanted to give you a quick heads up Massage Limburg
    I am really glad I have found this information Striptease
    I like it what you formulated here. Erotische massages
  32. sami May 07, 2018
    Excellent website you have here, so much cool information!..TSM Agency
  33. Wordpresswebdesign.be May 08, 2018
    Great read up. Is there more coming on this subject? Greetings from https://wordpresswebdesign.be Wordpress webdesign
    Great effort on this subject. Is there more following on this subject? https://wordpresswebdesign.be
    https://wordpresswebdesign.be really admires what you achieved in this article. Great read up. Is there more coming out?. Wordpress webdesigner
    https://wordpresswebdesign.be likes you efforts on this subject. Wordpress website laten bouwen
    https://wordpresswebdesign.be what you wrote down this subject. Wordpress website
    Great read up. Is there more coming on this subject. Greetings from https://wordpresswebdesign.be Webdesign
    Wordpresswebdesign.be likes what you wrote down this subject. Greetings from https://wordpresswebdesign.be Wordpress website bouwer
  34. Id pro May 10, 2018
    It was wondering if I could use this write-up on my other website, I will link it back to your website though.Great Thanks.Id pro
  35. Zonnepanelen-centrale.be May 14, 2018
    I was lucky to have found this blog and I found this very interesting and entertaining to read. Thank you from www.soloya.be and https://zonnepanelen-centrale.be  Zonnepanelen | Warmtepompen | Warmtepompen 
  36. judi poker domino online May 15, 2018
    I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.judi poker domino online
  37. robo May 15, 2018
    Wow what a Great Information about World Day its very nice informative post. thanks for the post.bomberman online
  38. sami May 16, 2018
    Excellent website you have here, so much cool information!..DETECTIVES EN MADRID
  39. pokerqq May 19, 2018
    I would like to thank you for the efforts you have made in writing this article. I am hoping the same best work from you in the future as well..pokerqq
  40. Sempris.be May 21, 2018
    Sempris.be really admires what you wrote down this subject.Webdesign
  41. wordpresswebdesign.be May 21, 2018
    Great read up. Is there more coming on this subject? Greetings from https://wordpresswebdesign.be Wordpress webdesign
  42. sami May 22, 2018
    Thanks for the post and great tips..even I also think that hard work is the most important aspect of getting success..https://seguidoresbrasil.com
  43. robo May 23, 2018
    Ganhar curtidas no instagram de um modo rápido, seguro é com o site Curtidas Grátis. O melhor site para ganhar curtidas e likes no Instagram.
  44. robo May 24, 2018
    I really like your take on the issue. I now have a clear idea on what this matter is all about..2018 P Cent Box - 2018 P penny
  45. sami May 26, 2018
    Great Article it its really informative and innovative keep us posted with new updates. its was really valuable. thanks a lot.Email Hosting Malaysia
  46. dominoqq May 27, 2018
    Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work.dominoqq
  47. robert May 30, 2018
    nice post, keep up with this interesting work. It really is good to know that this topic is being covered also on this web site so cheers for taking time to discuss this!Detectives Madrid
  48. Warmtepompboiler.net May 30, 2018
    What an interesting piece of information you have provided here. Thank you from Warmtepompboiler.net and Soloya.be!  Warmtepompboilers
  49. airco-airconditioning.be May 30, 2018
    Airco-airconditioning.be Being able to get moe info on this topic here has been mindblogging to me.. Airco | Airconditioning | Airco prijs | Airco Antwerpen | Airconditioning AntwerpenAirco Limburg | Airconditioning Limburg
  50. Aquapura.be Zwembaden May 30, 2018
    Aquapura.be Zwembaden found this a very interesting and entertaining blogarticle to read.  Zwembaden
    | Zwembaden Aqua Pura  

    Leave a comment