collective.tablepage

HomePage: http://plone.org/products/collective.tablepage

Author: RedTurtle Technology

Download: https://pypi.python.org/packages/source/c/collective.tablepage/collective.tablepage-0.8a1.zip

        A new Plone content type similar to the standard Page but with a **table as main content**.

.. contents:: **Table of contents**

Introduction
============

This product want to give to site members a simple way to manage a page with a table inside in a collaborative way.
To be more precise, it's focused on contents where the table is the main scope of the page.

The only other option is to create the page using the WYSIWYG editor (like TinyMCE), then leave
to editors power to modify it, but:

* using TinyMCE commands for table is not so easy (users sometimes mess up your pre-defined layout)
* you can't prohibit users to delete or change rows added from other users, or adding new column you don't want.

If you need to beat those limits but you still simply need a Plone page, this product is probably what you need.

If you need to store a *huge* amount of data, you should probably look for other solutions.

How to use
==========

After installation you will see a new addable content type: the **Page with Table**.

Some fields of this new content types are very similar to Page ones, although the "**Body Text**" field is splitted
in two separated sections (text before and after the table).

Configuring the table
---------------------

The most important field is "**Columns**", where you can define the column structure of you table.

.. image:: http://blog.redturtle.it/pypi-images/collective.tablepage/collective.tablepage-0.1-02.png/image_large
   :alt: Page with Table configuration 
   :target: http://blog.redturtle.it/pypi-images/collective.tablepage/collective.tablepage-0.1-02.png

For every column you can define some information like header's content and other description, but you must also define
the *type* of data in the column.

You can add as many columns as you want; users that will fill your table won't be able to change what you have defined.

Filling the table
-----------------

Configuration is not changing anything in your layout, but users with *Contributor* role on this document will see a
new tab: "**Edit table**".

.. image:: http://blog.redturtle.it/pypi-images/collective.tablepage/collective.tablepage-0.1-01.png/image_large
   :alt: Page with Table view 
   :target: http://blog.redturtle.it/pypi-images/collective.tablepage/collective.tablepage-0.1-01.png

When accessing the "*Edit table data*" view, users will be able to add new rows to the table and edit their own rows.
The form given to the user is generated using the configuration options that the document creator defined before.

.. image:: http://blog.redturtle.it/pypi-images/collective.tablepage/collective.tablepage-0.1-03.png/image_large
   :alt: Add new row in the table 
   :target: http://blog.redturtle.it/pypi-images/collective.tablepage/collective.tablepage-0.1-03.png

Some note:

* Every added row is put at the end of the table or at the end of section (see below)
* Every Contributor is able to edit or delete his own rows
* Users with "*Editor*" roles are able to edit or delete all rows
* Users with "*Editor*" roles are able change row order

.. image:: http://blog.redturtle.it/pypi-images/collective.tablepage/collective.tablepage-0.1-04.png/image_large
   :alt: Table editing
   :target: http://blog.redturtle.it/pypi-images/collective.tablepage/collective.tablepage-0.1-04.png

When switching back to main document view the generated table is part of the document body text.

.. image:: http://blog.redturtle.it/pypi-images/collective.tablepage/collective.tablepage-0.1-05.png/image_large
   :alt: Page with Table view
   :target: http://blog.redturtle.it/pypi-images/collective.tablepage/collective.tablepage-0.1-05.png

Table labels and sections
-------------------------

.. image:: https://raw.github.com/RedTurtle/collective.tablepage/b4d92e346ce9ae6cbd9de053eeee158088b85b67/collective/tablepage/browser/images/labeling.png
   :alt: New label icon
   :align: left

Users with power of configuring the table can also add a special type or row: **Label**. Apart the UI changes,
labels break the table in groups of logical rows: every group start at the po