Developer FAQ
Back to current version Restore this version

FAQ#

What... ? and Why...? Questions

This Page is supposed to help you getting started with the development of KnowWE. Feel free to add your Solutions to this page. If you don't find the Informations you need here, you can post it in the Forum.

Creating new projects#

Every new project has to be allocated to one of the three main repositories: d3web-core, d3web-KnowWE or Research.

Creating the project in Eclipse#

Now you will see the new project in the Eclipse Project Explorer. Now you can start creating or copying source files. Using the UTF-8 encoding is mandatory.

License header#

Every .java file must contain the license header, starting in the first line. Be sure to have an empty line between the license and the package declaration.

The license is to look like this:

/*
 * Copyright (C) 2010 Chair of Artificial Intelligence and Applied Informatics
 *                    Computer Science VI, University of Wuerzburg
 *
 * This is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation; either version 3 of
 * the License, or (at your option) any later version.
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 */
 

You can do this automatically by adding codetemplates.xml(info) in Eclipse: Java -> Code Style -> Code Templates

First check-in#

You have to perform the first check-in using the chosen main repository (c.f. above).

Now you can enable SVN access directly for your newly created project: Perform a right click on the new project → Team → Share. Select SVN, you will find the repository location already set up. Hit Finish.

To complete the process, you have to ignore target/ and .settings permanently. Select both folders in the Project Explorer with Ctrl/Command, right click → Team → Add to svn:ignore. Click OK in the window that opens.

Finally, commit the ignore settings: right click → Team → Commit. Done.

Selecting plugins to build#

You need to enable the plug-ins you want to build into KnowWE when using Eclipse. Here's how:

Open your Run Configuration for the KnowWE build and add parameters for the plug-ins you want to have.

For instance: You want to enable the Comment plug-in. Here, you have to add a comment-plugin parameter. You can set it to an arbitrary value ('true' for instance).

See the screenshot on the right for another example.

Eclipse does not catch breakpoints#

Update your JDK to at least Version 6, Update 17.

<tags>workspace problems FAQ </tags>

java.util.MissingResourceException: Can't find bundle for base name...#

Happens after cleaning the workspace.

Solution: For each of the two maven super projects (d3web, d3web-KnowWE), select the project, right click on it, "Run as...", "Maven package".

Offline Build (if Artifactory is not available or you have no Internet connection)#

Create a second runtime configuration for building KnowWE, just like shown here: http://d3webwiki.informatik.uni-wuerzburg.de/Wiki.jsp?page=Workspace#section-Workspace-CreateARunConfigurationForBuildingTheWiki, just check the "Offline" checkbox. Note: Do not enable this option for your regular build, only use it if Artifactory is down or you are not connected to the internet!

Problems with Umlauts#

Tomcat can be configured in UTF-8 to handle Umlauts correctlty. Look at http://www.jspwiki.org/wiki/BugProblemsWithGermanUmlaute //End Old

What... ? and Why...? Questions
Coordinate with How-To

Set this page up, add table of contents and some introductory words. Every question is its own small headline with the answer directly below.
Christian Henniger
Developer FAQ

Christian Henniger
Developer FAQ
Daniel Zügner