This is a public Idea Center  publicRSS

Idea

    25 liked this

    [Under Consideration] Changing YUI to Jquery
    Idea posted March 17, 2015 by LuukMaster, last edited March 26, 2015 by DaveFExpert, tagged Customer Portal 
    1390 Views, 64 Comments
    Title:
    [Under Consideration] Changing YUI to Jquery
    User Story / Description:

    As a developer, it would be a great idea to leave the YUI code entirely. Since Yahoo stops all new development on YUI (http://yahooeng.tumblr.com/post/96098168666/important-announcement-regarding-yui).

    Are you thinking of crossing over to Jquery?

    Comment

    • Ryan Schofield

      Thanks Willie. Our company has had a good experience working with OSC's accessibility team to remediate our findings. 

    • Janusz Jasinski

      100% fully support a move to jQuery

    • Nisar Ahmed

      Curious to know if this is still under consideration.

    • Willie Eide

      Yes. We are moving forward in this direction.
      There are 3 main (and many smaller) initiatives that are driving our next generation customer portal implementation.

      1. YUI is deprecated. - So yeah. We need to do something about this. It only makes sense to move towards a more company oriented solution such as OJET. If you are not familiar about it, you can read up on it here. There are a number of issues we need to iron out as we move in this direction, so please bear with us as we continually work this problem. That was the long answer. The short answer is yes - jquery along with some other popular javascript frameworks are included in Oracle JET.
      2. Syndication Everywhere - Syndication is a good thing and as the landscape of providing excellent user experiences and superior customer support spreads beyond the borders of customer portal pages, we are looking at how we can provide our CP widgets in your environment.
      3. Ease of Migrations - I hear it everyday. While CP2 had the environment that "there is only one version", early days saw breaking changes make their way into your sites causing problems. Hence, CP3 and managed versioning came along. However that brought a different set of problems such as how to keep the majority of customers on the latest versions. The burden of addressing many different versions for QA, upgrades, migrations, Current Engineering (backporting changes) and development has been heavy. Our solution needs to be able to be consumed by you in an easier fashion.

      So please bear with us as we work at solving these problems. Rest assured that this is our number one initiative moving forward in our customer portal team. That doesn't mean we have stopped working enhancements and features -- they are coming as well. 

      "When?", might you ask. While it is not prudent to give out dates - especially at this juncture - I can confidently say we have been making some strong headway in replacing our deprecated YUI platform with a more modern javascript framework and hope to roll out some definitive information by mid-year.

    • Rajan Davis

      Thank you for the update, Willie. It sounds like there is going to be a huge undertaking to create lasting change which I think will benefit both Oracle and the developers that support Service Cloud.

      If it is possible, and I know that this is asking a bit much, I think it would be nice to have some sort of developer preview once there is a stable version available. I think it would healthier for the developer ecosystem to have some sort of feedback loop between Oracle and the people that develop on the Customer Portal/Agent Console. 

      Also, if it were possible, it would be nice to incorporate some sort of optional testing framework into the next iteration of the portal. I think this would help ease migration paths and generally make any code base more hardened to change.

    • Willie Eide

      Feedback is important and thus once we are on some solid ground with our tech stack, tools, testing environment and such and are ready to provide glimpses of what we are accomplishing -- we will be requesting some attendance and feedback. This will likely take place in a different thread than this one. I am a student of an agile process, iteration and ideation and thus will be requesting feedback in various milestones of the project. 

      I am curious as what you state as a "testing framework". Do you mean something different than our development/staging/production model we currently have? 

      Again -- some of these others offshoot questions will need to be addressed in a different thread as this particular one simply addressed the YUI deprecation

       

    • Rajan Davis

      If you prefer, should I create another thread in one of the other forums or would it be possible to have a "CP4" megathread for fielding these questions?

      A testing framework allows developers to create a model of how their code should work; it provides cases where the expected behavior of component or function is described. What this does is, as you extend a component or piece of functionality, you have a base measurement for the expected behavior of your code. As your codebase grows and components become interdependent/complex, you will have the ability to ensure that each piece of code/functionality can work as expected.

      It looks like OJET has some compatibility with QUnit which is an example of a javascript testing library. It is also the testing library created for use in jQuery projects which I understand is one of the libraries OJET is built off of.

      With that said there are tradeoffs. Generally speaking, tested code takes longer to write; however, tested code is generally very durable to change. I have not really done testing with javascript outside of using console.log and debugging, but I think if OJET is the direction that Oracle goes into for the Customer Portal, I know that incorporating tests would make it easier to identify breaking changes between versions or at least make it easier to avoid.

      This is a nice to have feature, but generally speaking, in open source, it is expected that code has some form of unit testing. I know that this is not an open source product, but I think incorporating engineering best practices should be a consideration and I do not believe it would inhibit the goals you have outlined above.

    • Willie Eide

      One can always make a new thread - you have that ability, but I will creating a new thread none-the-less to gain the answers that are important for us to move forward.

    • Barrilito van Dijk

      Hi Willie,

      Nice to read there is some process in this all. Thanks for sharing that info.

      @Rajan, good remarks / questions!

      Regards

    • Dietrik

      Thanks Willie for the update. It's always interesting the hear the roadmap plans.

    • David Riedel
      Willie Eide said:

      Feedback is important and thus once we are on some solid ground with our tech stack, tools, testing environment and such and are ready to provide glimpses of what we are accomplishing -- we will be requesting some attendance and feedback. This will likely take place in a different thread than this one. I am a student of an agile process, iteration and ideation and thus will be requesting feedback in various milestones of the project. 

      I am curious as what you state as a "testing framework". Do you mean something different than our development/staging/production model we currently have? 

      Again -- some of these others offshoot questions will need to be addressed in a different thread as this particular one simply addressed the YUI deprecation

       

      View original

       

      Hi Willie,

       

      this post sounds promising.

      Are you able to share any infos yet how far the development is and when can we expect something happening in this manner?

       

      Thanks a lot.

       

      Best Regards

      David

    • Willie Eide

      We are close to completing 2-3 widgets (all within chat) that utilize this new technology platform.
      We have a small handful of fixes to complete then we will hand them over to our early adopters to get feedback.
      I am expecting to get these new widgets into customer's hands around September/October 

      As with new technology and new development processes, I am finding that there is a significant amount of paperwork to complete - as is with any enterprise class software development. 

      Our first widgets will be replacements for the existing syndicated widgets. Beyond that we will systematically pick off the popular widgets as we go into full production mode.

      More info to come.

    • Bruno Aun

      Hi,

      Sorry I am late to this whole thread, but just to make things clear... Does it mean that YUI will be replaced by JQUERY? 

    • Willie Eide
      Bruno Aun said:

      Hi,

      Sorry I am late to this whole thread, but just to make things clear... Does it mean that YUI will be replaced by JQUERY? 

      View original

      Technically, yes.
      Specifically, the YUI framework is to be replaced by our OJET framework. The OJET framework consists of jQuery, knockout, requirejs and cordova (see this link for more info). We are working with this toolkit to provide an richer set of tools for customer portal

    • Bruno Aun

      Hi Willie,

      Thanks for the quick and comprehensive response.
      That is great, I will start looking into OJET right away

      BTW, how to subscribe to participate in the beta widget tryout yu mentioned earlier in this thread?

      Cheers,
      Bruno