Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 70 lines (51 sloc) 4.557 kb
acfb937 @ftgp initial commit
ftgp authored
1 = Divan, a C# library for CouchDB
9d33356 @ftgp Readme fixes and comment changes.
ftgp authored
2 Divan is a C# library under the MIT license for using CouchDB[http://www.couchdb.org].
3e91188 @ftgp Added LICENSE.txt
ftgp authored
3 It should be more or less API complete including bulk operations, attachments, views
4 and design documents etc. It is quite fast and designed to be flexible but not bloated.
acfb937 @ftgp initial commit
ftgp authored
5
9d33356 @ftgp Readme fixes and comment changes.
ftgp authored
6 Divan has mainly been developed in-house at Foretagsplatsen[http://www.foretagsplatsen.se] and is
3e91188 @ftgp Added LICENSE.txt
ftgp authored
7 being used in the new core system at Foretagsplatsen. It has unit tests (although could
8 benefit from more) and at least one sample console project included.
9
10 == License
11 Divan is under the MIT-license, see file LICENSE.txt.
acfb937 @ftgp initial commit
ftgp authored
12
8bb1955 @ftgp Update of README.rdoc
ftgp authored
13 == Features
9d33356 @ftgp Readme fixes and comment changes.
ftgp authored
14 * More or less complete CouchDB API implemented including bulk and attachments.
8bb1955 @ftgp Update of README.rdoc
ftgp authored
15 * Has classes for design documents and view definition so you can create and manipulate your views from C#.
9d33356 @ftgp Readme fixes and comment changes.
ftgp authored
16 * Has LINQ support (limited) thanks to Alex Pedenko! This means you can write a subset of queries in LINQ syntax.
e68b7b1 @gokr Updates to README.
gokr authored
17 * Has basic automatic JSON serialization support again thanks to Alex Pedenko!
9d33356 @ftgp Readme fixes and comment changes.
ftgp authored
18 * Has basic CouchDB-Lucene integration for making free text indexes and query them.
8bb1955 @ftgp Update of README.rdoc
ftgp authored
19 * Offers several "hooks" for your own subclasses in order to add specializations.
20
acfb937 @ftgp initial commit
ftgp authored
21 == Does it work under Mono?
42ca3d3 @gokr Adjusted README.rdoc
gokr authored
22 You bet. Foretagsplatsen uses mainly windows (VS2008/.Net 3.5) but Divan is also developed using Monodevelop 2.0/Mono 2.4.2.3. We are currently using the Makefile integration in Monodevelop so Divan should also easily build from command line.
23
24 Currently Mono has a bug in System.dll regarding HEAD HTTP requests so <b>we detect if we are running in Mono and then we fall back on using a regular GET</b>.
abc9712 @ftgp Added mailinglist to README and more info on Mono bug.
ftgp authored
25
26 Note that this bug has been <b>reported and fixed</b> in Mono trunk and should be available
8bb1955 @ftgp Update of README.rdoc
ftgp authored
27 in any mono release after 2.4.2.3 (I guess). Then we will remove that check.
acfb937 @ftgp initial commit
ftgp authored
28
3342b83 @gokr Makefile support from Monodevelop, tweaked README.rdoc
gokr authored
29 == Getting started
bce9d33 @gokr Tweak to README about blog article etc.
gokr authored
30 1. Install git of course... and clone Divan. The "official" repository is the one from Foretagsplatsen and we only have one branch there so far, and no tags yet:
31 git clone git://github.com/foretagsplatsen/Divan.git
3342b83 @gokr Makefile support from Monodevelop, tweaked README.rdoc
gokr authored
32 3. If you are on VS2008 or Monodevelop then I suggest double clicking the Divan.sln. Hopefully the rest works out fine.
9c07c01 @gokr Tweak to README about nunit-console2.
gokr authored
33 4. If you are on Mono "CLI style" then the configure/Makefile should work as expected, it is "vanilla generated" from Monodevelop. Then you can also run the basic unit tests, but note that these rely on a couchdb running locally:
e68b7b1 @gokr Updates to README.
gokr authored
34 nunit-console2 --labels -run=Divan.Test.CouchTest Tests/bin/Debug/Divan.Test.dll
3342b83 @gokr Makefile support from Monodevelop, tweaked README.rdoc
gokr authored
35 5. Run the "Trivial" sample console app. You can point it at a running CouchDB server:
36
37 C:\Divan\samples\Trivial>bin\Debug\Trivial.exe 192.168.9.205 5984
38
39 6. Happy coding! And ask any questions on the mailinglist.
acfb937 @ftgp initial commit
ftgp authored
40
41 == What about documentation?
fda0717 @ftgp Tweaks to README.rdoc due to split out Tests project.
ftgp authored
42 At the moment documentation is... this file! :) But there are also unit tests in the separate Tests project:
25fb7b2 @gokr Updates to README.rdoc and Makefile etc.
gokr authored
43 * CouchTest.cs that runs against a CouchDB server, see the class comment for some instructions.
fda0717 @ftgp Tweaks to README.rdoc due to split out Tests project.
ftgp authored
44 * Lucene/CouchLuceneTest.cs that tests the CouchDB-Lucene integration if you have it, see article below.
45
46 There is also one sample project "Trivial" showing basic usage. More samples with more advanced usage is coming soon.
acfb937 @ftgp initial commit
ftgp authored
47
26ab45a @gokr Silly tweak to README.
gokr authored
48 * One blog article[http://goran.krampe.se/blog/Divan/divan-plus-couchdb-lucene.rdoc] on how to install Couchdb-Lucene and test it with Divan.
acfb937 @ftgp initial commit
ftgp authored
49
50 == Dependencies
51 The only dependencies and their tested versions are:
52
3e91188 @ftgp Added LICENSE.txt
ftgp authored
53 * Newtonsoft.JSON (3.5 Beta 4), MIT-licensed fast library for JSON, see: http://json.codeplex.com
acfb937 @ftgp initial commit
ftgp authored
54 * NUnit (2.4.8). Unit testing framework, see: http://www.nunit.org
55 * CouchDB (0.9.1, 0.9). Running on a server somewhere, see: http://www.couchdb.org
8bb1955 @ftgp Update of README.rdoc
ftgp authored
56 * If you want to use the Lucene parts of Divan, you also need CouchDB-Lucene (0.4) installed on the server, see: http://github.com/rnewson/couchdb-lucene/tree/v0.4
acfb937 @ftgp initial commit
ftgp authored
57
abc9712 @ftgp Added mailinglist to README and more info on Mono bug.
ftgp authored
58 The two needed dlls are included in the lib directory.
acfb937 @ftgp initial commit
ftgp authored
59
e28819b @ftgp Merge with gokr.
ftgp authored
60 == Mailinglist
61 We have set up a regular Mailman mailinglist[http://krampe.se/mailman/listinfo/divan] for users and developers alike, please subscribe!
acfb937 @ftgp initial commit
ftgp authored
62
e28819b @ftgp Merge with gokr.
ftgp authored
63 == Roadmap
64 Apart from polishing and fixing bugs the following pieces are on the todolist:
65 * Optional mirroring of design documents from external files instead of defining them as literal strings in C#.
66 * Writing a tutorial and a sample project showing the advanced mechanisms.
acfb937 @ftgp initial commit
ftgp authored
67
e28819b @ftgp Merge with gokr.
ftgp authored
68 == Contributing
25fb7b2 @gokr Updates to README.rdoc and Makefile etc.
gokr authored
69 ...is simple. <b>All contributions should be under the MIT license</b>. Just fork and make pull requests and we will try to integrate. Feel free to bring up anything on the mailinglist. We haven't started using any issue tracker yet, but we will if it gets more popular and we when we do a proper release.
Something went wrong with that request. Please try again.