Hi. Should there be Python version of framework too ? In any other programming language (ruby or something) ?
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? > >> >> -- >> Raido >> >> >> >> >> On 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 PHP >>> framework. But request returns 401 Unauthorized. >>> >>> DELETE {wookie}/properties {params: instance_params, propertyname} >>> >>> This time widgetid param is definetly http://somewidget.com/ or does >>> this one need identifier hash from Widget instance ? >>> >>> How could i easly debug Wookie with eclipse or something. I'm not very >>> familiar 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 parameter >>>> value. >>>> >>>> I made that mistake a few times. I think they are confusingly named. >>>> There >>>> are a number of "id" parameters, the use of each is not very obvious and >>>> I >>>> 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. It >>>> always >>>> takes 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 etched >>>> into >>>> 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 Widgets >>>> this >>>> 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 composite >>>> key >>>> (same as idkey param in widgetinstance.url) >>>> So not very consistent unfortunately. >>>> The representations of all objects are created by classes in the >>>> org.apache.wookie.helper package - you could also extend these, for >>>> example, >>>> to produce alternate representations using JSON as well as XML, and to >>>> tweak >>>> the output to be more consistent and obvious. >>>> >>>> >>>> >>>> Ross >>>> >>>> >>> > >
