Major Discussions
Welcome nano to the ASF! 🙂 (see thread)
nmo is now a subproject of CouchDB, like nano. nmo is a cli client for managing CouchDB 2.0 clusters. See here for the code location and the Github mirror.
View thread for simple quickstart introduction.
Windows build blocked by khash NIF (see thread)
Progress on the Windows build. Unfortunately a release blocker on Windows in the khash NIF was detected. This NIF expects to call an Erlang BEAM VM internal function, make_hash2().
Proposed three options:
1) Build a custom beam.smp.dll on Windows that exports make_hash2, which means that Windows builds have to have a custom built Erlang with patches. This would have to be written and will never be able to run against stock Erlang builds from erlang.org.
2) Revert to the old-style ets approach on Windows, conditionally using khash only on *NIX, an idea that had been proposed earlier and would involve having to load the khash app only when not running on a Windows platform.
3) Ship CouchDB 2.0 without a Windows build – even though it seems that the Windows build is popular.
Previous discussion:
Windows PR #1 (see thread) / Windows PR #2 (see thread)
The dev@ mailinglist was invited to confirm the following pull requests:
Support Windows build target #69
Support Windows build target #3
(Published in detail once the khash issue was sorted out. See also this pull request: Remove the use of make_hash2)
CouchDB question on user@ (see thread)
A new user asks about CouchDB and received first answers:
Question: Is the database per user is a good model? A: Yes! And filtering by document type is a very common CouchDB data model.
Question: Is there away to tell CouchDB not to store revisions? Or is this needed to make sure the synchronisation is correctly? Answer: _rev can’t be understood as a revisioning system. It’s used to ensure that data is stored consistently across multiple replicas.
Question: When a document is deleted there is nothing like deletion but a revision setting the document to a state of RETIRED? … When syncing to a new device it is going to get all the [retired documents] and then mark them off as deleted. Answer: _deleted: true! But all other fields are typically removed, too. Filtered replication can remove these so-called tombstones if there is a very high volume of deleted documents. To keep old documents, don’t use this DELETE method but create your own delete, such as an inactive: true/false field.
Releases in the CouchDB Universe
- nano-option 1.0.0 – Create a nano adapter if option is not already a nano adapter. Also set X-Couch-Full-Commit header.
- CouchDB Bootstrap 1.7.6 – Bootstrap projects: configure CouchDB, setup security, deploy ddocs and create users.
- PouchDB: pouch-replicate-webrtc 0.0.9 – Replicate a PouchDB over a WebRTC DataChannel, for NodeJS and the Browser.
Opinions and other News in the CouchDB Universe
- [Webcast] Recording of webinar “#Erlang, #CouchDB and the IBM Cloud”
- [Blogpost] Best way to read large (2.5GB <) text file and store in CouchDB.
- “We’re using this to shorten our initial replication times from CouchDB -> PouchDB from ~120s to 2s” commented in pouchdb-replication-stream (@nolanlawson via Twitter)
Use Cases, Questions and Answers
- Tutorial: Installing Apache CouchDB Databse with Ubuntu 15.04
- Use Case: Android query CouchDB field with arraylist
- Use Case/Question: How to use CouchDB with Ember Data 2.0?
Stack Overflow:
- SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘pdone.BaseUser’ doesn’t exist Question: using FOSUserBundle 1.3.x-dev from within SonataUserBundle. After following the steps on UserBundle installation a message occurs about an “exception” issue that is either related to FOSUserBundle or a SonataUserBundle?
- Cloudant 1 to many function or how to join documents.
- Can CouchDB query params in replication filter take an array? Question: The existing working filter takes the query_param user and can be populated with a value like “tony”, but how do you enable it to check for multiple users?
- Python – how to connect Cloudant with Django Framework.
- CouchDB Update queries read arrays as strings? Question:
req.query.section
is an array that was checked on a node server and works fine there. Only on the database side it is acting a bit weird. Answer: Sounds likereq.query.section
is a string with encoded JSON, which one can try making into an array using the JSON object. - Postgres or CouchDB for a movie database rails app? Question: Is it possible to use a document DB (CouchDB) to store only the data about a single movie, and then retrieve this?
no public answer yet:
- Use Case: Ubuntu Server 15.04 – What is the default configuration for CouchDB?
- Stack Overflow: CouchDB how to disable httpd leaving only httpsd working?
- Stack Overflow: Couch DB spring configuration connection issue.
- Stack Overflow: CouchDB Windows silent installation on non default location.
- Stack Overflow: Best way to get and store data (optimized) to mobile app (Ionic, Cordova/Phonegap)?
For more new questions and answers about CouchDB, see these search results.
Use Cases, Questions and Answers (PouchDB)
- Tutorial: Connecting PouchDB to Cloudant on IBM Bluemix
- Use Case: “Crazy hack of the day, sync PouchDB instances over BlueTooth in Android using JXCore and Cordova. Good times…” (@mattpodwysocki via Twitter, Thali Cordova Plugin Replication Manager on Github)
Stack Overflow:
- Cloudant Query or Map/Reduce when getting latest documents – Question: The Cloudant database has several types with several documents of each. How does one get only latest three of each type and not all, to then sync with PouchDB – with Cloudant Query or Map/Reduce? Answer: Either way, but Cloudant Query is probably simpler… For an easy way to play around with the Cloudant Query Language, check out the pouchdb-find demo page.
- How can I pass an Array value in a function that will be used reference a JSON name in PouchDB?
no public answer yet:
- Stack Overflow: Single quotes in data are shown as '
For more new questions and answers about PouchDB, see these search results
Get involved!
If you want to get into working on CouchDB:
- We have an infinite number of open contributor positions on CouchDB. Submit a pull request and join the project!
- Do you want to help us with the work on the new CouchDB website? Get in touch on our new website mailing list and join the website team! – www@couchdb.apache.org
- The CouchDB advocate marketing programme is just getting started. Join us in CouchDB’s Advocate Hub!
- CouchDB has a new wiki. Help us move content from the old to the new one!
- Can you help with Web Design, Development or UX for our Admin Console? No Erlang skills required! – Get in touch with us.
- Do you want to help moving the CouchDB docs translation forward? We’d love to have you in our L10n team! See our current status and languages we’d like to provide CouchDB docs in on this page. If you’d like to help, don’t hesitate to contact the L10n mailing list on l10n@couchdb.apache.org or ping Andy Wenk (awenkhh on IRC).
We’d be happy to welcome you on board!
New Committer
- [Johannes Jörg Schmidt] (IRC nick:TFTFTF, Twitter:@dieTF) has been elected as a CouchDB committer. Welcome to CouchDB, Jörg!
Events
- July 16, Hamburg, Germany: CouchDB Meetup
- July 24, Villeurbanne, FR: Meetup “A la découverte des technologies du NoSql et du BIGData”
- August 4, Boston, US: Summer CouchDB Meetup (Call for Speakers, Location: TBA)
- September 11, London, UK: Lead Developer Conference
- October 6-8, Richland (WA), US: &yetConf
Job opportunities for people with CouchDB skills
- Software Engineer, New York (NY), US
- Senior Python Engineer, New York (NY), US
- Senior Software Engineer (Frontend Web Developer), Washington (DC), US
- Senior Development Engineer (C/C++), Santa Clara (CA), US
- UI/UX Engineer, New York, NY (allows remote)
- Senior Ruby on Rails Engineer, Boston (MA), US
- .NET Web Developer, Saint Paul (MN), US
Time to relax!
- “The “web” is not a part of nature. It was not discovered; we don’t have to just accept it. The “web” is an infrastructural system that was built by people, and it was built very recently and very sloppily. It currently has the property that it forgets what must be remembered, and remembers what must be forgotten. It manages to screw up both the sacredness of the common record and the sacredness of private interaction.” – The Web of Alexandria (follow-up)
- “Here’s the thing: not everyone wants to be an engineer. Just because you don’t understand my job or don’t find it appealing, doesn’t mean it isn’t real or valid. It doesn’t mean I’m not as smart, or geeky, or excited about technology. It just means we like to do different things. And that’s OK.” – The myth of the non-technical startup empolyee
- “The real problem I see is, because of prepublish’s implicit nature, the people who benefit from it might not be aware of and unable to advocate for it.” – What is npm’s prepublish, and why is it so confusing?
- “ But the Stream, mobile applications, and moving images: They all show a departure from a books-internet toward a television-internet. We seem to have gone from a non-linear mode of communication — nodes and networks and links — toward a linear one, with centralization and hierarchies. The web was not envisioned as a form of television when it was invented. But, like it or not, it is rapidly resembling TV: linear, passive, programmed and inward-looking.” – The Web We Have to Save
- “Meritocracy presumes that everyone starts off and continues through with the same level of access to opportunity, time, and money, which is unfortunately not the case. … Businesses are choosing candidates based on their open source contributions, knowing that they are getting more value for less money out of them. … This is akin to not paying someone for overtime.” – Is Tech a Meritocracy?
… and also in the news
- “After 4 days I finally can sleep without dreaming about CouchDB! #CouchDB #RGSoC” – (@ClauCece via Twitter)
- “You walk me animally on the cookie” – 12 German Proverbs Translated Literally Into English
…