You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by gi...@apache.org on 2024/10/30 14:10:02 UTC

(directory-site) branch asf-site updated: Updated site from master (de5a475c79ec449e2849b81dc5dbfbd6a167e4fc)

This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/directory-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 3a5092fd Updated site from master (de5a475c79ec449e2849b81dc5dbfbd6a167e4fc)
3a5092fd is described below

commit 3a5092fdf19f3d64ea4c310047bc1253de53aa8b
Author: jenkins <bu...@apache.org>
AuthorDate: Wed Oct 30 14:09:59 2024 +0000

    Updated site from master (de5a475c79ec449e2849b81dc5dbfbd6a167e4fc)
---
 content/apacheds/advanced-ug/1-architecture.html   |  4 +--
 ...ory-service.html => 1.2-directory-service.html} | 25 ++++++++++++----
 .../{1.2-network.html => 1.3-network.html}         |  0
 content/apacheds/advanced-ug/1.4-interceptors.html |  4 +--
 content/apacheds/index.xml                         | 28 +++++++++---------
 content/api/developer-guide.html                   |  5 ++++
 content/api/index.xml                              |  3 +-
 content/index.xml                                  | 33 +++++++++++-----------
 content/sitemap.xml                                | 22 +++++++--------
 content/team.html                                  | 30 +++++++++-----------
 10 files changed, 85 insertions(+), 69 deletions(-)

diff --git a/content/apacheds/advanced-ug/1-architecture.html b/content/apacheds/advanced-ug/1-architecture.html
index 919e8684..c752dc8d 100644
--- a/content/apacheds/advanced-ug/1-architecture.html
+++ b/content/apacheds/advanced-ug/1-architecture.html
@@ -155,8 +155,8 @@
 <h2 id="chapter-content">Chapter content</h2>
 <ul>
 <li><a href="1.1-architecture-overview.html">1.1 - Architectural Overview</a></li>
-<li><a href="1.2-network.html">1.2 - Network Layer</a></li>
-<li><a href="1.3-directory-service.html">1.3 - Directory-Service</a></li>
+<li><a href="1.2-directory-service.html">1.2 - Directory-Service</a></li>
+<li><a href="1.3-network.html">1.3 - Network Layer</a></li>
 <li><a href="1.4-interceptors.html">1.4 - Interceptors</a></li>
 <li><a href="1.5-backend.html">1.5 - Backend</a></li>
 </ul>
diff --git a/content/apacheds/advanced-ug/1.3-directory-service.html b/content/apacheds/advanced-ug/1.2-directory-service.html
similarity index 81%
rename from content/apacheds/advanced-ug/1.3-directory-service.html
rename to content/apacheds/advanced-ug/1.2-directory-service.html
index 4cae9351..39e92ca0 100644
--- a/content/apacheds/advanced-ug/1.3-directory-service.html
+++ b/content/apacheds/advanced-ug/1.2-directory-service.html
@@ -3,7 +3,7 @@
 <html lang="en">
 <head>
     <meta charset="utf-8">
-    <title>1.3 - DirectoryService &mdash; Apache Directory</title>
+    <title>1.2 - DirectoryService &mdash; Apache Directory</title>
 
     <link href="/css/common.css" rel="stylesheet" type="text/css"/>
     <link href="/css/green.css" rel="stylesheet" type="text/css"/>
@@ -130,7 +130,7 @@
         <div class="nav_prev">
             
                 
-                <a href="1.2-network.html">1.2 - Network Layer</a>
+                <a href="1.1-architecture-overview.html">1.1 - Architecture Overview</a>
             
         </div>
         <div class="nav_up">
@@ -142,7 +142,7 @@
         <div class="nav_next">
             
                 
-                <a href="1.4-interceptors.html">1.4 - Interceptors</a>
+                <a href="1.2-network.html">1.2 Network</a>
             
         </div>
         <div class="clearfix"></div>
@@ -159,6 +159,21 @@
 <h2 id="environment">Environment</h2>
 <p>The <em>DirectoryService</em> knows about its execution environment : it has a <em>schemaManager</em> instance, it knows about the <em>Interceptors</em> chain, it stores a map of all the pending requests (it&rsquo;s necessary as one may abandon some request), it holds the existing <em>Sessions</em>.</p>
 <p>In other word, the <em>DirectoryService</em> is not only the part of the server executing the logic, it also holds the current state of every clients.</p>
