| <?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 "perspectives" and "views" 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 "Hello, world!" 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); |
| ?> |