====== Todolist for Developers Manual ====== After the wiki reorganisation in 8/2008, all developer information were collected in the devel namespace. These pages have to be reorganized a bit to make new developers feel home quickly. On this page we can track the process, discuss on single issues etc. Not much work has been done for some time. Added "Getting Started" and are now playing with a new index. --- [[user>HÃ¥kanS]] //2011/01/23 15:08// ===== GSOC ===== Needed improvements for new programmers during [[devel:gsoc|Google Summer of Code]]. * Create devel:core_overview --- serving pages * Check & update [[devel:Git]] * Check & update [[devel:coding_style|Coding Style]] * Check & update [[devel:Security]] * Check & update [[devel:unittesting|Unit Testing]] * Check & update [[devel:Patches]] * Check & update [[devel:dirlayout|Directory Layout]] ===== The Development Manual (new suggested layout) ===== (remove dirlayout from getting started) - Core Overview //[Serving pages]// - [[devel:dirlayout|Directory Layout]] - [[devel:Environment]] -- global variables and defines - [[devel:Callgraph]] - Modifying your installation - [[devel:CSS]] - [[devel:JavaScript]] - [[devel:Localization]] - [[devel:Plugins]], how they work and how to write them - [[devel:Plugin File Structure]] - [[devel:Common Plugin Functions]] - [[devel:Action Plugins]] * [[devel:events|Event System]] * [[devel:event_handlers|Event Handlers]] * [[devel:events_list|Events Overview]] - [[devel:Syntax Plugins]] - [[devel:Helper Plugins]] - [[devel:Renderer Plugins]] - [[devel:Admin Plugins]] - [[devel:Plugin Unittests]] - [[devel:toolbar|The Toolbar]] - [[devel:Plugin Cookbook]] - [[devel:Plugin Programming Tips]] - [[devel:Templates]], how they work and how to write them - first topic - second topic - acl backends, how they work and how to write them - first topic - second topic - Advanced Stuff //[Better name needed]// - [[devel:Action Modes]] - [[devel:Caching]] - [[devel:Parser]] - history/diff - [[devel:Configuration]] - [[devel:Preload]] - [[devel:filemodes|File creation modes]] - media - [[devel:Locking]] - [[devel:Metadata]] - [[devel:fulltextindex]], how does search work - [[devel:XMLRPC]], split in examples and reference - [[devel:Scalability]] - Internal Libraries - [[devel:utf-8|UTF-8 String handling]] - [[devel:mail|E-Mail Sending]] - [[devel:compression|Zip and Tgz compression/Decompression]] - [[devel:httpclient|HTTP Client Library]] - [[devel:simplepie|RSS Parser]] - [[devel:json|JSON Parser/Writer]] - [[devel:geshi|GeSHi Syntax Highlighting]] See also: //other recommended reading// - [[http://dev.splitbrain.org/reference/dokuwiki/|Development API Reference]]((built daily)) - [[http://phpxref.com/xref/dokuwiki/|Stable API Reference]]((not maintained by dokuwiki.org)) - [[devel:snapshots|Daily Snapshots]] - [[http://github.com/splitbrain/dokuwiki|Git Webinterface]] for browsing the source and patches - [[https://www.ohloh.net/p/dokuwiki/contributors|Hall of Fame]] - all DokuWiki contributors ===== General Issues ===== * Outline * start with general introduction to dw for developers, requirements (php level, unix level) * continue with common and easy things for starters: adapting templates, writing an easy plugin * then advanced stuff (Events etc) * seperate introductory from advanced from reference material * Navigation * have the TOC on every page * Links to "Top", "Next", "Previous" pages. see below for an example * constistent headings * Examples * good and short examples * Cleanup and merge small pages * Cleanup old discussions/comments (make them first order info if valuable otherwise remove them) ===== Pages to be removed ===== * [[devel:bug1700|Manual fix for Bug 1700]] * [[devel:blogtng|Ideas/Features of a new Blog Plugin]] * [[devel:infoarray|$INFO array]] * [[devel:rewriteblocks|Rewrite Blocks]] ===== List of pages ===== Here's a list with all pages (generated by hand, new pages have to be added), percentage and comments are to come. ^ Link / Section ^ Percentage ^ comments ^ ^ Overview ^ ^ ^ | [[devel:coding_style|Coding Style]] | % | reference, move somewhere else | | [[devel:Darcs]] | % | is a tool that dw depends upon, not needed to write e.g. a plugin | | [[devel:Communication]]| % | offtopic, doesnt document dw itself | | [[devel:dirlayout|Directory Layout]]| % | very good for starters | | [[devel:Locking]]| % | advanced | | [[devel:Environment]]| % | reference, but important for starters | | [[devel:Action Modes]]| % | ... | | [[devel:Parser]]| % | ... | | [[devel:Metadata]]| % | ... | | [[devel:Security]]| % | ... | | [[devel:unittesting|Unit Testing]]| % | ... | | [[devel:Patches]]| % | ... | ^ [[devel:Plugins]]^ % ^ ... ^ | [[devel:Plugin File Structure]]| % | ... | | [[devel:Common Plugin Functions]]| % | ... | | [[devel:Action Plugins]]| % | ... | | [[devel:events|Event System]]| % | ... | | [[devel:event_handlers|Event Handlers]]| % | ... | | [[devel:events_list|Events Overview]]| % | ... | | [[devel:Syntax Plugins]]| % | ... | | [[devel:Helper Plugins]]| % | ... | | [[devel:Renderer Plugins]]| % | ... | | [[devel:Admin Plugins]]| % | ... | ^ General ^ ^ ^ | [[devel:toolbar|The Toolbar]]| % | ... | | [[devel:Plugin Cookbook]]| % | merge with tips or move info to the "right place" | | [[devel:Plugin Programming Tips]]| % |merge with cookbook or move info to the "right place" | | [[devel:Templates]]| % | interesting for starters, similar to CSS and javascript | | [[devel:Preload]]| % | interesting for farmers | | [[devel:Configuration]]| % | ... | | [[devel:Localization]]| % | ... | | [[devel:CSS]]| % | interesting for starters, similar to Templates and javascript | | [[devel:Javascript]]| % | interesting for starters, similar to CSS and Templates | | [[devel:XMLRPC]]| % | does not deal with dw development itself, but with "talking to dw". Move | | [[devel:Scalability]]| % | advanced stuff | ===== Discussion ===== > There are a number of pages that are concerned with development in general, but dont fit into the category "technical manual for dw". These are: darcs, xmlrpc, communications, coding style. These sound to me like a section "development environment" (or similar, I dont have a good name) --- //[[s.menge@xxxx|Sebastian]] 2008/10/04 09:08// > For the navigation the include plugin would be handy. it seems not to be installed. why? its a very handy plugin ... --- //[[s.menge@xxxx|Sebastian]] 2008/10/05 18:47// ===== Examples ===== Navigation: ^ [[devel:nothing | <- Chapter ]] ^ [[:playground | Top ]] ^ [[devel:nothing | Chapter -> ]] ^ ^ [[devel:nothing | <- Section]] ^ [[:development | Up ]] ^ [[devel:chapter_basics| Section -> ]] ^ Example outline here: [[playground:development2]]