Hi,

A quick update on status and current direction for the blueprint 
api-doc-in-trunk<https://blueprints.launchpad.net/quantum/+spec/api-doc-in-trunk>.
There is a branch attached to the blueprint; this branch currently contains a 
skeleton for RST documents which should be used for developer documentation.
I'm currently generating documents with Sphynx 1.0.7 .

I think you all followed the discussion on the Openstack mailing list 
concerning separation of code and specification, and where the documentation 
should reside.
A lot of very valid argument have been proposed, even if no agreement has still 
been reached.

Nevertheless, the need for allowing the core team to control not just the API 
code, but also its specification, is quite clear.
For Quantum, we used the Openstack Wiki for tracking the API specification. 
Although the Wiki is a good tool for collaboration, it has no review process; 
and this has been a serious limit.
For this reason, I think it would be good for use to start moving the API 
specification in the source code tree, even if other projects, such as 
Keystone, decided to take it out of it (it seems it's going to be moved into 
Openstack-manuals project)

As regards the format, all the other projects are using DocBook for API 
specification, and RST for man pages and other documentation. It is my opinion 
we should be consistent with the other projects, even if reviewing DocBook XML 
is not going to be really pleasant. For an example, have a look at the OS 
compute dev 
guide<http://bazaar.launchpad.net/~annegentle/openstack-manuals/trunk/view/head:/doc/source/docbkx/openstack-compute-api-1.1/os-compute-devguide.xml>.

Another argument being discussed in the Openstack Mailing List is whether API 
specification should be generated straight from code (i.e.: docstrings) or kept 
separate.
I have to admit I don't have a strong opinion on this point. You can go to the 
Openstack Mailing List and follow the "architect vs developer" discussion; 
however, I totally agree with the people who commented that actually the most 
important recipient of the API specification are the users. This leads me to 
think that what we probably should do for Quantum is to move the API 
specification in the source code tree, but keep it separate from the code, in 
order to not clutter it with implementation-level details, which make sense to 
developers but not to users of the API.

Your feedback is, as always, more than welcome.
Best regards,
Salvatore




-- 
Mailing list: https://launchpad.net/~netstack
Post to     : netstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~netstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to