Open main menu

Changes

324 bytes removed ,  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, such as Subversion, PyDocwxPython 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 non-developers or senior developers from jrcan use [http://pysvn. developerstigris. Writing (good) (formatted) comments into your source code so that API org/docs can be automatically generated on a nightly basis /pysvn_prog_guide.html pySVN] while work is not optional if you are really interested underway to expand the PHP interface. See more in your software being successfulthe Subversion manual http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.developer.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.
* Some other documentation resources:
** http://api.kde.org/ APIs of the K Desktop Environment
** http://doc.trolltech.com/ APIs of the Qt GUI Toolkit
== Tools / Generators MediaWiki API ==phpDocumentor is MediaWiki has a strong '''action''' API (also called the best documentation tool for PHP sources with inspiration from JavaDocweb service API) which has it's endpoint at api.php. See the docs at https://www.mediawiki.org/wiki/API:Main_page
The PyDoc tool is used to generate documentation on the language itselfSince MW 1.27, and there is also leveraged as a framework SpecialPage [[mw:Special:ApiSandbox|Special:ApiSandbox]] [https://demo.qualitybox.us/wiki/Special:ApiSandbox Demo site] for developers of help systems and obviously used to document any classes, and methods of source codeinteracting with the API - just like the API explorer for CiviCRM.(previously it was an extension)
See httpAn example of the MediaWiki API in use is at the "[https://phpdocfreephile.org/ and httpwikireport/index.php Wiki Report]" project. Another very interesting example is the [https://enwikiapiary.wikipedia.orgcom/wiki/JavadocFreephile_Wiki Wiki Apiary] (clever name!)
== Documenting PHP Code ==The main resource Similarly, there is the a [http[wp://www.phpdoc.org Project website], including tutorials and full Documentation. The system can be installed via the PEAR installer, but should not be setup in an Internet-facing environment. See the [[PhpDocumentorModule:Sandbox|Module:Sandbox]] article for details on our installation and usage.testing Lua scripts
== Documenting other languages =Example Questions ===Aside from Here are some example requests to the Python-specific PyDoc, there are [httpAPI# https://www.xs4allfreephile.nlorg/~rfsberw/Robo/robodocapi.php?action=query&meta=siteinfo&siprop=extensions With no 'format' argument, you will get a "pretty" HTML output that you can read in your browser.html ROBODoc] (Windows and Fink) and [http# https://wwwfreephile.stack.nlorg/~dimitriw/doxygen Doxygen] tools which should prove to meet all needsapi. For doxygenphp?action=query&meta=siteinfo&siprop=extensions&format=json With *json* explicitly requested as the format, you can<source lang="bash">sudo apt-get install doxygen-gui doxygen doxygen-doc</source>values suitable for actual programming.
== Programming APIs Developer Tools ==SWIG Among other tools, you're going to need to look at HTTP requests and responses to develop web services using APIs. So, check out tools like [[wp:SwigWireshark]] ([httphttps://www.swigwireshark.org/exec.html Executive Summary]) 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 the [httphttps://pysvndeveloper.tigrismozilla.org/en-US/docs/pysvn_prog_guide.html pySVNTools/Network_Monitor Network Monitor] while work <ref>The "Live HTTP Headers" add-on still exists, but that is underway to expand no longer neccessary given the development of the core features of the PHP interface. See more in the Subversion manual http-browser developer tools</ref> in [https://svnbookdeveloper.redmozilla.org/en-bean.comUS/docs/nightlyTools Developer Tools] for [[Firefox]], or [https:/en/svn-bookdeveloper.html#svnchrome.developer.usingapicom/devtools Chrome Developer Tools]
== Resources Integrators ==* 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.* Some other documentation resources:** Companies like [httphttps://svnplatform.wikimediaifttt.org/doccom/ MediaWiki Doxygen docsIFTTT]** http(If This Then That) and [https://apiwww.kdecrunchbase.orgcom/ APIs of the K Desktop Environment** http:organization/zapier#/doc.trolltechentity Zapier] offer API integrations so that you can tie together applications via their APIs without any coding.com/ APIs of the Qt GUI Toolkit
== Local Resources ==These tips may not be strictly "API" documents, but they do reveal man pages, howtos, and other help; plus programmatic interfaces.* Create your own internal-use API Documentation by creating a symbolic link from /usr/share/docs to /var/www/docs* info:/dir (type this into the location bar of Konqueror) browse the Info system. You can of course type "info" in your shell, but I find that browsing "info" through Konqueror is a lot nicer.* man:/command (type this into the location bar of Konqueror) browse the Man system. You can of course type "man command" in your shell, but I find that browsing "manuals" through Konqueror is a lot nicer.{{References}}
[[Category:Applications]]
4,558

edits