Return-Path: X-Original-To: apmail-directory-commits-archive@www.apache.org Delivered-To: apmail-directory-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7C71AD657 for ; Sun, 4 Nov 2012 20:49:04 +0000 (UTC) Received: (qmail 21214 invoked by uid 500); 4 Nov 2012 20:49:04 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 21159 invoked by uid 500); 4 Nov 2012 20:49:03 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 21149 invoked by uid 99); 4 Nov 2012 20:49:03 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 04 Nov 2012 20:49:03 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 04 Nov 2012 20:49:01 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 9DA912388980 for ; Sun, 4 Nov 2012 20:48:41 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1405632 - in /directory/site/trunk: content/apacheds/advanced-ug/ templates/api/ Date: Sun, 04 Nov 2012 20:48:41 -0000 To: commits@directory.apache.org From: elecharny@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20121104204841.9DA912388980@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: elecharny Date: Sun Nov 4 20:48:40 2012 New Revision: 1405632 URL: http://svn.apache.org/viewvc?rev=1405632&view=rev Log: Added some pages in teh Advanced UG Added: directory/site/trunk/content/apacheds/advanced-ug/0.1-reporting-bugs.mdtext directory/site/trunk/content/apacheds/advanced-ug/0.2-building-trunks.mdtext directory/site/trunk/content/apacheds/advanced-ug/0.3-contributing.mdtext directory/site/trunk/content/apacheds/advanced-ug/1-architecture.mdtext Modified: directory/site/trunk/content/apacheds/advanced-ug/0-community.mdtext directory/site/trunk/templates/api/page.html Modified: directory/site/trunk/content/apacheds/advanced-ug/0-community.mdtext URL: http://svn.apache.org/viewvc/directory/site/trunk/content/apacheds/advanced-ug/0-community.mdtext?rev=1405632&r1=1405631&r2=1405632&view=diff ============================================================================== --- directory/site/trunk/content/apacheds/advanced-ug/0-community.mdtext (original) +++ directory/site/trunk/content/apacheds/advanced-ug/0-community.mdtext Sun Nov 4 20:48:40 2012 @@ -28,6 +28,6 @@ As a community, we appreciate feedbacks, # Table of content -* [0.1. Reporting Bugs]() -* [0.2. Building trunks]() -* [0.3. Contributing]() +* [0.1. Reporting Bugs](0.1-reporting-bugs.html) +* [0.2. Building trunks](0.2-building-trunks.html) +* [0.3. Contributing](0.3-contributing.html) Added: directory/site/trunk/content/apacheds/advanced-ug/0.1-reporting-bugs.mdtext URL: http://svn.apache.org/viewvc/directory/site/trunk/content/apacheds/advanced-ug/0.1-reporting-bugs.mdtext?rev=1405632&view=auto ============================================================================== --- directory/site/trunk/content/apacheds/advanced-ug/0.1-reporting-bugs.mdtext (added) +++ directory/site/trunk/content/apacheds/advanced-ug/0.1-reporting-bugs.mdtext Sun Nov 4 20:48:40 2012 @@ -0,0 +1,129 @@ +Title: 0.1 - Reporting Bugs +NavPrev: 0-community.html +NavPrevText: 0 - Community +NavUp: 0-community.html +NavUpText: 0 - Community +NavNext: 0.2-building-trunks.html +NavNextText: 0.2 - Building Trunks +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. + +# 0.1 - Reporting Bugs + +So you found a bug in ApacheDS. Don't worry this is a good thing! We can fix it but need your help. There are different degrees to your ability to help out. Some of you have developer skills so you might be able to write a test case that pin points that bug. + +This wiki page shows you how you can help us to help you. + +## Creating a testcase project: using the apacheds-archetype-testcase. + +We've created a simple archetype for you to rapidly create a Maven project that fires up ApacheDS in embedded mode within a JUnit testcase. This test case will start up ApacheDS as a server on any available port above 1024 on your machine. You can then use JNDI or the Apache LDAP API going over the wire on that port above 1024. You can also use the ApacheDS core API to access the data directly. + +So you can write client code in your test case immediately. Just add your code, tar gzip the project, and attach it to your JIRA issue on the ApacheDS JIRA here: + + [https://issues.apache.org/jira/browse/DIRSERVER] + +We'll prioritize your bug higher than others and probably fix it rapidly because the problem is isolated thanks to your testcase submission. We will in fact strip out your testcase and add it to our suite of test cases to make sure ApacheDS always passes this integration test you've provided. + +### Installing the apacheds-archetype-testcase + +To use the archetype you'll need to check it out and install it. Here's how you can do that for the leading edge of 2.0.0: + + + svn co http://svn.apache.org/repos/asf/directory/documentation/samples/trunk/apacheds-archetype-testcase + cd apacheds-archetype-testcase + mvn install + +This will install the archetype onto your local repository. Now you can invoke the archetype. + +h3. Invoking (running) the archetype: generating the testcase project + +Once you checkout the archetype plugin and install it you can use it like so to generate a foo-test project: +{noformat} +mvn archetype:generate -DarchetypeGroupId=org.apache.directory.samples \ + -DarchetypeArtifactId=apacheds-archetype-testcase \ + -DarchetypeVersion=1.5.5-SNAPSHOT \ + -DgroupId=com.acme -DartifactId=foo-test -Dpackage=com.acme +{noformat} +This will generate the default test case project with the following tree structure: +{noformat} +~/foo-test$ tree +. +|-- pom.xml +`-- src + |-- main + | `-- java + | `-- com + | `-- acme + | `-- Dummy.java + `-- test + |-- java + | `-- com + | `-- acme + | |-- AdvancedTest.java + | |-- AdvancedTestApacheDsFactory.java + | `-- MinimalTest.java + `-- resources + |-- log4j.properties + |-- sevenSeas_data.ldif + `-- sevenSeas_schema.ldif + +10 directories, 8 files +{noformat} +* Dummy.java - this is just a placeholder file to make sure that Maven works properly. +* MinimalTest - a minimal ApacheDS Integration Test. It contains two test methods to demonstrate usage of JNDI and the ApacheDS core API. Add your own test method here. +* AdvancedTest - an advanced ApacheDS Integration Test in case you need a special configuration for your test. It demonstrates how to add a new partition, how to enable LDAPS, how to enable a disabled schema, how to inject a custom schema, and how to inject custom test data. +* AdvancedTestApacheDsFactory - configures ApacheDS for the advanced test +* pom.xml - the Maven Project Object Model (POM) for your new testcase project (can remain as is). +* log4j.properties - Log4j configuration file that controls ApacheDS logging for your convenience; edit this file to control logging output. +* sevenSeas_data.ldif - sample custom test data used by the advanced test. +* sevenSeas_schema.ldif - sample custom schema used by the advanced test. + +Once you do this you can cd into foo-test and just build and test it for fun to see what happens. This will build, and test the sample test cases (they should pass) that comes packaged with the project you just created. CD into foo-test and run the following command: +{noformat} +mvn test +{noformat} +Now you can customize the MinimalTest.java or AdvancedTest.java file to isolate your bug. Open the classes with your favorite editor and goto town. However if you want to pull this project into your IDE and edit it there you can use Maven's IDEA, Eclipse and Netbeans integration to create IDE project descriptors for them. Then you can import this project into your IDE. Here's how: + +h4. For IDEA + +{noformat} +mvn idea:idea +{noformat} + +h4. For Eclipse + +{noformat} +mvn eclipse:eclipse +{noformat} + +h4. For Netbeans + +See this page: [http://maven.apache.org/guides/mini/guide-ide-netbeans/guide-ide-netbeans.html]. + +h3. Note about version + +Note that this archetype is specific for ApacheDS 1.5.5. + +h2. Why a Maven Archetype for Testing? + +# Easy and fast to start integration testing ApacheDS. +# We (developers of ApacheDS) can use it ourselves. +# We want users of ApacheDS to help us help them. +# Users need to customize a project with perhaps additional dependencies. +# Users can add many test cases to the project. +# Tests isolating custom bugs can be incorporated into our community test suite for ApacheDS. + Added: directory/site/trunk/content/apacheds/advanced-ug/0.2-building-trunks.mdtext URL: http://svn.apache.org/viewvc/directory/site/trunk/content/apacheds/advanced-ug/0.2-building-trunks.mdtext?rev=1405632&view=auto ============================================================================== --- directory/site/trunk/content/apacheds/advanced-ug/0.2-building-trunks.mdtext (added) +++ directory/site/trunk/content/apacheds/advanced-ug/0.2-building-trunks.mdtext Sun Nov 4 20:48:40 2012 @@ -0,0 +1,320 @@ +Title: 0.2 - Building Trunks +NavPrev: 0.1-reporting-bugs.html +NavPrevText: 0.1 - Reporting Bugs +NavUp: 0-community.html +NavUpText: 0 - Community +NavNext: 0.3-contributing.html +NavNextText: 0.3 - Contributing +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. + +# 0.2 - Building Trunks +This page give some information about the layout of *Apache DS 2.0* trunks, and try to explain how it is built. + +[TOC] + +## Project Hierarchy + +The server is a composition of manuy projects, which should be built in a given order, assuming you want to build the trunk. This order is enforced by a top level pom, so you don't need to take care of this at all. + +We will expose the projects hierarchy, just for information. + +### Project project + +We first have a meta-project, which contains mainly information about the maven plugins we use. This meta-project is used by all the real projects. This project has one single module : + +* project + +### Checkstyle-Configuration project + +This project is used to define the checkstyle configuration we use when we generate the reports. + +It has one single module : + +* checkstyle-configuration + +_Dependencies_ : project + +## Junit-Addons project + +This project is used to add concurrent tests in the server. It's a fork of [Mycila](ref needed). + +It has one single module : + +* junit-addons + +_Dependencies_ : project + +### Shared project (AKA LDAP API) + +This project contains all the common LDAP structures that are used by ApacheDS, Apache Studio and the Apache LDAP API. In fact, this is the Apache LDAP API (even if we do have slightly more than necessary for an LDAP API). + +This project depends on 'project'. + +Here is its hierarchy : + +* shared-parent + * shared-i18n + * shared-util + * shared-asn1-parent + * shared-asn1-api + * shared-asn1-ber + * shared-ldap-parent + * shared-ldap-model + * shared-ldap-codec-parent + * shared-ldap-codec-core + * shared-ldap-net-parent + * shared-ldap-net-mina + * shared-ldap-codec-standalone + * shared-dsml-parent + * shared-dsml-parser + * shared-ldap-extras-parent + * shared-ldap-extras-aci + * shared-ldap-schema-parent + * shared-ldap-schema-data + * shared-ldap-client-parent + * shared-ldap-client-api + * shared-dsml-engine + * shared-ldap-extras-codec-api + * shared-ldap-extras-codec + * shared-ldap-extras-util + * shared-ldap-extras-sp + * shared-ldap-extras-trigger + * shared-ldap-schema-converter + * shared-all + * shared-ldap-client-all + * shared-integ + * apache-ldap-api + +_Dependencies_ : project, junit-addons + + +### JDBM project + +This project covers the JDBM code. It's a fork of the [JDBM 1.0 project](ref needed). + +The current project hierarchy is the following : + +* apacheds-jdbm-parent + * apacheds-jdbm + * apacheds-jdbm2 + +_Dependencies_ : project, junit-addons + +### ApacheDS project +This project is the server itself. It depends on 'project', 'shared' and 'jdbm'. + +The current project hierarchy is the following (as of 2.0.0-M9-SNAPSHOT) : + +* apacheds-parent + * apacheds-i18n + * apacheds-core-constants + * apacheds-core-api + * apacheds-core-shared + * apacheds-interceptors + * apacheds-interceptors-admin + * apacheds-interceptors-authn + * apacheds-interceptors-authz + * apacheds-interceptors-changelog + * apacheds-interceptors-collective + * apacheds-interceptors-event + * apacheds-interceptors-exception + * apacheds-interceptors-journal + * apacheds-interceptors-normalization + * apacheds-interceptors-operational + * apacheds-interceptors-referral + * apacheds-interceptors-schema + * apacheds-interceptors-subtree + * apacheds-interceptors-triggers + * apacheds-core + * apacheds-core-avl + * apacheds-xdbm-partition + * apacheds-ldif-partition + * apacheds-jdbm-partition + * apacheds-core-annotations + * apacheds-core-jndi + * apacheds-protocol-shared + * apacheds-kerberos-codec + * apacheds-interceptor-kerberos + * apacheds-protocol-dhcp + * apacheds-protocol-dns + * apacheds-protocol-kerberos + * apacheds-protocol-ldap + * apacheds-protocol-ntp + * apacheds-server-annotations + * apacheds-server-config + * apacheds-server-jndi + * apacheds-server-replication + * apacheds-test-framework + * apacheds-xdbm-tools + * apacheds-all + * apacheds-interceptors-logger + * apacheds-interceptors-hash + * apacheds-core-integ + * apacheds-server-integ + * apacheds-http-directory-bridge + * apacheds-http-integration + * apacheds-service-builder + * apacheds-kerberos-test + * ldap-client-test + * apacheds-service + * apacheds-wrapper + * apacheds-installers-maven-plugin + * apacheds-installers + +_Dependencies_ : project, junit-addons jdbm, shared, + +## Prerequisites for building + +You must have installed **Maven 3.0.4** and have a **JDK 5** (or a more recent one) installed on your computer. A working internet connection is also mandatory, unless you have all the needed dependences and plugins loaded locally. + +
+If the build hangs or you get an out of memory exception please increase the heap space: + +* For Linux: + + MAVEN_OPTS="-Xmx256m" mvn clean install + +* For Windows: + + SET MAVEN_OPTS="-Xmx256m" + mvn clean install +
+ +### Maven + +[Download](http://maven.apache.org/download.html) and install Maven 3.0.4. + +Add a MAVEN_HOME environment variable and add MAVEN_HOME/bin to your system path: + +On a Linux box you could add the following to the .bashrc file (.bashrc is a file you'll find in your home directory) + + + ... + export MAVEN_HOME=/opt/maven-3.0.4 + export PATH=$JAVA_HOME:$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH + ... + +Windows users, use Control Panel -> System -> Advanced -> Environment Variables + +### JDK 5 + +
+There may be some issues with older JDK versions and Kerberos, therefore we recommend using a version >=1.5.0_09 +
+ +Any newer version should also work. + + +## Getting the code + +To download the sources from trunk, you must have installed a **Subversion** client. + +With readonly access : + + svn co http://svn.apache.org/repos/asf/directory/trunks apacheds-trunk + +With read/write access (for committers only) : + + svn co https://svn.apache.org/repos/asf/directory/trunks apacheds-trunk + +## Building the trunks + +You may either specify the profile at the command-line, each time you use 'mvn', or you may configure the profile to always be active. + +To use a profile at the command-line: + + # mvn -Papache [options] [] [] + + +### Building the trunks + +Now, we can compile the projects. + +The command is simple : + + cd apacheds-trunk + mvn clean install + +A lot of plugins will be downloaded. If you are curious, you can then look at .m2/repository to see what has been downloaded on this step. +Building should finish with these lines: + + [INFO] ------------------------------------------------------------------------ + [INFO] BUILD SUCCESSFUL + [INFO] ------------------------------------------------------------------------ + [INFO] Total time: 8 minutes 30 seconds + [INFO] Finished at: Mon Oct 30 23:32:41 CET 2006 + [INFO] Final Memory: 18M/32M + [INFO] ------------------------------------------------------------------------ + +
+If you want to do really safe build, run the following commands in trunks: + + resources/superclean.sh + mvn install -Dintegration +
+ +## Building the installers + +Building the installers is a two phase process : + + cd apacheds-trunk + mvn -Pinstallers install + +That's it, the jars will be find in target/images/apacheds-2.0.0-M?-SNAPSHOT--setup.jar where XXXXXX is your local system and M? is the milestone release number for the 2.0 branch. + +## Starting the server without installation + +The directory apacheds-trunk/installers/apacheds-noarch contains a script for Linux (apacheds.sh) and one for Windows (apacheds.bat) which can be used for starting the server without the need to install it first (as non-root-user on Linux and non-Windows-service on Windows). + +Linux: + + cd apacheds-trunk/installers/apacheds-noarch + ./apacheds.sh + +## Eclipse + +As Apache Studio is an Eclipse plugin/RCP application, we use extensively this IDE. Of course, you can use another IDE. + +### Building eclipse files + +To build the .project and .classpath files for eclipse, type the following commands : + + cd apacheds-trunk + mvn eclipse:eclipse + +### Maven settings + +Don't forget to declare a classpath variable named M2_REPO, pointing to ~/.m2/repository, otherwise many links to existing jars will be broken. + +You can declare new variables in Eclipse in _Windows -> Preferences..._ and selecting _Java -> Build Path -> Classpath Variables_ + +### Eclipse hints + +Add an eclipse-apacheDS.sh file in your eclipse root directory, to allow eclipse to get more memory (e.g. 750MB) +You may also declare a specific workspace when launching eclipse. I have created a workspace-apacheDS directory in my HOME directory, where all the ApacheDS project is built when I use Eclipse. + + /eclipse -data $HOME/workspace-apacheDS -vm java -vmargs -Xmx750M + +Launch eclipse : + + /eclipse-apacheDS.sh + +### Coding standards + +The coding standards including an eclipse code formatting profile is available [here]|(../coding-standards.html) + Added: directory/site/trunk/content/apacheds/advanced-ug/0.3-contributing.mdtext URL: http://svn.apache.org/viewvc/directory/site/trunk/content/apacheds/advanced-ug/0.3-contributing.mdtext?rev=1405632&view=auto ============================================================================== --- directory/site/trunk/content/apacheds/advanced-ug/0.3-contributing.mdtext (added) +++ directory/site/trunk/content/apacheds/advanced-ug/0.3-contributing.mdtext Sun Nov 4 20:48:40 2012 @@ -0,0 +1,24 @@ +Title: 0.3 - Contributing +NavUp: ../advanced-users-guide.html +NavUpText: Advanced User Guide +NavNext: 1-architecture.html +NavNextText: 1 - Architecture +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. + +# 0.3 - Contributing +TODO... \ No newline at end of file Added: directory/site/trunk/content/apacheds/advanced-ug/1-architecture.mdtext URL: http://svn.apache.org/viewvc/directory/site/trunk/content/apacheds/advanced-ug/1-architecture.mdtext?rev=1405632&view=auto ============================================================================== --- directory/site/trunk/content/apacheds/advanced-ug/1-architecture.mdtext (added) +++ directory/site/trunk/content/apacheds/advanced-ug/1-architecture.mdtext Sun Nov 4 20:48:40 2012 @@ -0,0 +1,26 @@ +Title: 1 - Architecture +NavPrev: 0-community.html +NavNextText: 0 - Community +NavUp: 0-community.html +NavUpText: 0 - Community +NavNext: 0.2- +NavNextText: 0.2 - +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. + +# 1 - Architecture + Modified: directory/site/trunk/templates/api/page.html URL: http://svn.apache.org/viewvc/directory/site/trunk/templates/api/page.html?rev=1405632&r1=1405631&r2=1405632&view=diff ============================================================================== --- directory/site/trunk/templates/api/page.html (original) +++ directory/site/trunk/templates/api/page.html Sun Nov 4 20:48:40 2012 @@ -20,7 +20,7 @@
  • Five minutes tutorial
  • User Guide
  • JavaDocs
  • -
  • Generated Reports
  • +
  • Developer Guide
  • {% endblock %}