Dear Matthias, thanks for sharing your thoughts, this is very helpful. Am 23/10/2014 18:48, schrieb Matthias Dittrich: > Hello, > > As already discussed with Mitchell here some recommendations to improve > the user experience of codeface, stabilize the codebase and improve the > installation procedure. Which in turn should lower the barrier for > potential contributors to actually contribute. > > > 1. I highly recommend writing some kind of install script to install > all dependencies of codeface, the documentation could just reference > this script. (Currently the documentation is nothing more as some > install commands). that's basically right. Unfortunately, the experience may vary depending on the base distribution used. Our documentation is focused on recent Ubuntu versions; for other distributions, package names vary, dependencies are slightly different and so on. Most likely, we would need one base script plus distribution specific additions. Building R packages is especially problematic since their dependencies are usually only implicitly documented, albeit we've discusses this topics in different posts. > If somehow possible the script should be able to run with normal (not > root) rights and install all dependencies in a folder or something like > that. right. To add one more requirement, it should also be possible to operate different Codeface deployments on a single machine. > > 2. To make sure this script works and is up-to-date use travis (or any > other CI) > > 3. With travis available and all dependencies installed with the script > unit tests should be able run (this will ensure the codebase stabilizes > over time) again agreed. We just need to find time and manpower to do this ;) > > > Some thoughts: > You will need the install script anyway when using any CI, so why not > make it part of the documentation (and usable by the end user / developer). > > Travis should work fine with codeface, but it will require some effort > to get python and R work together, then running the script and unit > tests should be straightforward. And how to handle the mysql dependency > could be an issue? > > Travis can be integrated with github, and will automatically run for all > pull requests (this will make it easier for contributors to quickly > check if everything is OK). that sounds like a very interesting feature. > > Later an additional CI like AppVeyor can be added when Windows support > should be added and maintained. (AppVeyor can also be integrated in github) > > Both provide build icons which can be integrated in the documentation > (or the readme.md) to show that everything works on the master branch. > > Maybe as some general integration test run codeface on itself (with > various configurations) as part of the *testing procedure* (maybe its > time to do some dogfooding?). (Ignore the results for now just make sure > everything finishes without error). analysing codeface with codeface is currently only possible to a very limited extent because ctags does not support R, and the history is not long (and especially not varied) enough to produce interesting signed-off networks. It goes without saying that it's a bit ironic that Codeface cannot properly analyse itself. On the other hand, codeface is directed at projects with 10s to 100s to thousands of developers, and a doubt it a bit that we will every reach this size. Albeit it would be nice to :) Thanks & best regards, Wolfgang > > Best regards, > Matthias >