Google Groups Home
Help | Sign in
Offentlige OIO REST interface + ActiveResource
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  20 messages - Collapse all
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
Jesper Rønn-Jensen  
View profile
 More options Mar 26, 5:13 am
From: "Jesper Rønn-Jensen" <jespe...@gmail.com>
Date: Wed, 26 Mar 2008 10:13:52 +0100
Local: Wed, Mar 26 2008 5:13 am
Subject: Offentlige OIO REST interface + ActiveResource
Først:

http://blog.overskrift.dk/2008/03/21/oio-gar-web-20-med-rest/
(tak til Dalager for at gøre mig opmærksom på linket)

Jeg har leget lidt med ActiveResource for at se om det kunne fungere
ud af boksen. Desværre er der et par afvigelser, som måske kunne
interessere nogle af jer. Her er hvad jeg har fundet

Sæt en model op til at konsumere postdistrikter

postdistrikt.rb:

class Postdistrikt < ActiveResource::Base
  self.site = 'http://oiorest.dk/danmark/'
end

Rette /config/initializers/inflections.rb:
Inflector.inflections do |inflect|
  inflect.irregular 'postdistrikt', 'postdistrikter'
end

Nu kan jeg i teorien gøre således fra konsollen

Postdistrikt.find(:all)
Postdistrikt.find(2300)

Problemet er så bare at OIO Rest interfacet udstiller url'erne uden
".xml" sat på, hvilket ActiveResource forventer.
Se her:

Postdistrikt.find(:all)
requester
http://oiorest.dk/danmark/postdistrikter.xml  (response 404)
men sourcen ligger på
http://oiorest.dk/danmark/postdistrikter (response 200)

Postdistrikt.find(2300)
requester
http://oiorest.dk/danmark/postdistrikter/2300.xml  (response 404)
men sourcen ligger på
http://oiorest.dk/danmark/postdistrikter/2300 (response 200)

Det store spørgsmål er så hvordan skal ActiveResource modificeres så
den kan konsumere en webservice som oiorest?
Jeg tænkte på, om man skulle kunne give flere options med (udover site
= '...' i modellen)
Har i nogle tanker, ideer?

PS:

For bedre at logge hvad der sker, har jeg desuden duck-typet denne fra
ActiveResource for at køre igennem en http sniffer
(i min environment.rb):
module ActiveResource
  class Connection
      # Creates new Net::HTTP instance for communication with
    # remote service and resources.
    def http
      # tiljøjet proxyserver/http sniffer Fiddler på http://localhost:8888
      http             = Net::HTTP.new(@site.host, @site.port,
'localhost', 8888)
      http.use_ssl     = @site.is_a?(URI::HTTPS)
      http.verify_mode = OpenSSL::SSL::VERIFY_NONE if http.use_ssl
      http
    end
  end
end

--
___________________________________________________________

Jesper Rønn-Jensen / Capgemini Denmark
Tel. +45 3977 8220 / Mob. +45 2373 6220 / Fax +45 7011 2201
www.dk.capgemini.com / Blog http://justaddwater.dk/
jespe...@gmail.com (Private e-mail and Google Talk IM)
___________________________________________________________


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Frank Vilhelmsen  
View profile
 More options Mar 26, 9:15 am
From: "Frank Vilhelmsen" <frank.vilhelm...@gmail.com>
Date: Wed, 26 Mar 2008 14:15:13 +0100
Local: Wed, Mar 26 2008 9:15 am
Subject: Re: [CPH.rb] Offentlige OIO REST interface + ActiveResource
Super interessant.

Jeg har lige et tillægsspørgsmål. Hvordan adderer man en proxy server
i activeresources?

/Franke


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Christian Dalager  
View profile
 More options Mar 26, 9:22 am
From: "Christian Dalager" <christ...@dalager.com>
Date: Wed, 26 Mar 2008 14:22:17 +0100
Local: Wed, Mar 26 2008 9:22 am
Subject: Re: [CPH.rb] Offentlige OIO REST interface + ActiveResource

Nu har jeg ikke arbejdet med activeresource...
Men jeg faldt over RestClient som måske kunne være et alternativ til
ActiveResource, selvom det ikke giver mulighed for at lave find(2300)
operationer etc.

http://rest-client.heroku.com/rdoc/ (via Ruby Inside:
http://www.rubyinside.com/interesting-ruby-tidbits-that-don%e2%80%99t...
)

Her er min fødeadresse f.eks.

require 'lib/rest_client'
require 'rexml/document'
include REXML

res = '
http://oiorest.dk/danmark/postdistrikter/8830/adresser?vejnavn=vr%E5vej'
resource = RestClient::Resource.new(res)
xml = resource.get
doc = Document.new(xml)
root = doc.root