+<h2 id="initialization">Initialization</h2>
+<p>Starting a <em>DirectoryService</em> will require to create the following parts:</p>
+<ul>
+<li>The <em>SchemaManager</em>: it will create the directory on which the schema will be extracted, if it does not already exist. It will then load the schema in memory.</li>
+<li>The <em>Schema</em> partition: it will create the in-memory LDIF partition containing a copy of the schema.</li>
+<li>The <em>Configuration</em> partition: it will create a in-memory partition containing all the configuration (the configuration is LDAP-based). Once done, a in-memory representation of this configuration will be created to ease the initialization of the server.</li>
+<li>The <em>DnFactory</em>: it will create the <em>DN</em> cache, which size is based on all the partitions cache size configuration.</li>
+<li>A shutdown hook to stop the server</li>
+<li>The various interceptors</li>
+<li>All the user&rsquo;s partitions</li>
+<li>The <em>System</em> partition</li>
+<li>The <em>ChangeLog</em> system</li>
+<li>The partition <em>Nexus</em> (which manages to the underlaying storage)</li>
+</ul>
+<p>Once this is done, we will be able to start the <em>LdapServer</em>.</p>
 
 
             
@@ -166,7 +181,7 @@
         <div class="nav_prev">
             
                 
-                <a href="1.2-network.html">1.2 - Network Layer</a>
+                <a href="1.1-architecture-overview.html">1.1 - Architecture Overview</a>
             
         </div>
         <div class="nav_up">
@@ -178,7 +193,7 @@
         <div class="nav_next">
             
                 
-                <a href="1.4-interceptors.html">1.4 - Interceptors</a>
+                <a href="1.2-network.html">1.2 Network</a>
             
         </div>
         <div class="clearfix"></div>
diff --git a/content/apacheds/advanced-ug/1.2-network.html b/content/apacheds/advanced-ug/1.3-network.html
similarity index 100%
rename from content/apacheds/advanced-ug/1.2-network.html
rename to content/apacheds/advanced-ug/1.3-network.html
diff --git a/content/apacheds/advanced-ug/1.4-interceptors.html b/content/apacheds/advanced-ug/1.4-interceptors.html
index 8c405415..014f873d 100644
--- a/content/apacheds/advanced-ug/1.4-interceptors.html
+++ b/content/apacheds/advanced-ug/1.4-interceptors.html
@@ -130,7 +130,7 @@
         <div class="nav_prev">
             
                 
-                <a href="1.3-directory-service.html">1.3 - DirectoryService</a>
+                <a href="1.3-dnetwork.html">1.3 - Network</a>
             
         </div>
         <div class="nav_up">
@@ -884,7 +884,7 @@ In this table, we list all the operations each interceptor is handling, and if t
         <div class="nav_prev">
             
                 
-                <a href="1.3-directory-service.html">1.3 - DirectoryService</a>
+                <a href="1.3-dnetwork.html">1.3 - Network</a>
             
         </div>
         <div class="nav_up">
diff --git a/content/apacheds/index.xml b/content/apacheds/index.xml
index 4ddd115d..2ce2caee 100644
--- a/content/apacheds/index.xml
+++ b/content/apacheds/index.xml
@@ -66,7 +66,7 @@ This wiki page shows you how you can help us to help you.</description>
       
       <guid>https://directory.apache.org/apacheds/advanced-ug/1-architecture.html</guid>
       <description>1 - Architecture We will now describe the server architecture, in order to give you a more deeper understanding of the way the server works.
-Chapter content  1.1 - Architectural Overview 1.2 - Network Layer 1.3 - Directory-Service 1.4 - Interceptors 1.5 - Backend  </description>
+Chapter content  1.1 - Architectural Overview 1.2 - Directory-Service 1.3 - Network Layer 1.4 - Interceptors 1.5 - Backend  </description>
     </item>
     
     <item>
