Falafel Dashboard for Sitefinity MVC
It is with great pleasure that we, at Falafel Software, introduce to you the Falafel Dashboard.
With the latest release of Sitefinity 5.1, we were all treated to a great feature and a major change in the ability of the framework by introducing MVC in Sitefinity.
It was a clean and robust implementation that Falafel Software jumped on the opportunity and started to think about add-ons and plug-ins that will add value and benefit all Sitefinity content shareholders everywhere.
The current Dashboard in Sitefinity 4, 5 and 5.1 is pretty much a placeholder in our opinion. It can show a lot more than just links to videos and can be a single source of monitoring and administration for the entire Sitefinity application.
The team at Falafel has been working on this Dashboard product with great enthusiasm and the MVC paradigm lead us to believe that we can put together a clean implementation to serve the Sitefinity community not only for Sitefinity 5.1 but for future versions as well.
You can read the full post here http://blog.falafel.com/Blogs/lino-tadros/2012/08/09/falafel-dashboard-for-sitefinity-mvc-is-released
Download it today for FREE www.falafel.com/.../dashboard.aspx
Great! This should be standard in future releases I reckon.
Let us know what you think. You can use the Feedback too in the Help menu to suggest your ideas.
@george
What I think
http://www.sitefinity.com/devnet/forums/sitefinity-4-x/general-discussions/possible-to-configure-dashboard.aspx
http://www.sitefinity.com/devnet/forums/sitefinity/suggestions/another-dashboard-request---select-video-tutorial-according-to-version.aspx
http://www.sitefinity.com/devnet/forums/sitefinity/suggestions/another-dashboard-request.aspx
I will give it a try and tell you what I think
@Telerik
SF starts to feel like OpenSource. Steve, Falafel and others seem to be able to provide what many of us are longing for :-(. One reason I am with SF is that it is/was not open source. No wait for new updates when a new version comes out. But this seems to be changing.
Markus
@Markus
Dear George
Thank's for your work. But I will stay with the core SF version. Let me tell you why.
a) Allthough great and free - I don't want banners displayed at my clients sites. SF is not OpenSource and not Android
b) I am afraid as with other great marketplace editions when 5.2 comes out you will always have to wait (I know you are fast, but its more a philosophy)
c) I am still hoping that telerik will skip some day one wor two cycles with new stuff and start improving what they have now.
d) Even if I would by the banner free version its more then half of what my SBE edtions for most clients cost.
Good luck and I hope you inspired Telerik.
Markus
Hi all, one major thing I would like to point out about the Falafel Dashboard is that you can create MVC widgets as normal and plug them into the dashboard via the administration settings. We will be posting a video about this soon. Definitely download and check out the dashboard, even if it is on your local machine. We hope we inspire you and the rest of the community too :)
It could be me, but I was't able to get it working. It installed and activate fine, but when trying to bring up the Dashboard, it threw an error the following error. My guess is that this has something to do with the users under LDAP. I have regular "Default" users and then a second provider setup via "LDAP" for administration on the backend.
Type : System.ArgumentOutOfRangeException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Message : Specified argument was out of the range of valid values.
Parameter name: Unable to find mapping for property:IsLoggedIn
Source : Telerik.Sitefinity
Help link :
ActualValue :
ParamName : Unable to find mapping for property:IsLoggedIn
Data : System.Collections.ListDictionaryInternal
TargetSite : System.String ReverseMapping(System.Reflection.MemberInfo)
Stack Trace : at Telerik.Sitefinity.Security.Configuration.LdapMappingConfig.ReverseMapping(MemberInfo mi)
at Telerik.Sitefinity.Data.Linq.Ldap.LdapQueryTranslator`1.VisitMemberAccess(MemberExpression m)
at Telerik.Sitefinity.Data.Linq.ExpressionVisitor.Visit(Expression exp)
at Telerik.Sitefinity.Data.Linq.ExpressionVisitor.VisitMemberAssignment(MemberAssignment assignment)
at Telerik.Sitefinity.Data.Linq.ExpressionVisitor.VisitBinding(MemberBinding binding)
at Telerik.Sitefinity.Data.Linq.ExpressionVisitor.VisitBindingList(ReadOnlyCollection`1 original)
at Telerik.Sitefinity.Data.Linq.ExpressionVisitor.VisitMemberInit(MemberInitExpression init)
at Telerik.Sitefinity.Data.Linq.ExpressionVisitor.Visit(Expression exp)
at Telerik.Sitefinity.Data.Linq.Ldap.LdapQueryTranslator`1.VisitSelectorMethod(MethodCallExpression m)
at Telerik.Sitefinity.Data.Linq.Ldap.LdapQueryTranslator`1.VisitMethodCall(MethodCallExpression m)
at Telerik.Sitefinity.Data.Linq.ExpressionVisitor.Visit(Expression exp)
at Telerik.Sitefinity.Data.Linq.Ldap.LdapQueryTranslator`1.VisitMethodCall(MethodCallExpression m)
at Telerik.Sitefinity.Data.Linq.ExpressionVisitor.Visit(Expression exp)
at Telerik.Sitefinity.Data.Linq.Ldap.LdapQueryProvider`2.GetLdapQuery(Expression expression)
at Telerik.Sitefinity.Data.Linq.Ldap.LdapQueryProvider`2.Execute[TResult](Expression expression)
at Telerik.Sitefinity.Data.Linq.Ldap.LdapQueryProvider`2.System.Linq.IQueryProvider.Execute[TResult](Expression expression)
at System.Linq.Queryable.Count[TSource](IQueryable`1 source)
at ASP._Page_MVC_Areas_UserAccess_Views_UserAccess_Index_cshtml.Execute() in d:\Users\Blickley\Documents\Sitefinity Projects\PublicWeb\Mvc\Areas\UserAccess\Views\UserAccess\Index.cshtml:line 5
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.<
InvokeActionResultWithFilters
>b__19()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
at Telerik.Sitefinity.Mvc.ControllerWrapper.Execute()
at Telerik.Sitefinity.Mvc.Proxy.MvcControllerProxy.ExecuteController()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Seems like an error in the Razor for the UserAccess widget when using LDAP. Not sure why the IsLoggedIn flag is not working for LDAP possibly. You can go into Administrator > Settings > Advanced > FalafelDashboard > Widgets and uncheck "Enabled" under the "UserAccess" widget to get the rest of the dashboard working. I will take a look at the issue in the meantime and get back to you. Thanks.
Installation and overview video of Falafel Dashboard:
http://blog.falafel.com/Blogs/lino-tadros/2012/08/12/falafel-dashboard-for-sitefinity-mvc-video
Thanks, I disabled that widget and everything is working fine. I hope to get that widget working at some point, that was actually the one I was most interested in!
Great job, it is very nice to have something useful on the dashboard page now!
Thanks,
Chris
Video demonstrating a HelloWorld MVC widget for Falafel Dashboard http://youtu.be/CHTMg5UszvE
Seed the forum with your ideas. Let us know what you want us to include in the upcoming version (v 2)
https://falafeldashboard.uservoice.com/forums/172242-general
Hi all,
Just a quick update. The User Access widget will not work with LDAP currently until we get a fix from Telerik - we're expecting a fix in Sitefinity 5.2 that will allow us to enable LDAP functionality. Until then, we'll modify the User Access panel to show an error message and allow you to list the default users.
thank you,
-Noel
Your feedback is valuable to us. We are waiting for you.
After following the setup instructions (and checking them twice), I am seeing an error that reads "The controller with the name 'AdminBoardController' cannot be resolved" when I attempt to view the Admin Dashboard. I am only posting here in case others have run into this. Hopefully if I solve it, I'll post an update.
I am running Sitefinity 5.2. I see that Falafel Dashboard was compiled against 5.1, but I do have assembly bindings setup for Telerik.Sitefinity, Telerik.Sitefinity.Model, and Telerik.Web.UI which sometimes works for mismatched third party features.
UPDATE: Sorry about hijacking this post. This issue isn't easily Googled, and I hope this helps others as the final product looks incredibly useful! I found a related thread on the Falafel Forum, so it may be best to follow up there. Still have the issue though. falafel.com/.../problem-after-installing-the-dashboard.aspx
Thanks for your feedback Dan. This indeed is a community effort and appreciate the participation and help. We have upgraded the assemblies for the Falafel Dashboard to Sitefinity 5.2. You can download the latest Falafel Dashboard from the same link you originally got during registration or reregister to get the link again. Thanks again and please let us know if you have any other issues or questions.
I just downloaded the newer version that is compiled against 5.2. I unfortunately see that the error with LDAP still exists. Looks like the fix in 5.2 never made and the efforts to modify the User Access panel to show an error message never made it either. Hopefully this will get resolved soon, I would really like to use it without disabling that User Access widget.
Hi,
I just downloaded and installed the dashboard to a Sitefinity project version 6.1.4600 and I am getting the below error on the Dashboard page:
Method not found: 'System.Web.Mvc.Controller Telerik.Sitefinity.Mvc.Proxy.MvcProxyBase.get_Controller()'.
What can I do to fix this? Is the Dashboard not compatible from version 6.1+?
Thanks,
Nidhi
This is working on 6.1 sites, but you may need some assembly redirection for matching versions. NuGet should automatically handle this, but if a conflict occurred, try adding the below entries to your web.config and adjust to match your own version:
<
configuration
>
...
<
runtime
>
<
assemblyBinding
xmlns
=
"urn:schemas-microsoft-com:asm.v1"
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"Telerik.Sitefinity"
publicKeyToken
=
"b28c218413bdf563"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-6.1.4700.0"
newVersion
=
"6.1.4700.0"
/>
</
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"Telerik.Sitefinity.Model"
publicKeyToken
=
"b28c218413bdf563"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-6.1.4700.0"
newVersion
=
"6.1.4700.0"
/>
</
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"Telerik.Sitefinity.Utilities"
publicKeyToken
=
"b28c218413bdf563"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-6.1.4700.0"
newVersion
=
"6.1.4700.0"
/>
</
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"Telerik.Sitefinity.Ecommerce"
publicKeyToken
=
"b28c218413bdf563"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-6.0.4700.0"
newVersion
=
"6.1.4700.0"
/>
</
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"Telerik.Sitefinity.ContentModules"
publicKeyToken
=
"b28c218413bdf563"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-6.1.4700.0"
newVersion
=
"6.1.4700.0"
/>
</
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"Telerik.Sitefinity.Resources"
publicKeyToken
=
"b28c218413bdf563"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-6.0.4700.0"
newVersion
=
"6.1.4700.0"
/>
</
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"Telerik.Sitefinity.Forums"
publicKeyToken
=
"b28c218413bdf563"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-6.1.4700.0"
newVersion
=
"6.1.4700.0"
/>
</
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Web.Mvc"
publicKeyToken
=
"31bf3856ad364e35"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-4.0.0.0"
newVersion
=
"4.0.0.0"
/>
</
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Web.Razor"
publicKeyToken
=
"31bf3856ad364e35"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-2.0.0.0"
newVersion
=
"2.0.0.0"
/>
</
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Web.WebPages"
publicKeyToken
=
"31bf3856ad364e35"
culture
=
"neutral"
/>
<
bindingRedirect
oldVersion
=
"0.0.0.0-2.0.0.0"
newVersion
=
"2.0.0.0"
/>
</
dependentAssembly
>
</
assemblyBinding
>
</
runtime
>
</
configuration
>
Hi Basem,
Thank you so much for that prompt response.
My installation was missing the last three dependent assembly declarations for System.Web.Mvc, System.Web.Razor and System.Web.WebPages.
Once I added them, even though some of the other versions look different, everything works.
Thanks you!!
Below is what my assemblies look like for SF v 6.1.4600.0
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Telerik.Sitefinity" publicKeyToken="b28c218413bdf563" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.1.4600.0" newVersion="6.1.4600.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Telerik.Sitefinity.Model" publicKeyToken="b28c218413bdf563" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.1.4600.0" newVersion="6.1.4600.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Telerik.Sitefinity.Utilities" publicKeyToken="b28c218413bdf563" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.4.4010.0" newVersion="5.4.4010.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Telerik.Sitefinity.Ecommerce" publicKeyToken="b28c218413bdf563" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.4.4010.0" newVersion="5.4.4010.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Telerik.Sitefinity.ContentModules" publicKeyToken="b28c218413bdf563" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.1.4600.0" newVersion="6.1.4600.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Telerik.Sitefinity.Resources" publicKeyToken="b28c218413bdf563" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.4.4010.0" newVersion="5.4.4010.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Telerik.Sitefinity.Forums" publicKeyToken="b28c218413bdf563" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.1.4600.0" newVersion="6.1.4600.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
</assemblyBinding>