{"issue":{"created_at":"2011-11-08T10:03:39Z","state":"open","updated_at":"2011-11-18T19:58:32Z","user":{"gravatar_id":"9a05859ce895e24f593846e0096993d6","id":180658,"url":"https://api.github.com/users/rgrp","login":"rgrp","avatar_url":"https://secure.gravatar.com/avatar/9a05859ce895e24f593846e0096993d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"comments":2,"body":"Propose replacing specs (e.g. ckan://{name} and replaing with full urls.\r\n\r\nWhy: specs are confusing to most users and urls are directly copy-able and past-able.\r\n\r\nProblems: Requires some intelligent inference about the type of url provided (is it ckan or a local file or ...)\r\n\r\nWhat commands take specs:\r\n\r\n * download (will be renamed to clone or install depending on situation):\r\n  * For source will take url and always assume it is CKAN\r\n  * For dest we assume this is path on disk (or if absent, default install location)\r\n * register: give up on bi-directional registration and always assume that source is local and dest is url\r\n * search: trickier. suggest defaulting this to a value set in config file and possibly allowing for a --catalog or --repository option\r\n * info: switch on whether path or url and assume url indicates ckan and path indicates local path (how do we deal with our local index / repo??)\r\n\r\n### Current specs\r\n\r\nA \"spec\" is a string identifying a package within a package index (or, sometimes, just the index).\r\n    \r\nIt therefore combines index/repository information with an identifier for that package within the index. It is directly based on URIs.\r\n\r\nSpec strings start with as 'scheme' part identifying the type of index and then have additional information used to specify the package (and perhaps the index). For example, for the 3 types of index currently available::\r\n\r\n        ckan://{package-name}\r\n        file://{index-path}/{package-name}\r\n        db://{packag-name} \r\n    \r\nExamples::\r\n\r\n        ckan://dpmdemo # dpmdemo package in the CKAN index\r\n        file:///some/path/on/disk\r\n        file://. # current directory\r\n        file://./xyz # relative path xyz from the current directory\r\n        db://dpmdemo # dpmdemo in the (local) database index\r\n\r\nFor the convenience of users we also support a default index (set in the config file). This allows one to simply use the package identifier for the spec, e.g.::\r\n\r\n        dpmdemo","assignee":null,"id":2172644,"number":28,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"labels":[],"title":"Replace package specs with full paths and urls","closed_at":null,"html_url":"https://github.com/okfn/dpm/issues/28","milestone":{"created_at":"2011-10-23T07:53:29Z","state":"open","due_on":null,"closed_issues":3,"creator":{"gravatar_id":"9a05859ce895e24f593846e0096993d6","id":180658,"url":"https://api.github.com/users/rgrp","login":"rgrp","avatar_url":"https://secure.gravatar.com/avatar/9a05859ce895e24f593846e0096993d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"number":1,"title":"v0.10","description":"","url":"https://api.github.com/repos/okfn/dpm/milestones/1","open_issues":5},"url":"https://api.github.com/repos/okfn/dpm/issues/28"},"action":"created","comment":{"created_at":"2011-11-18T19:58:32Z","updated_at":"2011-11-18T19:58:32Z","user":{"gravatar_id":"532d48bd0b82fe987499e3ef2f622c95","id":153179,"url":"https://api.github.com/users/dgraziotin","login":"dgraziotin","avatar_url":"https://secure.gravatar.com/avatar/532d48bd0b82fe987499e3ef2f622c95?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"body":"+1 for this. I will be happy to update the whole library as this is closed.","id":2793538,"url":"https://api.github.com/repos/okfn/dpm/issues/comments/2793538"}}