@@ -208,12 +208,23 @@ It also contains many other fields, like the ticket&amp;rsquo;s expiration date,
 What&amp;rsquo;s inside a Ticket ? Here are the information that can be found in a ticket.</description>
     </item>
     
+    <item>
+      <title>1.2 - DirectoryService</title>
+      <link>https://directory.apache.org/apacheds/advanced-ug/1.2-directory-service.html</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://directory.apache.org/apacheds/advanced-ug/1.2-directory-service.html</guid>
+      <description>1.3 - DirectoryService The DirectoryService is the core of the server. This is where we process incoming requests and ask the backend for data.
+It has an entry point, the OperationManager, which is in charge of pushing the requests into the Interceptors chain, and to protect the server against concurrent modifications.
+Then the request is going through every Interceptor being registered for this operation. When we have gone through all the Interceptors, we have reached the PartitionNexus, which is the connection with the backends.</description>
+    </item>
+    
     <item>
       <title>1.2 - Newtork Layer</title>
-      <link>https://directory.apache.org/apacheds/advanced-ug/1.2-network.html</link>
+      <link>https://directory.apache.org/apacheds/advanced-ug/1.3-network.html</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
-      <guid>https://directory.apache.org/apacheds/advanced-ug/1.2-network.html</guid>
+      <guid>https://directory.apache.org/apacheds/advanced-ug/1.3-network.html</guid>
       <description>1.2 - Network Layer This layer is the part the user connects to when he wants to obtain some data from the server. This is not a mandatory part of the server : we don&amp;rsquo;t need to use it when the server is embedded.
 We offer more than just LDAP protocol, the server also include various protocols :
  Kerberos NTP DHCP DNS ChangePassword  Not all of them are implemented in the current version, but at least the Kerberos server is available.</description>
@@ -272,17 +283,6 @@ We offer more than just LDAP protocol, the server also include various protocols
 Obsoleted RFCs  RFC 1411 - Telnet Authentication: Kerberos Version 4 RFC 1510 - The Kerberos Network Authentication Service (V5) (Obsoleted by 4120, 6649)  Valid RFS and updates  RFC 1964 - The Kerberos Version 5 GSS-API Mechanism (updated by 4121, 6649) RFC 2623 - NFS Version 2 and Version 3 Security Issues and the NFS Protocol&amp;rsquo;s Use of RPCSEC_GSS and Kerberos V5 RFC 2712 - Addition of Kerberos Cipher Suites to Transport Layer Security (TLS) RFC 2942 - Telnet Authentication: K [...]
     </item>
     
-    <item>
-      <title>1.3 - DirectoryService</title>
-      <link>https://directory.apache.org/apacheds/advanced-ug/1.3-directory-service.html</link>
-      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
-      <guid>https://directory.apache.org/apacheds/advanced-ug/1.3-directory-service.html</guid>
-      <description>1.3 - DirectoryService The DirectoryService is the core of the server. This is where we process incoming requests and ask the backend for data.
-It has an entry point, the OperationManager, which is in charge of pushing the requests into the Interceptors chain, and to protect the server against concurrent modifications.
-Then the request is going through every Interceptor being registered for this operation. When we have gone through all the Interceptors, we have reached the PartitionNexus, which is the connection with the backends.</description>
-    </item>
-    
     <item>
       <title>1.3 - Installing and starting the server</title>
       <link>https://directory.apache.org/apacheds/basic-ug/1.3-installing-and-starting.html</link>
diff --git a/content/api/developer-guide.html b/content/api/developer-guide.html
index 5cc39f61..8a137988 100644
--- a/content/api/developer-guide.html
+++ b/content/api/developer-guide.html
@@ -142,6 +142,11 @@ title: LDAP Java API - Developer Guide</h2>
 <p>This guide is intened to be read by those who participate into the development of the LDAP API. Users of the API are expected to read the <a href="user-guide.html">User guide</a>.</p>
 <h2 id="getting-the-source-building-the-trunks">Getting the source, Building the trunks</h2>
 <p>To get the source, build the <em>trunks/api</em> and get along with Maven.</p>
