Speeding up development with CouchDB

I’m not sure what it is, but developing an App with CouchDB feels a little bit like a rocket ride. There isn’t much room for fancy maneuvers, but one’s closing in on target really fast. …

17 notes

CouchDB roundup · romangeber.com

Quite some time has passed since I started having fun with CouchDB. After using the usual PHP/MySQL Combo for more than a decade now, I’m quite used to the thought of using a three layer model to build web applications. I was so blinded by that “usual” procedure that I didn’t even think about it any other way.

wactbnotes

Today I searched an old post. I used the tumblr search without success …

So I’ve started a new blog with some couchdb, git, node.js stuff I wrote last months. This kind of posts I will dump there.

Leave a comment on

wactbnotes

or do it here. The blog is hosted on

http://www.iriscouch.com/

It’s a couchapp. Comments?

I relay hope Wittgenstein will approve.

4 notes

kanso Using CommonJS modules

release and change of direction for the Kanso project

couchapp git and yuidoc

Up to now the generation of documentation out of javaScript sources don’t seem to have a standard tool.

I’ve tried yuidoc and have to say that I’m not complete convinced. The pros and cons of yuidoc are a story for itself.

However I’ve worked out a (conceptual) way which combines my daily tools couchdb couchapp and git for having the latest documentation (generated by yuidoc) online and moreover offline.

Install yuidoc

There are official repos on opensuse.com providing the python stuff. With this the installation goes like described in the INSTALL file after extracting the zip:

 1. Check to see if setuptools is installed.
     Execute this command:
         which easy_install

     If it returns something, it's installed skip to step #3.


 2. Install Setup Tools:
     Extract the archive in ext and install the package
     sudo python setup.py install (no sudo needed for cygwin or windows)

     setuptools
         cd ext
         tar xfvz setuptools-0.6c9.tar.gz
         cd setuptools-0.6c9
         sudo python setup.py install

 3. Install the dependencies

     easy_install pygments
     easy_install Cheetah
     easy_install simplejson


 4. Make a copy of yuidoc/bin/example.sh and modify the paths to suit your
 needs.

If you speak a lang with strange letters (öäü) you should replace line 57 in yuidoc_highlight.py with:

out.writelines(highlighted.encode('utf-8'))

Config

The example.sh from point 4 is the script you have to modify and execute. This is nice, since you can simply use the script as post commit hook

cp  yuidoc/bin/example.sh  ~/..project../.git/post-commit

You can set some variables in that script e.g.:

version=`git log --pretty=format:"%ad-%an-%H" --date=short -n 1`

to display some version information on the page.

Use a couchapp!

I have to document a couchapp I wrote. Here, my first attempt was: make a folder below _attachments and let the html arise in there failed. Rewriting the

 yuidoc/template/main.tmpl

to adapt the server pathes is simply to much work. Therefore this idea:

  • Generate a couchapp project-doc and strip it down to the bones:

    /dir> ls project-doc/
         ./
         ../
         _attachments/
         .couchappignore
         couchapp.json
         .couchapprc*
         _id
    
  • set the variables in the shell/hook-script to

     parser_in="./_attachments/js-src-to-doc"
     parser_out=$doc_home/_attachments
     generator_out=$doc_home/_attachments
    

while

     doc_home=path/to/project-doc
  • couchapp push
  • visit http://localhost:5984/db_name/_design/project-doc/index.html

Also the deployment can be activated via the shell/hook-script. Add

cd path/to/project-doc && couchapp push

at the last line. If everything works fine you got a fresh source code documentation on every commit.

Apache CouchDB Is Alive and Kicking

“The reports of my death are greatly exaggerated.” — Mark Twain

In the past days at the end of November 2011, a few news items hit the tech scene that suggested that the Apache CouchDB project is done for.

We, the Apache CouchDB team, are writing to you today: do not worry, the project is alive and well.

Canonical and Ubuntu One

In 2009 Canonical decided to base the data sync feature of their Ubuntu One project on Apache CouchDB. Its goal was to allow seamless synchro- nisation of personal data between different computers and devices and their cloud hosting service. A use-case that seemed perfect for CouchDB at the time, and we consider that still to be the case.

Individuals from the CouchDB team have worked closely with the dev-elopers at Canonical to help making Ubuntu One a success. At some point in the past, these individuals developed patches to adapt CouchDB to certain Ubuntu One use cases. These patches diverged from the main CouchDB code base.

Over time, it became harder and harder to reconcile these changes with the main CouchDB code base, so fixing bugs and rolling out new features from more recent CouchDB release took a lot more time and energy.

