Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Manual & generated service doc à la Nuxeo Bundle Explorer (apidoc server) #110

Open
mdutoo opened this issue Mar 22, 2012 · 0 comments
Open

Comments

@mdutoo
Copy link
Member

mdutoo commented Mar 22, 2012

At least take inspiration from its principles, which are

  • introspect its OSGI-like runtime framework to get code documentation for OSGI-like services
  • and build a doc-dedicated model of those
  • decorate it with manually-added documentation entry
  • store all items "flatly" at the root and show them using virtual navigation & virtual nodes (bundles & groups...)

If possible reuse it

  • model : manual documentation model & how it enriches / references the service model in a "light" manner can probably be reused, else decouple it from Nuxeo's & make it pluggable
  • code : decouple documentation generation from Nuxeo's specific one (ex. GeneratedDocumentationProvider), make it pluggable
  • UI : if can be made flexible enough ? TODO OW requirements may differ depending on user role / point of view (consumer vs implementor), see also mock "service use" portal / API contracts / service references & Nuxeo proxies.

FYI about apidoc server

concepts : Distribution, BundleGroup, Bundle, Component (= atomic impl, builtInDocumentation, isXml, services as stringList), ExtensionPoint (confble engine), Contribution (=conf, refers to extensionPoint by String), Service, SeamComponent, Operation (params as ComplexType, signature as stringList), Documentation (target = artifact ref, applicableVersions, nuxeoApproved, type, renderingType, id)
voir https://github.com/nuxeo/nuxeo-apidoc-server/tree/master/nuxeo-apidoc-core/src/main/resources/schemas et https://github.com/nuxeo/nuxeo-apidoc-server/blob/master/nuxeo-apidoc-core/src/main/resources/OSGI-INF/doctype-contrib.xml

infos basées sur de l'introspection des bundles du runtime en exécution : reads OSGI manifest, see https://github.com/nuxeo/nuxeo-apidoc-server/blob/master/nuxeo-apidoc-core/src/main/java/org/nuxeo/apidoc/introspection/ServerInfo.java
supports snapshot updates (?)

ui : webengine jaxrs, see https://github.com/nuxeo/nuxeo-apidoc-server/tree/master/nuxeo-apidoc-webengine/src/main/java/org/nuxeo/apidoc/browse
dont virtualNode https://github.com/nuxeo/nuxeo-apidoc-server/blob/master/nuxeo-apidoc-webengine/src/main/java/org/nuxeo/apidoc/tree/VirtualNode.java
cache & auth filter https://github.com/nuxeo/nuxeo-apidoc-server/blob/master/nuxeo-apidoc-webengine/src/main/java/org/nuxeo/apidoc/filter/CacheAndAuthFilter.java

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant