Git Product home page Git Product logo

tabulate's Introduction

Tabulate

Tabulate

Manage relational tabular data using the full power of your MySQL database. CSV import/export; access-control; foreign-keys; and lots more.

Description

Documentation Status Build Status Total Downloads WordPress rating Latest Stable Version WordPress version License Scrutinizer Code Quality

This plugin provides a simple user-friendly interface to tables in your database. Somewhat akin to phpMyAdmin, but easier to use and more focused on end users.

The documentation can be found at tabulate.readthedocs.org.

Features (in no particular order):

  1. Tables can be filtered by any column or columns, and with a range of operators ('contains', 'is', 'empty', 'one of', 'greater than', 'less than', and the negations of all of these). Multiple filters are conjunctive (i.e. with a logical and).
  2. Access can be granted to read, create, update, delete, and import records in any or all tables. (This can be done by anyone with the promote_users capability.) Access can also be granted to anonymous users.
  3. CSV data can be imported, with the UI supporting column mapping, data validation, and previewing prior to final import. If an imported row has a value for the Primary Key, the existing row will be overwritten.
  4. Data can be exported to CSV, including after filters have been applied.
  5. A quick-jump navigation box is located top right of every page, and can also be added as a Dashboard widget.
  6. Records in tables with date columns can be viewed in a calendar.
  7. Entity Relationship Diagrams (drawn with GraphViz) can be automatically generated, with any specified subset of tables. Foreign keys are displayed as directed edges. This feature is only available if the TFO Graphviz plugin is installed.
  8. All data modifications are recorded, along with optional comments that users can provide when updating data.
  9. The [tabulate] shortcode can be used to embed tables, lists, row-counts, and data-entry forms into WordPress content. For more details, read the documentation.
  10. Tables with point columns can be exported to KML and OpenStreetMap XML. Also, data entry for these columns is done with a small slippy map, on which a marker can be placed.

Development is managed on GitHub at github.com/tabulate/tabulate

Installation

See tabulate.readthedocs.org/en/latest/install.html

Frequently Asked Questions

See tabulate.readthedocs.org/en/latest/faq.html

Screenshots

  1. The main screen of a single table, with provision for searching and navigating.
  2. The permission-granting interface. All roles are shown across the top, and all tables down the left side.

Changelog

This is a reverse-chronologically ordered list of breaking or major changes to Tabulate. A full list of all changes can be found at (https://github.com/tabulate/tabulate/commits/master)

  • November 2017: Version 2.10, removed dependency on the REST API plugin (which is not in core).
  • January 2016: Version 2.5, introduced schema editing.
  • October 2015: Version 2, switching to version 2 of the WP-API plugin.
  • July 2015: Version 1, with basic functionality and after having been run for some months in a production environment by the plugin author.
  • March to July 2015: Pre-release development.

Prior to version 1, no changes were listed here (there were too many of them, and nothing was stable yet).

Upgrade Notice

No special action needs to be taken to upgrade. Tabulate can be deactivated and reactivated without losing any data; if uninstalled, it will remove everything that it's added (but you will be warned before this happens, don't worry).

No custom database tables are modified during upgrade, activation, deactivation, or uninstallation.

For more information, please see the user manual.

tabulate's People

Contributors

chuckadams avatar ilyasemenov avatar psikoz avatar samwilson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tabulate's Issues

Edit link or button

I'm trying to make a CRUD form using tabulate.

In the list of records can we implement a link or button which takes us to the edit/delete page of the record.

Configure default values for fields

Any chance you could add the ability to set a default on a field that's kind of a critical piece that's missing. Great plugin otherwise but would be hard to use without defaults. Though I can probably go over into mysqladmin and set those for now.

Thanks,

Eric

Cannot reorder columns in Tabulate Wordpress Plugin

Version 2.7.13 In Overview the up-down arrows will move a given column but when I hit the save button the moved row returns to its original position. The row was added to the table and originated at the bottom. It consists of a phone number as a short-text 255 and is not a key or auto-incrementing.

Unable to change a table's structure when the PK is an FK from elsewhere

Unable to alter 'books.id' — Cannot change column 'id': used in a foreign key constraint 'book_fk_to_books' of table 'wordpress.book_quotations' — ALTER TABLE books CHANGE COLUMN id id INT(10) NOT NULL AUTO_INCREMENT COMMENT ''

also:

WordPress\Tabulate\DB\Exception: Unable to alter 'types.id' — ALGORITHM=COPY is not supported. Reason: Columns participating in a foreign key are renamed. Try ALGORITHM=INPLACE. — ALTER TABLE types CHANGE COLUMN id ident INT(10) NOT NULL AUTO_INCREMENT COMMENT ''

Data can be read from the db table but updates fail

Everything looks good, but after updating a row the data is not updated in the database and the row reverts to its original value.

If this is to do with 'secure_file_priv' then I don't think it is possible for me to use the product because my hosting company does not allow access to the MySQL ini file.

Please advise.
Thanks

Rename tables

Now that the table name is recorded in the change-tracker, renaming a table also requires that the change history be updated.

Select a record not using the primary identifyer when using shortcodes.

Could anyone please assist me in modifying the code in such a way that instead of selecting a record based on the primary identifier (which is passed as 'ident' in the shortcode) it can be used to select a record using a different identifier also passed using a short code.
Example:
[tabulate format=record table=bookings ident=2]
Would return one value from the table bookings where the primary identifier is 2.
Goal:
[tabulate format=record table=bookings ref=ref-142536]
And the goal would be for this to return the record that has the reference 'ref-142536'
Any contributions would be greatly appreciated :)
(Also first issues ever)

Fatal Error

Fatal error: Uncaught Error: Call to a member function get_record() on boolean in /home/execut61/public_html/charterfishingnow.com/wp-content/plugins/tabulate/src/DB/Reports.php:70 Stack trace: #0 /home/execut61/public_html/charterfishingnow.com/wp-content/plugins/tabulate/src/Controllers/ReportsController.php(30): WordPress\Tabulate\DB\Reports->get_template(1) #1 /home/execut61/public_html/charterfishingnow.com/wp-content/plugins/tabulate/src/Menus.php(140): WordPress\Tabulate\Controllers\ReportsController->index(Array) #2 /home/execut61/public_html/charterfishingnow.com/wp-includes/plugin.php(525): WordPress\Tabulate\Menus->dispatch('') #3 /home/execut61/public_html/charterfishingnow.com/wp-settings.php(393): do_action('init') #4 /home/execut61/public_html/charterfishingnow.com/wp-config.php(99): require_once('/home/execut61/...') #5 /home/execut61/public_html/charterfishingnow.com/wp-load.php(37): require_once('/home/execut61/...') #6 /home/execut61/public_html/charterfishingnow.com/wp-admin/admin.php(31): require_once in /home/execut61/public_html/charterfishingnow.com/wp-content/plugins/tabulate/src/DB/Reports.php on line 70

On version 4.5.2 went to Reports but I don't see any Views or Reports on the previous screen so perhaps it doesn't handle if someone doesn't have reports.

Column::allows_empty_string() doesn't work as documented

The following WordPress\Tabulate\DB\Column method works contradictionary to how it is documented:

    /**
     * Only NOT NULL text fields are allowed to have empty strings.
     * @return boolean
     */
    public function allows_empty_string() {
            $textTypes = array( 'text', 'varchar', 'char' );
            return $this->nullable() && in_array( $this->get_type(), $textTypes );
    }

Supposedly, it should be return !$this->nullable() ...

Can I make a page like tabulate?

Hi,

I want to make a page like the screenshot of tabulate.
I want to see the table of database and modify it.

Could you tell me about it?

Thank you.

Button to insert shortcode in the visual editor

We need a more user-friendly way to enter the shortcode when in visual editing mode (because pasting text from the documentation often brings the HTML along with it and breaks the shortcode; see #44).

Nullable Foreign Keys can not be reset to NULL

Steps to reproduce

  1. Create two database tables as follows:

    CREATE TABLE wp_test_category (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255));
    CREATE TABLE wp_test_item (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255), category_id INT, FOREIGN KEY (category_id) REFERENCES wp_test_category(id) ON DELETE SET NULL);
    INSERT INTO wp_test_category (name) VALUES ('foo');
    INSERT INTO wp_test_item (name, category_id) VALUES ('bar', 1);

  2. Open Tabulate at http://localhost/wp-admin/admin.php?page=tabulate&controller=record&action=save&table=wp_test_item&ident=1

  3. Change Category ID field from "foo" to (empty), click Save.

Expected result

The Category ID is reset to empty value (NULL is stored to the database).

Actual result

The Category ID remains pointing to "Foo".

Notes

I traced the problem to $wpdb->update not supporting NULLs, however I believe until this is fixed upstream this shouldn't prevent Tabulate from handling this situation properly.