puts root.elements['/adresser/adresse[husnr=24]']

/christian

2008/3/26 Jesper Rønn-Jensen <jespe...@gmail.com>:

--
Christian Dalager
Lyongade 19, 2, th
2300 København S
mob: 61 770 990
www: http://dalager.com

Navneblank?
Check http://hvadskalbarnethedde.dk


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Christian Dalager  
View profile
 More options Mar 26, 9:30 am
From: "Christian Dalager" <christ...@dalager.com>
Date: Wed, 26 Mar 2008 14:30:06 +0100
Local: Wed, Mar 26 2008 9:30 am
Subject: Re: [CPH.rb] Offentlige OIO REST interface + ActiveResource

Når det så er sagt, så er der en løsning på dit problem her, Jesper:
http://www.quarkruby.com/2008/3/11/consume-non-rails-style-rest-apis

/chr

2008/3/26 Christian Dalager <christ...@dalager.com>:

--
Christian Dalager
Lyongade 19, 2, th
2300 København S
mob: 61 770 990
www: http://dalager.com

Navneblank?
Check http://hvadskalbarnethedde.dk


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jesper Rønn-Jensen  
View profile
 More options Mar 26, 6:18 pm
From: "Jesper Rønn-Jensen" <jespe...@gmail.com>
Date: Wed, 26 Mar 2008 23:18:41 +0100
Local: Wed, Mar 26 2008 6:18 pm
Subject: Re: [CPH.rb] Re: Offentlige OIO REST interface + ActiveResource
Tak Christian.
Her er det færdige eksempel med de rettelser du har sendt mig i
separat mail. Incl. tilføjet monkey-patch fra Rails ticket 8798
(spændende læsning, forresten).
http://dev.rubyonrails.org/ticket/8798

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Christian Dalager  
View profile
 More options Mar 26, 7:00 pm
From: "Christian Dalager" <christ...@dalager.com>
Date: Thu, 27 Mar 2008 00:00:41 +0100
Local: Wed, Mar 26 2008 7:00 pm
Subject: Re: [CPH.rb] Re: Offentlige OIO REST interface + ActiveResource

