Saba, Let Me Count the Ways



  • I just spent about half an hour doing some oranization assigned training in a training system powered by Saba. Dear God, if you ever run across this company, stay far, far away. After trying to load the main index of the training system about 20 times because apparently more than one person accessing the site at a time makes it a little shaky (this system is supposed to serve a large federal organization, mind you), I decided to take a look at the source of the page to see why the hell it was so clunky on the client side. I already knew why it was so bad on the server side, the .jsp said it all.

    Here's the lovely little nugget that greated me in the source of the home page:

    <html xmlns:wdk="http://www.saba.com/XML/WDK" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>*Scrubbed*</title>
    </head>
    <script language="Javascript">                       
                    // functions exported from frames                                                                                                         
                    function numberOfParents() {
                        var theParent=window;
                        var numOfParents=0;
                        while (theParent != null) {
                            nextParent = theParent.parent
                            if (nextParent==theParent) theParent=null;
                            else {
                                numOfParents = numOfParents+1;
                                theParent = nextParent;
                            }
                        }
                        return numOfParents;
                    }

                    //CR75687 Renamed frames for 508
                    //No longer require frames (IMX support)
                    //however using frames to avoid affect browser URI updating during form post

                    var sleSourceStr = '/Saba/Web_wdk/Main/platform/presentation/portal/portalDriver.rdf?portal=mysaba&linkCxt=My_Home&actionPlanId=';               
                    var sabaMainFrameTitle= 'SabaMain';
                    var allowXMPPLogin = 'false';                               
                    var currentUser = 'matt.atkins';
                    var httpBase = 'https://localhost/http-poll/';
                    var chatServer = 'localhost';
                    var sleSourceEnc = sleSourceStr.replace ( "'", "\'" );               
                    var numParents = numberOfParents();   
                    var siteURLPattern = "/Saba/Web_wdk/Main";
                               
                    if(allowXMPPLogin == 'true')
                    {
                       
                        if(typeof(top.xmppFrame) != 'undefined')
                        {
                                top.xmppFrame.doXMPPFrameLogin(currentUser,httpBase,chatServer,siteURLPattern);
                        }       
                    }
                    if(numParents > 0)
                    {   
                        // frameset already exists                   
                        window.location.href='/Saba/Web_wdk/Main/platform/presentation/portal/portalDriver.rdf?portal=mysaba&linkCxt=My_Home&actionPlanId=';                   
                    }
                    else
                    {   
                        //no parent so use frameset                                           
                        document.write('<frameset frameborder="0" framespacing="0" border="0" cols="99.8%,0.1%,*">');
                        document.write('<frame noresize="noresize" frameborder="0" marginheight="0" marginwidth="0" src="'+sleSourceEnc+'" name="' + sabaMainFrameTitle +'">');                   
                       
                        document.write('<frame scrolling="no" noresize="noresize" frameborder="0" marginheight="0" marginwidth="0" src="https://www.lms.army.mil/StaticPages/assets/collaboration/chat/xmppChatFrame.html" name="xmppFrame">');                                                                       
                        document.write('<noframes>');
                        document.write('    <h3>--This page requires a frames-capable browser.</h3>');
                        document.write('</noframes>');
                        document.write('</frameset>');                                           
                    }                   
                </script>
    <noscript>Requires JavaScript</noscript>
    </html>
    <!-- This page was served in 115 milliseconds by Cocoon 1.8 -->

    I would challenge everyone to find a more constipated way to serve up a page, but I fear the unholy results from such a contest.

    The tiny javascript window that the training course came up in proudly stated that it was generated by Visual Studio 6, and its text was formatted in a sexy 'darkblue' with a size of 7. 




  •  Hahaha ....

     For extra fun try producing meaningful reports from the data ...



  • @medialint said:

     Hahaha ....

     For extra fun try producing meaningful reports from the data ...

     

    For extra credit convince your current employer that this is the correct direction for the company, then immediately quit on release to QA day.



  • @dlikhten said:

    For extra credit convince your current employer that this is the correct direction for the company, then immediately quit on release to QA day.
     

    No worries we've already moved on to [url=http://www.sumtotalsystems.com/learning/sol/index.html]bigger and better things[/url] 


Log in to reply