Thursday July 29 , 2010
Font Size
   
EasyTable for J!

Where's the Demo Website?

You can find demonstrations of our software for Joomla! 1.5 on our reference website.

http://j15ref.craigphillips.biz

 

How can I show all the records in a table?

The EasyTable for J! component follows the Joomla! convention for lists of records, ie. the default number of records displayed is controlled by the website's "Global Configuration" in Site->Site Settings->List Length. The Joomla! default is 20 records and once a user changes this value that becomes the user default.

For tables of information it is often necessary to show all of the records in one page, with EasyTable preferences you can do this. Control over a Tables pagination can be set at three levels - following Joomla! convention - the EasyTable Global Parameters (set in EasyTable Manager), the EasyTable Menu item and in the EasyTable table editor. As you would expect of a Joomla! component the default values are taken from the Global Parameters and they are over-ridden by any settings in the Menu, finally they are over-ridden by the setting in the table itself.

To show all the records in a table you must open the Table Preferences panel and set the "Show Table Pages" depending on the type of table it may be best to set this value to "No".

If you have a short table it's probably best to change this preference only in the table. If you have lots of tables and some are quite large we don't recommend setting this value to no in the Global Preferences as it can result it a lot of work for your server and a large amount of data being sent to the end user.

 

EasyTable for J! - Table Preferences->Show Pages

Where can I find other versions of EasyTable for J!

Previous Version

