Could anyone give me more information about how to work with webparts in EPiServer CMS 6 R2?
There is a lot of documentation but most of it still for CMS 5, since a lot has changed since then, I can't seem to get those modules to work.
Could anyone give me some advice on how to get WebParts working ?
What exactly are you trying to get to work? These is a couple of bugs in CMS 6 R2 which can affect webparts.
Well I'm trying to create and display WebParts. There is a lot of "old" documentation and things have changed quite a bit between versions so I don't really now where and how to start :s
So far I've placed a WebParts section in my web.config-file, I've created a user control with the WebBrowsable and Personalizable attirbutes and I've made a custom page for displaying the webpart which contains a webpartmanager, a catalog, an editorzone and a webpartzone... this is basically all I've scrapped together from all documentation :P
The webpart is not showing though :(
Any help would be appreciated!
Using the tutorial below I managed to get the concept of WebParts working, but I have to add the webparts in code. I would like to make it possible to add them like you normally add other properties, but I'm kind of stuck :s
And how do I get a closed webpart back :P
EPiNova, a well established EPiServer partner in Norway, have developed a framework for working with webparts in EPiServer. Check out this page from them: http://www.epinova.no/blog/thomas-leela/dates/2009/10/web-parts-and-episerver-in-perfect-harmony/
I already found that, but since the article is dated 2009, I wonder if this will work for CMS 6 R2?
I have asked EPiNova if it will work on CMS 6 R2
Did they anwer yet?
When I try to install EPiNova I just get a LocalSQLServer connectionStringName error, like this one: http://world.episerver.com/Modules/Forum/Pages/thread.aspx?id=47255.
Unfortanetly their solution doesn't work here :s
To get the EPiNova webparts working on CMS 6 R2 you need to apply a hotfix. Contact our support department and ask for hotfix #73106.
You can request a hotfix by registering a support incident using the link below:
Epinova have registered a bug for EPiServer CMS 6 R2 which can cause some trouble for certain types of webparts. The webparts affected by this bug will be all webparts inheriting from PropertyLinkCollection and PropertyXhtmlString.You can find more information on the bug here:http://world.episerver.com/Support/Bug-List/#bug,EPiServer%20CMS,70463,zS%2fv5XG%2bEyHH40MkbUXEcOpvNl0%3d
We have not yet received a working bugfix for this, but I can let you know when we do.
However, the problems you describe above are not connected to this bug. Can you please update me on your progress and I can try to help you out?
I'm currently trying to get the hotfix going, I will keep you updated.
I'm stuck... again... I've done the following things, but nothing happens...- Added the new EPiServer.dll (the one that I was sent as a hotfix) plus the EPiNova.WebParts.Provider- Added the following to the web.config:
<clear/> <!-- you might get the "The specified connectionStringName, 'LocalSqlServer', was not registered."-error if you don't set this -->
<add name="EPiServerPersonalizationProvider" type="EPiServer.WebParts.Core.EPiServerPersonalizationProvider" connectionStringName="EPiServerDB" />
<add name="EpinovaPageVersionedProvider" type="Epinova.WebParts.Providers.PageDataPersonalizationProvider" connectionStringName="EPiServerDB" fallbackProviderName="EPiServerPersonalizationProvider" />
- Created and registered a simple webpart (based on a user control)- Added the properties "WebParts Personalization" and "WebPart" to my page In the edit mode of my page, I can see both properties... The personalization is a blank field (no clue what to do with this), the webpart is a dropdownlist that shows the registered webpart. What am I missing/forgetting/doing wrong?? All help would be appreciated!
I've got a scriptmanager and webpartmanager in my masterpage and in my page I've got EPiServer properties with as propertyname, the name of the webpart personalization and webpart property.
All I'm getting so far is the name of the webpart being printed :s
Have you added a webpart zone to your page? And do you get the "Edit WebParts" option in your right-click menu when you're logged in as a user with webpart privilages?
I see that most blog posts on this subject are really outdated, I'll try to create a new step-by-step blogpost later on this week (unfortunately I don't have time today).
A step-by-step blogpost would be nice, because indeed all documentation is outdated or incomplete :s
when I add a webpart zone (which I forgot) I get an error saying the WebpartZone does not have a public property named Property, meaning it won't accept <EPiServer:Property> tags :s So how am I supposed to pass the property along?
I wouldn't define this as progress but at least it is something :P
This is the code in the page that should contain the webparts:
<asp:WebPartZone ID="WebPartZone1" runat="server">
<EPiServer:Property ID="Property3" PropertyName="AddWebPart" runat="server" />
<EPiServer:Property ID="Property4" PropertyName="NewWebPart" runat="server" />
The first property represents the WebPartPersonalization property (didn't do anything with it, since I have no clue how this works), the second property represents the WebPart property.
The result is a page with two webpartchromes on it, the first chrome is empty, the second one only has the name of the webpart.
I checked the context menu: this now has "versions" in it, but no "Edit WebParts"...
I think I shoudl be using custom EPiNova properties or somehting like that? :s
The problem is that you're mixing .NET webparts and EPiServer webparts. The EPiServer webpart framework is built on top of the .NEt webpart framework, and is therefore compatible with EPiServer.
This is how you declare a webpart zone using the EPiServer webpart framework:
<epicode:zonelowuiimpact runat="server" ID="pageBottomZone" catalogzoneid="ThemeCatalogZone"
When you add this zone to your page you will get an "Edit webpart" option in your right-click menu. Here you can choose a webpart from a dropdown menu and add it to the zone.
Keep in mind that the webpart properties that are added to your pages automatically should never be edited or be visible to the editor, they should only "work behind the scenes" in order for the framework to work as expected :)
Hope this helps you a bit!
Well now I'm totally confused :P
I can't use .NET webparts with EPiServer webparts but I need to combine EPiNova and EPiCode? :s
Could you explain how to install EPiCode? Am I supposed to just add the dll or?
Okay so here's an update:
I added the webpartzone like you said and looked used EPiCode components for the manager. Now I get the context menu for editing webparts and when I click this I can see the webpart zone. The only thing missing is the catalog with the webparts to choose from. It's not showing at all right now. I did get an Ajax client-side error so I'm trying to get that resolved hoping that might be what's messing up the catalog.
Another update (I'm talking to myself :p):
I found this article which help me so much!
I've now got webpartzones, the catalog, it seems fine... except for one thing :( I've got no drag and drop functionality... so I can't place the webparts in their zones.
Anybody got ideas?
Okay, here is another update, but luckily the last since the problem is fixed!
I've got webpartzones, flexigrids, catalogs... the whole thing! I got the AJAX problem solved thanks to this article (http://labs.episerver.com/en/Blogs/Ted-Nyberg/Dates/112276/12/EPiServer-CMS-5-R2-gives-Sys-is-undefined-on-IIS7/), which was the cause for the non-working Flexigrid!