Til alles forvirring...
Jeg har lavet en basal brugbar løsning, der fungerer mod oios restapi (
http://oiorest.dk/danmark/)
Der er i den grad mulighed for forbedringer, se TODO i bunden.

Vedlagt er klassen ActiveOIO, der nedarver fra ActiveResource::Base.
Smid den i /lib

Nu kan du lave modellerne Postdistrikt, Sogn, Kommune og Region og lade dem
nedarve fra ActiveOIO.
Eks:

class Postdistrikt < ActiveOIO
  # smid selv noget mere i klassen hvis du vil
end

Fra en script/console:

>> Postdistrikt.find(2300)

=> #<Postdistrikt:0x2373118 @attributes={"navn"=>"København S",
"adresser"=>#<Postdistrikt::Adresser:0x236fb30 @attributes={"ref"=>"
http://oiorest.dk/danmark/postdistrikter/2300/adresser"},
@prefix_options={}>, "nr"=>"2300", "xmlns"=>"
http://itst.dk/schemas/danmarkservice"}, @prefix_options={}>

>> Postdistrikt.find(:all)

=> // 1112 postdistrikter

TODO (
1. jeg har kun lavet inflections for de 4 typer, det skal udbygges med
resten af de enkle typer fra apiet
2. associationer mellem de forskellige modeller, ala
Kommune.find(1234).skoledistrikter,
svarende til urlen http://oiorest.dk/danmark/kommuner/751/skoledistrikter
3. søgning, specielt adresser.
4. Unittests eller rspecs eller hvad man nu vælger. Ligenu har jeg bare fået
hul igennem, så det er ikke så vildt endnu.

Jesper og jeg har talt om at lave et Google Code projekt, hvis nogen har
lyst til at lege med.
På den anden side kunne det være rart at vide, hvor IT- og Telestyrelsen har
tænkt sig at gå hen med det her, hvornår og under hvilke betingelser, inden
man kommer for godt igang... Jeg smider lige herr Jordal en mail også, så
kan det være han vil fortælle lidt mere.

/christian

PS: Kim Dalsgaard fra århusklanen pusler måske med det samme (se kommentar
til http://www.version2.dk/artikel/6678

---
Christian Dalager
Lyongade 19, 2, th
2300 København S
mob: 61 770 990
www: http://dalager.com

Navneblank?
Check http://hvadskalbarnethedde.dk

  active_oio.rb
2K Download

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Olle Jonsson  
View profile
 More options Mar 27, 4:19 am
From: Olle Jonsson <olle.jons...@gmail.com>
Date: Thu, 27 Mar 2008 01:19:19 -0700 (PDT)
Local: Thurs, Mar 27 2008 4:19 am
Subject: Re: Offentlige OIO REST interface + ActiveResource
Shit. OIO is the shit, og i Sverige har man det bare ikke sån.

Jeg har sammenfattet min svenske erfaring med at gå til den mest
oplagte udbyder af ZIP informationer: Postens websted i en screenshot
af den 80'er-agtige app de har bygget for sine brugere.

http://flickr.com/photos/olleolleolle/2366147218/

Jeg blev bare lidt mavesur over at den her ting ikke var gjort her,
undskyld den lave pH.

ciao,
    Olle

PS: Meeeega-fedt med en pre-pre-release af active_oio.rb. Props!


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jesper Rønn-Jensen  
View profile
 More options Mar 27, 4:27 am
From: "Jesper Rønn-Jensen" <jespe...@gmail.com>
Date: Thu, 27 Mar 2008 09:27:03 +0100
Local: Thurs, Mar 27 2008 4:27 am
Subject: Re: [CPH.rb] Re: Offentlige OIO REST interface + ActiveResource
Sådan så ligger den på google code som et projekt.

http://code.google.com/p/oiorest/

Jeg har tilføjet dalager og mig som admins... Andre der vil have commit adgang?

/Jesper


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Christian Dalager  
View profile
 More options Mar 27, 8:44 am
From: "Christian Dalager" <christ...@dalager.com>
Date: Thu, 27 Mar 2008 13:44:59 +0100
Local: Thurs, Mar 27 2008 8:44 am
Subject: Re: [CPH.rb] Re: Offentlige OIO REST interface + ActiveResource

Sidste opfølgning indtil videre.
Spurgte Finn Jordal om planerne for OIOREST, og her er hans svar.

Hej Christian

Jeg er rigtig glad for at se jeres interesse i OIOREST initiativet, samt at
i allerede har kode, som anvender Danmark web servicen -  fantastisk.

Danmark web servicens hovedformål har været at eksperimentere med at
udstille offentlige data som en REST service, og dens mål er sammen med
OIOREST at motivere/muliggøre at myndigheder og andre organisationer til at
udstille deres offentlige data.

Danmark web servicens fremtid er ikke afklaret, men vil nok blive brugt
fremover, som et eksempel på hvordan data kan udstilles. Dels et eksempel på
design af en REST web service; dels kode eksempler i flere forskellige
sprog. Der vil nok ikke være det store fokus på at opdatere og validere
data.

Hvis i har ideer/kritik/kommentarer til servicen er i meget velkomne til at
kontakte mig, og i er selvfølgelig meget velkomne til at tilmelde jer
OIOREST workshoppen d. 22. april (http://oiorest.dk)

Mvh.
Finn

7chr

--
Christian Dalager
Lyongade 19, 2, th
2300 København S
mob: 61 770 990
www: http://dalager.com

Navneblank?
Check http://hvadskalbarnethedde.dk


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jesper Rønn-Jensen  
View profile
 More options Mar 27, 8:53 am
From: "Jesper Rønn-Jensen" <jespe...@gmail.com>
Date: Thu, 27 Mar 2008 13:53:24 +0100
Local: Thurs, Mar 27 2008 8:53 am
Subject: Re: [CPH.rb] Re: Offentlige OIO REST interface + ActiveResource
Et godt input til Finn Jordal herfra listen kunne være at lægge REST
url'erne tættere op ad Rails ActiveResource defaults (selvom vi nu har
vist at man kan bruge det ved at benytte vores ActiveOIO lib)

ActiveResource defaults'ne kan gøre det endnu lettere for novicer at
integrere danmarks ws'erne mod en rails app

Dvs. sikre der også er svar på
http://oiorest.dk/danmark/postdistrikter.xml og ikke kun
http://oiorest.dk/danmark/postdistrikter

samt at der er svar på
http://oiorest.dk/danmark/postdistrikter/2300.xml og ikke kun
http://oiorest.dk/danmark/postdistrikter/2300

Christian, jeg melder mig til den workshop den 22.april. Håber at du også gør :)

/Jesper

2008/3/27 Christian Dalager <christ...@dalager.com>:

--
___________________________________________________________

Jesper Rønn-Jensen / Capgemini Denmark
Tel. +45 3977 8220 / Mob. +45 2373 6220 / Fax +45 7011 2201
www.dk.capgemini.com / Blog http://justaddwater.dk/
jespe...@gmail.com (Private e-mail and Google Talk IM)
___________________________________________________________


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.