<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="Apache Forrest" name="Generator">
<meta name="Forrest-version" content="0.8-dev">
<meta name="Forrest-skin-name" content="pelt">
<title>ForrestFriday monthly get-together</title>
<link type="text/css" href="skin/basic.css" rel="stylesheet">
<link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
<link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
<link type="text/css" href="skin/profile.css" rel="stylesheet">
<script src="skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="skin/fontsize.js" language="javascript" type="text/javascript"></script>
<link rel="shortcut icon" href="favicon.ico">
</head>
<body onload="init()">
<script type="text/javascript">ndeSetTextSize();</script>
<div id="top">
<!--+
    |breadtrail
    +-->
<div class="breadtrail">
<a href="http://www.apache.org/">apache</a> &gt; <a href="http://forrest.apache.org/">forrest</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
</div>
<!--+
    |header
    +-->
<div class="header">
<!--+
    |start group logo
    +-->
<div class="grouplogo">
<a href="http://www.apache.org/"><img class="logoImage" alt="Apache" src="images/apache-forrest.png" title="The Apache Software Foundation"></a>
</div>
<!--+
    |end group logo
    +-->
<!--+
    |start Project Logo
    +-->
<div class="projectlogo">
<a href="http://forrest.apache.org/"><img class="logoImage" alt="Forrest" src="images/project-logo.gif" title="Apache Forrest"></a>
</div>
<!--+
    |end Project Logo
    +-->
<!--+
    |start Search
    +-->
<div class="searchbox">
<form action="http://www.google.com/search" method="get" class="roundtopsmall">
<input value="forrest.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
                    <input name="Search" value="Search" type="submit">
</form>
</div>
<!--+
    |end search
    +-->
<!--+
    |start Tabs
    +-->
<ul id="tabs">
<li>
<a class="unselected" href="index.html">Welcome</a>
</li>
<li class="current">
<a class="selected" href="contrib.html">Developers</a>
</li>
<li>
<a class="unselected" href="versions/index.html">Versioned Docs</a>
</li>
<li>
<a class="unselected" href="pluginDocs/index.html">Plugins</a>
</li>
<li>
<a class="unselected" href="tools/index.html">Tools</a>
</li>
</ul>
<!--+
    |end Tabs
    +-->
</div>
</div>
<div id="main">
<div id="publishedStrip">
<!--+
    |start Subtabs
    +-->
<div id="level2tabs"></div>
<!--+
    |end Endtabs
    +-->
<script type="text/javascript"><!--
document.write("Last Published: " + document.lastModified);
//  --></script>
</div>
<!--+
    |breadtrail
    +-->
<div class="breadtrail">

             &nbsp;
           </div>
<!--+
    |start Menu, mainarea
    +-->
<!--+
    |start Menu
    +-->
