Sources
Most sources for the Apache Directory projects are managed through Git, some parts still remain in Subversion. For each project you can find a detailed description how to checkout and build the source on the project documentation. This page is just a short overview.
Web access
If you just want to browse the source code, you can use one of the web interfaces:
Normal Git/Subversion Access
Anyone can clone a git repository or check code out from Subversion. You only need to specify a username and password in order to update a repository, and only Directory committers have the permissions to do that. We run Git and Subversion over standard HTTPS, so hopefully you won’t have problems with intervening firewalls.
Check out from Git or Subversion
For Git use a command like:
git clone https://gitbox.apache.org/repos/asf/directory-server.git
For Subversion Use a command like:
svn checkout https://svn.apache.org/repos/asf/directory/apacheds/trunk
The following table displays the URL of each project, and the URL where you can find information about how to build each project.
Commit Changes
Any Directory committer has commit access. Use your Apache user ID and LDAP password for authentication. You can change the password at https://id.apache.org/.
Commit changes to Git
You can use a command like this to commit, rebase possible remote changes, and push your changes to the repository:
git commit
git pull --rebase
git push
Commit changes to Subversion
You can use a command like this to commit:
svn commit
If Subversion can’t figure out your username, you can tell it explicitly:
svn --username you commit
Subversion will prompt you for a password, and once you enter it once, it will remember it for you.
Web Site
The Web site itself is stored in a SVN repository and can be updated easily. Let’s see how it works.
What is important here is that the pages are written using Markdown. Once a page has been modified, it can be committed, which will generate the static pages on a staging web site. When everything is checked and sounds correct, the staging site can be published on the production site, which will be pushed to the mirrors every hour. Here is the process :
- Modify the markdown pages
- Commit them
- Check on the staging site to see if it’s correct (see https://directory.staging.apache.org/)
- Publish the site using the Apache CMS
Repository
All the web site can be fetched at https://svn.apache.org/repos/asf/directory/site/trunk/. Be sure to use https in order to be able to commit your changes…
Structure
The following structure is used :
cgi-bin
content
|
+-- apacheds
|
+-- api
.
.
+-- (common pages)
lib
|
+-- path.pm
|
+-- view.pm
templates
|
+-- apacheds
|
+-- api
.
.
+-- studio
|
+-- (index.html, etc)
Usually, you won’t have to change the templates and lib section (except when cutting a release). Most of ypur updates will impact the content/
Publishing the web site
You have to install the CMS bookmarklet for that. Then simply open the directory web site and click on the bookmarklet, enter your apache credentials (you have to be a committer) and click on the ‘Publish’ button.
The best way to understand how to use the CMS system is to follow this video.