<?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_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 Foundation, Inc.</h3>
      <ul>
      <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>
  </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);