<?php                                                              require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");  require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");   require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");   $App   = new App();  $Nav  = new Nav();  $Menu   = new Menu();    include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'

  #*****************************************************************************
  #
  # sample_3col.php
  #
  # Author:     Denis Roy
  # Date:      2005-11-07
  #
  # Description: Type your page comments here - these are not sent to the browser
  #
  #
  #****************************************************************************

  #
  # Begin: page-specific settings.  Change these.
  $pageTitle     = "Meeting Minutes";
  $pageKeywords  = "foundation, minutes, legal";
  $pageAuthor    = "Mike Milinkovich, Nov 24, 2005";

  # Add page-specific Nav bars here
  # Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
  # $Nav->addNavSeparator("My Page Links",   "downloads.php");
  # $Nav->addCustomNav("My Link", "mypage.php", "_self", 1);
  # $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 1);

  # End: page-specific settings
  #

  # Paste your HTML content between the EOHTML markers!
  $html = <<<EOHTML

  <div id="midcolumn">
    <h1><a name="top">$pageTitle</a></h1>
    <blockquote>
    <ul>
      <li><a href="#board">Board of Directors Meetings</a></li>
      <ul>
      <li><a href="#boardAISBL">Eclipse Foundation AISBL</a></li>
      <li><a href="#boardInc">Eclipse Foundation, Inc.</a></li>
      </ul>

      <li><a href="#assembly">General Assembly Meetings</a></li>
      <li><a href="#members">Members Meetings</a></li>
      <li><a href="#councils">Council Meetings</a></li>
      <li><a href="#workingGroups">Working Groups</a></li>
      <li><a href="minutes_archive.php">Meeting minutes archive</a></li>
    </ul>
    </blockquote>
    <div class="homeitem3col">
    <h2 id="board">Board of Directors Meetings</h2>
  </div>

    <div class="homeitem3col">
    <h3 id="boardAISBL">Eclipse Foundation AISBL</h3>
    <ul>
    <li>Abridged Minutes
    - <a href="boardminutes/2022_05_25_Minutes_AISBL.pdf">May 25, 2022 (pdf)</a></li>
    <li>Abridged Minutes
    - <a href="boardminutes/2022-04-20-minutes-aisbl.pdf">April 20, 2022 (pdf)</a></li>
    <li>Abridged Minutes
    - <a href="boardminutes/2022_03_23_24_Minutes_AISBL.pdf">March 23-24, 2022 (pdf)</a> </li>
    <li>Abridged Minutes
    - <a href="boardminutes/2022_02_16_Minutes_AISBL.pdf">February 16, 2022 (pdf)</a> </li>
    <li>Abridged Minutes
    - <a href="boardminutes/2021_12_15_Minutes_AISBL.pdf">December 15, 2021 (pdf)</a> </li>
    <li>Abridged Minutes
    - <a href="boardminutes/2021_11_17_Minutes_AISBL.pdf">November 17, 2021 (pdf)</a> </li>
    <li>Abridged Minutes
    - <a href="boardminutes/2021_10_20_21_Minutes_AISBL.pdf">October 20-21, 2021 (pdf)</a> </li>
    <li>Abridged Minutes
    - <a href="boardminutes/2021_09_15_Minutes_AISBL.pdf">September 15, 2021 (pdf)</a> </li>
    <li>Abridged Minutes
    - <a href="boardminutes/2021_07_21_Minutes_AISBL.pdf">July 21, 2021 (pdf)</a> </li>
    <li>Abridged Minutes
    - <a href="boardminutes/2021_06_15_17_Minutes_AISBL.pdf">June 15-17, 2021 (pdf)</a> </li>
    <li>Abridged Minutes
    - <a href="boardminutes/2021_05_19_Minutes_AISBL.pdf">May 19, 2021 (pdf)</a> </li>
    <li>Abridged Minutes
    - <a href="boardminutes/2021_04_21_Minutes_AISBL.pdf">April 21, 2021 (pdf)</a> </li>
    <li>Abridged Minutes
    - <a href="boardminutes/2021_03_24_25_Minutes_AISBL.pdf">March 24-25, 2021 (pdf)</a> </li>
    <li>Abridged Minutes
    - <a href="boardminutes/2021_02_17_Minutes_AISBL.pdf">February 17, 2021 (pdf)</a> </li>
    <li>Abridged Minutes
    - <a href="boardminutes/2021_01_20_Minutes_AISBL.pdf">January 20, 2021 (pdf)</a> </li>
    <li>Abridged Minutes
    - <a href="boardminutes/2021_01_13_Minutes_AISBL.pdf">January 13, 2021 (pdf)</a> </li>
    </ul>
  </div>

    <div class="homeitem3col">
      <h3 id="boardInc">Eclipse.org Foundation, Inc.</h3>
      <ul>
      <li>Abridged Minutes
      - <a href="boardminutes/2022_05_25_Minutes_Inc.pdf">May 25, 2022 (pdf)</a> </li>
      <li>Abridged Minutes 
      - <a href="boardminutes/2022-04-20-minutes-inc.pdf">April 20, 2022 (pdf)</a></li>
      <li>Abridged Minutes
      - <a href="boardminutes/2022_03_24_Minutes_Inc.pdf">March 24, 2022 (pdf)</a> </li>
      <li>Abridged Minutes
      - <a href="boardminutes/2022_02_16_Minutes_Inc.pdf">February 16, 2022 (pdf)</a> </li>
      <li>Abridged Minutes
      - <a href="boardminutes/2021_12_15_Minutes_Inc.pdf">December 15, 2021 (pdf)</a> </li>
      <li>Abridged Minutes
      - <a href="boardminutes/2021_11_17_Minutes_Inc.pdf">November 17, 2021 (pdf)</a> </li>
      <li>Abridged Minutes
      - <a href="boardminutes/2021_10_21_Minutes_Inc.pdf">October 21, 2021 (pdf)</a> </li>
      <li>Abridged Minutes
      - <a href="boardminutes/2021_09_15_Minutes_Inc.pdf">September 15, 2021 (pdf)</a> </li>
      <li>Abridged Minutes
      - <a href="boardminutes/2021_07_21_Minutes_Inc.pdf">July 21, 2021 (pdf)</a> </li>
      <li>Abridged Minutes
      - <a href="boardminutes/2021_06_17_Minutes_Inc.pdf">June 17, 2021 (pdf)</a> </li>
      <li>Abridged Minutes
      - <a href="boardminutes/2021_05_19_Minutes_Inc.pdf">May 19, 2021 (pdf)</a> </li>
      <li>Abridged Minutes
      - <a href="boardminutes/2021_04_21_Minutes_Inc.pdf">April 21, 2021 (pdf)</a> </li>
      <li>Abridged Minutes
      - <a href="boardminutes/2021_03_25_Minutes_Inc.pdf">March 25, 2021 (pdf)</a> </li>
      <li>Abridged Minutes
      - <a href="boardminutes/2021_02_17_Minutes_Inc.pdf">February 17, 2021 (pdf)</a> </li>
      <li>Abridged Minutes
      - <a href="boardminutes/2021_01_20_Minutes_Inc.pdf">January 20, 2021 (pdf)</a> </li>
      <li>Abridged Minutes
      - <a href="boardminutes/2020_12_16_Minutes.pdf">December 16, 2020 (pdf)</a> </li>
      <li>Abridged Minutes
      - <a href="boardminutes/2020_11_18_Minutes.pdf">November 18, 2020 (pdf)</a> </li>
      <li>Abridged Minutes
      - <a href="boardminutes/2020_10_14_15_Minutes.pdf">October 14-15, 2020 (pdf)</a> </li>
      <li>Abridged Minutes
            - <a href="boardminutes/2020_09_16_Minutes.pdf">September 16, 2020 (pdf)</a> </li>
        <li>Abridged Minutes
            - <a href="boardminutes/2020_08_19_Minutes.pdf">August 19, 2020 (pdf)</a> </li>
        <li>Abridged Minutes
            - <a href="boardminutes/2020_07_15_16_Minutes.pdf">July 15-16, 2020 (pdf)</a> </li>
        <li>Abridged Minutes
            - <a href="boardminutes/2020_06_16_18_Minutes.pdf">June 16-18, 2020 (pdf)</a> </li>
        <li>Abridged Minutes
            - <a href="boardminutes/2020_05_20_26_Minutes.pdf">May 20 and 26, 2020 (pdf)</a> </li>
        <li>Abridged Minutes
            - <a href="boardminutes/2020_04_15_Minutes.pdf">April 15, 2020 (pdf)</a> </li>
        <li>Abridged Minutes
            - <a href="boardminutes/2020_03_24-25_Minutes.pdf">March 24-25, 2020 (pdf)</a> </li>
        <li>Abridged Minutes
            - <a href="boardminutes/2020_02_26_Minutes.pdf">February 26, 2020 (pdf)</a> </li>
        <li>Abridged Minutes
            - <a href="boardminutes/2020_01_15_Minutes.pdf">January 15, 2020 (pdf)</a> </li>
        <li>Abridged Minutes
            - <a href="boardminutes/2019_12_18_Minutes.pdf">December 18, 2019 (pdf)</a> </li>
        <li>Abridged Minutes
          - <a href="boardminutes/2019_11_13_Minutes.pdf">November 13, 2019 (pdf)</a> </li>
        <li>Abridged Minutes
          - <a href="boardminutes/2019_10_21_Minutes.pdf">October 21, 2019 (pdf)</a> </li>
      </ul>

    Abridged minutes for older board meetings can be found in the <a href="minutes_archive.php#board">minutes archive</a>.

    <div class="homeitem3col">
    <h2 id="assembly">Eclipse Foundation General Assembly Meetings</h2>
    <ul>
      <li>Minutes - <a href="generalminutes/2021-09-08-minutes-general.pdf">
        September 8, 2021 (pdf)</a></li>
    </ul>
  </div>

    </div>

  <div class="homeitem3col">
      <h2 id="councils">Council Meetings</h2>
      <p>Council Meeting minutes are categorized on the council page.</p>
      <ul>
        <li><a href="https://wiki.eclipse.org/Architecture_Council/Meetings">Architecture Council/Meetings</a></li>
        <li><a href="https://wiki.eclipse.org/Planning_Council#Meetings">Planning Council Meetings</a></li>
       </ul>
    </div>

    <div class="homeitem3col">
    <h2 id="workingGroups">Working Groups</h2>
    <p>
    Each Eclipse Foundation Working Group’s Steering Committee posts its meeting minutes on its respective working group <a href="https://accounts.eclipse.org/mailing-list">mailing list</a>, each of which is archived.
     </p>
    </div>
  </div>

EOHTML;


  # Generate the web page
  $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);