Telerik Forums
UI for ASP.NET AJAX Forum
7 answers
374 views
I am getting this error every time I go to create a new solution from the Telerik asp.net AJAX web app template.  My preexisting solutions will also no longer function.  It seems they can't find most of the telerik assemblies.  I first tried to repair the installation; I then tried uninstalling and re installing the telerik asp.net AJAX package.  I'm getting the same error as before.

Any help would be greatly appreciated.



Error occurred while running wizard.

System.Windows.Markup.XamlParseException: Set property 'System.Windows.ResourceDictionary.Source' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Telerik.Windows.Themes.Modern.2012.2.0903.1135, Culture=neutral' or one of its dependencies. The system cannot find the file specified.
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.Assembly.Load(AssemblyName assemblyRef)
   at System.Windows.Navigation.BaseUriHelper.GetLoadedAssembly(String assemblyName, String assemblyVersion, String assemblyKey)
   at MS.Internal.AppModel.ResourceContainer.GetResourceManagerWrapper(Uri uri, String& partName, Boolean& isContentFile)
   at MS.Internal.AppModel.ResourceContainer.GetPartCore(Uri uri)
   at System.IO.Packaging.Package.GetPartHelper(Uri partUri)
   at System.IO.Packaging.Package.GetPart(Uri partUri)
   at System.IO.Packaging.PackWebResponse.CachedResponse.GetResponseStream()
   at System.IO.Packaging.PackWebResponse.GetResponseStream()
   at System.IO.Packaging.PackWebResponse.get_ContentType()
   at MS.Internal.WpfWebRequestHelper.GetContentType(WebResponse response)
   at MS.Internal.WpfWebRequestHelper.GetResponseStream(WebRequest request, ContentType& contentType)
   at System.Windows.ResourceDictionary.set_Source(Uri value)
   at System.Windows.Baml2006.WpfSharedBamlSchemaContext.<>c__DisplayClass0.<Create_BamlProperty_ResourceDictionary_Source>b__453(Object target, Object value)
   at System.Windows.Baml2006.WpfKnownMemberInvoker.SetValue(Object instance, Object value)
   at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(XamlMember member, Object obj, Object value)
   at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember property, Object value)
   --- End of inner exception stack trace ---
   at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
   at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
   at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
   at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
   at Telerik.VSX.Shell.Xaml.CommonXaml.InitializeComponent()
   at Telerik.VSX.Shell.VSWindow..ctor()
   at Telerik.VSX.WizardEngine.UI.WizardForm..ctor()
   at Telerik.VSX.WizardEngine.UI.WizardForm.Create(String title, String titleIcon, String backgroundImage)
   at Telerik.Web.UI.VSX.ProjectConfigurators.ProjectConfigurationTypeSelector.CreateWizardForm(String title, String titleIcon, String backgroundImage)
   at Telerik.Web.UI.VSX.ProjectConfigurators.ProjectConfigurationTypeSelector.NewProject(ProjectKind projectKind)
   at Telerik.Web.UI.VSX.ProjectConfigurators.NewProjectConfigurator.GetProjectConfigurator()
   at Telerik.VSX.ProjectConfiguration.DiscontinuousProjectConfiguration.TryCollectData()
   at Telerik.VSX.VSPackage.TemplateWizardBase.PrepareWizard(Object automationObject, Dictionary`2 replacementsDictionary)
   at Telerik.VSX.VSPackage.TemplateWizardBase.RunStarted(Object automationObject, Dictionary`2 replacementsDictionary, WizardRunKind runKind, Object[] customParams)
   at Telerik.VSX.VSPackage.TemplateEntryPointWizardBase.RunStarted(Object automationObject, Dictionary`2 replacementsDictionary, WizardRunKind runKind, Object[] customParams)
   at Telerik.VSX.VSPackage.WizardBase.<>c__DisplayClass5.<Microsoft.VisualStudio.TemplateWizard.IWizard.RunStarted>b__4()
   at Telerik.VSX.VSPackage.WizardBase.CatchExceptionAndSendReport(Action action)
Vesko
Telerik team
 answered on 06 Jan 2021
13 answers
1.2K+ views

Hi,

How we can hide the version of Telerik currently installed from the HTML source?
We don't want to show this information at client side to prevent the hackers can use vunerabilities known in the version we used/installed in our applications.

If we check the HTML source, we see the following:
- <!-- 2018.2.710.45 -->
- Telerik.Web.UI%2c+Version%3d2018.2.710.45 in Telerik.Web.UI.WebResource.axd

Rumen
Telerik team
 answered on 06 Jan 2021
7 answers
529 views
Hello!

Is there possibility to expand RecurrenceRule in C# instead of using SQL UDF (provided here: http://www.telerik.com/community/forums/aspnet-ajax/scheduler/sql-reporting-display-all-recurring-appointments.aspx)?

For example I have List of type Appointment and I want to expand Recurrences in elements which have RecurrencyRule != null so the result will be List of upcoming events ordered by Start attribute.

Is this possible?

Thanks in advance

EDIT:

I've opened ExpandRecurrence_UDF zip file from post about SQL UDF and I've found function which returns occurences for RecurrenceRule string but when I try to parse my RecurrenceRules which are being parsed by SQL UDF function I can't get this make to work under C#.

Function:

        public static IEnumerable ExpandRecurrence(string recurrenceRule, DateTime rangeStart, DateTime rangeEnd) 
        { 
            List<OccurrenceInfo> occurrences = new List<OccurrenceInfo>(); 
            RecurrenceRule rrule; 
            if (RecurrenceRule.TryParse(recurrenceRule, out rrule)) 
            { 
                rrule.SetEffectiveRange(rangeStart, rangeEnd); 
                foreach (DateTime occStart in rrule.Occurrences) 
                { 
                    OccurrenceInfo info = new OccurrenceInfo(occStart, occStart.Add(rrule.Range.EventDuration)); 
                    occurrences.Add(info); 
                } 
            } 
 
            return occurrences; 
        } 

Occurences class:

public class OccurrenceInfo 
    private DateTime start; 
    private DateTime end; 
 
    public OccurrenceInfo(DateTime start, DateTime end) 
    { 
        this.start = start; 
        this.end = end; 
    } 
 
    public DateTime Start 
    { 
        get { return start; } 
        set { start = value; } 
    } 
 
    public DateTime End 
    { 
        get { return end; } 
        set { end = value; } 
    } 

Sample RecurrenceRule string which I'm tryign to parse:

RecurrenceRule.TryParse("DTSTART:2008422T000000Z\nDTEND:2008423T000000Z\nRRULE:FREQ=YEARLY;INTERVAL=1;BYMONTHDAY=22;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYMONTH=04\n"out rrule) 

I've tryed to use Replace function to convert \n to Environment.NewLine but it was returning false too.

EDIT2: I've found bug in my RecurrencyRule string. Month in DTSTART and DTEND was in X format (for months 1-9) instead of XX

Marin Bratanov
Telerik team
 answered on 05 Jan 2021
1 answer
197 views

After installing Visual Studio 2019 and Reporting Services, then installing UI ASP.NET 2020_3_1021, visual studio crashes with a "Not Responding" when opening any reporting solution/project. Is there a conflict with versions?

Thank you,

Jim

Nikolay Mishev
Telerik team
 answered on 05 Jan 2021
3 answers
346 views

Hi,

We have a solution that users can use either with a Windows solution or with a Web browser.

With your great support, we were able to add PushButtonField to a PDF file with Windows Forms solution.

Is this possible also with Ajax version? To get a mouse location, zoom and information if document is rotated. I'm really bad with Javascript.

Thanks in advance for your great support!

Br. Mikko

 

Doncho
Telerik team
 answered on 05 Jan 2021
0 answers
113 views

Hello,

I am trying to create a spreadsheet where users can input data to a formatted sheet. The changes are written to database and then the spreadsheet values are changed according to data inputted. But writing data with Javascript triggers the event again. Locking the OnClientChange method is one way I accomplished this, but rapid changes don't get recognized and are ignored. Is there a better way of fixing this issue?

Thanks for any help in advance :D

Marijus
Top achievements
Rank 1
Veteran
 asked on 04 Jan 2021
1 answer
99 views

How do I stop values from changing when dragging cells. In the provided example, the values iterate trough day abbreviations (the days are in Lithuanian language. Translations of the day abbreviations would be: friday, saturday, sunday, monday, tuesday). What is weird is that I can't replicate it in English or Russian. 

Thanks for any help provided! :D

Marijus
Top achievements
Rank 1
Veteran
 answered on 04 Jan 2021
3 answers
178 views
I have a very simple ASP.net web form with a couple of data pickers, a button and a radGrid. When I initially load the page the grid is not populated and is dependant on both date pickers having selected values. When I click the "Refresh" button to set the radGrid datasource (the result of a stored procedure with two parameters), I noticed that none of the grid filters worked. Upon further investigation I see that there are a couple of uncaught errors (see the attached image).

I am using version 2020.3.1021 of the ASP.net controls so there isn't any outstanding updates. Other grids work as expected.

Can you advise?
Peter Milchev
Telerik team
 answered on 04 Jan 2021
6 answers
479 views

We're using a telerik:RadEditor and have just updated to .Net 4.7.2.

When we click on some of the controls, e.g. the "strip formatting" control, then we sometimes (not always) get the following error shown in the Browser's console "Cannot read property 'trim' of undefined".

We're running version 2014.1.403.35 of the Telerik.Web.UI.  We know that there are newer versions available but don't want to have to upgrade if this is not required.

Two errors are as follows:

---------------------------------------------------

Uncaught TypeError: Cannot read property 'trim' of undefined
    at Telerik.Web.UI.Editor.CommandList.FormatStripper (ScriptResource.axd?d=aazrA2IzwYa-mybqnxJHNuwR7oLzVeGKajlCU16FhFRtnS--_IczI6StPES43dF5p3VhdeKc8qmWOjS62Imo4rAdY951oU0nH4rkwDlqPSiwQnJQKTAIVYx_IT3RLnPmHYf8LQ2&t=192abde7:5286)
    at b.RadEditor.fire (ScriptResource.axd?d=aazrA2IzwYa-mybqnxJHNuwR7oLzVeGKajlCU16FhFRtnS--_IczI6StPES43dF5p3VhdeKc8qmWOjS62Imo4rAdY951oU0nH4rkwDlqPSiwQnJQKTAIVYx_IT3RLnPmHYf8LQ2&t=192abde7:9190)
    at Telerik.Web.UI.Editor.CommandList.StripAll.StripCss.StripFont.StripSpan.StripWord (ScriptResource.axd?d=aazrA2IzwYa-mybqnxJHNuwR7oLzVeGKajlCU16FhFRtnS--_IczI6StPES43dF5p3VhdeKc8qmWOjS62Imo4rAdY951oU0nH4rkwDlqPSiwQnJQKTAIVYx_IT3RLnPmHYf8LQ2&t=192abde7:5262)
    at b.RadEditor.fire (ScriptResource.axd?d=aazrA2IzwYa-mybqnxJHNuwR7oLzVeGKajlCU16FhFRtnS--_IczI6StPES43dF5p3VhdeKc8qmWOjS62Imo4rAdY951oU0nH4rkwDlqPSiwQnJQKTAIVYx_IT3RLnPmHYf8LQ2&t=192abde7:9190)
    at b.RadEditor._onToolClick (ScriptResource.axd?d=aazrA2IzwYa-mybqnxJHNuwR7oLzVeGKajlCU16FhFRtnS--_IczI6StPES43dF5p3VhdeKc8qmWOjS62Imo4rAdY951oU0nH4rkwDlqPSiwQnJQKTAIVYx_IT3RLnPmHYf8LQ2&t=192abde7:8636)
    at Array.<anonymous> (ScriptResource.axd?d=GZuwEaVOvbbWdhIPYEW2iXV706kRPa3GiaJu8HXrFo-6Dkpyvpw_mc90yZMYw-u19XjJoYxNmUJxy6oyY2r1Ei7PfTXYHJ_D_R5WJpvn6PEq4pTmFNPLO0gBhSW1K50hKayJPStEM8zP2Z1lo6eP3CkFkDQ1&t=ffffffff9a9577e8:5)
    at ScriptResource.axd?d=GZuwEaVOvbbWdhIPYEW2iXV706kRPa3GiaJu8HXrFo-6Dkpyvpw_mc90yZMYw-u19XjJoYxNmUJxy6oyY2r1Ei7PfTXYHJ_D_R5WJpvn6PEq4pTmFNPLO0gBhSW1K50hKayJPStEM8zP2Z1lo6eP3CkFkDQ1&t=ffffffff9a9577e8:5
    at Telerik.Web.UI.Editor.DefaultToolAdapter._raiseEditorEvent (ScriptResource.axd?d=aazrA2IzwYa-mybqnxJHNuwR7oLzVeGKajlCU16FhFRtnS--_IczI6StPES43dF5p3VhdeKc8qmWOjS62Imo4rAdY951oU0nH4rkwDlqPSiwQnJQKTAIVYx_IT3RLnPmHYf8LQ2&t=192abde7:3852)
    at Telerik.Web.UI.Editor.DefaultToolAdapter._onDropDownValueSelected (ScriptResource.axd?d=aazrA2IzwYa-mybqnxJHNuwR7oLzVeGKajlCU16FhFRtnS--_IczI6StPES43dF5p3VhdeKc8qmWOjS62Imo4rAdY951oU0nH4rkwDlqPSiwQnJQKTAIVYx_IT3RLnPmHYf8LQ2&t=192abde7:3816)
    at Array.<anonymous> (ScriptResource.axd?d=GZuwEaVOvbbWdhIPYEW2iXV706kRPa3GiaJu8HXrFo-6Dkpyvpw_mc90yZMYw-u19XjJoYxNmUJxy6oyY2r1Ei7PfTXYHJ_D_R5WJpvn6PEq4pTmFNPLO0gBhSW1K50hKayJPStEM8zP2Z1lo6eP3CkFkDQ1&t=ffffffff9a9577e8:5)

---------------------------------------------------

and

---------------------------------------------------

ScriptResource.axd?d=q3b8jhBaaaUVjdmDg_sw4nrFIKYD_ZXBnBKuMMRggtywaXsZR-WX-SrK85cfp6HO0ohnUIvJowAa-hyv3u316oBAhhvS3qnnTLe8OlYVJZZd96Oaz4GaxKav4p7ZCE8wWlqOKl24ypgpqcLdQHxop-0L8tmhc5wlmCWOMgADUZOoqK4n0&t=ffffffffecf19baa:237 Uncaught Sys.ArgumentOutOfRangeException: Sys.ArgumentOutOfRangeException: Value must be an integer.
Parameter name: y
Actual value was 268.81817626953125.
    at Function.Error$create [as create] (http://localhost/myWebsiteAdmin/ScriptResource.axd?d=q3b8jhBaaaUVjdmDg_sw4nrFIKYD_ZXBnBKuMMRggtywaXsZR-WX-SrK85cfp6HO0ohnUIvJowAa-hyv3u316oBAhhvS3qnnTLe8OlYVJZZd96Oaz4GaxKav4p7ZCE8wWlqOKl24ypgpqcLdQHxop-0L8tmhc5wlmCWOMgADUZOoqK4n0&t=ffffffffecf19baa:237:15)
    at Function.Error$argumentOutOfRange [as argumentOutOfRange] (http://localhost/myWebsiteAdmin/ScriptResource.axd?d=q3b8jhBaaaUVjdmDg_sw4nrFIKYD_ZXBnBKuMMRggtywaXsZR-WX-SrK85cfp6HO0ohnUIvJowAa-hyv3u316oBAhhvS3qnnTLe8OlYVJZZd96Oaz4GaxKav4p7ZCE8wWlqOKl24ypgpqcLdQHxop-0L8tmhc5wlmCWOMgADUZOoqK4n0&t=ffffffffecf19baa:302:21)
    at Function$_validateParameterType [as _validateParameterType] (http://localhost/myWebsiteAdmin/ScriptResource.axd?d=q3b8jhBaaaUVjdmDg_sw4nrFIKYD_ZXBnBKuMMRggtywaXsZR-WX-SrK85cfp6HO0ohnUIvJowAa-hyv3u316oBAhhvS3qnnTLe8OlYVJZZd96Oaz4GaxKav4p7ZCE8wWlqOKl24ypgpqcLdQHxop-0L8tmhc5wlmCWOMgADUZOoqK4n0&t=ffffffffecf19baa:217:23)
    at Function$_validateParameter [as _validateParameter] (http://localhost/myWebsiteAdmin/ScriptResource.axd?d=q3b8jhBaaaUVjdmDg_sw4nrFIKYD_ZXBnBKuMMRggtywaXsZR-WX-SrK85cfp6HO0ohnUIvJowAa-hyv3u316oBAhhvS3qnnTLe8OlYVJZZd96Oaz4GaxKav4p7ZCE8wWlqOKl24ypgpqcLdQHxop-0L8tmhc5wlmCWOMgADUZOoqK4n0&t=ffffffffecf19baa:130:18)
    at Function$_validateParams [as _validateParams] (http://localhost/myWebsiteAdmin/ScriptResource.axd?d=q3b8jhBaaaUVjdmDg_sw4nrFIKYD_ZXBnBKuMMRggtywaXsZR-WX-SrK85cfp6HO0ohnUIvJowAa-hyv3u316oBAhhvS3qnnTLe8OlYVJZZd96Oaz4GaxKav4p7ZCE8wWlqOKl24ypgpqcLdQHxop-0L8tmhc5wlmCWOMgADUZOoqK4n0&t=ffffffffecf19baa:84:22)
    at Function.Sys$UI$DomElement$setLocation [as setLocation] (http://localhost/myWebsiteAdmin/ScriptResource.axd?d=q3b8jhBaaaUVjdmDg_sw4nrFIKYD_ZXBnBKuMMRggtywaXsZR-WX-SrK85cfp6HO0ohnUIvJowAa-hyv3u316oBAhhvS3qnnTLe8OlYVJZZd96Oaz4GaxKav4p7ZCE8wWlqOKl24ypgpqcLdQHxop-0L8tmhc5wlmCWOMgADUZOoqK4n0&t=ffffffffecf19baa:4491:22)
    at Object.setLocation (http://localhost/myWebsiteAdmin/ScriptResource.axd?d=bpIFcPnUkcYyn1Oas7QeqJT2ya_kbb63D72Bvn5GgMu2P5dJjlApzeU-Cms3QV1qxgTNoEFW6gf9_J5bEnRWID1R9NCGrOOZQVlvu5Ej0TkezzRaH_xo98ADcu_uoOpquFyKrg2&t=192abde7:314:47)
    at Telerik.Web.PopupBehavior._fixPositionInBounds (http://localhost/myWebsiteAdmin/ScriptResource.axd?d=Z7NoM4_95v06tABtjkksmY5r-cIQNEuvG5B2q9ugNqnIEIgbVLxL5jY2pnajFDvWmGj4RqkhB8FXtuAJ8iEM--RmejtyD8ygNS-3I1Cr-x_FKyYqOdpmISxVMylcSvMa2jdqIOrTSPuRFiFR2g1tjk82Rt01&t=192abde7:347:10)
    at Telerik.Web.PopupBehavior.show (http://localhost/myWebsiteAdmin/ScriptResource.axd?d=Z7NoM4_95v06tABtjkksmY5r-cIQNEuvG5B2q9ugNqnIEIgbVLxL5jY2pnajFDvWmGj4RqkhB8FXtuAJ8iEM--RmejtyD8ygNS-3I1Cr-x_FKyYqOdpmISxVMylcSvMa2jdqIOrTSPuRFiFR2g1tjk82Rt01&t=192abde7:304:12)
    at Telerik.Web.UI.EditorToolStrip._show (http://localhost/myWebsiteAdmin/ScriptResource.axd?d=aazrA2IzwYa-mybqnxJHNuwR7oLzVeGKajlCU16FhFRtnS--_IczI6StPES43dF5p3VhdeKc8qmWOjS62Imo4rAdY951oU0nH4rkwDlqPSiwQnJQKTAIVYx_IT3RLnPmHYf8LQ2&t=192abde7:2545:21)

 

Rumen
Telerik team
 answered on 04 Jan 2021
6 answers
545 views
Hi, I have a RadAjaxLoadingPanel which has a gif image loaded by GetWebResourceUrl function. When I make an ajax postback the loading panel is displayed (a gray panel covering all the controls in the page) but the gif inside the loading panel is not displayed. This only happens with Internet Explorer 7-8. It works fine with Firefox, Safari and Chrome.

    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel" runat="server" BackColor="#E0E0E0" 
        Transparency="20"
        <table style="width: 100%; height: 100%;"
            <tr style="height: 100%;"
                <td style="width: 100%; text-align: center; vertical-align: middle;">                
                    <img alt="Loading..." src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading.gif") %>' 
                        style="border-right: 0px; border-left: 0px; border-top: 0px; border-bottom: 0px;" /> 
                </td> 
            </tr> 
        </table> 
    </telerik:RadAjaxLoadingPanel> 
 
    <telerik:RadAjaxPanel ID="RadAjaxPanel" runat="server" LoadingPanelID="RadAjaxLoadingPanel"
     <div style="width:500px; height:500px"
     </div> 
    </telerik:RadAjaxPanel> 


I have all the necessary web.config entries

<add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" />
<add name="Telerik_Web_UI_WebResource_axd" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" />

PS: When I check the telerik web pages (such as http://demos.telerik.com/aspnet-ajax/ajax/examples/loadingpanel/loadingimages/defaultcs.aspx) running with RadAjaxLoadingPanel my internet explorer browser successfully shows the gif images. So I think this is not related to internet explorer configuration.

Thank you...










Tema
Top achievements
Rank 1
 answered on 31 Dec 2020
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?