[[TracNav]] [[PageOutline]] = Documentation = * GnowsisProjectPlan - first thing for everybody * GnowsisProjectStructure - where is which file? * DeveloperFaq * [http://www.gnowsis.org/statisch/0.9/doc/ html documentation] - plus Javadoc '''Project guidelines:''' * LoggingAndDebugging - using logging and debugging to find out what happens * AddingNewFeatures - you have an idea! what to put in tickets, what to put in the wiki, the process * Use meaningful SVN commit logs that outline the changes made - see [http://wiki.scummvm.org/index.php/Commit_Guidelines commit guidelines] or the [http://www.freebsd.org/doc/en_US.ISO8859-1/articles/committers-guide/article.html committers guide] = Get it running = To get gnowsis running in development mode, do the following. == Prerequisites == '''Java 1.5''' You need Java 1.5. And we would recommend you download the SDK, not the JRE. '''Eclipse''' We recommend to use the Eclipse SDK for Java development of gnowsis. Our developers are using '''Eclipse 3.1.0''' at the moment, this proved to be a good choice. You can use 3.2, it should also work. The following plugins are good to have and are used by use: * [http://subclipse.tigris.org/install.html subclipse] for subversion access * !VisualEditor and GEF, install via default Exclipse update site. * It's easier to use the central plugin directory. (see http://wiki.km.opendfki.de/EclipseHowTos) After getting [http://www.eclipse.org/ eclipse] running and having your [http://subclipse.tigris.org/install.html subclipse installed], you then checkout the current version of gnowsis. '''MacOS''' on MacOS it is wise to install JavaHL additionally, this is used by Subclipse, and subclipse will die if it is not there. [http://metissian.com/projects/macosx/subversion/ get metissian containing javahl here]. == getting the code == The subversion repository is * https://gnowsis.opendfki.de/repos/gnowsis/trunk There you check out these projects, the most important projects to check out are: * gnowsis - starter * gnowsis-server - core * enquire2006 - gui * kaukoluwiki - the semantic kaokolu wiki * sesame1 - web api for gnowsis == SVN problems == Use Eclipse 3.1 with Subclipse 0.9.105 on Windows. Then it has to work, as Leo develops this way. It should work on all operating systems using any SVN client, though. '''''Note''''': ''If you get this error: Unable to access https://...., unable to access site ...., sun.security.validator.ValidatorException: PKIX path building failed: ...PathBuilderException: unable to find valid certification path to requested target'' then you probably didn't say "yes" when you where asked this: ''Error validating server certificate for https://gnowsis.opendfki.de:443: - Unknown certificate issuer Fingerprint: 57:23:96:60:c7:4e:4b:04:8a:9a:a1:1e:02:59:8a:11:52:0c:6e:97 Distinguished name: http://www.cacert.org, Root CA''. So, to fix this, you can either press "Accept permanently" in the right moment or look in this directory for more: {{{\Application Data\Subversion\auth}}} If you want to do Aperture development: * Aperture in CVS: cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aperture login * host: cvs.sourceforge.net * repository path: /cvsroot/aperture * connection type: pserver * username: anonymous * password: empty * Checkout project '''aperture''' = Getting it to start = The '''gnowsis project has the launcher for you'''. * If you have gnowsis checked out - the "run..." menu should have a list of favourites: * '''Windows start gnowsis''' * '''MacOSX start gnowsis''' * The GnowsisInstaller will show. satisfy it. * pressing close. gnowsis installs now '''silently'''. stand up, take a breath. think of something positive. notice the new simplicity. tell somebody a nice thing. sit down again. '''''Note''''': ''If above options do not show up in the "run" menu, then Eclipse has hickups. We then usually open the "navigator" view, go to the "gnowsis" project and double-click all "*.launch" files. That opens the launch files in the text editor and tells eclipse that the launch configurations exist. Then the launch files are available in the long list you see at "run...". Start gnowsis there using the '''Windows start gnowsis''' launch configuration (or alternative). After you have done this once, Eclipse will know and the launcher will be in your favorites.'' = Understanding gnowsis = * [UnderstandingGnowsis Understanding Gnowsis] read this document to know more about the parts of gnowsis and how they work together. == Debugging == Use Eclipse debugger to debug. To set the general log level in gnowis, do that: {{{ open .gnowsis-beta/config/workspace.xml change this line: INFO allowed levels are all java.util.logging.Level levels: SEVERE, WARNING, INFO, FINE, FINER, FINEST }}} Individual logging levels are set in this file: {{{ .gnowsis-beta/config/logging.properties # add this to bottom # set the loglevel of a specific package de.opendfki.kaukoluwiki.level = FINER }}} == Specific Fields of Development == alphabetically * AdapterDeveloping - how to write an adapter and make gnowsis use it? * EmailDeveloping - specific stuff related to e-mails * GeoDeveloping - what we can do, want to do with geographic stuff * GnognoComp - the gnogno-gui framework tutorial (from gnowsis.org website, latest version in SVN). * GnowsisConfiguration - where to put configuration files? * GnowsisFixedUris - what are these static uris about? * GnowsisGuiTips - how to hack guis for gnowsis, brainstorm and concrete ideas. * GnowsisOnTheMac - Mac OsX adaption * InstallerDeveloping - howto make an installer, what can we use * KaukoluwikiDeveloping - extending the wiki * MozillaDeveloping - how to setup an environment to hack Mozilla XPI extensions * NicerGui - how to brushup the gui * PimoInference - inferencing on the pimo * ProblemsWithEclipse - what problems do we have and how to usually get them solved * ProblemsWithJunitTests * QueryingGnowsis - how to write queries * SearchDeveloping - developing the web-based desktop search and retrieval service * SesameDeveloping - how to come along with Sesame2 * [wiki:DevelopingServices Services] - how to create new services * WebInGnowsis - how to program java server pages, HTML pages, AJAX, and why stuff doesn't work as usual. * XmlRpcDeveloping - links for XMLRPC = Contributing = The first thing you might want to do is to write your own datasource, Gnowsis can deploy your own datasources without having to change the gnowsis code: See DynamicDatasources for more information! Also, you may be interested to improve gnowsis and help fixing broken code, look at bugtracker: report:1. '''Then JoinGnowsis. '''