Loading ...
Sorry, an error occurred while loading the content.

Re: [ydn-javascript] Re: Problem with Datatable

Expand Messages
  • Satyam
    Perhaps if you tell us what it is you are using someone with experience in that language, framework or whatever might help you. Satyam ... From: tanklm
    Message 1 of 8 , Oct 1, 2007
    • 0 Attachment
      Perhaps if you tell us what it is you are using someone with experience in
      that language, framework or whatever might help you.

      Satyam

      ----- Original Message -----
      From: "tanklm" <lynn@...>
      To: <ydn-javascript@yahoogroups.com>
      Sent: Monday, October 01, 2007 12:46 PM
      Subject: [ydn-javascript] Re: Problem with Datatable


      >
      > I am having the same problem with a datatable that is similar to the
      > Local XML example
      > (http://developer.yahoo.com/yui/examples/datatable/dt_xhrlocalxml.html).
      > It reads my xml file from cache unless I specifically clear the cache
      > between reloads. I'm not using PHP. Where/How would I set these
      > headers in this case?
      >
      > --- In ydn-javascript@yahoogroups.com, "Satyam" <satyam@...> wrote:
      >>
      >> The problem is with caching. You can tell IE not to cache, which will
      >> prevent it from caching everything from your site or others or you
      > can send
      >> the proper headers from the server side to tell the browser the page is
      >> expired. In PHP you can do:
      >>
      >> header('Cache-Control: no-cache, must-revalidate'); // HTTP/1.1
      >> header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in
      > the past
      >>
      >> right before echoing any content. Those headers tell the browser
      > (and any
      >> intermediate caching proxy) that the page is not to be cached and,
      > just in
      >> case, that it has already expired.
      >>
      >>
      >>
      >> ----- Original Message -----
      >> From: "garymtarr" <GaryTarr@...>
      >> To: <ydn-javascript@yahoogroups.com>
      >> Sent: Wednesday, September 12, 2007 5:14 AM
      >> Subject: [ydn-javascript] Problem with Datatable
      >>
      >>
      >> > Hi,
      >> >
      >> > I am trying to refresh a datatable on a timed basis. However, each
      >> > time I do the sendRequest, the same data is always returned. In
      >> > fact, if the web server is stopped, I still get back the same data
      >> > after the first request. It seems like the DataSource object is
      >> > caching the first set of data but I can't figure out how to turn
      >> > caching off. The documentation says that caching is turned off by
      >> > default so I am confused. Any help would be appreciated. BTW, I am a
      >> > new javascript programmer but have experience in other languages.
      >> > Below is the code :
      >> >
      >> > Thanks in advance
      >> > Gary
      >> >
      >> > var IsItUp={};
      >> >
      >> > IsItUp.DeviceViewRefreshTimeMS=30000;
      >> >
      >> > IsItUp.IsItUpData = [
      >> > {Status:"0", DeviceGroup:"Main
      >> > Office",DeviceName:"Exchange Server",UpDownTime:"5 Days 3 Hr 4 Mn 18
      >> > Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
      >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:36"},
      >> > {Status:"1", DeviceGroup:"Main Office",DeviceName:"Web
      >> > Server",UpDownTime:"5 Days 3 Hr 4 Mn 18
      >> > Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
      >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:36"},
      >> > {Status:"2", DeviceGroup:"Accounting",DeviceName:"File
      >> > Server",UpDownTime:"5 Days 3 Hr 4 Mn 18
      >> > Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
      >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:36"},
      >> > {Status:"3",
      >> > DeviceGroup:"Accounting",DeviceName:"Print Server",UpDownTime:"5 Days
      >> > 3 Hr 4 Mn 18
      >> > Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
      >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:35"},
      >> > {Status:"0",
      >> > DeviceGroup:"Development",DeviceName:"Exchange Server",UpDownTime:"5
      >> > Days 3 Hr 4 Mn 18
      >> > Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
      >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:36"}
      >> > ]
      >> >
      >> >
      >> >
      >> >
      >> > YAHOO.util.Event.addListener(window, "load", function()
      >> > {
      >> > IsItUp.CreateDeviceViewTable = new function()
      >> > {
      >> >
      >> > this.StatusColumnFormatter = function(elCell, oRecord,
      >> > oColumn, oData)
      >> > {
      >> > if(oRecord.getData("Status")=="0")
      >> > {
      >> > elCell.innerHTML = ' <img
      >> > src="arrow_up.ico">';
      >> > }
      >> > if(oRecord.getData("Status")=="1")
      >> > {
      >> > elCell.innerHTML = ' <img
      >> > src="arrow_down.ico">';
      >> > }
      >> > if(oRecord.getData("Status")=="2")
      >> > {
      >> > elCell.innerHTML = ' <img
      >> > src="arrow_testing.ico">';
      >> > }
      >> > if(oRecord.getData("Status")=="3")
      >> > {
      >> > elCell.innerHTML = ' <img
      >> > src="disabled.ico">';
      >> > }
      >> >
      >> > }
      >> >
      >> > var DeviceViewColumnDefs =
      >> > [
      >> >
      >> > {key:"Status",label:"Status",formatter:this.StatusColumnFormatter,sort
      >> > able:true, resizeable:true},
      >> > {key:"DeviceGroup",label:"Device
      >> > Group",sortable:true, resizeable:true},
      >> > {key:"DeviceName",label:"Device Name",sortable:true,
      >> > resizeable:true},
      >> > {key:"UpDownTime",label:"Up/Down Time",
      >> > sortable:true, resizeable:true},
      >> > {key:"Address",sortable:true, resizeable:true},
      >> > {key:"Availability", sortable:true, resizeable:true},
      >> > {key:"ResponseTimeAvg",label:"Response Time (Avg)",
      >> > sortable:true, resizeable:true},
      >> > {key:"MostRecentContact",label:"Most Recent Contact",
      >> > sortable:true, resizeable:true}
      >> > ];
      >> >
      >> > this.oLogReader = new YAHOO.widget.LogReader();
      >> > this.IsItUpDataSource = new YAHOO.util.DataSource("/?");
      >> > this.IsItUpDataSource.responseType =
      >> > YAHOO.util.DataSource.TYPE_JSON;
      >> > this.IsItUpDataSource.connXhrMode = "queueRequests";
      >> > this.IsItUpDataSource.responseSchema = {
      >> > resultsList: "ResultSet",
      >> > fields:
      >> > ["Status","DeviceGroup","DeviceName","UpDownTime","Address","Availabil
      >> > ity","ResponseTimeAvg","MostRecentContact"]
      >> > };
      >> >
      >> > this.DeviceViewTable = new YAHOO.widget.DataTable("basic",
      >> > DeviceViewColumnDefs,this.IsItUpDataSource, {initialRequest:"cmd=1"});
      >> >
      >> >
      >> > this.RefreshDeviceView = function()
      >> > {
      >> > debugger;
      >> >
      >> > IsItUp.CreateDeviceViewTable.IsItUpDataSource.flushCache();
      >> >
      >> > IsItUp.CreateDeviceViewTable.IsItUpDataSource.sendRequest("cmd=1",
      >> > IsItUp.CreateDeviceViewTable.DeviceViewTable.onDataReturnInitializeTab
      >> > le,IsItUp.CreateDeviceViewTable.DeviceViewTable);
      >> > var RefreshSpan =
      >> > document.getElementById("NextRefresh");
      >> > var NextRefresh = new Date
      >> > ();
      >> > var CurrentTimeMS =
      >> > NextRefresh.getTime();
      >> > NextRefresh.setTime
      >> > (CurrentTimeMS + IsItUp.DeviceViewRefreshTimeMS);
      >> > var HrMinSecToNextRefresh=
      >> > NextRefresh.getHours() + ":" + NextRefresh.getMinutes() + ":" +
      >> > NextRefresh.getSeconds();
      >> >
      >> > RefreshSpan.innerHTML=HrMinSecToNextRefresh;
      >> > }
      >> >
      >> > setInterval("IsItUp.CreateDeviceViewTable.RefreshDeviceView
      >> > ()",IsItUp.DeviceViewRefreshTimeMS);
      >> >
      >> >
      >> >
      >> >
      >> >
      >> > Yahoo! Groups Links
      >> >
      >> >
      >> >
      >> >
      >> >
      >> >
      >> > --
      >> > No virus found in this incoming message.
      >> > Checked by AVG Free Edition.
      >> > Version: 7.5.485 / Virus Database: 269.13.15/1002 - Release Date:
      >> > 11/09/2007 17:46
      >> >
      >> >
      >>
      >
      >
      >
      >
      >
      > Yahoo! Groups Links
      >
      >
      >
      >
      >
      > --
      > No virus found in this incoming message.
      > Checked by AVG Free Edition.
      > Version: 7.5.488 / Virus Database: 269.13.35/1040 - Release Date:
      > 30/09/2007 21:01
      >
    • tanklm
      I copied the local XML example from the examples page and plugged in my own xml file to read/write to/from. I m using CGI to do the adds and deletes from the
      Message 2 of 8 , Oct 1, 2007
      • 0 Attachment
        I copied the local XML example from the examples page and plugged in
        my own xml file to read/write to/from. I'm using CGI to do the adds
        and deletes from the local xml file. I'm using Connection to read in
        the data. This GET reads from the cache whenever it can which is not
        what I want it to do.

        this.getXML = YAHOO.util.Connect.asyncRequest("GET", "data.xml",
        this.connectionCallback);


        --- In ydn-javascript@yahoogroups.com, "Satyam" <satyam@...> wrote:
        >
        > Perhaps if you tell us what it is you are using someone with
        experience in
        > that language, framework or whatever might help you.
        >
        > Satyam
        >
        > ----- Original Message -----
        > From: "tanklm" <lynn@...>
        > To: <ydn-javascript@yahoogroups.com>
        > Sent: Monday, October 01, 2007 12:46 PM
        > Subject: [ydn-javascript] Re: Problem with Datatable
        >
        >
        > >
        > > I am having the same problem with a datatable that is similar to the
        > > Local XML example
        > >
        (http://developer.yahoo.com/yui/examples/datatable/dt_xhrlocalxml.html).
        > > It reads my xml file from cache unless I specifically clear the cache
        > > between reloads. I'm not using PHP. Where/How would I set these
        > > headers in this case?
        > >
        > > --- In ydn-javascript@yahoogroups.com, "Satyam" <satyam@> wrote:
        > >>
        > >> The problem is with caching. You can tell IE not to cache, which
        will
        > >> prevent it from caching everything from your site or others or you
        > > can send
        > >> the proper headers from the server side to tell the browser the
        page is
        > >> expired. In PHP you can do:
        > >>
        > >> header('Cache-Control: no-cache, must-revalidate'); //
        HTTP/1.1
        > >> header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in
        > > the past
        > >>
        > >> right before echoing any content. Those headers tell the browser
        > > (and any
        > >> intermediate caching proxy) that the page is not to be cached and,
        > > just in
        > >> case, that it has already expired.
        > >>
        > >>
        > >>
        > >> ----- Original Message -----
        > >> From: "garymtarr" <GaryTarr@>
        > >> To: <ydn-javascript@yahoogroups.com>
        > >> Sent: Wednesday, September 12, 2007 5:14 AM
        > >> Subject: [ydn-javascript] Problem with Datatable
        > >>
        > >>
        > >> > Hi,
        > >> >
        > >> > I am trying to refresh a datatable on a timed basis. However, each
        > >> > time I do the sendRequest, the same data is always returned. In
        > >> > fact, if the web server is stopped, I still get back the same data
        > >> > after the first request. It seems like the DataSource object is
        > >> > caching the first set of data but I can't figure out how to turn
        > >> > caching off. The documentation says that caching is turned off by
        > >> > default so I am confused. Any help would be appreciated. BTW,
        I am a
        > >> > new javascript programmer but have experience in other languages.
        > >> > Below is the code :
        > >> >
        > >> > Thanks in advance
        > >> > Gary
        > >> >
        > >> > var IsItUp={};
        > >> >
        > >> > IsItUp.DeviceViewRefreshTimeMS=30000;
        > >> >
        > >> > IsItUp.IsItUpData = [
        > >> > {Status:"0", DeviceGroup:"Main
        > >> > Office",DeviceName:"Exchange Server",UpDownTime:"5 Days 3 Hr 4
        Mn 18
        > >> >
        Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
        > >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:36"},
        > >> > {Status:"1", DeviceGroup:"Main
        Office",DeviceName:"Web
        > >> > Server",UpDownTime:"5 Days 3 Hr 4 Mn 18
        > >> >
        Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
        > >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:36"},
        > >> > {Status:"2",
        DeviceGroup:"Accounting",DeviceName:"File
        > >> > Server",UpDownTime:"5 Days 3 Hr 4 Mn 18
        > >> >
        Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
        > >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:36"},
        > >> > {Status:"3",
        > >> > DeviceGroup:"Accounting",DeviceName:"Print
        Server",UpDownTime:"5 Days
        > >> > 3 Hr 4 Mn 18
        > >> >
        Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
        > >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:35"},
        > >> > {Status:"0",
        > >> > DeviceGroup:"Development",DeviceName:"Exchange
        Server",UpDownTime:"5
        > >> > Days 3 Hr 4 Mn 18
        > >> >
        Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
        > >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:36"}
        > >> > ]
        > >> >
        > >> >
        > >> >
        > >> >
        > >> > YAHOO.util.Event.addListener(window, "load", function()
        > >> > {
        > >> > IsItUp.CreateDeviceViewTable = new function()
        > >> > {
        > >> >
        > >> > this.StatusColumnFormatter = function(elCell, oRecord,
        > >> > oColumn, oData)
        > >> > {
        > >> > if(oRecord.getData("Status")=="0")
        > >> > {
        > >> > elCell.innerHTML = ' <img
        > >> > src="arrow_up.ico">';
        > >> > }
        > >> > if(oRecord.getData("Status")=="1")
        > >> > {
        > >> > elCell.innerHTML = ' <img
        > >> > src="arrow_down.ico">';
        > >> > }
        > >> > if(oRecord.getData("Status")=="2")
        > >> > {
        > >> > elCell.innerHTML = ' <img
        > >> > src="arrow_testing.ico">';
        > >> > }
        > >> > if(oRecord.getData("Status")=="3")
        > >> > {
        > >> > elCell.innerHTML = ' <img
        > >> > src="disabled.ico">';
        > >> > }
        > >> >
        > >> > }
        > >> >
        > >> > var DeviceViewColumnDefs =
        > >> > [
        > >> >
        > >> >
        {key:"Status",label:"Status",formatter:this.StatusColumnFormatter,sort
        > >> > able:true, resizeable:true},
        > >> > {key:"DeviceGroup",label:"Device
        > >> > Group",sortable:true, resizeable:true},
        > >> > {key:"DeviceName",label:"Device Name",sortable:true,
        > >> > resizeable:true},
        > >> > {key:"UpDownTime",label:"Up/Down Time",
        > >> > sortable:true, resizeable:true},
        > >> > {key:"Address",sortable:true, resizeable:true},
        > >> > {key:"Availability", sortable:true,
        resizeable:true},
        > >> > {key:"ResponseTimeAvg",label:"Response Time (Avg)",
        > >> > sortable:true, resizeable:true},
        > >> > {key:"MostRecentContact",label:"Most Recent
        Contact",
        > >> > sortable:true, resizeable:true}
        > >> > ];
        > >> >
        > >> > this.oLogReader = new YAHOO.widget.LogReader();
        > >> > this.IsItUpDataSource = new YAHOO.util.DataSource("/?");
        > >> > this.IsItUpDataSource.responseType =
        > >> > YAHOO.util.DataSource.TYPE_JSON;
        > >> > this.IsItUpDataSource.connXhrMode = "queueRequests";
        > >> > this.IsItUpDataSource.responseSchema = {
        > >> > resultsList: "ResultSet",
        > >> > fields:
        > >> >
        ["Status","DeviceGroup","DeviceName","UpDownTime","Address","Availabil
        > >> > ity","ResponseTimeAvg","MostRecentContact"]
        > >> > };
        > >> >
        > >> > this.DeviceViewTable = new YAHOO.widget.DataTable("basic",
        > >> > DeviceViewColumnDefs,this.IsItUpDataSource,
        {initialRequest:"cmd=1"});
        > >> >
        > >> >
        > >> > this.RefreshDeviceView = function()
        > >> > {
        > >> > debugger;
        > >> >
        > >> > IsItUp.CreateDeviceViewTable.IsItUpDataSource.flushCache();
        > >> >
        > >> > IsItUp.CreateDeviceViewTable.IsItUpDataSource.sendRequest("cmd=1",
        > >> >
        IsItUp.CreateDeviceViewTable.DeviceViewTable.onDataReturnInitializeTab
        > >> > le,IsItUp.CreateDeviceViewTable.DeviceViewTable);
        > >> > var RefreshSpan =
        > >> > document.getElementById("NextRefresh");
        > >> > var NextRefresh = new Date
        > >> > ();
        > >> > var CurrentTimeMS =
        > >> > NextRefresh.getTime();
        > >> > NextRefresh.setTime
        > >> > (CurrentTimeMS + IsItUp.DeviceViewRefreshTimeMS);
        > >> > var HrMinSecToNextRefresh=
        > >> > NextRefresh.getHours() + ":" + NextRefresh.getMinutes() + ":" +
        > >> > NextRefresh.getSeconds();
        > >> >
        > >> > RefreshSpan.innerHTML=HrMinSecToNextRefresh;
        > >> > }
        > >> >
        > >> > setInterval("IsItUp.CreateDeviceViewTable.RefreshDeviceView
        > >> > ()",IsItUp.DeviceViewRefreshTimeMS);
        > >> >
        > >> >
        > >> >
        > >> >
        > >> >
        > >> > Yahoo! Groups Links
        > >> >
        > >> >
        > >> >
        > >> >
        > >> >
        > >> >
        > >> > --
        > >> > No virus found in this incoming message.
        > >> > Checked by AVG Free Edition.
        > >> > Version: 7.5.485 / Virus Database: 269.13.15/1002 - Release Date:
        > >> > 11/09/2007 17:46
        > >> >
        > >> >
        > >>
        > >
        > >
        > >
        > >
        > >
        > > Yahoo! Groups Links
        > >
        > >
        > >
        > >
        > >
        > > --
        > > No virus found in this incoming message.
        > > Checked by AVG Free Edition.
        > > Version: 7.5.488 / Virus Database: 269.13.35/1040 - Release Date:
        > > 30/09/2007 21:01
        > >
        >
      • Satyam
        Unfortunately, I don t know how you can do it in your setup. A trick I know you can do from the client side is to add a fake argument to the URL and make that
        Message 3 of 8 , Oct 1, 2007
        • 0 Attachment
          Unfortunately, I don't know how you can do it in your setup. A trick I know
          you can do from the client side is to add a fake argument to the URL and
          make that argument a random number. In this way, no matter what any
          intermediary has cached, since the URL is different every time, it will
          never be reused. The problem is that it is a wasteful solution, since
          whatever is caching the pages will still cache them, though they will never
          be used again, wasting time and spending resources that could be better used
          caching good pages.

          The best solution is for the source of the information, the server, to
          indicate all parties that the information should not be cached at all, thus,
          wasting no time or other resources. Some servers have a 'raw' file format
          so that the server will transmit the page as is, with all the headers as
          they are in that file. Others allow you to set a configuration file on the
          directory that can carry such information as cache control.

          Satyam


          ----- Original Message -----
          From: "tanklm" <lynn@...>
          To: <ydn-javascript@yahoogroups.com>
          Sent: Monday, October 01, 2007 1:37 PM
          Subject: [ydn-javascript] Re: Problem with Datatable


          >
          > I copied the local XML example from the examples page and plugged in
          > my own xml file to read/write to/from. I'm using CGI to do the adds
          > and deletes from the local xml file. I'm using Connection to read in
          > the data. This GET reads from the cache whenever it can which is not
          > what I want it to do.
          >
          > this.getXML = YAHOO.util.Connect.asyncRequest("GET", "data.xml",
          > this.connectionCallback);
          >
          >
          > --- In ydn-javascript@yahoogroups.com, "Satyam" <satyam@...> wrote:
          >>
          >> Perhaps if you tell us what it is you are using someone with
          > experience in
          >> that language, framework or whatever might help you.
          >>
          >> Satyam
          >>
          >> ----- Original Message -----
          >> From: "tanklm" <lynn@...>
          >> To: <ydn-javascript@yahoogroups.com>
          >> Sent: Monday, October 01, 2007 12:46 PM
          >> Subject: [ydn-javascript] Re: Problem with Datatable
          >>
          >>
          >> >
          >> > I am having the same problem with a datatable that is similar to the
          >> > Local XML example
          >> >
          > (http://developer.yahoo.com/yui/examples/datatable/dt_xhrlocalxml.html).
          >> > It reads my xml file from cache unless I specifically clear the cache
          >> > between reloads. I'm not using PHP. Where/How would I set these
          >> > headers in this case?
          >> >
          >> > --- In ydn-javascript@yahoogroups.com, "Satyam" <satyam@> wrote:
          >> >>
          >> >> The problem is with caching. You can tell IE not to cache, which
          > will
          >> >> prevent it from caching everything from your site or others or you
          >> > can send
          >> >> the proper headers from the server side to tell the browser the
          > page is
          >> >> expired. In PHP you can do:
          >> >>
          >> >> header('Cache-Control: no-cache, must-revalidate'); //
          > HTTP/1.1
          >> >> header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in
          >> > the past
          >> >>
          >> >> right before echoing any content. Those headers tell the browser
          >> > (and any
          >> >> intermediate caching proxy) that the page is not to be cached and,
          >> > just in
          >> >> case, that it has already expired.
          >> >>
          >> >>
          >> >>
          >> >> ----- Original Message -----
          >> >> From: "garymtarr" <GaryTarr@>
          >> >> To: <ydn-javascript@yahoogroups.com>
          >> >> Sent: Wednesday, September 12, 2007 5:14 AM
          >> >> Subject: [ydn-javascript] Problem with Datatable
          >> >>
          >> >>
          >> >> > Hi,
          >> >> >
          >> >> > I am trying to refresh a datatable on a timed basis. However, each
          >> >> > time I do the sendRequest, the same data is always returned. In
          >> >> > fact, if the web server is stopped, I still get back the same data
          >> >> > after the first request. It seems like the DataSource object is
          >> >> > caching the first set of data but I can't figure out how to turn
          >> >> > caching off. The documentation says that caching is turned off by
          >> >> > default so I am confused. Any help would be appreciated. BTW,
          > I am a
          >> >> > new javascript programmer but have experience in other languages.
          >> >> > Below is the code :
          >> >> >
          >> >> > Thanks in advance
          >> >> > Gary
          >> >> >
          >> >> > var IsItUp={};
          >> >> >
          >> >> > IsItUp.DeviceViewRefreshTimeMS=30000;
          >> >> >
          >> >> > IsItUp.IsItUpData = [
          >> >> > {Status:"0", DeviceGroup:"Main
          >> >> > Office",DeviceName:"Exchange Server",UpDownTime:"5 Days 3 Hr 4
          > Mn 18
          >> >> >
          > Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
          >> >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:36"},
          >> >> > {Status:"1", DeviceGroup:"Main
          > Office",DeviceName:"Web
          >> >> > Server",UpDownTime:"5 Days 3 Hr 4 Mn 18
          >> >> >
          > Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
          >> >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:36"},
          >> >> > {Status:"2",
          > DeviceGroup:"Accounting",DeviceName:"File
          >> >> > Server",UpDownTime:"5 Days 3 Hr 4 Mn 18
          >> >> >
          > Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
          >> >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:36"},
          >> >> > {Status:"3",
          >> >> > DeviceGroup:"Accounting",DeviceName:"Print
          > Server",UpDownTime:"5 Days
          >> >> > 3 Hr 4 Mn 18
          >> >> >
          > Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
          >> >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:35"},
          >> >> > {Status:"0",
          >> >> > DeviceGroup:"Development",DeviceName:"Exchange
          > Server",UpDownTime:"5
          >> >> > Days 3 Hr 4 Mn 18
          >> >> >
          > Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
          >> >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:36"}
          >> >> > ]
          >> >> >
          >> >> >
          >> >> >
          >> >> >
          >> >> > YAHOO.util.Event.addListener(window, "load", function()
          >> >> > {
          >> >> > IsItUp.CreateDeviceViewTable = new function()
          >> >> > {
          >> >> >
          >> >> > this.StatusColumnFormatter = function(elCell, oRecord,
          >> >> > oColumn, oData)
          >> >> > {
          >> >> > if(oRecord.getData("Status")=="0")
          >> >> > {
          >> >> > elCell.innerHTML = ' <img
          >> >> > src="arrow_up.ico">';
          >> >> > }
          >> >> > if(oRecord.getData("Status")=="1")
          >> >> > {
          >> >> > elCell.innerHTML = ' <img
          >> >> > src="arrow_down.ico">';
          >> >> > }
          >> >> > if(oRecord.getData("Status")=="2")
          >> >> > {
          >> >> > elCell.innerHTML = ' <img
          >> >> > src="arrow_testing.ico">';
          >> >> > }
          >> >> > if(oRecord.getData("Status")=="3")
          >> >> > {
          >> >> > elCell.innerHTML = ' <img
          >> >> > src="disabled.ico">';
          >> >> > }
          >> >> >
          >> >> > }
          >> >> >
          >> >> > var DeviceViewColumnDefs =
          >> >> > [
          >> >> >
          >> >> >
          > {key:"Status",label:"Status",formatter:this.StatusColumnFormatter,sort
          >> >> > able:true, resizeable:true},
          >> >> > {key:"DeviceGroup",label:"Device
          >> >> > Group",sortable:true, resizeable:true},
          >> >> > {key:"DeviceName",label:"Device Name",sortable:true,
          >> >> > resizeable:true},
          >> >> > {key:"UpDownTime",label:"Up/Down Time",
          >> >> > sortable:true, resizeable:true},
          >> >> > {key:"Address",sortable:true, resizeable:true},
          >> >> > {key:"Availability", sortable:true,
          > resizeable:true},
          >> >> > {key:"ResponseTimeAvg",label:"Response Time (Avg)",
          >> >> > sortable:true, resizeable:true},
          >> >> > {key:"MostRecentContact",label:"Most Recent
          > Contact",
          >> >> > sortable:true, resizeable:true}
          >> >> > ];
          >> >> >
          >> >> > this.oLogReader = new YAHOO.widget.LogReader();
          >> >> > this.IsItUpDataSource = new YAHOO.util.DataSource("/?");
          >> >> > this.IsItUpDataSource.responseType =
          >> >> > YAHOO.util.DataSource.TYPE_JSON;
          >> >> > this.IsItUpDataSource.connXhrMode = "queueRequests";
          >> >> > this.IsItUpDataSource.responseSchema = {
          >> >> > resultsList: "ResultSet",
          >> >> > fields:
          >> >> >
          > ["Status","DeviceGroup","DeviceName","UpDownTime","Address","Availabil
          >> >> > ity","ResponseTimeAvg","MostRecentContact"]
          >> >> > };
          >> >> >
          >> >> > this.DeviceViewTable = new YAHOO.widget.DataTable("basic",
          >> >> > DeviceViewColumnDefs,this.IsItUpDataSource,
          > {initialRequest:"cmd=1"});
          >> >> >
          >> >> >
          >> >> > this.RefreshDeviceView = function()
          >> >> > {
          >> >> > debugger;
          >> >> >
          >> >> > IsItUp.CreateDeviceViewTable.IsItUpDataSource.flushCache();
          >> >> >
          >> >> > IsItUp.CreateDeviceViewTable.IsItUpDataSource.sendRequest("cmd=1",
          >> >> >
          > IsItUp.CreateDeviceViewTable.DeviceViewTable.onDataReturnInitializeTab
          >> >> > le,IsItUp.CreateDeviceViewTable.DeviceViewTable);
          >> >> > var RefreshSpan =
          >> >> > document.getElementById("NextRefresh");
          >> >> > var NextRefresh = new Date
          >> >> > ();
          >> >> > var CurrentTimeMS =
          >> >> > NextRefresh.getTime();
          >> >> > NextRefresh.setTime
          >> >> > (CurrentTimeMS + IsItUp.DeviceViewRefreshTimeMS);
          >> >> > var HrMinSecToNextRefresh=
          >> >> > NextRefresh.getHours() + ":" + NextRefresh.getMinutes() + ":" +
          >> >> > NextRefresh.getSeconds();
          >> >> >
          >> >> > RefreshSpan.innerHTML=HrMinSecToNextRefresh;
          >> >> > }
          >> >> >
          >> >> > setInterval("IsItUp.CreateDeviceViewTable.RefreshDeviceView
          >> >> > ()",IsItUp.DeviceViewRefreshTimeMS);
          >> >> >
          >> >> >
          >> >> >
          >> >> >
          >> >> >
          >> >> > Yahoo! Groups Links
          >> >> >
          >> >> >
          >> >> >
          >> >> >
          >> >> >
          >> >> >
          >> >> > --
          >> >> > No virus found in this incoming message.
          >> >> > Checked by AVG Free Edition.
          >> >> > Version: 7.5.485 / Virus Database: 269.13.15/1002 - Release Date:
          >> >> > 11/09/2007 17:46
          >> >> >
          >> >> >
          >> >>
          >> >
          >> >
          >> >
          >> >
          >> >
          >> > Yahoo! Groups Links
          >> >
          >> >
          >> >
          >> >
          >> >
          >> > --
          >> > No virus found in this incoming message.
          >> > Checked by AVG Free Edition.
          >> > Version: 7.5.488 / Virus Database: 269.13.35/1040 - Release Date:
          >> > 30/09/2007 21:01
          >> >
          >>
          >
          >
          >
          >
          >
          > Yahoo! Groups Links
          >
          >
          >
          >
          >
          > --
          > No virus found in this incoming message.
          > Checked by AVG Free Edition.
          > Version: 7.5.488 / Virus Database: 269.13.35/1040 - Release Date:
          > 30/09/2007 21:01
          >
        • tanklm
          Thanks. I m looking into apache config settings. I actually tried the work around you suggested at one point. It was fine until I opened my cache and had
          Message 4 of 8 , Oct 1, 2007
          • 0 Attachment
            Thanks. I'm looking into apache config settings. I actually tried the
            work around you suggested at one point. It was fine until I opened my
            cache and had hundreds or perhaps thousands of versions of the file
            around.

            --- In ydn-javascript@yahoogroups.com, "Satyam" <satyam@...> wrote:
            >
            > Unfortunately, I don't know how you can do it in your setup. A
            trick I know
            > you can do from the client side is to add a fake argument to the URL
            and
            > make that argument a random number. In this way, no matter what any
            > intermediary has cached, since the URL is different every time, it will
            > never be reused. The problem is that it is a wasteful solution, since
            > whatever is caching the pages will still cache them, though they
            will never
            > be used again, wasting time and spending resources that could be
            better used
            > caching good pages.
            >
            > The best solution is for the source of the information, the server, to
            > indicate all parties that the information should not be cached at
            all, thus,
            > wasting no time or other resources. Some servers have a 'raw' file
            format
            > so that the server will transmit the page as is, with all the
            headers as
            > they are in that file. Others allow you to set a configuration file
            on the
            > directory that can carry such information as cache control.
            >
            > Satyam
            >
            >
            > ----- Original Message -----
            > From: "tanklm" <lynn@...>
            > To: <ydn-javascript@yahoogroups.com>
            > Sent: Monday, October 01, 2007 1:37 PM
            > Subject: [ydn-javascript] Re: Problem with Datatable
            >
            >
            > >
            > > I copied the local XML example from the examples page and plugged in
            > > my own xml file to read/write to/from. I'm using CGI to do the adds
            > > and deletes from the local xml file. I'm using Connection to read in
            > > the data. This GET reads from the cache whenever it can which is not
            > > what I want it to do.
            > >
            > > this.getXML = YAHOO.util.Connect.asyncRequest("GET", "data.xml",
            > > this.connectionCallback);
            > >
            > >
            > > --- In ydn-javascript@yahoogroups.com, "Satyam" <satyam@> wrote:
            > >>
            > >> Perhaps if you tell us what it is you are using someone with
            > > experience in
            > >> that language, framework or whatever might help you.
            > >>
            > >> Satyam
            > >>
            > >> ----- Original Message -----
            > >> From: "tanklm" <lynn@>
            > >> To: <ydn-javascript@yahoogroups.com>
            > >> Sent: Monday, October 01, 2007 12:46 PM
            > >> Subject: [ydn-javascript] Re: Problem with Datatable
            > >>
            > >>
            > >> >
            > >> > I am having the same problem with a datatable that is similar
            to the
            > >> > Local XML example
            > >> >
            > >
            (http://developer.yahoo.com/yui/examples/datatable/dt_xhrlocalxml.html).
            > >> > It reads my xml file from cache unless I specifically clear the
            cache
            > >> > between reloads. I'm not using PHP. Where/How would I set these
            > >> > headers in this case?
            > >> >
            > >> > --- In ydn-javascript@yahoogroups.com, "Satyam" <satyam@> wrote:
            > >> >>
            > >> >> The problem is with caching. You can tell IE not to cache, which
            > > will
            > >> >> prevent it from caching everything from your site or others or you
            > >> > can send
            > >> >> the proper headers from the server side to tell the browser the
            > > page is
            > >> >> expired. In PHP you can do:
            > >> >>
            > >> >> header('Cache-Control: no-cache, must-revalidate'); //
            > > HTTP/1.1
            > >> >> header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); //
            Date in
            > >> > the past
            > >> >>
            > >> >> right before echoing any content. Those headers tell the browser
            > >> > (and any
            > >> >> intermediate caching proxy) that the page is not to be cached and,
            > >> > just in
            > >> >> case, that it has already expired.
            > >> >>
            > >> >>
            > >> >>
            > >> >> ----- Original Message -----
            > >> >> From: "garymtarr" <GaryTarr@>
            > >> >> To: <ydn-javascript@yahoogroups.com>
            > >> >> Sent: Wednesday, September 12, 2007 5:14 AM
            > >> >> Subject: [ydn-javascript] Problem with Datatable
            > >> >>
            > >> >>
            > >> >> > Hi,
            > >> >> >
            > >> >> > I am trying to refresh a datatable on a timed basis.
            However, each
            > >> >> > time I do the sendRequest, the same data is always returned. In
            > >> >> > fact, if the web server is stopped, I still get back the
            same data
            > >> >> > after the first request. It seems like the DataSource object is
            > >> >> > caching the first set of data but I can't figure out how to turn
            > >> >> > caching off. The documentation says that caching is turned
            off by
            > >> >> > default so I am confused. Any help would be appreciated. BTW,
            > > I am a
            > >> >> > new javascript programmer but have experience in other
            languages.
            > >> >> > Below is the code :
            > >> >> >
            > >> >> > Thanks in advance
            > >> >> > Gary
            > >> >> >
            > >> >> > var IsItUp={};
            > >> >> >
            > >> >> > IsItUp.DeviceViewRefreshTimeMS=30000;
            > >> >> >
            > >> >> > IsItUp.IsItUpData = [
            > >> >> > {Status:"0", DeviceGroup:"Main
            > >> >> > Office",DeviceName:"Exchange Server",UpDownTime:"5 Days 3 Hr 4
            > > Mn 18
            > >> >> >
            > > Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
            > >> >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:36"},
            > >> >> > {Status:"1", DeviceGroup:"Main
            > > Office",DeviceName:"Web
            > >> >> > Server",UpDownTime:"5 Days 3 Hr 4 Mn 18
            > >> >> >
            > > Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
            > >> >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:36"},
            > >> >> > {Status:"2",
            > > DeviceGroup:"Accounting",DeviceName:"File
            > >> >> > Server",UpDownTime:"5 Days 3 Hr 4 Mn 18
            > >> >> >
            > > Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
            > >> >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:36"},
            > >> >> > {Status:"3",
            > >> >> > DeviceGroup:"Accounting",DeviceName:"Print
            > > Server",UpDownTime:"5 Days
            > >> >> > 3 Hr 4 Mn 18
            > >> >> >
            > > Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
            > >> >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:35"},
            > >> >> > {Status:"0",
            > >> >> > DeviceGroup:"Development",DeviceName:"Exchange
            > > Server",UpDownTime:"5
            > >> >> > Days 3 Hr 4 Mn 18
            > >> >> >
            > > Sec",Address:"192.168.6.4",Availability:"93%",ResponseTimeAvg:"000:00:
            > >> >> > 01.382",MostRecentContact:"Wed Sep 5,2007 22:36"}
            > >> >> > ]
            > >> >> >
            > >> >> >
            > >> >> >
            > >> >> >
            > >> >> > YAHOO.util.Event.addListener(window, "load", function()
            > >> >> > {
            > >> >> > IsItUp.CreateDeviceViewTable = new function()
            > >> >> > {
            > >> >> >
            > >> >> > this.StatusColumnFormatter = function(elCell, oRecord,
            > >> >> > oColumn, oData)
            > >> >> > {
            > >> >> > if(oRecord.getData("Status")=="0")
            > >> >> > {
            > >> >> > elCell.innerHTML = ' <img
            > >> >> > src="arrow_up.ico">';
            > >> >> > }
            > >> >> > if(oRecord.getData("Status")=="1")
            > >> >> > {
            > >> >> > elCell.innerHTML = ' <img
            > >> >> > src="arrow_down.ico">';
            > >> >> > }
            > >> >> > if(oRecord.getData("Status")=="2")
            > >> >> > {
            > >> >> > elCell.innerHTML = ' <img
            > >> >> > src="arrow_testing.ico">';
            > >> >> > }
            > >> >> > if(oRecord.getData("Status")=="3")
            > >> >> > {
            > >> >> > elCell.innerHTML = ' <img
            > >> >> > src="disabled.ico">';
            > >> >> > }
            > >> >> >
            > >> >> > }
            > >> >> >
            > >> >> > var DeviceViewColumnDefs =
            > >> >> > [
            > >> >> >
            > >> >> >
            > > {key:"Status",label:"Status",formatter:this.StatusColumnFormatter,sort
            > >> >> > able:true, resizeable:true},
            > >> >> > {key:"DeviceGroup",label:"Device
            > >> >> > Group",sortable:true, resizeable:true},
            > >> >> > {key:"DeviceName",label:"Device
            Name",sortable:true,
            > >> >> > resizeable:true},
            > >> >> > {key:"UpDownTime",label:"Up/Down Time",
            > >> >> > sortable:true, resizeable:true},
            > >> >> > {key:"Address",sortable:true, resizeable:true},
            > >> >> > {key:"Availability", sortable:true,
            > > resizeable:true},
            > >> >> > {key:"ResponseTimeAvg",label:"Response Time
            (Avg)",
            > >> >> > sortable:true, resizeable:true},
            > >> >> > {key:"MostRecentContact",label:"Most Recent
            > > Contact",
            > >> >> > sortable:true, resizeable:true}
            > >> >> > ];
            > >> >> >
            > >> >> > this.oLogReader = new YAHOO.widget.LogReader();
            > >> >> > this.IsItUpDataSource = new YAHOO.util.DataSource("/?");
            > >> >> > this.IsItUpDataSource.responseType =
            > >> >> > YAHOO.util.DataSource.TYPE_JSON;
            > >> >> > this.IsItUpDataSource.connXhrMode = "queueRequests";
            > >> >> > this.IsItUpDataSource.responseSchema = {
            > >> >> > resultsList: "ResultSet",
            > >> >> > fields:
            > >> >> >
            > > ["Status","DeviceGroup","DeviceName","UpDownTime","Address","Availabil
            > >> >> > ity","ResponseTimeAvg","MostRecentContact"]
            > >> >> > };
            > >> >> >
            > >> >> > this.DeviceViewTable = new
            YAHOO.widget.DataTable("basic",
            > >> >> > DeviceViewColumnDefs,this.IsItUpDataSource,
            > > {initialRequest:"cmd=1"});
            > >> >> >
            > >> >> >
            > >> >> > this.RefreshDeviceView = function()
            > >> >> > {
            > >> >> > debugger;
            > >> >> >
            > >> >> > IsItUp.CreateDeviceViewTable.IsItUpDataSource.flushCache();
            > >> >> >
            > >> >> >
            IsItUp.CreateDeviceViewTable.IsItUpDataSource.sendRequest("cmd=1",
            > >> >> >
            > > IsItUp.CreateDeviceViewTable.DeviceViewTable.onDataReturnInitializeTab
            > >> >> > le,IsItUp.CreateDeviceViewTable.DeviceViewTable);
            > >> >> > var RefreshSpan =
            > >> >> > document.getElementById("NextRefresh");
            > >> >> > var NextRefresh =
            new Date
            > >> >> > ();
            > >> >> > var CurrentTimeMS =
            > >> >> > NextRefresh.getTime();
            > >> >> > NextRefresh.setTime
            > >> >> > (CurrentTimeMS + IsItUp.DeviceViewRefreshTimeMS);
            > >> >> > var
            HrMinSecToNextRefresh=
            > >> >> > NextRefresh.getHours() + ":" + NextRefresh.getMinutes() + ":" +
            > >> >> > NextRefresh.getSeconds();
            > >> >> >
            > >> >> > RefreshSpan.innerHTML=HrMinSecToNextRefresh;
            > >> >> > }
            > >> >> >
            > >> >> >
            setInterval("IsItUp.CreateDeviceViewTable.RefreshDeviceView
            > >> >> > ()",IsItUp.DeviceViewRefreshTimeMS);
            > >> >> >
            > >> >> >
            > >> >> >
            > >> >> >
            > >> >> >
            > >> >> > Yahoo! Groups Links
            > >> >> >
            > >> >> >
            > >> >> >
            > >> >> >
            > >> >> >
            > >> >> >
            > >> >> > --
            > >> >> > No virus found in this incoming message.
            > >> >> > Checked by AVG Free Edition.
            > >> >> > Version: 7.5.485 / Virus Database: 269.13.15/1002 - Release
            Date:
            > >> >> > 11/09/2007 17:46
            > >> >> >
            > >> >> >
            > >> >>
            > >> >
            > >> >
            > >> >
            > >> >
            > >> >
            > >> > Yahoo! Groups Links
            > >> >
            > >> >
            > >> >
            > >> >
            > >> >
            > >> > --
            > >> > No virus found in this incoming message.
            > >> > Checked by AVG Free Edition.
            > >> > Version: 7.5.488 / Virus Database: 269.13.35/1040 - Release Date:
            > >> > 30/09/2007 21:01
            > >> >
            > >>
            > >
            > >
            > >
            > >
            > >
            > > Yahoo! Groups Links
            > >
            > >
            > >
            > >
            > >
            > > --
            > > No virus found in this incoming message.
            > > Checked by AVG Free Edition.
            > > Version: 7.5.488 / Virus Database: 269.13.35/1040 - Release Date:
            > > 30/09/2007 21:01
            > >
            >
          Your message has been successfully submitted and would be delivered to recipients shortly.