blob: 9222c77d475c30375bbce1ef1bf71adf5edbe5a7 [file] [log] [blame]
<?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'
$pageTitle = "Suggestions for New Contributors";
$pageKeywords = "photran, contributing";
$pageAuthor = "Jeffrey Overbey";
# Paste your HTML content between the EOHTML markers!
$html = <<<EOHTML
<div id="maincontent">
<div id="midcolumn">
<h1>$pageTitle</h1>
<div class="homeitem3col">
<p>New Photran contributors are always welcome. Here are some suggestions for getting started.</p>
<ol>
<li> <b>Java.</b>
Photran is built on top of Eclipse and is written in Java. Obviously, this means you need to know Java.
If you have programmed in C or C++, learning the basics of Java should only take a few weeks, and you will
find that programming in Java is far less painful than programming in C or C++.
<li> <b>Eclipse.</b>
Photran is essentially Fortran add-on for Eclipse. If you have not used Eclipse before, or if you're not
quite sure what &quot;perspectives&quot; and &quot;views&quot; are, you should work through
a basic Eclipse tutorial before attempting to learn Photran. Start Eclipse, click on the Help menu,
and click Help Contents. Expand the Workbench User's Guide, expand Getting Started, and work through
the section labeled Basic Tutorial.
<li> <b>CDT.</b>
If you have not used Photran before, you should become a fluent Photran user before you try to add a new
feature or fix a bug in it. See the Documentation page on the Photran web site. Photran reuses many
components of the Eclipse C/C++ Development Tool (CDT), so you will actually want to focus on learning
CDT. Once you know how to use CDT, you will know how to use Photran.
<li> If you have never developed an Eclipse plug-in before, develop a simple plug-in, perhaps one which
adds an item to the menu bar which pops up a &quot;Hello, world!&quot; message box when you click it.
For example, work through Chapters 7 through 9 in <i>The Java Developer's Guide to Eclipse, 2/e</i>
by D'Anjou et al.
<li> If you will be working on the Photran editor, read about the JFace Text framework (Chapter 26 in
D'Anjou et al.). It may not make sense immediately; that's OK. Use the sample XML editor as a starting
point. Try changing the syntax highlighting, or adding auto-indentation, or whatever feature(s) are
relevent to the work you want to do. Make sure you can implement them in a simple editor before tackling
the Photran editors.
<li> Read <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.photran/org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.pdf?cvsroot=Technology_Project">How
to Check Out Photran from CVS and Compile It</a></li>, and actually do it. Make sure you can compile
Photran.
<li> Read the first two chapters of the <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.photran/org.eclipse.photran-dev-docs/dev-guide/dev-guide.pdf?cvsroot=Technology_Project">Photran
Developer's Guide</a></li>, and the remainder if it is relevant to your work.
<li> Join the main <a href="https://dev.eclipse.org/mailman/listinfo/photran">Photran
Mailing List</a></li>. This is where Photran users post questions and get answers.
If you have problems or questions about how to <i>use</i> Photran, this is a good place to start.
<li> Join the <a href="https://dev.eclipse.org/mailman/listinfo/photran-dev">Photran
Contributors' Mailing List</a></li>. This is where architectural/design issues are discussed,
new releases are planned, etc.
</ol>
</div>
<div class="homeitem3col">
<h3>Projects for New Developers</h3>
<h2>UI Enhancements</h2>
<ul>
<li> Context-sensitive syntax highlighting
<li> Content assist (scope based on line number)
<li> Matching parenthesis highlighting
<li> Hover tips containing declaration/type
<li> Auto-indent
<li> Folding
<li> Fortran search/find all references
<li> Preference page like JDT
</ul>
<h2>Easy Refactorings</h2>
<ul>
<li> Canonicalize Capitalization
<li> Eliminate Specification Statements
</ul>
<h2>From LANL</h2>
<ul>
<li> Generate Doxygen stubs
<li> Enforcement of naming conventions
</ul>
<h2>Large Test Codes</h2>
<ul>
<li> POP
<li> NWChem
</ul>
</div>
</div>
</div>
EOHTML;
# Generate the web page
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>