README.md in traject-0.13.0 vs README.md in traject-0.13.1

- old
+ new

@@ -13,18 +13,22 @@ ## Background/Goals Existing tools for indexing Marc to Solr exist, and have served us well for many years, and have many useful things about them -- which I've tried to preserve in traject. But I was having more and more difficulty working with the existing tools, including difficulty providing the custom logic I needed in a maintainable way. I realized that for me, to create a tool with the flexibility, maintainability, and performance I wanted, I would need to do it in jruby (ruby on the JVM). -Some goals: +* *Easy to use*, getting started with standard use cases should be easy, even for non-rubyists. +* *Support customization and flexiblity*, common customization use cases, including simple local + logic, should be very easy. More sophisticated and even complex customization use cases should still be possible, + changing just the parts of traject you want to change. +* *Maintainable local logic*, including supporting sharing of reusable logic via ruby gems. +* *Maintainable understandable internal logic*; well-covered by tests, well-factored seperation of concerns, +easy for newcomer developers who know ruby to understand the codebase. +* *High performance*, using multi-threaded concurrency where appropriate to maximize throughput. +While it depends on your configuration and the size of your server(s), traject is likely higher +performance than other similar solutions. +* *Well-behaved shell script*, for painless integration in batch processes and cronjobs, with +exit codes, sufficiently flexible control of logging, proper use of stderr, etc. -* Aim to be accessible even to non-rubyists -* Concise and maintainable local configuration -- including an only gradual increase in difficulty to write your own simple logic. -* Support reusable and shareable mapping logic routines. -* Built of modular and composable elements: If you want to change part of what traject does, you should be able to do so without having to reimplement other things you don't want to change. -* A maintainable internal architecture, well-factored with seperated concerns and DRY logic. Aim to be comprehensible to newcomer developers, and well-covered by tests. -* High performance, using multi-threaded concurrency where appropriate to maximize throughput. Actual throughput can depend on complexity of your mapping rules and capacity of your server(s), but I am getting throughput 2-5x greater than previous solutions. -* Cooperate well in unix batch/pipeline, with control over output/logging of errors, proper exit codes, use of stdin/stdout, etc. ## Installation Traject runs under jruby (ruby on the JVM). I recommend [chruby](https://github.com/postmodern/chruby) and [ruby-install](https://github.com/postmodern/ruby-install#readme) for installing and managing ruby installations. (traject is tested