I'll keep by fingers busy then :) -- Raido
On Tue, Mar 9, 2010 at 3:36 PM, Scott Wilson <[email protected]> wrote: > 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? >>> >>>> >>>> -- >>>> 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 >>>>>> >>>>>> >>>>> >>> >>> > >
