Title: Apache cTAKES - Developer FAQs Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. [TOC] ### How do I discuss questions about cTAKES with people that know more than I do? In the past, cTAKES was discussed in phpBB forums. Apache mailing lists are now used instead. If you are modifying cTAKES beyond just configuration then subscribe to the [developer's mailing list][1]. You can also just look through or search all discussion in the Apache mailing lists. See the [Mailing Lists page][2] to find links to the archives. It may be of use to search the old forums as many questions about past releases (2.5 and before) have been asked and answered there in the [cTAKES Developer forum][3]. ### How do I report problems I see while using cTAKES? Submit issues using [JIRA][4]. Anyone may read the issues. You must be a contributor to add or edit issues. ###How does the cTAKES project manage the trunk, tags, and branches in SVN? - Trunk - Developers should checkout code from the trunk if they will be contributing code to cTAKES. Realize that this could be unstable at any point in time. You could use a stable tag and then when it comes time to check in you would checkout from trunk and merge into there. - Branches - cTAKES uses SVN branches for major releases and one-off attempts at major functions. One-off attempts may or may not be merged back into the trunk in the future. Checkout from a branch only if you know you are part of that feature. - Tags - cTAKES uses SVN tags to delineate release candidates, betas, major releases and any other stable points in time off of the trunk. You should only checkout from a tag as the release manager or for bug fixes going into patch releases. ### How do I work around issues with resource directories in Eclipse and m2e? There is [a known issue][19] with m2e blowing away unpacked resources directories during the build process. This can be very frustrating, as it will lead to Eclipse runtime using resources from the jar files which will dramatically slow the dictionary lookup. If you notice this slowness, check your ctakes-dictionary-res/target/classes/ directory -- if you are missing the org/apache/ctakes/dictionary/lookup/umls2011ab/ path then you are a victim of this issue. To workaround, we will run mvn clean compile on the cTAKES root project, then run mvn project update on all cTAKES projects. Within eclipse do the following: 1. Open the run configuration window (Run->Run configurations...) 2. Select "Maven Build" in the left pane, then click the "New launch configuration" button 3. For the "Base directory" text box use the "Browse Workspace" option to select the root cTAKES project (just called "ctakes"). 4. In the "Goals" text box enter "clean compile" (without the quotes), save, and run. This may take a while, because it will re-unpack the dictionary jars as well as re-compiling all of the source. This will also clean the generated (type system) sources and not regenerate them, leaving many compiler errors. 5. To regenerate type system sources, select the cTAKES root project in the package explorer window and select Maven->Update project in the context (right-click) window. This should bring up a window where all cTAKES modules are selected for updating. Press OK and all source will be generated, and the compiler errors should disappear. [1]: http://ctakes.apache.org/mailing-lists.html#development-mailing-list [2]: http://ctakes.apache.org/mailing-lists.html [3]: https://cabig-kc.nci.nih.gov/Vocab/forums/viewforum.php?f=29 [4]: https://issues.apache.org/jira/browse/ctakes [5]: javascript:void(location.href='https://cms.apache.org/redirect?uri='+escape(location.href)) [6]: http://www.apache.org/dev/cmsref.html#non-committer [7]: http://www.apache.org/dev/cmsref.html [8]: http://www.simpleeditions.com/59001/markdown-an-introduction [9]: https://svn.apache.org/repos/asf/ctakes/site/ [10]: http://www.apache.org/dev/cms.html [11]: http://www.apache.org/licenses/icla.txt [12]: http://people.apache.org/committer-index.html#unlistedclas [13]: mailto:private@ctakes.apache.org [14]: http://people.apache.org/committer-index.html [15]: mailto:private-subscribe@ctakes.apache.org [16]: http://www.apache.org/dev/new-committers-guide.html [17]: https://issues.apache.org/jira/browse/INFRA [18]: http://www.apache.org/dev/infra-contact [19]: https://issues.sonatype.org/browse/MNGECLIPSE-823