At some point in the near past, we presume, Canonical decided to not pursue this any further. And we respect that decision and we wish them best with their development of their new U1DB, which is a database- agnostic API that takes after CouchDB’s API, but is tied closer to their particular feature set.

We’d like to thank Canonical for officially endorsing this part of the message.

“The company behind CouchDB”

During the development of Ubuntu One, Cannonical worked with Couchbase, who happen to employ some of CouchDB’s committers. In a recent an- nouncement, they erroneously described Couchbase as the company behind CouchDB. We’d like the set the record straight by saying that this isn’t the case. CouchDB is an Apache Software Foundation project and has no corporate sponsor.

We are fortunate enough to have a number of companies who employ our committers or sponsor individual people to work on the project. These people, however, contribute to the project as individuals, regardless of their involvement with Cloudant, Couchbase, Enki Multimedia, Iris Couch, or any other corporate entity.

The Future

Apache CouchDB will continue to build great database technology and release stable, mature and trustworthy releases for our developers to build great applications on.

We want to thank everybody for their support and look forward to a great future!

On behalf of the The Apache CouchDB Project Management Committee,

Jan Lehnardt, Chairman


(Source: nosql)

couchdb couchapp + opensuse12.1

for the couch itself I used this repo

  zypper ar http://download.opensuse.org\
     /repositories/server:/database/openSUSE_12.1\
     /server:database.repo

for erlang that

    zypper ar http://download.opensuse.org/\
       repositories/devel:/languages:/erlang/openSUSE_12.1/\
        devel:languages:erlang.repo

The couchapp installation works as told in the README on a fresh installed opensuse 12.1:

 Couchapp requires Python 2.5x or sup. To install couchapp using
  easy_install you must make sure you have a recent version of distribute
  installed::

$ curl -O http://python-distribute.org/distribute_setup.py
$ sudo python distribute_setup.py
$ easy_install pip

  To install or upgrade to the latest released version of couchapp::

$ pip install couchapp

4 minutes, That’s all, That’s it!

THX 4 all the work 2 the relaxers, couchappers and repomen

Umsetzung einer verteilten Anwendung mit der dokumentenorientierten Datenbank CouchDB

Realisation of a Distributed Application Using the Document-Oriented Database CouchDB - An Outliner as a Replicable Distributed System

  @mastersthesis{herrmann:couchdb,
    author = {Lena Herrmann},
    title = {Realisation of a Distributed Application 
              Using the Document-Oriented Database CouchDB - 
              An Outliner as a Replicable Distributed System},
      school = {University of Applied Sciences Berlin},
    year = {2010},
    month = {July}
}

 @mastersthesis{herrmann:couchdb,
   author = {Lena Herrmann},
   title = {Umsetzung einer verteilten Anwendung mit der  
             dokumentenorientierten Datenbank CouchDB - Ein    
             Gliederungseditor als replizierbares Verteiltes System},
    school = {Beuth Hochschule für Technik Berlin},
    year = {2010},
    month = {Juli}
  }

11 notes

NoSQL: Couchconf in Berlin - Golem.de

NoSQL Couchconf in Berlin

Couchbase veranstaltet am 7. November 2011 die Couchconf in Berlin. Die Konferenz richtet sich an Entwickler, die tiefen Einblick in die freie NoSQL-Datenbank CouchDB gewinnen wollen.

Die Couchconf am 7. November 2011 in Berlin soll Entwicklern nicht nur einen Einblick in die Technik hinter der NoSQL-Datenbank CouchDB gewähren, sondern auch darlegen, wo die Entwicklung von CouchDB hingeht. Die CouchDB-Macher wollen vor allem aufzeigen, wie sich CouchDB in Webapplikationen und mobilen Apps einsetzen lässt.

@cincijs: October – CouchDB

cincijs:

Here’s a link dump from this month’s meeting. I hope you’re all super exicted about building CouchApps!

It was mentioned that it might be helpful to show a walkthrough of setting up a CouchApp. I’ll try to work on that and post something here.

27 notes

Backbone.js: MVC in JavaScript

sambervalley:

Complex JavaScript applications have more and more logic that is not directly tied to the DOM and HTML elements: presentation logic, persistence mechanism over Ajax and localStorage, or handling of user actions. This kind of logic can be effectively decoupled from the DOM, in order to simplify testing and make the code reusable in different situations. It’s plain old MVC, in its original incarnation (not the web server-side version) which can now be set up in the browser. The job of Backbone.js is to set up a small MVC framework in a browser’s window:

(Source: sambervalley)

2 notes