[ckan-discuss] Installation issues

John Bywater john.bywater at appropriatesoftware.net
Thu Jun 24 10:07:32 BST 2010


Hi Will,

William Waites wrote:
> It's somewhat of a swiss-army knife program that takes
> care of running various common types of commands. You
> use it to run a development web server "paster serve config.ini"
> or to create a config file. It is also possible for a package
> to "install" sub-commands -- see "paster --help" for a list.
> It is basically a command-line wrapper so if you are writing
> a program that does command-line stuff you don't have to
> reinvent the wheel, you just implement a class that does
> whatever the program is supposed to do.

Since I'm already on my second cup of tea..... :-)

Of course, the truth is that it is only the most abstract *idea* of the 
wheel which doesn't need reinventing, whereas actual wheels are 
reinvented all the time. A train wheel is almost an entirely different 
objects from a bicycle wheel, or a wheel on a push chair, or a steering 
wheel.

We don't suffer from push chair manufacturers assembling push chairs 
with train wheels, or car steering systems with push chair wheels, under 
the slogan, "there is no need to reinvent the wheel!" :-)

Therefore, we can confidently conclude, firstly, that it is only 
idealists who never see any reason to reinvent the wheel, pragmatists 
know they need to do this each time there is a new context where a sort 
of round thing on a stick would be good.

Secondly, that common CKAN system admin tasks suffer from just this 
"train wheel on a pram" anti-pattern, when they could easily be 
presented as:

ckan-install
ckan-makeconfig
ckan-runserver

and so on. If it's good for the git goose [1], surely it's good for the 
ckan gander. :-)

But that's all I've got to say on the matter! Hope you have/had a safe 
journey today.

J.



[1]
$ git-
Display all 130 possibilities? (y or n)
git-add                  git-diff-files           git-lost-found 
    git-parse-remote         git-shortlog
git-add--interactive     git-diff-index           git-ls-files 
    git-patch-id             git-show
git-am                   git-diff-tree            git-ls-remote 
    git-peek-remote          git-show-branch
git-annotate             git-fast-export          git-ls-tree 
    git-prune                git-show-index
git-apply                git-fast-import          git-mailinfo 
    git-prune-packed         git-show-ref
git-archive              git-fetch                git-mailsplit 
    git-pull                 git-sh-setup
git-bisect               git-fetch-pack           git-merge 
    git-push                 git-stash
git-blame                git-fetch--tool          git-merge-base 
    git-quiltimport          git-status
git-branch               git-filter-branch        git-merge-file 
    git-read-tree            git-stripspace
git-bundle               git-fmt-merge-msg        git-merge-index 
    git-rebase               git-submodule
git-cat-file             git-for-each-ref         git-merge-octopus 
    git-rebase--interactive  git-symbolic-ref
git-check-attr           git-format-patch         git-merge-one-file 
    git-receive-pack         git-tag
git-checkout             git-fsck                 git-merge-ours 
    git-reflog               git-tar-tree
git-checkout-index       git-fsck-objects         git-merge-recursive 
    git-relink               git-unpack-file
git-check-ref-format     git-gc                   git-merge-resolve 
    git-remote               git-unpack-objects
git-cherry               git-get-tar-commit-id    git-merge-stupid 
    git-repack               git-update-index
git-cherry-pick          git-grep                 git-merge-subtree 
    git-repo-config          git-update-ref
git-clean                git-hash-object          git-mergetool 
    git-request-pull         git-update-server-info
git-clone                git-http-fetch           git-merge-tree 
    git-rerere               git-upload-archive
git-commit               git-http-push            git-mktag 
    git-reset                git-upload-pack
git-commit-tree          git-imap-send            git-mktree 
    git-revert               git-var
git-config               git-index-pack           git-mv 
    git-rev-list             git-verify-pack
git-count-objects        git-init                 git-name-rev 
    git-rev-parse            git-verify-tag
git-daemon               git-init-db              git-pack-objects 
    git-rm                   git-web--browse
git-describe             git-instaweb             git-pack-redundant 
    git-send-pack            git-whatchanged
git-diff                 git-log                  git-pack-refs 
    git-shell                git-write-tree





> 
> HTH,
> -w
> 





More information about the ckan-discuss mailing list