DISQUS

CuppaDev: Running into OpenLaszlo Limitations

  • James Urquhart · 2 years ago
    Henry,

    Thanks very much for the suggestion. It seems to work rather nicely. :)

    Regards,

    James
  • Henry Minsky · 2 years ago
    There is a single magic query arg named "lzpostbody", which if you set it, will be sent as the literal POST body, without form-encoding or anything.

    In an upcoming release, this will be accessed via a new API on dataset called setPostBody().
  • Raju Bitter · 2 years ago
    Here's an example code on how to post an XML dataset as a String to a server. Hope that helps...





    a
    b
    cc








    var xmlString = canvas.datasets['theData'].serialize();
    datasetForSending.setQueryParam("xml", xmlString);
    datasetForSending.setQueryType("POST");
    datasetForSending.doRequest();
  • Héryk Julien · 1 year ago
    Hi James,
    I tried the setQueryParam() in LZ 3.3.3 and 4.0.10 to post data and it doesn't work ! I also tried the setPostBody() in LZ 4.0.10 and it also failed! You seem to have made it work... could you post an example?

    FYI, here is my dataset…

    <dataset name="dsSendData" src="$once{'http://localhost:8080/cocoon/devHeryk/metadata/sendMeta/' + LzBrowser.getInitArg('getMeta') + '.xml'}" request="false" type="http"/>

    and my 2 attempts with setQueryParam()…

    <method name="sendData" args="action">
    var dp =canvas.datasets.meta.getPointer();
    var d =canvas.datasets.dsSendData;
    dp.selectChild();
    var sRequest = dp.serialize();
    d.setQueryParam("lzpostbody",sRequest);
    d.setQueryType("POST");
    d.doRequest();
    </method>


    and setPostBody()…

    <method name="sendData" args="action">
    var dp =canvas.datasets.meta.getPointer();
    var d =canvas.datasets.dsSendData;
    dp.selectChild();
    var sRequest = dp.serialize();
    d.setPostBody(sRequest);
    d.setQueryType("POST");
    d.doRequest();
    </method>


    Thanks
    Héryk
  • James Urquhart · 1 year ago
    Héryk,

    I've not played about with OpenLaszlo for months, but i'll see what i can recall.

    If you take a look at one of my other posts, specifically http://www.cuppadev.co.uk/2007/08/08/openlaszlo-version-of-the-previous-flex-example/ , then i eventually figured out that the "lzpostbody" parameter was the key.

    The code i ended up with is http://www.cuppadev.co.uk/assets/2007/8/8/manage_test.txt .

    Keep in mine though that if you are running your app in SOLO mode, then in all likelihood your POST data will automagically be escaped. My solution to that snag here -> http://www.cuppadev.co.uk/2007/08/09/openlaszlo-xml-workaround/ .

    Good luck. :)
  • Héryk Julien · 1 year ago
    Stuck between a rock and a hard place

    Thanks for the rapid response!!! 
    This is a major drawback in the usability of OpenLaszlo in designing XML driven applications. I spent several weeks learning and designing a Laszlo XML driven FGDC metadata editor... and let’s just say that I’m very disappointed with this outcome! Isn’t Laszlo’s strength supposed to be XML driven applications??!!!! Dop!

    I’ll follow your suggestion and try to implement a solution on the server side (Apache Cocoon http://cocoon.apache.org/) to decode Laszlo's xml Post.

    I posted my question on the Laszlo forum here: http://forum.openlaszlo.org/showthread.php?p=37241#post37241

    I hope this will be fixed in a near future!
    Cheers
    Héryk