“Overview” and “Reports” in 2.5.1 not working :-(

Only “Grants” page is working for me.. “Overview” and “Reports” are not working, just white pages… I have tried to

  • disable all other plugins, still no luck.
  • Also after a Google quest i did not find my answer

Can somebody please help to find my answer to get Tabulate 2.5.1. to work?

Thnx up front!

Chad

Example shortcode

New to Tabulate - and not very experienced. I am confused by the shortcode attributes and their proper formats.

If I could just get an example shortcode to do this one thing I think it will sink in!

I have a table called
Xwp Participants Database

I just want to give the user a form where he can create a new record in that table.

Could someone just please tell me what that shortcode should be?

Very much appreciate your help!

Report menu give fatal error

Hello, when I pressed Report menu, gives an error like that:
Fatal error: Call to undefined method Twig_Environment::createTemplate() in /home/content/

I can see Grants and Overview menu. I use Php 5.4.

I just want to shown html tables for my query, it is not to be hard :(

Error 500 on plugin page

I get - The page isn’t working

[server] is currently unable to handle this request.
HTTP ERROR 500

on
/wp-admin/admin.php?page=tabulate

The grants page works. The overview and reports one doesnt.

I'm running WordPress 4.6

thank you

upgrade to 2.9.1 breaks site.

After update to 2.9.1 I get the following error:
Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /home/wshstreasurer/public_html/wp-content/plugins/tabulate/src/Menus.php on line 54

Please fix!
I will be removing until fixed.

table second page issue

Fatal error: Class 'WordPress\Tabulate\Controllers\Controller' not found in /home/u6692146/public_html/wp-content/plugins/tabulate/src/Menus.php on line 136
i am gettting this error. What should i do ?

Parse error: syntax error, unexpected....

Good Afternoon,

I have installed Tabulate and WP Rest API and when I click on overview from the menu it give me this error:
Parse error: syntax error, unexpected '[' in /home/dimo/public_html/wp-content/plugins/tabulate/src/DB/Column.php on line 554

I also get this error on the reports link, but not on the grants link.

I have made a test page to use the shortcode:
http://dimo.com/test-2/

and same error, any help would be appreciated. THank you.
-SGF

Cannot insert data when the primary key is of type varchar

Received following error

Argument 2 passed to WordPress\Tabulate\DB\ChangeTracker::after_save() must be an instance of WordPress\Tabulate\DB\Record, boolean given, called in ... /plugins/tabulate/src/DB/Table.php on line 966 and defined, .../plugins/tabulate/src/DB/ChangeTracker.php, 69,

tabulate, csv export error!!

help me!
I use tabulate (version 0.11.1) from WordPress.

  • Wordpress: Version 4.2.2.
  • phpMyAdmin : Version 2.11.5.1
  • PHP: Version 5.5.17p1.

I export the data to a csv an error occurs, such as the image below.
- -1

Foreign Key, Column, CSS

Hello Team,
Thanks for the great job with the plugin.

I'm new to using it. I have few queries

  1. Please let me know how I can get data from two tables using foreign key.
  2. Is it possible to decide which all columns to be displayed in the list and form
  3. Can we customize the style (CSS)

INSERT bug when Create a row: some types do not get inserted and need to be updated later

When Create a new row for a table, in the very INSERT of it. It works, the record is inserted, but not all the values are inserted.

The pk and all the string type are fine, but the numeric staff, that is some NUMERIC (x,y) and so on, also an ENUM('0','1') do not get inserted.

No big problem because the UPDATE goes smooth on the other side, but it is a bug, Sam.

Cross Referencing converts to integer after saving

I'd like to ask if how come I use cross reference type and select the table, after saving changes, it goes to integer type.

Suppose a dropdown from the table it is referenced to? or is it something in my data? My database is just from the regular wordpress installation and added tables via my sql, and the rest from Create Table from Tabulate itself.

I have access to myphpadmin and mysql.

Hope you can answer dilemma. Thanks!

Tabulate shortcode error

When I use the shortcode like this:
[tabulate table=wp_csw_mbracct_personuser]
I get the following error:
Tabulate shortcode error:
The 'table' attribute must be set. Attributes found: [ 0 = "" 1 = "" 2 = "" 3 = "style="font-family:" 4 = "Courier" 5 = "" 6 = "class="pre">" ]
For more information, please read the docs.

The documentation does not mention anything about table attributes.

How to add a additional MySQL table

We have a mysql table and would like to CRUD where to add / config the table . Should we bring it in wordpress DB ? As after installation of tabulate by default it displays the wordpress DB info could not find to change the DB option.

Class 'WP_Filesystem_Base' not found -- on multisite network activation

I'm running a stable, completely up to date multisite. I installed Tabulate but am unable to network active it. I receive the message, "Fatal error: Class 'WP_Filesystem_Base' not found in /var/www/html/<mysite./wp-admin/includes/class-wp-filesystem-direct.php on line 17. The plugin also fails to activate on a subsite, with the same error.

Map display

Where a table contains spatial data, provide an option to display on a map.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.