Version life cycle management

2 posts, 0 answers
  1. Jonathan Zee
    Jonathan Zee avatar
    22 posts
    Member since:
    Mar 2009

    Posted 10 Nov 2011 Link to this post

    Hi guys,

    I'm not sure if this is the correct forum to post this question but here goes. ( please bear with me if the words are too long)

    As the lead developer in a project that is still ongoing after 4 years, I'm stucked with having to play catch up on upgrading all my telerik controls. I need some suggestions from you on how you tackle this problem from your organisation or from telerik itself. For that, I will be providing the background on the project and how it's going.

    Summary and background
    The whole system is basically an all round business application that consists of many minor/major subsystems ( which you can say is pretty complex) and has been developed by a core team of 5 people. It has been an ongoing effort to introduce features over a period of 4-5 years ( started implementation phase in 2007 till current) and has a code base of ~ 1 million LOC excluding white space/comments

    System consists many modules/mini systems like: Content management system, Document management system, Online payment systems, Accounting system with credits/debits, Sites management, Licensing system and many other minor modules that complement the system. e.g. interfaces post office, batch scheduling service etc..All these are build from the ground up because we can and because we are developers.

    Platform includes web-servers to host the multiple sites, winforms app for backend processing and in the future, a mobile presence if budget permits.

    3rd party APIs: We do use a number of open source apis including log4net, range of ICSharpCode modules for text editing// packaging
    and most notably, Telerik asp.net/Ajax, Telerik winforms, Telerik reporting etc..We have used Telerik controls from the start 2007 till now although the current version on production is Q2 2010.

    The problem:
    Now to the 6 million dollar question: Seeing that Telerik introduces a new build at least once every quarter, I have been trying to do a lot of catching up but frankly, it's starting to get so hard as the code base becomes bigger and every time I do an upgrade, I end up spending close to 3 weeks fixing things that suddenly stop working due to the upgrade or trying to find a replacement control.

    Note: We tend not to use the designer aspects of visual studios unless it's for placement of panels/placeholders. Most controls are handled code behind and/or dynamically generated. We also subscribe to the use of generic usercontrols which can be reused throughout the application to conform to a standard UI as well as standard suite of controls.

    (I'm gonna list out some of the notable problems just off the top of my head as there's too many to remember unless i look at my svn log)

    Example 1: Telerik winforms had a RadComboxBox which allows you to have a dropdownlist with checkbox items inside. There's no replacement control in the newer builds and I end up having to live with the tons of warning messages telling me its deprecated. The new dropdownlist control doesnt allow this.

    Example 2: Telerik winforms control deprecating a bunch a methods and documentation's not very informative on how to handle them. the most notable being RadGrid controls and they way they react after every new patch.

    Example 3: Telerik reporting which prints out pages nicely in the previous version suddenly decides to add a blank new page for each page after the upgrade.

    Example 4: Telerik asp.net code that was working before doesn't work anymore unless you use a different approach.

    Example 5: Some dumb changes like the checkbox control or radiobutton control property changing from Control.IsChecked to Control.Toggle or Control.Checked ( something along those lines.. property name changed but logic doesnt)

    Example 6: Event handler parameter changes: - nuff said.

    Advise:

    (This is the part I need input from your guys)

    How do you guys handle every new release of Telerik and do you just upgrade immediately when a release is out or wait due to time constraints etc. The issue here is, we tend not to upgrade EVERY quarter due to time constraints ( usually implementing a new feature)


    I need some suggestions or hyperlinks to online material which can help me manage my application life cycle.


    Finally, thanks for spending some time reading this and please advise/recommend on some solutions to handle the problems i encounter in my Advise section of this post.


    Warmest regards,

    Jonathan





  2. Nikolay
    Admin
    Nikolay avatar
    1803 posts

    Posted 16 Nov 2011 Link to this post

    Hi Jonathan,

    Thank you for writing and thank you for sharing your feedback with us.

    Indeed, it happens to introduce breaking changes in our releases. We do so, however, when it is really necessary. Simply, we may not be able to implement a feature or improve a control as a whole if we do not change the architecture of this control. Hence come the breaking changes. We also strive to keep our API clean and easy-to-understand as much as possible which also sometimes cause breaking changes. However, if we decide that a method or a property should be removed, we do not remove it right away. Usually, we keep it in our code base for an year, giving our customers time to update their applications before the real breaking changes occur. That said, it is recommended to update your Telerik version at least once a year so that you can still run your project thanks to the obsolete properties and methods.

    In addition, we provide a list of Release Notes which describe the breaking changes which are introduced in each release. Usually, a breaking change is accompanied by the new API that you should use, if such is available. 

    Last, but not least, we are here to help you. Whenever you experience a difficulty with upgrading a newer release, you should not hesitate to contact us. I checked your support history and did not find much about your issues with the newer releases. Contacting us will save you time and efforts and will make the process of updating to the latest release smoother.

    Now allow me to answer each of your specific questions in the order they have been given:
    1. RadComboBox did not support checked items out-of-the-box. This was a matter of customization. The same customization is available to RadDropDownList and it is even demonstrates in our Demo application, section DropDown & List >> Creating New Items. If you want your RadDropDownList to stay opened after you press a checkbox, you should add a RadCheckBox control instead of RadCheckBoxElement. This is demonstrated in the attached sample project.
    2. We will be grateful if you provide us with a list of the deprecated methods for which you can't find the necessary information. This will allow us to provide you with adequate assistance and address any documentation issue on our side.
    3. Generally, it seems that something in your layout is changed and as a result a blank page appears. For more information about the appearance of blank pages, please refer to this knowledge base article. If this still does not help, please contact the Reporting support guys so that they can assist you further.
    4. I would suggest that you take a look at the Release Notes of the Telerik ASP.NET Ajax. If they still do not help, please describe your cases in details in the appropriate support threads.
    5. As I mentioned, we are trying to make our API more clean and easy-to-understand. The term 'easy-to-understand' implies being similar to the API of the Microsoft controls. This is why IsChecked was hidden, and instead Checked was introduced.
    6. I am not sure what exactly are your concerns here, however sometimes such changes are needed,
    because of changes in architecture or changes in the functionality where you need to use another event for a certain operation, for example.

    To sum up, I would recommend updating on regular basis. This will allow you to avoid possible breaking changes. In addition, updating regularly will allow you to meet a small number of breaking changes for a release which is better than meeting a big number of breaking changes at once. Last, but not least, please do not hesitate to contact us whenever you have doubts about the API or control you should use instead of the currently obsoleted API. We will be glad to assist you.

    Greetings,
    Nikolay
    the Telerik team

    Q2’11 SP1 of RadControls for WinForms is available for download (see what's new); also available is the Q3'11 Roadmap for Telerik Windows Forms controls.

Back to Top