manual/Installation in taskjuggler-0.1.1 vs manual/Installation in taskjuggler-0.2.0

- old
+ new

@@ -47,10 +47,13 @@ Ruby 1.9.1 contains some bugs that prevent the multi-core support to work. For users that are not interested in multi-core support, the web server, the time sheet infrastructure and daemon Ruby 1.8.7 is still ok to use. On Windows you need at least Ruby 1.9.2. +See below for instructions on how to use the latest and greates Ruby +version in parallel with your distribution Ruby. + * '''RubyGems:''' If it did not come with your OS or the Ruby installation, see [http://docs.rubygems.org here] how to get and install it. Other versions of Ruby (Rubinius, JRuby, etc.) may work but have not @@ -207,6 +210,129 @@ manual and some other parts do require a build step. rake release will do it all and even create installable gem files again. + +=== Installing a newer Ruby version === + +New Ruby versions are released usually about once or twice a year. +Unfortunately, it takes some time before Linux distributions pick up +the new release. Depending on your distribution, this can take +anything from a few weeks to several years. Many distributions still +have not yet made the switch to Ruby 1.9. The core part of +TaskJuggler can be used with Ruby 1.8.9, but it is at least 3 times +slower. Therefor it is recommended, that you install the latest +stable release of Ruby to use TaskJuggler. This can easily and safely +being done in parallel to your distribution Ruby. Both versions can +be used in parallel without interfering each other. + +This section only covers Linux. For other operating system, please +search the web for instructions. If you want to contribute the +description for another OS, please see [[How_To_Contribute]]. + +First, you need to download the source code of the latest stable +release from +[http://www.ruby-lang.org/en/downloads/ www.ruby-lang.org]. + +The source code is distributed as zipped tarfile. You can extract it +like this. Change the file name to the actual version you have +downloaded. + + tar -Zxvf ruby-X.X.X-*.tar.gz + +This will create a directory with the same name as the archive, but +without the ''''.tar.gz'''' extension. Now change into this directory +and configure the source code for your specific OS and compile it. +For this to work, you need to have the GNU C compiler and related +utilities installed. We configure Ruby to append ''''19'''' to all +executable names. This way, you can easily choose if you want to run +the old or the new Ruby. ''''ruby'''' runs your distribution Ruby, +''''ruby19'''' runs your new ruby. + + cd ruby-X.X.X-* + ./configure --program-suffix=19 + make + +If all goes well, you can install it now. This requires root +permission, so you need to enter the root password. All executables +will be installed into ''''/usr/local/bin''''. + + sudo make install + +As a final step, you need to install the ''''mail'''' gem. + + sudo gem19 install mail + +If you don't want to use TaskJuggler from the git repository, you can +install the TaskJuggler gem as well. + + sudo gem19 install taskjuggler + +That's it. You now have the latest Ruby installed and are ready to +use TaskJuggler. + +=== Installing the Vim Support === + +TaskJuggler can be used with any text editor that supports UTF-8 text +file editing. If you don't have a preference yet, we recommend to try +the [http://www.vim.org Vim] text editor. It's a very powerful editor +and it has been customized for better integration with TaskJuggler. +This section describes, how to activate and use the Vim integration. +Vim is provided by pretty much any Linux distribution and also works +well on MacOX and Windows. See the web page for how to install it if +you don't have it yet. + +This section describes the integration on Linux. Please see the +[[How_To_Contribute]] section if you want to contribute the +description for another OS. + +If you have never customized Vim, you need to create a few +directories first. + + cd ${HOME} + mkdir .vim + mkdir .vim/syntax + +Then copy the syntax file ''''tjp.vim'''' into the vim syntax +directory. The following command works if you have installed +TaskJuggler as a gem with the system provided Ruby. For other cases, +you may have to modify it accordingly. + + cp `gem contents taskjuggler | fgrep tjp.vim` .vim/syntax + +Now we have to make sure, Vim detects the file. Edit the +''''.vim/filetype.vim'''' file to contain the following section. + + augroup filetypedetect + au BufNewFile,BufRead *.tjp,*.tji setf tjp + augroup END + +And edit the ''''.vim/syntax.vim'''' file to contain the following line. + + au! Syntax tjp so ~/.vim/syntax/tjp.vim + +When you now open a ''''.tjp'''' or ''''.tji'''' file in Vim, you +should have the following features available: + +* Syntax highlighting. TJP keywords should be colored in different colors. +* Syntax folding. The optional parts of properties within the curly + braces can be collapsed. For this to work, the opening brace needs + to be on the same line as the property keyword. The closing brace + must be the first non-blank character of the last line of the + block. See the '''':help fold'''' Vim help command for details how + to open and close folds. +* Tag navigation. If you include a [tagfile] report in your project, + Vim will know all property IDs and can jump to them. If you have a + task with the ID ''''foo.bar'''', the command '''':ta foo.bar'''' + will put the cursor right where task ''''foo.bar'''' was declared. +* ID completion. If you include a [tagfile] report in your project, + Vim can tell you the full hierarchical ID of a property. Just move + the cursor to the first line of the property definition and press + ''''Ctrl-]''''. +* Run tj3 from within vim. Just type '''':make your_project.tjp'''' to + start the scheduling process. In case of errors or warnings, you + will be able to navigate the errors with '''':cn'''' and + '''':cp''''. +* Move the cursor over any TaskJuggler syntax keyword and press + ''''shift-k'''' to get the manual page for this keyword.