Open main menu

Changes

344 bytes added ,  12:36, 19 December 2017
Adds API Sandbox links
API documentation Commentary and examples of using the APIs (Application Programming Interface) for software like mediawiki[http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API CiviCRM], [[MediaWiki]], drupal Drupal and web services. Both API documentation and API tools. OS and Internet API references.
[[wp:ApplicationProgrammingInterface|Application Programming Interface]] ([[wp:API|API]]) is the information about the exposed or 'public' variables, methods and objects or classes that a system makes available to the developer who wishes to enhance the system or interface with the system programmaticlyprogrammatically. Documenting If you make an API, documenting the API is a critical software development function. Publishing those documents makes In documentation terms, the 'API Docs' available for easy reference. Sometimes called Developer Docs, they are often used not just as must almost be treated like a reference material, but also as a faster way separate piece of software within or "attached" to get familiar with a codebase than by reading the full source code itselfmain program.
== Best Practices Programming APIs ==Having good APISWIG [[wp:Swig]] ([http://www.swig.org/Developer documentation is a "Best Practice" that has several important positive effectsexec. For adoption (meaning successhtml Executive Summary]) of your software, good helps application developers create an API docs are essential. Actual experience in using the phpDocumentor toolSeveral open source projects leverage SWIG, PyDocsuch as Subversion, wxPython and wxWindows. In turn, or other documentation tools is developers can enhance these generic APIs to customize them for a quality that separates particular programming language. For example Python developers from noncan use [http://pysvn.tigris.org/docs/pysvn_prog_guide.html pySVN] while work is underway to expand the PHP interface. See more in the Subversion manual http://svnbook.red-bean.com/nightly/en/svn-developers or senior developers book.html#svn.developer.usingapi == Resources ==* http://gotapi.com publishes several API references for everything from jr. developersHTML and CSS to DocBook and Drupal. Writing (good) (formatted) comments into your source code so that This organized list of API docs can be automatically generated on a nightly basis is not optional if references also features fast, as-you are really interested in your software being successful-type search.* Some other documentation resources:** http://api.kde.org/ APIs of the K Desktop Environment** http://doc.trolltech.com/ APIs of the Qt GUI Toolkit
== MediaWiki API ==
MediaWiki has a strong '''action''' API (also called the web service API) which has it's endpoint at api.php. See the docs at https://www.mediawiki.org/wiki/API:Main_page
== Tools Since MW 1.27, there is also a SpecialPage [[mw:Special:ApiSandbox|Special:ApiSandbox]] [https://demo.qualitybox.us/wiki/ Generators ==phpDocumentor is Special:ApiSandbox Demo site] for interacting with the API - just like the best documentation tool API explorer for PHP sources with inspiration from JavaDocCiviCRM.(previously it was an extension)
The PyDoc tool An example of the MediaWiki API in use is used to generate documentation on at the language itself, and "[https://freephile.org/wikireport/index.php Wiki Report]" project. Another very interesting example is also leveraged as a framework for developers of help systems and obviously used to document any classes, and methods of source codethe [https://wikiapiary.com/wiki/Freephile_Wiki Wiki Apiary] (clever name!)
See httpSimilarly, there is a [[wp://phpdoc.org/ and httpModule://en.wikipedia.org/wiki/JavadocSandbox|Module:Sandbox]] for testing Lua scripts
== Documenting PHP Code =Example Questions ===The main resource is Here are some example requests to the [httpAPI# https://wwwfreephile.phpdocorg/w/api.org Project website]php?action=query&meta=siteinfo&siprop=extensions With no 'format' argument, including tutorials and full Documentation. The system you will get a "pretty" HTML output that you can be installed via the PEAR installer, but should not be setup read in an Internet-facing environmentyour browser.# https://freephile.org/w/api. See php?action=query&meta=siteinfo&siprop=extensions&format=json With *json* explicitly requested as the [[PhpDocumentor]] article format, you can get values suitable for details on our installation and usageactual programming.
== Documenting other languages Developer Tools ==Aside from the Python-specific PyDocAmong other tools, you're going to need to look at HTTP requests and responses to develop web services using APIs. So, there are check out tools like [http[Wireshark]] (https://www.xs4allwireshark.nlorg/~rfsber/Robo/robodoc.html ROBODoc] (Windows and Fink) and , the [httphttps://wwwdeveloper.stackmozilla.nlorg/~dimitrien-US/doxygen Doxygendocs/Tools/Network_Monitor Network Monitor] tools which should prove to meet all needs. For doxygen, you can <source lang=ref>The "bashLive HTTP Headers">sudo aptadd-get install doxygenon still exists, but that is no longer neccessary given the development of the core features of the in-gui doxygen doxygen-docbrowser developer tools</sourceref>in [https://developer.mozilla.org/en-US/docs/Tools Developer Tools] for [[Firefox]], or [https://developer.chrome.com/devtools Chrome Developer Tools]
== Programming APIs Integrators ==SWIG [[wp:Swig]] (Companies like [httphttps://wwwplatform.swigifttt.orgcom/exec.html Executive Summarydocs IFTTT](If This Then That) helps application developers reveal an API. Several open source projects leverage SWIG, such as Subversion, wxPython and wxWindows. In turn, other developers can enhance these generic APIs to customize them for a particular programming language. For example Python developers can use [httphttps://pysvnwww.tigris.org/docs/pysvn_prog_guide.html pySVN] while work is underway to expand the PHP interface. See more in the Subversion manual http://svnbook.red-beancrunchbase.com/nightlyorganization/enzapier#/svn-book.html#svn.developerentity Zapier] offer API integrations so that you can tie together applications via their APIs without any coding.usingapi
== Resources ==* http://gotapi.com publishes several API references for everything from HTML and CSS to DocBook and Drupal. This organized list of API references also features fast, as-you-type search. * Create your own internal-use API Documentation by creating a symbolic link from /usr/share/docs to /var/www/docs* Some other documentation resources:** [http://svn.wikimedia.org/doc/ MediaWiki Doxygen docs]{{References}}
[[Category:Applications]]
4,558

edits