Closed steveyen closed 9 years ago
I'll be honest, while I understand that there is a reusable core inside cbft, I still don't understand how that works as a library and not a server. I had fully expected cbmirror to be something that ran inside cbft, not something that reused parts of it.
So, count me in the people that don't get it.
Good to know!
I guess it could also have been done that way, but I wished to have separate github projects for things like cbmirror that are more experimental and that can move at different development pace and effort (and lower quality bar) than the main full-text effort.
Separate github projects also allows for code that isn't ready (too embarassing) to not get out yet to the wild, and leaves a potential pathway for things like "enterprise only" features.
And current approach is also somewhat of a result of golang's current lack of dynamic runtime extension. Have to weave together the experimental plugins at build time rather than just scan a directory of loadable plugins at start/run-time.
And, finally, the cbft_doc program, which loads in cbft's REST handlers just barely enough so that it can generate REST API documentation (poor man's javadoc) also helped to kick this thing into a library approach.
The new refactored library that cbft uses is at github.com/couchbaselabs/cbgt
When I explain to folks that cbft is based on a reusable cbft core library that you can use to build cbft-like clustered services, their eyes often glaze over and often dont get it. So...
and/or...