+<DIV class="info" markdown="1">
+    We require the use of Java 11 for the recent versions. The resulting package will work with Java 8 though.
+<pre><code>Th eminimum version of Maven to use is 3.5.4.
+</code></pre>
+</DIV>
 <h2 id="versioning-scheme">Versioning Scheme</h2>
 <p>The version number of <strong>LDAP API</strong> has the following form:</p>
 <DIV class="info" markdown="1">
diff --git a/content/api/index.xml b/content/api/index.xml
index 8206a9c7..4ef3b22d 100644
--- a/content/api/index.xml
+++ b/content/api/index.xml
@@ -18,8 +18,7 @@
       <guid>https://directory.apache.org/api/developer-guide.html</guid>
       <description>f&amp;mdash; title: LDAP Java API - Developer Guide Developer Guide This guide is intened to be read by those who participate into the development of the LDAP API. Users of the API are expected to read the User guide.
 Getting the source, Building the trunks To get the source, build the trunks/api and get along with Maven.
-Versioning Scheme The version number of LDAP API has the following form:
-&amp;lt;major.&amp;lt;minor.&amp;lt;micro \[-M&amp;lt;milestone number or -RC&amp;lt;release candidate number]  This scheme has three number components:</description>
+We require the use of Java 11 for the recent versions. The resulting package will work with Java 8 though.</description>
     </item>
     
     <item>
diff --git a/content/index.xml b/content/index.xml
index 8c3e9a62..b668e050 100644
--- a/content/index.xml
+++ b/content/index.xml
@@ -27,8 +27,7 @@
       <guid>https://directory.apache.org/api/developer-guide.html</guid>
       <description>f&amp;mdash; title: LDAP Java API - Developer Guide Developer Guide This guide is intened to be read by those who participate into the development of the LDAP API. Users of the API are expected to read the User guide.
 Getting the source, Building the trunks To get the source, build the trunks/api and get along with Maven.
-Versioning Scheme The version number of LDAP API has the following form:
-&amp;lt;major.&amp;lt;minor.&amp;lt;micro \[-M&amp;lt;milestone number or -RC&amp;lt;release candidate number]  This scheme has three number components:</description>
+We require the use of Java 11 for the recent versions. The resulting package will work with Java 8 though.</description>
     </item>
     
     <item>
@@ -96,7 +95,7 @@ This wiki page shows you how you can help us to help you.</description>
       
       <guid>https://directory.apache.org/apacheds/advanced-ug/1-architecture.html</guid>
       <description>1 - Architecture We will now describe the server architecture, in order to give you a more deeper understanding of the way the server works.
-Chapter content  1.1 - Architectural Overview 1.2 - Network Layer 1.3 - Directory-Service 1.4 - Interceptors 1.5 - Backend  </description>
+Chapter content  1.1 - Architectural Overview 1.2 - Directory-Service 1.3 - Network Layer 1.4 - Interceptors 1.5 - Backend  </description>
     </item>
     
     <item>
@@ -323,6 +322,17 @@ It also contains many other fields, like the ticket&amp;rsquo;s expiration date,
 What&amp;rsquo;s inside a Ticket ? Here are the information that can be found in a ticket.</description>
     </item>
     
+    <item>
+      <title>1.2 - DirectoryService</title>
+      <link>https://directory.apache.org/apacheds/advanced-ug/1.2-directory-service.html</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://directory.apache.org/apacheds/advanced-ug/1.2-directory-service.html</guid>
+      <description>1.3 - DirectoryService The DirectoryService is the core of the server. This is where we process incoming requests and ask the backend for data.
+It has an entry point, the OperationManager, which is in charge of pushing the requests into the Interceptors chain, and to protect the server against concurrent modifications.
+Then the request is going through every Interceptor being registered for this operation. When we have gone through all the Interceptors, we have reached the PartitionNexus, which is the connection with the backends.</description>
+    </item>
+    
     <item>
       <title>1.2 - LDAP in a few words</title>
       <link>https://directory.apache.org/api/user-guide/1.2-ldap-in-a-few-words.html</link>
@@ -335,10 +345,10 @@ We&amp;rsquo;ll use the term LDAP to represent the protocol and LDAP server to r
     
     <item>
       <title>1.2 - Newtork Layer</title>