If you click on the "Downloads" menu heading (http://seepeoplesoftware.com/downloads.html) rather that the menu item "Current Easytable.zip" you will get to all the files available for download.

Below the sample files you will find the version prior to the current version.

Current Version

If you mouse over the "Downloads" menu heading (http://seepeoplesoftware.com/downloads.html) and then click on the menu item "Current Easytable.zip" you will download page for the current publicly available version.

You will find the sample files in the general "Downloads" area.

Subscriber and Pre-Release Versions

Current Support Subscribers are able to get the latest version of EasyTable from the private Subscribers Forum. You can download these versions as long as your support subscription is current.

You will find the sample files in the general "Downloads" area.

How do set the page title for an EasyTable?

From the Menu

EasyTable lets you create a menu items that show:

  • List's of Published tables
  • A specific table
  • A specific record in a table (in EasyTable Pro)

Like all other menu items in Joomla, creating an EasyTable menu item is quite simple, the first step is to choose a menu item type and then give it a name. If you've created a menu item in Joomla before this next image should be familiar:

EasyTable Menuquot; /></p> <p>The only thing you need to do is give it a name - the rest is all optional. Of course position it the menu hierarchy isn't really optional if you want your website to make sense but you don't have to expressly set it.</p> <p>When creating a menu item with Joomla one of the most over-looked options are the

When creating menu items in Joomla one of the most overlooked aspects are the Parameters (System) - found in the panels on the left of the menu screen. Amongst other things they let you control the appearance and text of a page title when it's linked to from a menu item.

Parameters (System) Panel

If you add any text to the "Page Title" box it will over-ride the table name for the title of the page, otherwise the table name becomes the page title.

Remember this doesn't change the name of the table just the page title that is shown on that table when accessed through that menu item.

From the Table list?

If you create a menu-item that show a list of all published tables, the list of tables will inherit the "Page Title" text but, then tables accessed from that list will always have the actual table name as the page title.  There isn't a Joomla compliant want to change the page title of tables from the table lists.

In versions prior to 1.0.1 the table name was overlooked when generating the page title.

Minimum Requirements for EasyTable

EasyTable is a Joomla 1.5 Native component it does not work with any 1.0 era versions of Joomla. There will not be a version for Joomla 1.0 (unless you want to pay for it to be written, in which case contact us).

Having said that EasyTable 1.0  (and all previous versions) have the following requirements.

Requirements

Joomla Version

1.5.14 ( although it may work on previous versions of Joomla 1.5 { 1.5.10 does have a known issue with packages that we can't address } )

Database

MySQL 5.0+ ( FC1 has run on the last version of MySQL 4.1 so it should work )

PHP Version

5.1+ ( it's 2010 people - you'll just have to live with it ).

 

What are the simplexml_load_file warnings...

This low-level warning appears when EasyTable appears in the Administrator screens when the component tries to get information about the currently available version of EasyTable and compare it with the currently installed software. As a low level warning it doesn't affect the operation of the component.

If you receive this warning it means several things:

  1. Your Joomla installation is not running the recommended PHP configuration for Joomla 1.5 and thus is showing you low-level warning messages that generally don't affect the operation of the Joomla or any extensions you may have installed.
  2. the warning message is the result of EasyTable not being able to check the version information on our servers.
    1. the component tries to load a version information file from our servers
    2. your server configuration doesn't allow remote access to the XML file
    3. we capture the error message but
    4. the PHP warning level is set to show even low level warnings.

Apart from configuration issues these warnings can also appear in testing environments if:

  1. you are not connected to the internet
  2. a proxy/firewall/network cache blocks access to the SeePeopleSoftware.com website
  3. you're using an incorrectly configured virtualisation environment ( WAMP, MAMP, WinAMP, VMWare, Parallels etc... ).

You can prevent the warnings from appearing by setting the error_reporting level/value to a level that doesn't report warnings.

You can fix the error completely by setting allow_url_fopen in php.ini to on.

500 - Error: Installation may be corrupt/incomplete

500 - An error has occurred.
Failed to open easytable.xml during version check - installation may be corrupt/incomplete.

EasyTable performs an quick version check each time the component is opened in the Administrator area of Joomla.

If the easytable.xml file can't be found this indicates that the installation was not successfully completed by Joomla or that the file has been deleted. As EasyTable manipulates your database directly we don't take the risk of a faulty installation and simply stop the component from proceeding.

Solution

You can try re-installing the component to rectify the problem, but if this fails you will need to either try the General Joomla Installations troubleshooting steps or contact your hosting provider to determine the cause of the problem.

Versions Prior to 1.0FC9

If you are using versions prior to 1.0FC9 you will experience a similar error that reads as shown below.

500 - An error has occurred.
Failed to open public_easytable.xml during version check - installation may be corrupt/incomplete.

Notice the file that couldn't be opened is prefixed with "public_" (in some very rare cases it could be prefixed with "subscriber_" but this has never been reported).

This error occurs because your website can't contact the SeePeopleSoftware.com website to check current version data. Due to a coding bug in all versions prior to FC9 the EasyTable component would mistakenly abort it's execution rather than setting the version display message appropriately.

Solution

Upgrade to a more recent version of the EasyTable component.

500 - Error: "Column count mismatch"

500 - An error has occurred.

Update of data table failed (Column count mismatch) for table: X

In this example message the X represents the numerical ID of your particular table (eg. X could 2 as with the Table ID shown below).

If you received this error message while trying to upload a CSV file to an existing table it means that the number of columns/fields in the table differs from the number in the CSV file you are trying to upload. Have you added or removed any columns since you first created the table?

If you have a large number of columns, you can quick check the number of columns in a table by checking the statistics section of the EasyTable editor (as shown in the screenshot below).

EasyTable - Table Statistics

Why do letters like é, å, ä, ö disappear?

Quick Answer

The EasyTable component as mentioned elsewhere, uses the CSV parser built into PHP, which probably follows the RFC for CSV files very closely.

According to the RFC any field in a CSV file should only contain text data (remember this is an old standard from before the internet, and text basically means a-z, A-Z, 0-9 and a few special characters).

Note that those ranges don't include unicode characters outside of the original ASCII character setSmile. If your CSV file has Unicode characters the PHP parser probably drops them (either that, or we're made a mistake).

How do I fix this?

The program that's exporting the data should already do that for you (although some don't).  Basically Ó would under normal conversion rules change to either O or &Ouml; based on options your program may support. For example one of our users reported that he successfully converted the file to CSV UTF8 by:

opening the excel-generated csv file with notepad, and overwritting it saving the file as a UTF-8 text-file,

Some common encoding examples:

Ö becomes &Ouml;

É becomes &Eacute;

Ë becomes &Euml;

Ó becomes &Oacute;

A bit more technically

Fields in CSV files are considered to be TEXTDATA, where TEXTDATA =  %x20-21 / %x23-2B / %x2D-7E

The section below expands out the hex values to their common text equivalents:

20:21
[space] !

23:24:25:26:27:28:29:2A:2B
#  $  %  &  '  (  )  *  +

2D:2E:2F
-  .  /

30:31:32:33:34:35:36:37:38:39:3A:3B:3C:3D:3E:3F
0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?

40:41:42:43:44:45:46:47:48:49:4A:4B:4C:4D:4E:4F
@  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O

50:51:52:53:54:55:56:57:58:59:5A:5B:5C:5D:5E:5F
P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^  _

60:61:62:63:64:65:66:67:68:69:6A:6B:6C:6D:6E:6F
`  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o

70:71:72:73:74:75:76:77:78:79:7A:7B:7C:7D:7E
p  q  r  s  t  u  v  w  x  y  z  {  |  }  ~

 

What will the difference be, between the free version and EasyTable Pro

EasyTable 1.0 “Free” vs “Pro”

Administration Features Free Pro
Import “CSV” text files.
Import "TAB" delimited text files. X
Import new datasets into existing tables.
List View
Detail View (using detail link per record)
Image Names
URLs
Email fields
Dates X
Numbers X
Text
Column Ordering
Per Table Searching
Joomla Search Integration X
Nominated Search Columns X
Per Table Pagination Options
“Publish/Unpublish” Tables
Access Levels ( Public | Registered | Special ) X
Linked Tables
Use Existing Database Tables X
Column/Field Options for formatting and URL handling X
Finer storage controls for MySQL columns X
Edit a Column Alias X
Add/Delete Column X
Editing Existing Rows X
Add/Deleting Rows X
Append Rows to Existing Data X
Front-end Features Free Pro
Per Table Searches
Paginated List View
Detail View
Linked Tables
Deep Link Tables X
Unique HTML ID for each table
Unique CSS labels for each field in each table
Alternate CSS labels for alternating rows in tables
Improved JRoute URLs
Alt-Text/Title for Table Heading Descriptions
Advance to next record in detail view X
Default Sort Order X
Column Sorting (per page) X
Filtered Views (data displayed after pre-defined search settings) X
Menu Link to sorted list of all tables with/without table descriptions.
Menu Link to a specific table
Menu Link to Record Views X

KEY

Available in the current Version
Under Construction
Planned (but not yet being worked on )
Not available/planned for this Version X

Why does my Alias have 'q' on either side of it?

Normally

Example Column Heading creates an alias example-column-heading

The Problem

Example Column Heading creates an alias qexample-column-headingq

Discussion

The EasyTable component imports text files in a CSV format.

Originally text files were all ASCII files but now with the advent of the Internet and multi-byte character sets there are lots of different encoding formats. Combine this with PHP & server settings and different Operating System platforms and it's very easy to get a file that has been exported incorrectly.

If you have a decent text editor you can do a "hex dump" and see what is actually in the file. For example, this recent file looked like this dumped:

00000000: EF BB BF 22 52 65 73 75 	Ôªø"Resu 
00000008: 6C 74 20 49 64 22 2C 22 lt Id","
00000010: 52 61 63 65 20 49 64 22 Race Id"
00000018: 2C 22 54 65 61 6D 22 2C ,"Team",
00000020: 22 44 72 69 76 65 72 20 "Driver
00000028: 23 31 22 2C 22 43 6F 75 #1","Cou
00000030: 6E 74 72 79 20 44 31 22 ntry D1"
00000038: 2C 22 44 72 69 76 65 72 ,"Driver

All those non alphanumeric characters tell us the file isn't properly encoded. The same file saved out as UTF-8 no BOM looks the way it should:

00000000: 22 52 65 73 75 6C 74 20 	"Result  
00000008: 49 64 22 2C 22 52 61 63 Id","Rac
00000010: 65 20 49 64 22 2C 22 54 e Id","T
00000018: 65 61 6D 22 2C 22 44 72 eam","Dr
00000020: 69 76 65 72 20 23 31 22 iver #1"
00000028: 2C 22 43 6F 75 6E 74 72 ,"Countr
00000030: 79 20 44 31 22 2C 22 44 y D1","D
00000038: 72 69 76 65 72 20 23 32 river #2

How do I get back to the list view from a record?

When you are in the Detail view of a record you will see the table name at the top of the view. Clicking on the table name will take you back to the list view.

What file format does EasyTable support?

EasyTable 1.0 imports data in a CSV file format. The CSV format (RFC4180) is defined here, a more readable summary is on Wikipedia.

The key part of the error message occurs at very begining:

Data insert failed for table: XX in updateETTDTableFrom()
Possibly your CSV file is malformed

EasyTable only supports CSV files and it does this using PHP's method fgetCSV method. If the fgetCSV throws up an error you will see that line "Possibly your CSV file is malformed"


The first thing to check is the CSV file meets the definition. The best way to do this is using a Unicode aware text editor that can search for & display invisible characters in your CSV file, ( and no Notepad isn't good enough ). I personally recommend BBEdit but I'm sure there's something on Windows/Linux environments that does a similar job.


Things to look out for

  • control characters that need to be encoded first
  • comma's in the body of a field that aren't properly encased
  • the wrong delimiter used for fields eg. a semi-colon ; rather than a comma


To determine if your file is the source of the problem try downloading the sample CSV file in our downloads area and uploading it to your website. If that works then there's a reasonable chance that your CSV file is malformed as the error message indicates.

Can I change the field "Alias" for a column?

No.

Now that the short answer is dealt with, here's the slightly longer one.

The Alias is created at the time the table is created, that's because we actually create a real table in the backend database your Joomla website is running on. The alias is the actual column name in the table in the database, it's also used to for the CSS class label for the column.

To answer the next logical question - yes in a future version you may be able to change the alias. Like all feature requests it really depends on how much time we can afford to spend on the EasyTable component.

How big can the table be?

In a strictly technical sense the table can be as big as your database can handle.

In reality you can currently upload a 3,000,000 byte (3 MB) CSV file with the component. Practically we could increase it or remove the limit but that would lead to problems in the EasyTable operation at the current stage of development.

However, the 3 MB presumes your Joomla installation is setup on an environment that lets you upload a file that large. We have come across some hosting providers that have strange limits - needless to say we don't use them anymore.

To answer the next logical question, we hope in a future version to add support for:

  1. ZIP'd files (you can fit a lot of text into a compressed 3 MB file).
  2. Importing a previously uploaded file from a directory with not conceivable size limit.
  3. Importing from another internet address (URL import0

Why does the Alias of my fields have an 'a' at the begining?

The alias is used to create table columns in MySQL and it is used as the CSS class name for the column and table cell.

As a result the first character of the alias must be in the range of A to Z, upper or lower case , or [a-z,A-Z]. If EasyTable finds a column label that starts with a number or other non-alphabetic character it will prepend a lower case 'a' to the alias when creating it.

For example;

Column Label = '18 to 24'

Alias = 'a18-to-24'

Why can't I see any records from the linked table?

Firstly have you read this article?

If you have then these are the things to check:

  1. The "Key Field" and the "Linked Key Field" are both visible in the List View of their respective tables.
    • Version 1.0fc7 and later can use any column/field even if it isn't displayed in the list or detail views.
  2. The link search is an exact match, so "California" = "California" but "California" <> "california"
  3. Make sure you haven't unpublished your linked table after linking it.

Get our Newsletter!

All the software updates and special offers in your mailbox.

E-mail Address:

Member Login

Latest Forum Posts

Posted by Nicodemus - 23/07/2010 08:53
Posted by craig - 22/07/2010 22:08

Latest Downloads