couchbaselabs / cbft

*THIS PROJECT HAS MOVED* from couchbaselabs TO: https://github.com/couchbase/cbft -- no further development will be done here on couchbaselabs/cbft
Other
27 stars 5 forks source link

cbft should be refactored into a renamed core library #142

Closed steveyen closed 9 years ago

steveyen commented 9 years ago

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...

mschoch commented 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.

steveyen commented 9 years ago

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.

steveyen commented 9 years ago

The new refactored library that cbft uses is at github.com/couchbaselabs/cbgt