@mattab opened this Issue on October 4th 2013 Member

Piwik core contains a significant amount of classes. Many of these are used in several places in core and plugins and will be used by plugin developers.

The goal of this ticket is to provide Piwik Plugin developers with a great documentation about the classes and methods which are most useful to them when making plugins.

This ticket focus is on deciding which parts of the code (classes, methods) are useful to other developers.

  • typical classes that will be used by devs include Url, UrlHelper, DataTable, Date, Db, Http, Ip, Log, ...
  • Maybe we use a custom phpdoc annotation, which could be picked up by phpdoc to autogenerate our public API documentation. eg. @framework or @platform or @useit ....
  • annotation could be set on the class (in which case all public methods' docs would be generated), or the tag could be set on specific methods (in case other public methods would not really useful to plugin devs) <- limits noise & need to write docs
  • docs ideally would be generated in markdown so we could integrate within marketplace and/or piwik.org website easily (if this can be done with phpdoc)
  • automated on Travis CI when the build was green (alternatively we put a cron on piwik.org)

At the end we should have auto generated doc which developers can easily use when they need something already implemented in Piwik.

@tsteur commented on October 5th 2013 Member
@tsteur commented on October 7th 2013 Member

In c94adb68bc72417da8769fbb1b8712a72e406849: refs #4194 marked some classes and methods as API to test doc generation

@tsteur commented on October 7th 2013 Member

In 29c57ee0d5f2e00b5e1f02e84cd52a1230d5a5d9: refs #4194 marked some classes/methods/functions as available for plugins

@tsteur commented on October 7th 2013 Member

In b061d3ac66a9aa85934f6520c9af25885cafba10: refs #4194 ignore console commands

@tsteur commented on October 7th 2013 Member

In 6aa7ab6538cdd84af0b89b6e2d2d9524600ac5f2: refs #4194 the api ignore tag is not needed, we simply ignore all symfony commands in the api generator

@tsteur commented on October 7th 2013 Member

In 461df89bd7ab621411873f0e0465983ea311c712: refs #4194 marked some more classes as api

@tsteur commented on October 7th 2013 Member

Closing this now. Documentation generator is located here: https://github.com/piwik/pluginapi-doc-generator/

Follow up tickets created: #4200 #4201

This Issue was closed on October 17th 2013
Powered by GitHub Issue Mirror