<div id="menu">
<div onclick="SwitchMenu('menu_selected_1.1', 'skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Getting involved</div>
<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
<div class="menuitem">
<a href="contrib.html" title="Everyone is a developer and has something to contribute">Contributing</a>
</div>
<div class="menuitem">
<a href="mail-lists.html" title="Discussion mail lists are the heart of the project: dev, user, svn">Mail lists and discussion</a>
</div>
<div class="menuitem">
<a href="issues.html" title="Issue tracker manages known issues and desired enhancements">Reporting bugs and issues</a>
</div>
<div class="menupage">
<div class="menupagetitle">ForrestFriday IRC</div>
</div>
<div class="menuitem">
<a href="events.html" title="List of upcoming related conferences and meetings">Events</a>
</div>
<div onclick="SwitchMenu('menu_1.1.6', 'skin/')" id="menu_1.1.6Title" class="menutitle">Project</div>
<div id="menu_1.1.6" class="menuitemgroup">
<div class="menuitem">
<a href="guidelines.html" title="Open development guidelines to encourage participation">Project guidelines</a>
</div>
<div class="menuitem">
<a href="committed.html" title="Notes about contribution">Being committed</a>
</div>
<div class="menuitem">
<a href="roles.html" title="Tasks to keep the project flowing">Project roles</a>
</div>
</div>
</div>
<div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Resources and Infrastructure</div>
<div id="menu_1.2" class="menuitemgroup">
<div class="menuitem">
<a href="asf-infrastructure.html" title="Explain the ASF infrastructure">Introduction</a>
</div>
<div class="menuitem">
<a href="mail-lists.html" title="Discussion mail lists are the heart of the project: dev, user, svn">Mail lists</a>
</div>
<div class="menuitem">
<a href="issues.html" title="Issue tracker manages known issues and desired enhancements">Issue management</a>
</div>
<div class="menuitem">
<a href="svn.html" title="Access to the Subversion (SVN) version control system">Version control</a>
</div>
<div class="menuitem">
<a href="http://forrest.zones.apache.org/" title="Demonstrations and testbed at forrest.zones.apache.org">Demonstrations</a>
</div>
<div class="menuitem">
<a href="gump.html">Gump integration</a>
</div>
<div onclick="SwitchMenu('menu_1.2.7', 'skin/')" id="menu_1.2.7Title" class="menutitle">Planning notes</div>
<div id="menu_1.2.7" class="menuitemgroup">
<div class="menuitem">
<a href="plan/index.html">Overview</a>
</div>
<div class="menuitem">
<a href="plan/internal-xhtml.html">Internal XHTML</a>
</div>
</div>
<div class="menuitem">
<a href="todo.html">Todo</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Best Practices and Procedures</div>
<div id="menu_1.3" class="menuitemgroup">
<div class="menuitem">
<a href="howto-dev.html" title="Describes tips and procedures for efficiently developing with Forrest.">Development tips</a>
</div>
<div class="menuitem">
<a href="subversion_bestpractices.html" title="Best practice notes for Subversion">Subversion</a>
</div>
<div class="menuitem">
<a href="documentation_bestpractices.html" title="Best practice notes for documentation">Documentation</a>
</div>
<div class="menuitem">
<a href="howto-howto.html" title="Instructions for writing             a new howto-document">Write a How-to</a>
</div>
<div onclick="SwitchMenu('menu_1.3.5', 'skin/')" id="menu_1.3.5Title" class="menutitle">Committer notes</div>
<div id="menu_1.3.5" class="menuitemgroup">
<div class="menuitem">
<a href="zone.html" title="Notes for committers to manage forrest.zones.apache.org">Zone management</a>
</div>
<div class="menuitem">
<a href="procedures/release/How_to_release.html" title="Instructions on preparing and creating a new Forrest release.">How to release</a>
</div>
<div class="menuitem">
<a href="procedures/How_to_publish_docs.html" title="Instructions on publishing the Forrest             Website">Publishing Forrest documentation</a>
</div>
</div>
</div>
<div onclick="SwitchMenu('menu_1.4', 'skin/')" id="menu_1.4Title" class="menutitle">Proposals</div>
<div id="menu_1.4" class="menuitemgroup">
<div class="menuitem">
<a href="proposal-asf-forrestbot.html">ASF Forrestbot</a>
</div>
</div>
<div id="credit"></div>
<div id="roundbottom">
<img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
<!--+
  |alternative credits
  +-->
<div id="credit2">
<a href="http://apachecon.com/2007/EU/"><img border="0" title="ApacheCon Europe 2007" alt="ApacheCon Europe 2007 - logo" src="http://apache.org/ads/ApacheCon/2007-europe-125x125.png" style="width: 125px;height: 125px;"></a><a href="http://people.apache.org/calendar.html#200711"><img border="0" title="ApacheCon US 2007" alt="ApacheCon US 2007 - logo" src="http://apache.org/ads/ApacheCon/2007-usa-125x125.png" style="width: 125px;height: 125px;"></a>
</div>
</div>
<!--+
    |end Menu
    +-->
<!--+
    |start content
    +-->
<div id="content">
<div title="Portable Document Format" class="pdflink">
<a class="dida" href="forrest-friday.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
        PDF</a>
</div>
<div class="trail">Font size: 
	          &nbsp;<input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset'); return false;" type="button">      
	          &nbsp;<input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr'); return false;" type="button">
	          &nbsp;<input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
</div>
<h1>ForrestFriday monthly get-together</h1>
<div id="minitoc-area">
<ul class="minitoc">
<li>
<a href="#overview">Overview</a>
</li>
<li>
<a href="#purpose">Purpose</a>
</li>
<li>
<a href="#how">How to participate</a>
</li>
<li>
<a href="#op">Notes for channel operator</a>
</li>
</ul>
</div>
    
<a name="N1000D"></a><a name="overview"></a>
<h2 class="underlined_10">Overview</h2>
<div class="section">
<p>
        On the second Friday of each month we have a 24-hour get-together using
        the dev mailing list, Internet Relay Chat (IRC), and other collaborative
        tools, to work on Forrest development and get to know each other.
      </p>
<p>
        ForrestFriday starts at 06:00 UTC (6am Greenwich Mean Time in London)
        and lasts for 24 hours.
      </p>
<p>
        The next event will take place on <strong>?? ?? 2006</strong>. (Note:
        See recent mail discussion - not happening until further notice.) See
        <a href="http://www.timeanddate.com/worldclock/fixedtime.html?year=2006&month=07&day=14&hour=6&min=0&sec=0">start
        time</a> and
        <a href="http://www.timeanddate.com/worldclock/meetingtime.html?day=14&month=07&year=2006&p1=136&p2=48&p3=176&p4=240&p5=224&p6=213">zone
        overlap</a>.
      </p>
</div>
    
