hackers4peace / plp-provider

Definitions and reference implementation for Provider working with PLP
provider.plp.hackers4peace.net
1 stars 1 forks source link

views for each plp-prototype #21

Open almereyda opened 9 years ago

almereyda commented 9 years ago

We cannot view all profiles in the browser, possibly due to missing views in

almereyda@precortex:~$ curl -X GET profiles.allmende.io/provider/75afcff7-4723-41ea-96ba-f583861573c6
Error: Failed to lookup view &quot;undefined&quot; in views directory &quot;/var/www/clients/client4/web39/private/plp-provider/views&quot;<br> &nbsp; &nbsp;at Function.app.render (/var/www/clients/client4/web39/private/plp-provider/node_modules/express/lib/application.js:496:17)<br> &nbsp; &nbsp;at ServerResponse.res.render (/var/www/clients/client4/web39/private/plp-provider/node_modules/express/lib/response.js:831:7)<br> &nbsp; &nbsp;at Object.res.format.text/html (/var/www/clients/client4/web39/private/plp-provider/daemon.js:111:13)<br> &nbsp; &nbsp;at ServerResponse.res.format (/var/www/clients/client4/web39/private/plp-provider/node_modules/express/lib/response.js:541:13)<br> &nbsp; &nbsp;at /var/www/clients/client4/web39/private/plp-provider/daemon.js:106:9<br> &nbsp; &nbsp;at $$$internal$$tryCatch (/var/www/clients/client4/web39/private/plp-provider/node_modules/es6-promise/dist/es6-promise.js:304:16)<br> &nbsp; &nbsp;at $$$internal$$invokeCallback (/var/www/clients/client4/web39/private/plp-provider/node_modules/es6-promise/dist/es6-promise.js:316:17)<br> &nbsp; &nbsp;at $$$internal$$publish (/var/www/clients/client4/web39/private/plp-provider/node_modules/es6-promise/dist/es6-promise.js:287:11)<br> &nbsp; &nbsp;at $$asap$$flush (/var/www/clients/client4/web39/private/plp-provider/node_modules/es6-promise/dist/es6-promise.js:111:9)<br> &nbsp; &nbsp;at process._tickCallback (node.js:419:13)
almereyda@precortex:~$ curl -H "Accepts: application/ld+json" -X GET profiles.allmende.io/provider/75afcff7-4723-41ea-96ba-f583861573c6                                                                                          
Error: Failed to lookup view &quot;undefined&quot; in views directory &quot;/var/www/clients/client4/web39/private/plp-provider/views&quot;<br> &nbsp; &nbsp;at Function.app.render (/var/www/clients/client4/web39/private/plp-provider/node_modules/express/lib/application.js:496:17)<br> &nbsp; &nbsp;at ServerResponse.res.render (/var/www/clients/client4/web39/private/plp-provider/node_modules/express/lib/response.js:831:7)<br> &nbsp; &nbsp;at Object.res.format.text/html (/var/www/clients/client4/web39/private/plp-provider/daemon.js:111:13)<br> &nbsp; &nbsp;at ServerResponse.res.format (/var/www/clients/client4/web39/private/plp-provider/node_modules/express/lib/response.js:541:13)<br> &nbsp; &nbsp;at /var/www/clients/client4/web39/private/plp-provider/daemon.js:106:9<br> &nbsp; &nbsp;at $$$internal$$tryCatch (/var/www/clients/client4/web39/private/plp-provider/node_modules/es6-promise/dist/es6-promise.js:304:16)<br> &nbsp; &nbsp;at $$$internal$$invokeCallback (/var/www/clients/client4/web39/private/plp-provider/node_modules/es6-promise/dist/es6-promise.js:316:17)<br> &nbsp; &nbsp;at $$$internal$$publish (/var/www/clients/client4/web39/private/plp-provider/node_modules/es6-promise/dist/es6-promise.js:287:11)<br> &nbsp; &nbsp;at $$asap$$flush (/var/www/clients/client4/web39/private/plp-provider/node_modules/es6-promise/dist/es6-promise.js:111:9)<br> &nbsp; &nbsp;at process._tickCallback (node.js:419:13)
almereyda@precortex:~$ curl -H "Accept: application/ld+json" -X GET profiles.allmende.io/provider/75afcff7-4723-41ea-96ba-f583861573c6                                                                                           
{"name":"asdada","additionalname":"","description":"","birthDate":"","nationality":"","website":"","image":"","address":[],"memberOf":[],"contactPoint":[],"interest":[],"@context":"http://plp.hackers4peace.net/context.jsonld","@type":"Person","@id":"http://profiles.allmende.io/provider/75afcff7-4723-41ea-96ba-f583861573c6"}

Having those could justify to rename this package to webprofiled. @elf-pavlik What do you think?


Strangely enough

curl -X GET profiles.allmende.io/provider/75afcff7-4723-41ea-96ba-f583861573c6

doesn't render HTML, despite there's a Person.hbs, but

curl -H "Accept: application/ld+json" -X GET profiles.allmende.io/provider/75afcff7-4723-41ea-96ba-f583861573c6

indicates it as "@type":"Person". Maybe it is because http://plp.hackers4peace.net/context.jsonld doesn't redirect to http://ld.hackers4peace.net/contexts/plp.jsonld and we cannot determine the @type properly?

Can we consider

daemon.get('/:uuid', function(req, res){
  storage.get(req.uri)          // -> doc
  .then(function(doc){
    res.format({
      'text/html': function(){
        var type = doc.type;
        // handle case of array
        if(typeof type == 'object') type = type[0];
        res.render(type, doc);
      },

to work properly? I wouldn't know how to trace it.