Poll Module
Version 4.0 has no poll? Telerik in this module would not have to sell? I searched on the page "Purchase" and found nothing about ... can you help me?
Hey Renato,
There are a LOT of features and functionality that were in 3.7 that have not yet made it into 4.0 (even thought it's labeled officially released). See this post for just one of a number of posts that covers the subject of missing features: http://www.sitefinity.com/devnet/forums/sitefinity-4-x/general-discussions/what-else-is-missing-from-4-0.aspx
Here's a road map that was just released and it doesn't look like Polls will be coming anytime soon.
http://www.sitefinity.com/asp-net-cms-features/roadmap.aspx
Hope that helps.
Regards,
Phill
I do not believe ... is something so simple
Hi Everyone,
I have made a widget, which will allow you to select a form and get the count of the answers of multiple choice fields only Currently. I displayed everything in a literal. Please share any changes you make to improve this.
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="FormResultControl.ascx.cs" Inherits="SitefinityWebApp.Widgets.FormResult.FormResultControl" %><div class="Partners"> <h1 runat="server" id="h1MainTitle"></h1> <ul> <asp:Literal ID="ltlFormResultControl" runat="server"></asp:Literal> </ul> </div><%@ Control Language="C#" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><%@ Register Assembly="Telerik.Sitefinity" TagPrefix="designers" Namespace="Telerik.Sitefinity.Web.UI.ControlDesign" %><%@ Register Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Web.UI" TagPrefix="sitefinity" %><%@ Register Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Web.UI.Fields" TagPrefix="sitefinity" %><%@ Register Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Modules.Libraries.Web.UI.Designers" TagPrefix="sitefinity" %><div class="sfContentViews"> <sitefinity:FlatSelector ID="itemSelector" runat="server" ItemType="Telerik.Sitefinity.Forms.Model.FormDescription" ItemsFilter="Visible == true AND Status == Live" DataKeyNames="Id" ShowSelectedFilter="true" AllowPaging="true" PageSize="10" AllowSearching="false" ShowProvidersList="false" ClientIDMode="Static" InclueAllProvidersOption="false" ServiceUrl="~/Sitefinity/Services/Forms/FormsService.svc" > <DataMembers> <sitefinity:DataMemberInfo ID="DataMemberInfo1" runat="server" Name="Title" IsExtendedSearchField="true" HeaderText="Title"> <strong>Title</strong> </sitefinity:DataMemberInfo> </DataMembers> </sitefinity:FlatSelector></div>using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Runtime.Serialization;using Telerik.Sitefinity.Web.UI.ControlDesign;using System.Web.Script.Serialization;using System.Text.RegularExpressions;using Telerik.Sitefinity.Modules.Forms;using Telerik.Sitefinity.Forms.Model;using Telerik.Sitefinity.Libraries;using Telerik.Sitefinity.Model;using Telerik.Sitefinity.Modules.Forms.Web.UI.Fields;using Telerik.Sitefinity;namespace SitefinityWebApp.Widgets.FormResult [DataContract] [ControlDesigner(typeof(SitefinityWebApp.Widgets.FormResult.FormResultDesigner)), PropertyEditorTitle("FormResult")] public partial class FormResultControl : System.Web.UI.UserControl private string formId = string.Empty; public string FormId get return formId; set formId = value; private string MainTitle get; set; protected void Page_Load(object sender, EventArgs e) FormsManager formsManager = FormsManager.GetManager(); if (formId != null) var form = formsManager.GetForm(new Guid(FormId)); string strMarkup = string.Empty; foreach (var fieldControl in form.Controls.Cast<FormControl>(). Where(fc => fc.ObjectType == "Telerik.Sitefinity.Modules.Forms.Web.UI.Fields.FormMultipleChoice")) var answerOptions = fieldControl.PropertiesLang .Where(pl => pl.Name == "ChoiceItemsTitles").FirstOrDefault() .Value.Split(new string[] ";" , StringSplitOptions.RemoveEmptyEntries); var metaField = fieldControl.Properties .FirstOrDefault(p => p.Name.Equals("MetaField")); string metaFieldName = metaField.ChildProperties.FirstOrDefault(cp => cp.Name == "FieldName").Value; foreach (string option in answerOptions) int count = formsManager.GetFormEntries(form).Where(frmEntries => frmEntries.GetValue<string>(metaFieldName).ToString() == option).Count(); strMarkup += option + " : " + count + Environment.NewLine; ltlFormResultControl.Text = strMarkup; using System;using System.Collections.Generic;using System.Linq;using System.Web;using Telerik.Sitefinity.Web.UI.ControlDesign;using System.Web.UI;using Telerik.Web.UI;using Telerik.Sitefinity.Web.UI.Fields;using Telerik.Sitefinity.Web.UI;using Telerik.Sitefinity.Localization;using Telerik.Sitefinity.Modules.Libraries.Web.UI.Designers;namespace SitefinityWebApp.Widgets.FormResult public class FormResultDesigner : ControlDesignerBase protected override void InitializeControls(Telerik.Sitefinity.Web.UI.GenericContainer container) base.DesignerMode = ControlDesignerModes.Simple; private string _layoutTemplatePath = "~/Common/Widgets/FormResult/FormResultTemplate.ascx"; public override string LayoutTemplatePath get return _layoutTemplatePath; set _layoutTemplatePath = value; private string _scriptPath = "~/Common/Widgets/FormResult/FormResultDesigner.js"; public string DesignerScriptPath get return _scriptPath; set _scriptPath = value; protected override string LayoutTemplateName get return "MideastTemplate"; public override IEnumerable<ScriptReference> GetScriptReferences() var scripts = base.GetScriptReferences() as List<ScriptReference>; if (scripts == null) return base.GetScriptReferences(); scripts.Add(new ScriptReference(DesignerScriptPath)); return scripts.ToArray(); Type.registerNamespace("SitefinityWebApp.Widgets.FormResult");SitefinityWebApp.Widgets.FormResult.FormResultDesigner = function (element) SitefinityWebApp.Widgets.FormResult.FormResultDesigner.initializeBase(this, [element]); this._container = null;SitefinityWebApp.Widgets.FormResult.FormResultDesigner.prototype = initialize: function () SitefinityWebApp.Widgets.FormResult.FormResultDesigner.callBaseMethod(this, 'initialize'); _container = this; , dispose: function () SitefinityWebApp.Widgets.FormResult.FormResultDesigner.callBaseMethod(this, 'dispose'); , refreshUI: function () var controlData = this._propertyEditor.get_control(); , applyChanges: function () var controlData = this._propertyEditor.get_control(); var formSelector = document.getElementById('itemSelector').control; if (formSelector._selectedItemsCount > 0) controlData.FormId = formSelector._selectedItems[0].Id SitefinityWebApp.Widgets.FormResult.FormResultDesigner.registerClass('SitefinityWebApp.Widgets.FormResult.FormResultDesigner',Telerik.Sitefinity.Web.UI.ControlDesign.ControlDesignerBase);if (typeof (Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();Hello Moiz Ahmed,
Thank you for your contribution. I'm sure it will be very helpful for the entire Sitefinity community.
All the best,