<a name="N10028"></a><a name="purpose"></a>
<h2 class="underlined_10">Purpose</h2>
<div class="section">
<p>
        The day is devoted to working collaboratively to solve particular issues
        and getting to know each other. In the weeks leading up to each event,
        decide on the dev mailing list what the main topic should be. Probably
        something that needs groups work (e.g. moving the internal format to be
        XHTML2).
      </p>
<p>
        There will also be an effort to clean up the <a href="issues.html">Issue
        Tracker</a>.
      </p>
<p>
        The dev mailing list is still the main form of communication and all
        decisions are made there. The IRC channel is to support that and provide
        a place for near real-time discussion.
      </p>
<p>
        The IRC channel is definitely not open continuously. It is only for
        temporary communications at this monthly meeting.
      </p>
<p>
        This is not a user help forum, please do that on the user mailing list.
      </p>
</div>
    
<a name="N10042"></a><a name="how"></a>
<h2 class="underlined_10">How to participate</h2>
<div class="section">
<ul>
        
<li>
          All volunteers are welcome.
        </li>
        
<li>
          Get an IRC client (some are mentioned at <a href="http://irchelp.org/">irchelp.org</a>)
          and see <a href="http://www.irchelp.org/irchelp/irctutorial.html">IRC Tutorial</a>.
        </li>
        
<li>
          Read the dev mailing list. That is where any decisions will be
          made and the name of the IRC channel will be announced.
        </li>
        
<li>
          At the start time, connect to irc.freenode.net and join the channel.
        </li>
        
<li>
          The discussion will be logged, summarised, and added to our
          "<a href="http://svn.apache.org/repos/asf/forrest/events/forrest-friday/">events</a>"
          SVN repository.
        </li>
        
<li>
          ASF committers should try to use a nickname that matches their ASF
          committer id.
          Please also apply for an "IRC hostname
          <a href="http://freenode.net/faq.shtml#cloaks">cloak</a>".
          This hides your machine hostname. It also enables ASF oversight
          processes to ensure that project PMC members are participating.
          Instructions are in our SVN at
          <a href="https://svn.apache.org/repos/private/committers/docs/freenode-cloaks.txt">https://svn.apache.org/repos/private/committers/docs/freenode-cloaks.txt</a>
</li>
        
<li>
          See notes about the <a href="plan/index.html">topic of the day</a>.
        </li>
        
<li>
          We hope to also have a Lenya instance. This will enable a "whiteboard"
          for the day, and also be the first step for later Forrest-Lenya integration.
        </li>
      
</ul>
</div>
    
<a name="N1007B"></a><a name="op"></a>
<h2 class="underlined_10">Notes for channel operator</h2>
<div class="section">
<ul>
        
<li>
          Send a reminder email to dev- prior to the event. Send one about a
          week beforehand so that the Topic can be decided and to remind people
          that it is happening (it comes around quickly). Send another the day
          before the event. Then do the following on the day ...
        </li>
        
<li>
          The first person to join the IRC channel is the operator.
        </li>
        
<li>
          See the irchelp.org
          <a href="http://www.irchelp.org/irchelp/changuide.html">guide</a>
          for channel operators.
        </li>
        
<li>
          Make sure that your irc client is creating a logfile.
        </li>
        
<li>
          Decide on a channel name. Join it a bit before the start time, then do
          this setup ...
        </li>
        
<li>
          Set the channel mode: <span class="codefrag">/mode +n</span>
</li>
        
<li>
          Declare today's topic: <span class="codefrag">/topic ForrestFriday: XHTML2 core and Jira cleanup</span>
</li>
        
<li>Ask cheche to start the logger bot and tell the URL for the live logfile.
        </li>
        
<li>
          Make sure that your client is creating a logfile.
        </li>
        
<li>
          Begin a summary text file in the "forrest-events" SVN. Committers
          should add to this during the day. Don't leave it until the end.
        </li>
        
<li>
          Announce to the dev mailing list that the channel is open and tell the channel name
          and the URL for the live log.
        </li>
        
<li>
          During the session, occasionally refer to the live logfile URL. People can read
          what they missed, and also refer to previous discussion by stating the time that
          it occurred.
        </li>
        
<li>
          At the end, everyone leaves the channel and it will automatically close.
          Ask cheche to stop the logger bot.
        </li>
        
<li>
          Add the logfile to the Forrest Events repository.
        </li>
      
</ul>
</div>
  
</div>
<!--+
    |end content
    +-->
<div class="clearboth">&nbsp;</div>
</div>
<div id="footer">
<!--+
    |start bottomstrip
    +-->
<div class="lastmodified">
<script type="text/javascript"><!--
document.write("Last Published: " + document.lastModified);
//  --></script>
</div>
<div class="copyright">
        Copyright &copy;
         2002-2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
</div>
<!--+
    |end bottomstrip
    +-->
</div>
</body>
</html>
