Add docs for new batch system.
And some other tweak(s).
This commit is contained in:
parent
6c7f1afcf4
commit
937a55c14d
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,4 +1,5 @@
|
||||||
.coverage
|
.coverage
|
||||||
.tox/
|
.tox/
|
||||||
|
docs/_build/
|
||||||
htmlcov/
|
htmlcov/
|
||||||
Tailbone.egg-info/
|
Tailbone.egg-info/
|
||||||
|
|
29
docs/api/views/batch.rst
Normal file
29
docs/api/views/batch.rst
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
.. -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
``tailbone.views.batch``
|
||||||
|
========================
|
||||||
|
|
||||||
|
.. automodule:: tailbone.views.batch
|
||||||
|
|
||||||
|
.. autoclass:: BatchGrid
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: FileBatchGrid
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: BatchCrud
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: FileBatchCrud
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: BatchRowGrid
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: ProductBatchRowGrid
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: BatchRowCrud
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autofunction:: defaults
|
20
docs/api/views/vendors.catalogs.rst
Normal file
20
docs/api/views/vendors.catalogs.rst
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
.. -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
``tailbone.views.vendors.catalogs``
|
||||||
|
===================================
|
||||||
|
|
||||||
|
.. automodule:: tailbone.views.vendors.catalogs
|
||||||
|
|
||||||
|
.. autoclass:: VendorCatalogGrid
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: VendorCatalogCrud
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: VendorCatalogRowGrid
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: VendorCatalogRowCrud
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autofunction:: includeme
|
|
@ -34,6 +34,7 @@ execfile(os.path.join(os.pardir, 'tailbone', '_version.py'))
|
||||||
extensions = [
|
extensions = [
|
||||||
'sphinx.ext.autodoc',
|
'sphinx.ext.autodoc',
|
||||||
'sphinx.ext.todo',
|
'sphinx.ext.todo',
|
||||||
|
'sphinx.ext.viewcode',
|
||||||
]
|
]
|
||||||
|
|
||||||
# Add any paths that contain templates here, relative to this directory.
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
|
|
|
@ -5,17 +5,32 @@ Tailbone
|
||||||
Welcome to Tailbone, part of the Rattail project.
|
Welcome to Tailbone, part of the Rattail project.
|
||||||
|
|
||||||
The documentation you are currently reading is for the Tailbone web application
|
The documentation you are currently reading is for the Tailbone web application
|
||||||
package. More information is (sort of) available at http://rattailproject.org/.
|
package. Some additional information is available on the `website`_. Clearly
|
||||||
|
not everything is documented yet. Below you can see what has received some
|
||||||
|
attention thus far.
|
||||||
|
|
||||||
Clearly not everything is documented yet. Below you can see what has received
|
.. _website: https://rattailproject.org/
|
||||||
some attention thus far.
|
|
||||||
|
|
||||||
API:
|
Narrative Documentation:
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
|
||||||
|
narr/batches
|
||||||
|
|
||||||
|
Package API:
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
api/subscribers
|
api/subscribers
|
||||||
|
api/views/batch
|
||||||
|
api/views/vendors.catalogs
|
||||||
|
|
||||||
|
|
||||||
|
Documentation To-Do
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. todolist::
|
||||||
|
|
||||||
|
|
||||||
Indices and tables
|
Indices and tables
|
||||||
|
|
74
docs/narr/batches.rst
Normal file
74
docs/narr/batches.rst
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
.. -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
Data Batches
|
||||||
|
============
|
||||||
|
|
||||||
|
This document briefly outlines what comprises a batch in terms of the Tailbone
|
||||||
|
user interface etc.
|
||||||
|
|
||||||
|
|
||||||
|
Batch Views
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Adding support for a new batch type is mostly a matter of providing some custom
|
||||||
|
views for the batch and its rows. In fact you must define four different view
|
||||||
|
classes, inheriting from each of the following:
|
||||||
|
|
||||||
|
* :class:`tailbone.views.batch.BatchGrid`
|
||||||
|
* :class:`tailbone.views.batch.BatchCrud`
|
||||||
|
* :class:`tailbone.views.batch.BatchRowGrid`
|
||||||
|
* :class:`tailbone.views.batch.BatchRowCrud`
|
||||||
|
|
||||||
|
It would sure be nice to only require two view classes instead of four, hopefully
|
||||||
|
that can happen "soon". In the meantime that's what it takes. Note that as with
|
||||||
|
batch data models, there are some more specialized parent classes which you may
|
||||||
|
want to inherit from instead of the core classes mentioned above:
|
||||||
|
|
||||||
|
* :class:`tailbone.views.batch.FileBatchGrid`
|
||||||
|
* :class:`tailbone.views.batch.FileBatchCrud`
|
||||||
|
* :class:`tailbone.views.batch.ProductBatchRowGrid`
|
||||||
|
|
||||||
|
Here are the vendor catalog views as examples:
|
||||||
|
|
||||||
|
* :class:`tailbone.views.vendors.catalogs.VendorCatalogGrid`
|
||||||
|
* :class:`tailbone.views.vendors.catalogs.VendorCatalogCrud`
|
||||||
|
* :class:`tailbone.views.vendors.catalogs.VendorCatalogRowGrid`
|
||||||
|
* :class:`tailbone.views.vendors.catalogs.VendorCatalogRowCrud`
|
||||||
|
|
||||||
|
|
||||||
|
Pyramid Config
|
||||||
|
--------------
|
||||||
|
|
||||||
|
In addition to defining the batch views, the Pyramid Configurator object must be
|
||||||
|
told of the views and their routes. This also could probably stand to be simpler
|
||||||
|
somehow, but for now the easiest thing is to apply default configuration with:
|
||||||
|
|
||||||
|
* :func:`tailbone.views.batch.defaults()`
|
||||||
|
|
||||||
|
See the source behind the vendor catalog for an example:
|
||||||
|
|
||||||
|
* :func:`tailbone.views.vendors.catalogs.includeme()`
|
||||||
|
|
||||||
|
Note of course that your view config must be included by the core/upstream
|
||||||
|
config process of your application's startup to take effect. At this point
|
||||||
|
your views should be accessible by navigating to the URLs directly, e.g. for
|
||||||
|
the vendor catalog views:
|
||||||
|
|
||||||
|
* List Uploaded Catalogs - http://example.com/vendors/catalogs/
|
||||||
|
* Upload New Catlaog - http://example.com/vendors/catalogs/new
|
||||||
|
|
||||||
|
|
||||||
|
Menu and Templates
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Providing access to the batch views is (I think) the last step. You must add
|
||||||
|
links to the views, wherever that makes sense for your app. In case it's
|
||||||
|
helpful, here's a Mako template snippet which would show some links to the main
|
||||||
|
vendor catalog views:
|
||||||
|
|
||||||
|
.. code-block:: mako
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>${h.link_to("Vendor Catalogs", url('vendors.catalogs'))}</li>
|
||||||
|
<li>${h.link_to("Upload new Vendor Catalog", url('vendors.catalogs.create'))}</li>
|
||||||
|
</ul>
|
3
tailbone/views/vendors/catalogs.py
vendored
3
tailbone/views/vendors/catalogs.py
vendored
|
@ -182,4 +182,7 @@ class VendorCatalogRowCrud(BatchRowCrud):
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
|
"""
|
||||||
|
Add configuration for the vendor catalog views.
|
||||||
|
"""
|
||||||
defaults(config, VendorCatalogGrid, VendorCatalogCrud, VendorCatalogRowGrid, VendorCatalogRowCrud, '/vendors/catalogs/')
|
defaults(config, VendorCatalogGrid, VendorCatalogCrud, VendorCatalogRowGrid, VendorCatalogRowCrud, '/vendors/catalogs/')
|
||||||
|
|
Loading…
Reference in a new issue