On 9 Mar 2010, at 13:29, Raido Kuli wrote:
Hi.Should there be Python version of framework too ? In any other programming language (ruby or something) ?
I think the simple answer is, the more the merrier! Python definitely, Ruby yep... hmm Objective-C? C#?
I recently took up learning Python (for simple applications) and even did some framework coding for Wookie, just to get a hang of Python. Current version can get list of available widgets and get/create widget instances and return instance object.
-- Raido On Sun, Mar 7, 2010 at 9:14 PM, Scott Wilson <[email protected]> wrote:On 7 Mar 2010, at 18:58, Raido Kuli wrote:Hi. I've got deleting participants/properties working. I had some errors with my request. Now I am curious why does propeties request -> DELETE {wookie}/properties {params: instance_params, propertyname} <- create new property in database, if it doesn't exist.So -> i create request like (from the php framework i am working on):$request = '?api_key='.$this->getConnection()->getApiKey();$request .= '&shareddatakey='.$this->getConnection()- >getSharedDataKey();$request .= '&userid='.$this->getUser()->getLoginName(); $request .= '&widgetid='.$widgetInstance->getIdentifier(); $request .= '&propertyname='.$propertyInstance->getName();So if, in the first request propertyname doesn't exist, Wookie returns'404 not found' BUT creates property, with value 'NULL'. On second request the same property is correctly deleted. Obviously it should not do that, just return 404.It certainly shouldn't! Can you create an issue for this in the tracker?-- RaidoOn Thu, Mar 4, 2010 at 9:30 AM, Raido Kuli <[email protected]> wrote:Hi!I am trying to implement DELETE for participants and properties in PHPframework. But request returns 401 Unauthorized. DELETE {wookie}/properties {params: instance_params, propertyname}This time widgetid param is definetly http://somewidget.com/ or doesthis one need identifier hash from Widget instance ?How could i easly debug Wookie with eclipse or something. I'm not veryfamiliar with Log4j. Add/modify participants/properties work nice :) -- Raido On Tue, Mar 2, 2010 at 7:30 PM, Scott Wilson <[email protected]> wrote:On 2 Mar 2010, at 16:33, Ross Gardler wrote: On 02/03/2010 13:40, Raido Kuli wrote:I got it going.My problem, was for both cases, wrong widgetid parametervalue.I made that mistake a few times. I think they are confusingly named.Thereare a number of "id" parameters, the use of each is not very obvious andI didn't find the javadocs to be a great deal of help.This is another area I think we can improve the code a fair bit. Italwaystakes new eyes like ours to uncover these kinds of issues, those working with the code for any length of time will have the different IDs etchedinto their minds.Yes, it makes sense inside Wookie, but how these are exposed in the representations of Widget and WidgetInstance in XML doesn't really help.Here's a widget: <?xml version="1.0" encoding="UTF-8"?> <widgets><widget id="3" identifier="http://www.getwookie.org/widgets/todo "width="320" height="460" version=""> <title short="">Ta-Da!</title> <description>A shared to-do list widget</description><icon>http://localhost:8080/wookie/wservices/www.getwookie.org/widgets/todo/icon.png </icon><author>Apache Wookie (Incubating) Team</author> </widget> </widgets> As you can see there is:widget.id = the internal id used for the widget (i.e. its database key)widget.identifier = the external IRI used to globally identify the widget.(In the code this is sometimes called the widget guid. In W3C Widgetsthis is called the widget id attribute). A request for information about the widget uses widget.id, e.g. GET /wookie/widgets/3 A request for a new widget instance uses widget identifier, e.g. POST /wookie/widgetinstances api_key=TEST userid=test shareddatakey=test widgetid=http://www.getwookie.org/widgets/todo Here's a widget instance: <?xml version="1.0" encoding="UTF-8"?> <widgetdata><url>http://localhost:8080/wookie/wservices/www.getwookie.org/widgets/todo/index.html?idkey=ELrI91u2Oi.sl.A1Yt9NqOBDkbfoB4.eq.&proxy=http://localhost:8080/wookie/proxy&st=wookie%3A89wrKZFnvFSyAOQbsc%2B7JSYgexSEgUxKBGCajZffBt1zGQchTpFpoyLga7wcN6agQzTXiz8JoE4RDciuBPFyG2%2FPXjk%2BC7Xdgeps2btrVPpZ4%2FvrGLuYdhQ1GXsQ7680QaKE6WNXs2eMYaRfm7PZVZxU9otmA%2BR%2BE1Y5BpnF3Pg0N6fB1PUmIfVPO4281uE23r8kgw%3D%3D </url><identifier>ELrI91u2Oi.sl.A1Yt9NqOBDkbfoB4.eq.</identifier> <title>Ta-Da!</title> <height>460</height> <width>320</width> <maximize>false</maximize> </widgetdata>widgetinstance.identifier = the hash of the widget instance compositekey (same as idkey param in widgetinstance.url) So not very consistent unfortunately. The representations of all objects are created by classes in theorg.apache.wookie.helper package - you could also extend these, forexample,to produce alternate representations using JSON as well as XML, and totweak the output to be more consistent and obvious. Ross
smime.p7s
Description: S/MIME cryptographic signature
