===== Outline for future technical documentation ===== //This document is intended as a starting point for a better technical documentation of the Feng Office project. For now I'm collecting suggestions for intended chapters, trying to learn from examples by others, gathering best-practice examples.// //Please consider this a work in progress, currently no more than a brain-dump. Don't expect to find polished and usable documentation here yet; but you are welcome to add to the documentation and improve it! I'd also welcome more suggestions and criticism. I'd suggest comments should be inserted using signatures so we can follow the discussions - // --- //[[wolf@meso.net|max wolf]] 2009-04-14 16:02// ===== Style Guide for technical documentation ===== //firstly, let's try to set some standards for how to do code writing within this wiki.// * links to howtos about good technical documentation (cp. [[http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_phpDocumentor.pkg.html|phpDocumentor Guide to Creating Fantastic Documentation]] * How to spell Names, how to create and where to store screenshots, how to format the documentation. What needs to be documented, how, and where? What's better left to the forums, what should rather be posted to Feng Office? * wiki standard text blocks and disclaimers * asset collection: Logo //(don't forget the Hi-res version for magazine print;)//, typeface, basic "Corporate Identity" design style info. * copyright notes for technical documentation ===== History & Community & miscellaneous ===== //some of this is featured on the start page, briefly, but perhaps could be elaborated upon a little more. --- [[wolf@meso.net|max wolf]] 2009-04-14 16:10// * How did the project come to be? (perhaps a little interview with the developers similar to [[http://sourceforge.net/community/potm-200904|the project of the Month Interview at SourceForge.]]) * what Feng Office is based on, and what the developers' vision is. * what is the developer team like? * how can I participate? ===== Getting Started - prerequisites for development work on Feng Office ===== //It may not be entirely desirable to open up development of Feng Office for the masses, as it may lead to chaotic branching which could detract the core team from doing their work. On the other hand if this is so then that should be mentioned. I leave that up to discussion. Either way I believe it would form a great quick-start entry point for new developers.// * Before you write your own extensions. //how to discuss a wanted extension before you start; how to submit bugs and feature requests// * a quick Howto (cp. http://wiki.typo3.org/Extension_Development) * what is your development environment like? what IDE to use? //devs - what do you use? What would you recommend (a newbie)?// * EasyEclipse PHP ? [[http://sourceforge.net/forum/message.php?msg_id=3727086|getting easyeclipse PHP to work]] / [[http://www.ibm.com/developerworks/opensource/library/os-debug/?ca=dgr-lnxw06PHPEclipse|intro to easyeclipse PhP]] * how to connect to the subversion sources? what is on sourceforge, what is elsewhere? * Debugging Feng Office //how do you do it?// * Clean Coding - what makes a good extension? How to release a patch or plugin. What do you need to do to have your extension included in the next release. * cp. [[http://typo3.org/documentation/document-library/core-documentation/doc_core_cgl/4.1.0/view/|TYPO3 Coding Guidelines]] * Documentation template (cp. [[http://typo3.org/documentation/document-library/core-documentation/doc_template/1.2.5/view/|here]] ) * Where to find help ===== Code Examples ===== //learning by example. What other examples would you like to see? Anything you have already prepared but just needs a little rework??// * Hello World Application * Database access * using templates * an overview page widget * I18N - a concise localisation guide ===== Work in Progress ===== // To a certain amount this doubles the announcements sections and some other areas of the Forum, other parts of this would better be kept in a bug tracker. However this could make sense as it basically would summarize the 'authoritative view' as seen by the core development team.// * Features demanded and in production. //what do you currently work on?// * bug tracker / open issues. / // you dont really use [[http://sourceforge.net/tracker/?atid=937707&group_id=191520&func=browse|Sourceforges bug tracker]], do you? There's hardly any activity there. Anything else then?// * Road map. //I remember having read on the forums that you'd like to write one-if you find the time. Really, I think a public roadmap is pretty important for the general audience to judge the aliveness of a project// * dev log. //or is there another place for that already?// ===== Reference ===== //This is probably the most important part. We could at least have JavaDoc Style documentation (Automatic documentation) see DOXYGEN, JavaDoc etc. ([[ http://en.wikipedia.org/wiki/Comparison_of_documentation_generators|Comparison of Documentation Generators]])// * [[http://sites.google.com/site/maxbwolf/Home/ogoodoc.zip?attredirects=0|Automated Documentation (HTML Archive) created with phpDocumentor.]] (4MB Download) * Feng Office's Core Architecture(cp. [[http://typo3.org/documentation/document-library/core-documentation/doc_core_api/current/view/|Typo3 Core Architecture]]) * Access Control * Localisation * [[Files and Directories]] some Annotations to the 3000+ Files in the currrent release. * Core Modules * general functions (cp. [[http://typo3.org/documentation/document-library/core-documentation/doc_core_api/4.2.0/view/3/2/|General Functions in Typo3]]) * General Interface Features * Templates * Styling * Hooks, Variables and Constants * Database Connectivity, the DBAL * Database Layout / Relations diagram (//how do you design the database relations? Any admin tool? Does it create nice overview diagrams?//) * Object Model (//do you guys use a case tool? Does it create nice overview diagrams?//) * Browser Compatibility Chart (cp. [[http://typo3.org/documentation/document-library/core-documentation/doc_core_compclient/0.0.2/view/1/1/|Typo3 BCC]]) ===== Other Sources ===== // external documentation for tools and libraries used in the project.// * documentation of the EXTJS Javascript framework * documentation of FCK Editor * documentatin of the mail application ===== Various Ideas for Documentation (non-technical) ===== // doesn't belong into the developers' chapter but I'm collecting that here anyway so that i don't start too many construction sites.// * Showcase Projects: How do you use OGOO in your daily work? * Tips & tricks * FAQ * [[Speed Optimization]] (See [[http://forums.opengoo.org/index.php?topic=1350.0|this post]]) . . . .. ... //to be continued.//