-      <link>https://directory.apache.org/apacheds/advanced-ug/1.2-network.html</link>
+      <link>https://directory.apache.org/apacheds/advanced-ug/1.3-network.html</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
-      <guid>https://directory.apache.org/apacheds/advanced-ug/1.2-network.html</guid>
+      <guid>https://directory.apache.org/apacheds/advanced-ug/1.3-network.html</guid>
       <description>1.2 - Network Layer This layer is the part the user connects to when he wants to obtain some data from the server. This is not a mandatory part of the server : we don&amp;rsquo;t need to use it when the server is embedded.
 We offer more than just LDAP protocol, the server also include various protocols :
  Kerberos NTP DHCP DNS ChangePassword  Not all of them are implemented in the current version, but at least the Kerberos server is available.</description>
@@ -407,17 +417,6 @@ RFC 4519 LDAP: Schema for User Applications June 2006</description>
 Obsoleted RFCs  RFC 1411 - Telnet Authentication: Kerberos Version 4 RFC 1510 - The Kerberos Network Authentication Service (V5) (Obsoleted by 4120, 6649)  Valid RFS and updates  RFC 1964 - The Kerberos Version 5 GSS-API Mechanism (updated by 4121, 6649) RFC 2623 - NFS Version 2 and Version 3 Security Issues and the NFS Protocol&amp;rsquo;s Use of RPCSEC_GSS and Kerberos V5 RFC 2712 - Addition of Kerberos Cipher Suites to Transport Layer Security (TLS) RFC 2942 - Telnet Authentication: K [...]
     </item>
     
-    <item>
-      <title>1.3 - DirectoryService</title>
-      <link>https://directory.apache.org/apacheds/advanced-ug/1.3-directory-service.html</link>
-      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
-      <guid>https://directory.apache.org/apacheds/advanced-ug/1.3-directory-service.html</guid>
-      <description>1.3 - DirectoryService The DirectoryService is the core of the server. This is where we process incoming requests and ask the backend for data.
-It has an entry point, the OperationManager, which is in charge of pushing the requests into the Interceptors chain, and to protect the server against concurrent modifications.
-Then the request is going through every Interceptor being registered for this operation. When we have gone through all the Interceptors, we have reached the PartitionNexus, which is the connection with the backends.</description>
-    </item>
-    
     <item>
       <title>1.3 - Installing and starting the server</title>
       <link>https://directory.apache.org/apacheds/basic-ug/1.3-installing-and-starting.html</link>
@@ -5129,7 +5128,7 @@ The Table which will be exposed looks like this :
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://directory.apache.org/team.html</guid>
-      <description>The Apache Directory Project Committee    Name id Position Photo WebSite Blog     Alex Karasulu akarasulu Founder, PMC      Brian Demers bdemers PMC      Chris Custine ccustine PMC      Chris Pike cpike PMC      Christine Koppelt ckoppelt PMC      Colm O hEigeartaigh coheiga PMC      Emmanuel Lécharny elecharny PMC      Jiajia Li plusplusjiajia PMC      Kai Zheng drankye PMC      Kiran Ayyagari kayyagari PMC      Lucas Theisen lucastheisen PMC      Noel J.</description>
+      <description>The Apache Directory Project Committee    Name id Position Photo WebSite Blog     Brian Demers bdemers PMC      Chris Custine ccustine PMC      Chris Pike cpike PMC      Christine Koppelt ckoppelt PMC      Colm O hEigeartaigh coheiga PMC      Emmanuel Lécharny elecharny PMC      Jiajia Li plusplusjiajia PMC      Kai Zheng drankye PMC      Kiran Ayyagari kayyagari PMC      Lucas Theisen lucastheisen PMC      Noel J.</description>
     </item>
     
     <item>
diff --git a/content/sitemap.xml b/content/sitemap.xml
index 6058d4f5..4bb3ce4f 100644
--- a/content/sitemap.xml
+++ b/content/sitemap.xml
@@ -44,7 +44,7 @@
   
   <url>
     <loc>https://directory.apache.org/apacheds/advanced-ug/1-architecture.html</loc>
-    <lastmod>2020-08-08T11:25:14+02:00</lastmod>
+    <lastmod>2024-10-30T15:06:11+01:00</lastmod>
   </url>
   
   <url>
@@ -152,14 +152,19 @@
     <lastmod>2020-08-08T11:25:14+02:00</lastmod>
   </url>
   
+  <url>
+    <loc>https://directory.apache.org/apacheds/advanced-ug/1.2-directory-service.html</loc>
+    <lastmod>2024-10-30T15:06:11+01:00</lastmod>
+  </url>
+  
   <url>
     <loc>https://directory.apache.org/api/user-guide/1.2-ldap-in-a-few-words.html</loc>
     <lastmod>2022-10-07T13:19:04+02:00</lastmod>
   </url>
   
   <url>
-    <loc>https://directory.apache.org/apacheds/advanced-ug/1.2-network.html</loc>
-    <lastmod>2020-08-08T11:25:14+02:00</lastmod>
+    <loc>https://directory.apache.org/apacheds/advanced-ug/1.3-network.html</loc>
+    <lastmod>2024-10-30T15:06:11+01:00</lastmod>
   </url>
   
   <url>
@@ -192,11 +197,6 @@
     <lastmod>2022-10-07T13:19:04+02:00</lastmod>
   </url>
   
-  <url>
-    <loc>https://directory.apache.org/apacheds/advanced-ug/1.3-directory-service.html</loc>
-    <lastmod>2020-08-08T11:25:14+02:00</lastmod>
-  </url>
-  
   <url>
     <loc>https://directory.apache.org/apacheds/basic-ug/1.3-installing-and-starting.html</loc>
     <lastmod>2022-10-07T13:19:04+02:00</lastmod>
@@ -219,7 +219,7 @@
   
   <url>
     <loc>https://directory.apache.org/apacheds/advanced-ug/1.4-interceptors.html</loc>
-    <lastmod>2020-08-08T11:25:14+02:00</lastmod>
+    <lastmod>2024-10-30T15:06:11+01:00</lastmod>
   </url>
   
   <url>
@@ -1724,7 +1724,7 @@
   
   <url>
     <loc>https://directory.apache.org/apacheds.html</loc>
-    <lastmod>2024-01-16T03:56:54+00:00</lastmod>
+    <lastmod>2024-10-30T15:06:11+01:00</lastmod>
   </url>
   
   <url>
@@ -2499,7 +2499,7 @@
   
   <url>
     <loc>https://directory.apache.org/team.html</loc>
-    <lastmod>2024-02-06T08:13:41+01:00</lastmod>
+    <lastmod>2024-10-30T15:04:54+01:00</lastmod>
   </url>
   
   <url>
diff --git a/content/team.html b/content/team.html
index fa22705f..fd5d357c 100644
--- a/content/team.html
+++ b/content/team.html
@@ -153,14 +153,6 @@
 </thead>
 <tbody>
 <tr>
-<td>Alex Karasulu</td>
-<td>akarasulu</td>
-<td>Founder, PMC</td>
-<td align="center"><img src="images/team/akarasulu.jpg" alt="Alex Karasulu"></td>
-<td align="center"></td>
-<td></td>
-</tr>
-<tr>
 <td>Brian Demers</td>
 <td>bdemers</td>
 <td>PMC</td>
@@ -304,14 +296,6 @@
 <td></td>
 </tr>
 <tr>
-<td>Alan Cabrera</td>
-<td>adc</td>
-<td>Committer</td>
-<td align="center"></td>
-<td align="center"></td>
-<td></td>
-</tr>
-<tr>
 <td>Aleksander Adamowski</td>
 <td>aadomowski</td>
 <td>Committer</td>
@@ -543,6 +527,20 @@
 </thead>
 <tbody>
 <tr>
+<td>Alan Cabrera</td>
+<td>adc</td>
+<td align="center">Committer</td>
+<td align="center"></td>
+<td align="center"></td>
+</tr>
+<tr>
+<td>Alex Karasulu</td>
+<td>akarasulu</td>
+<td align="center">Founder, PMC</td>
+<td align="center"><img src="images/team/akarasulu.jpg" alt="Alex Karasulu"></td>
+<td align="center"></td>
+</tr>
+<tr>
 <td>Brett Porter</td>
 <td>PMC</td>
 <td align="center"></td>