Get EasyTable Pro !

Get a Subscription for EasyTable Pro!
(
The current version is emailed to you when your subscription is payed.
Existing Subscribers can download here

Sunday May 20 , 2012
Font Size
   

Getting Started with EasyTable Pro

To help you get started with EasyTable Pro here's a quick overview of the articles and FAQs. First up you can see tables created using EasyTable for J! and EasyTable Pro on our demo website.

Don't forget, if you're not sure whether you need EasyTable Pro or EasyTable for J! you can always compare the feature sets.

EasyTable Pro is a superset of the original EasyTable for J! and as such many of the articles and FAQs apply to both even though they may be found in the EasyTable for J! section of the website. As you will see where there are differences between the two components we've updated the articles to highlight the differences.

  1. EasyTable Introduction - covers the key points, component features, requirements
  2. EasyTable Editor - explained in 4 parts.
    1. Part 1 - UI and creating your first table
    2. Part 2 - Alias, Type & CSS
    3. Part 3 - Linked Table Settings
    4. Part 4 - Preferences
  3. Displaying Your EasyTable - discusses menu links and EasyTable view (table list, table and record views)

Of course there are some EasyTable Pro specific articles as well:

  1. Search Options - controlling what tables & fields can be searched by Joomla's built-in search functions.
  2. Field Types & Storage - how the different field types are treated in EasyTable Pro
  3. Field Tokens and Display Options - how field types and tokens can be used to affect the display of data
  4. Replacing/Appending Data - an article on the new data upload options in EasyTable Pro (v0.9.0 and above)
  5. Modifying Table Structures - an article on adding and deleting fields in EasyTable Pro (v0.9.0 and above)
  6. Editing/Deleting & Adding new rows - an article on the table row editing functions in EasyTable Pro (v0.9.0 and above)
  7. User Filter for Records - a brief over-view of EasyTable Pro's ability to filter table records based on the logged in user ID or Username.

Finally for you convenience here are the EasyTable FAQ's embedded below:

Print

Show Detail view in a lightbox effect.

With EasyTable Pro's field options you can combine several fields to produce a custom URL for each record. There are lots of things you can do with URL's you may want a custom text for each click link or you may want to set a subject in an Email link, or you may want to have a large version of an image appear in a lightbox.

As we've already looked at how to acheive those, in this FAQ we'll take that a little bit further by displaying the Detail view of a row/record in a lightbox.

This example uses the JCE MediaBox from the popular JCE (Joomla Content Editor) to provide the lightbox pop-ups for the detail view.

First up make sure you have a current version of JCE and JCE MediaBox installed (don't forget to check the MediaBox plug-in is enabled).

This FAQ assumes you know about EasyTable Pro's field tokens, you may want to read this article about the basics of using field tokens for substitution functions.

To start with every table has a unique ID or number, you can find this in the EasyTable Editor (see the Table Info panel in the top right of the Editor screen, shown below).

EasyTable Pro - Editor Table Info PanelEasyTable Pro - Editor Table Info Panel

or the table list in the EasyTable Pro Manager (see the left most column):

EasyTable Pro - Manager - Table ID highlightedEasyTable Pro Manager - Table ID highlighted.

As you can see our US Presidents table has an ID of 123, remember this number - we'll need it soon.

For the purposes of this FAQ we're going to add our custom Detail link to the Presidency field (ie. which number President) additionally our table has fields with the following names and alias. ( I'm using the Presidency field as we already have a standard "Detail" link on the President field. )

Name Alias
President president
Presidency presidency

The other field that every table has is an automatic one created by EasyTable Pro called ID this is the unique index for each record in a table (Note: there is no settings row for the ID field in the EasyTable Editor, it used internally by EasyTable Pro and the database).

Some typical records might be:

ID Presidency President
3489 1 George Washington
3490 2 John Adams

Just the Details Mam!

There are a few more things we have to do here, first we have to get EasyTable Pro to return just the record/row. We can do this thanks to a feature of Joomla!'s MVC system, any component that implements the MVC properly can be called with an extra parameter on the URL.

Joomla! URL's are usually changed by Search Engine Friendly features to give you nice human readable results, however, underneath that they look more like this:

/index.php?option=com_easytablepro&view=easytablerecord&id=123&rid=3489

Thanks to Joomla!'s MVC mechanism (and EasyTable Pro implementing it properly) we can add this little snippet to our URL to get back the records detail view without all of the rest of surrounding template elements.

&tmpl=component

Using EasyTable Pro's tokens we will replace the record ID in the URL above with the #id# (this will automatically insert the right id for each record in the list view). The table ID (123 remember) is already in this URL but you will need to change it to the ID of your table on your website.

A View in A Box, Lightbox That Is!

So, we have to create a link to the detail view using all these elements. Using the example table and records to achieve this with EasyTable Pro you need to take several steps first:

  1. set the field "Presidency" to a type of "TEXT" (this prevents EasyTable Pro apply type specific formatting to the field).
  2. set the field options to the following:
    <a rel="presidents;width[640];height[960]" target="_blank" title="#president#" href="/index.php?option=com_easytablepro&view=easytablerecord&id=123&rid=#id#&tmpl=component" class="jcepopup">#presidency#</a>
  3. Notice the rel tag, like most lightbox systems it is used to convey addition parameters to the Javascript function. In our tag the first element sets the group name to "presidents", then, as should be obvious we set the width and height of the lightbox. You will want to adjust these to the needs of your table and website.
  4. The URL includes the reference to the table in the segment &id=123, the other values row/record ID, President and Presidency are all inserted by token replacement.

Now when EasyTable Pro renders the table any field tokens will be replaced by the values in those fields. With our example table this will produce the following HTML:

EasyTable Pro generated HTML In Browser Display
<a rel="presidents;width[640];height[960]" target="_blank" title="George Washington" href="http://j15ref.craigphillips.biz/index.php?option=com_easytablepro&view=easytablerecord&id=123&rid=1&tmpl=component" class="jcepopup">1<span class="jcemediabox-zoom-link"></span></a> 1*
<a rel="presidents;width[640];height[960]" target="_blank" title="John Adams" href="http://j15ref.craigphillips.biz/index.php?option=com_easytablepro&view=easytablerecord&id=123&rid=2&tmpl=component" class="jcepopup">2<span class="jcemediabox-zoom-link"></span></a> 2*

*Please note the examples in the table above are using the CSS from the template on the demo server.

Issues to consider!

  • As you're displaying the Detail view you may want to turn off the field you use to create the custom Detail link in the Detail view - you can see in the demo website we haven't done this and you can click on the Presidency link inside the lightbox view of the record.
  • You may want to turn of the Next/Previous Record links (we haven't and you can see the result).

Thats it. If you have any questions about EasyTable Pro and this FAQ just jump into the Subscribers Forum and ask away.

EasyTable Pro blank screen when creating/editing a table.

Symptons

When using EasyTable Pro clicking on the "New" or "Edit" table buttons/links results in a white screen.

Possible Causes:

  1. Phoca PDF-> content plug-in
    1. version 1.0.3 has been found to delete the content of the a page a performing a preg_replace()
    2. on line 90 of this content plug-in the $bodysite variable is replaced with the contents of the preg_replace() without checking the result first.
    3. after this line the plug-in then calls Joomla!'s JResponse::setBody($bodySite) effectively erasing the page, again without checking.
  2. Check for poorly written plug-ins (Phoc PDF is not the first one to cause problems, looking at you Jumi...)
  3. Try disabling all none-standard plugins (via the Plug-in Manager) and see if EasyTable Pro works
  4. If it does you can re-enable plugins gradually and check EasyTable continues to work, eventually you'll find the culprit.
  5. Check EasyTable Pro's minimum requirements are met by your server.

Plug-ins for EasyTable Pro

Joomla! 1.5 supports several types of Plugins for extending or integrating new features amongst others are content and searching types.

Search Plugin

EasyTable Pro currently includes a search plugin the allows Joomla to search the contents of tables you have imported/created in EasyTable Pro.

Through this plugin EasyTable Pro will return result to the standard Joomla! search function for tables or fields that you have. You can read more about it here.

Content Plugin

Content Plugins allow you to embed content from other sources into Articles within Joomla. Most content plugins are dealing with a small or limited amount of data. When EasyTable was first designed it was aimed at handling table with hundreds or thousands of records covering multiple pages.

Including a table of this size into the body of an article wasn't considered practical for the 1.0 line of EasyTable Pro, so currently a content plugin doesn't exist.

We do intend to implement a content plugin but our design requires the tables to be re-implemented using AJAX techniques so that your users can search and page through the records without the page having to be refreshed. AJAX tables are scheduled for a version after the EasyTable Pro 1.1 release (which is the version supports the 1.7/2.5 versions of Joomla!).

You can read more about the development plans here.

Filtering your table using Multiple Filter Values

EasyTable Pro allows you to filter the contents of a field using one or more filter values.

On our reference website you can see an example where we have filtered the US Presidents table to show only the First and Last Presidents.

In this view of the table we want to display the first and last President. To do this we set the "Filter" Parameters by selecting the Field to Filter and Filter Type as shown below:

EasyTable Pro Filter Parameters

In the Filter Value we type in the values we want to filter. Multiple Filter Values are separated using the pipe character "|" as the separator (it's usually found above the "\" key).

To set multiple filter values as used in our First & Last Presidents example set the Filter

EasyTable Pro Multiple Filter Values

Value to: George Washington|Barack Obama

Remember multiple Filter Values can be entered by separating the values with the pipe character.

Using template overrides with EasyTable Pro

EasyTable components are made using the Joomla MVC model and as such allow you to create template overrides for each of the views.

To show the corresponding line number in front of the row i.e. line 1 shows 1, line 2 shows 2 and so forth.

A template override for EasyTable Pro can be downloaded here. This override adds a calculated column number before (left most position) any other columns. It works off the paginated record set so will start at 1 and proceed up to the number of records in the set.

Just drop this in your websites template HTML overrides folder.

eg. if you're using JA-Purity drop the com_easytablepro folder into /templates/ja_purity/html

In the zip file you will find the following directory structure:

/yourTemplate/html/com_easytablepro/

If your template doesn't have a html directory in it copy the html directory from the zip file in to the directory your template is in. eg /templates/yourTemplate/html

NB: Things to note!

  • this will affect every table using this template
  • if you use the front end Javascript based table sorting the number will move with the sort pattern selected.

Adding a search to a table URL

In addition to filtering a table via it's menu you can add an extra parameter to the end of the URL to your table. ( Note this is for links external to EasyTable Pro, it's handy for links in articles or map modules that allow you to set links for regions of the map or just simple image maps. )

Unlike filtering this acts like an initial search parameter and appears in the seach input box on the page. Just like a normal search the user can click "Reset" and reveal the rest of the records in the table.

The best way to understand this is to see it. The first link shows you the standard table with starting with the first 5 records.

Link to US Presidents table on our reference site: http://j15ref.craigphillips.biz/us-presidents.html

The next link is the same except it has etsearch=andrew added to the end of the URL:

http://j15ref.craigphillips.biz/us-presidents.html?etsearch=andrew

Note the ? before the parameter this denotes the end of the URL and the beginning of parameters the web application can use.

Now if you're not using Joomla's SEF functions your initial URL might look like this:

http://j15ref.craigphillips.biz/index.php
option=com_easytablepro&view=easytable&id=123&sort_order=ASC&filter_type=LIKE&sort_field=3282
&filter_field=0&Itemid=83

(Please note for readability we've broken the URL over several lines - a URL doesn't have carriage returns in it.)

As this URL has parameters in it already

http://j15ref.craigphillips.biz/index.php
option=com_easytablepro&view=easytable&id=123&sort_order=ASC&filter_type=LIKE&sort_field=3282
&filter_field=0&Itemid=83&etsearch=andrew

Note the & that proceeds our etsearch parameter, this is because it's not the first parameter after the URL, it's literraly say to the server "and" this parameter.


No valid database connection...

Symptom

View an EasyTable on the front-end of your website results in an error message being displayed in your templates Message area and the table still appears to work correctly. The text of the message will be similar to this:

No valid database connection Unknown column '' in 'field list' SQL=SELECT `id`,
 `` FROM xx_easytables_table_data_N order by `id` ASC LIMIT 0, 103

Solution

Of the two cases where this problem has been reported JoomFish was installed on the websites.

Upgrading JoomFish to the latest version fixes the problem.

Adding a tooltip to column headings

Background

EasyTable Pro allows you to sort columns by clicking on the headings of a column.  Previously we have covered how to add CSS to your websites template css to show "indicator arrows" in the column headings. 

This FAQ takes it one step further by showing you how to turn on a Joomla Tooltip that pops up when your cursor moves over the column heading.

NB: This tip requires EasyTable Pro 1.0.0RC6 or later. You can see this working on the demo website.

Steps

1. Add the text of the tooltip to the field/column's Description field. You can put anything you like but in this example I've set a description of the sorting function.

Using the_Description_for_Table_Column

[ Notice the :: between the words Sorting and Click - this tells the Joomla Tooltip function that the first part ("Sorting") is the title of the tooltip and the rest is the body of the tooltip. ]

2. Check the result in the front end by reloading the table and moving the cursor over the column heading - if you've done everything correctly you should see something like this:

Column Tooltip_for_EasyTable_Pro

3. There is no step 3.

Adding a Field/Column to your table

Background

Since version 0.9.0 EasyTable Pro has allowed the modification of the basic table structure for native* EasyTable Pro tables (see Modifying Table Structures ).

If you need to review those features please read the article linked above or review this annontated screenshot of the table modification interface.

Step by Step

1. Modify Structure Mode

Modify Structure IconIn the Table Editor screen you will see a button in the far right of the Joomla Toolbar called "Modify Structure" — when you click on this the interface elements that allow you to change the structure of your table will be revealed.

Why do we hide them? — Well first up they're generally not needed everyday. Secondly if you're not careful you could destroy a lot of work you've already put into your table — remember this interface allows you to change the actual structure of your table in the servers database.

2. Click the New Field button/link.

EasyTable Pro New Field Button

This will create a new row in the table editor showing a new "blank" field. As you can see in the image below — the new field is highlighted by a light green background which will stay until the field is either discarded or "Saved" to the database. A new field also has a temporary ID usually of the form '_nf_#' where the hash is replaced by the number of the new field (yes you can create multiple new fields at one time before saving).

3. Configure the New Field.

EasyTable Pro - New blank Field

A new field is essentially blank — it needs to be configured before you can save the table and keep your  new record. There are several things you must do to configure a field properly:

  1. Enter a Name for the field then press the TAB key. (This will cause EasyTable to automatically create a valid* matching unique alias for you).
  2. You will need to select whether or not it displays in the List and Detail views.
  3. You will need to toggle the Search flag if you want Joomla to search this field.

EasyTable Pro - Complete the new Field settings

4. Save/Apply your Changes

It's easy enough to forget but once you've made the changes you want to your new fields click the Save/Apply buttons to committ the changes to the table. Once you've done this you will notice that the light green background on your new field has disappeared and it temporary ID has been updated to a standard field ID. As show below:

EasyTable Pro - Completed New Field

Setting Column Width by CSS

The CSS

Using CSS you can control the look of all aspects of a table created by the EasyTable Pro component — this FAQ lists CSS ID's and classes.

If you had a table with an alias of "sample-data" and a field with an alias of "column-2-image" you could create an entry in your templates CSS that sets the width.

#sample-data td.colfld.column-2-image {

width: 160px;
}

We would normally suggest putting it at the end of the template.css file.

Checking the CSS

To check if your CSS is being applied properly we recommend using either Firefox with the Firebug extension or Safari/Chrome's built in web kit inspector. Using these you can point to the element you expect the CSS to be affecting and right click and select "Inspect Element".

Menu Item Safari/Chrome Inspect Element Firefox + Firebug Inspect Element Menu Item

If your CSS is properly structured and matches the ID and classes of your table by clicking on the TD element in the inspector view you will see the associated CSS as shown below.

Safari/Chrome Webkit Inspector Firefox Firebug Inspector

Typical problems to look for when CSS doesn't attach to the element are: syntax errors, ID or class name errors or website/browser cache issues.

What are the current software versions?

Joomla Software:

Software Public Subscribers Notes
EasyTable for J! 1.0.5a
(Click to download)
1.0.5a
(Click to download)
EasyTable Pro N/A
 

0.9.0

(Click to download)

 

 

 

Development Schedule notes.
Current version release notes.

EasyTable Pro Search Plugin N/A 0.5.0
EasyStaging N/A 0.1.0 To download the latest version please log into the See People Website and then use the link provided in your Beta Tester email (you remember - the one we told you to keep in a safe place? This e-mail address is being protected from spambots. You need JavaScript enabled to view it )

IOS Software:

 

Software Current Testing Notes
SP Forms Collector 0.9 1.0a1 Test versions are available through your Enterprise IT distribution system.
PTeam
0.3b Beta testers can now use the OTA update feature of IOS 4.x to download the latest version.

 

Joomla 2.5 Support

We are getting a few questions about when the components will work with Joomla 2.5, this is our current position and if it changes I'll update this FAQ.

EasyTable for J!

Sadly the free "EasyTable for J!" isn't well supported by the user base — even though we have litterally thousands of websites using the free version of the component there has been very little feedback on the Joomla Extension Directory and only 1 donation over the last 2 years. Feedback is important as without ratings and reviews new users don't get to see the component.

As a reference — the EasyTable for J! component in Feb 2011 made 173,560 version checks from approx. 153,000 unique IP's. Version checks are done once per session when the component is opened to add or modify a table. 

So, at this point I can't afford the time to upgrade it — if I get time in the future I will probably make a Joomla 1.6/1.7 2.5 installable version — like most people I have to focus on things that pay the bills.

To be clear if you like and use this component and you want to see a Joomla 2.5 version I suggest you vote for it on JED. This will increase it's exposure to other users and some of them may even like to use the Pro version.

EasyTable Pro

EasyTable Pro will get an upgrade to Joomla 2.5 but I'm not sure of the exact time frame — it will be after the 1.0 release — again it's simple economics. Work has started.

At this point I think EasyTable Pro is the 1.0 release (or close to final).

The work on this is done as and when we can. Even though we get people saying they love the Pro version nearly every day we've got only a few reviews on the JED. Compared to approx. 200 hundred copies paid for — apparently it's not good enough for people to spend a few seconds and vote for it — let alone write a review. On average each licensed copies appears to be running on approximately 60 different servers.

As a reference — the EasyTable Pro component in Feb 2011 made 15,977 version checks from approx. 12,300 unique IP's. Version checks are done once per session when the component is opened to add or modify a table.

With the latest versions we moved to a mechanism that uses the browsers cache and will only retrieve the version data when the browser expires the cache or the user does a forced refresh. This saw a dramatic drop in the hits on our server, thankfully, but we're still seeing about 3200 uniques IP's checking the version of EasyTable Pro each month.

Some people also seem to be happier to use versions they've downloaded from "free" websites. Recently this caused us an issue when a user of the "free" package blamed us for his site being hacked — that turned out to be a malicious version that was being distributed on the web.

Again if you're a happy user of the EasyTable Pro component may I suggest you vote for it on the JED.

Current as at 15th February 2012.

Hacked Version of EasyTable Pro

Issue

We have been made aware of a hacked version of EasyTable Pro 0.9.0 is circulating on various Russian websites that offer free software. The file can be identified by the following discrepancies from the real version.

Real Version Hacked Version
Filename 0.9.0-easytablepro.zip

unzip-first-easytablepro.zip or 

unzip-me-first-0.9.0-easytablepro.zip

Size 164Kb (< 200Kb) > 1.9 Mb
Install Only installs on a PHP server Opening it apparently auto launches a malicious file called "delete.me"

Solution

If you have installed this hacked version on your server get profession IT help to uninstall it and determine if anything else has been added to your server. You may also want to check your personal computer that you downloaded the file on for a virus/trojan.

The only safe place to get our software is from our website at http://seepeoplesoftware.com.

Using field tokens to create a lightbox effect for images in EasyTable Pro

With EasyTable Pro's field options you can combine several fields to produce a custom URL for each record. There are lots of things you can do with URL's you may want a custom text for each click link or you may want to set a subject in an Email link, we've already looked at both of these so in this FAQ we'll take that a little bit further by combining it with another Joomla component.

When combined with the popular JCE (Joomla Content Editor) you can make use of the JCE MediaBox to provide advanced pop-ups for your images (or just about any other type of media). We're using JCE's MediaBox for this example because really JCE should be installed on every Joomla website.

First up make sure you have a current version of JCE and JCE MediaBox installed (don't forget to check the MediaBox plug-in is enable).

This FAQ assumes you know about EasyTable Pro's field tokens, you may want to read this article about the basics of using field tokens for substitution functions.

For the purposes of this FAQ we're assuming our table has fields with the following names and alias.

Name Alias
Portrait portrait
Thumbnail thumbnail
President president

Some typical records might be:

Portrait Thumbnail President
GeorgeWashington.jpg thmb_GeorgeWashington.jpg George Washington
JohnAdams.jpg thmb_JohnAdams.jpg John Adams

A Lightbox Effect

As we have a thumbnail image, a full sized portrait image and the name of a President you can create a thumbnail that is linked to the full sized portrait and has the correct Title text (most light box effects use the title text in the display of the larger image). Again as with most light box effects you can group media together so that you can navigate back and forth between multiple media elements of the same group — in most systems you do this by setting a "rel" value.

Using the example table and records to achieve this with EasyTable Pro you need to take several steps first:

  1. set the field "Thumbnail" to a type of "TEXT" (this prevents EasyTable Pro apply type specific formatting to the field).
  2. set the field options to the following:
<a rel="presidents" target="_blank" title="#president# portrait." href="/images/stories/USPresidents/#portrait#" class="jcepopup">
<img src="/images/stories/USPresidents/#thumbnail#" alt="Click for larger view."></a>

NB: the URL to the larger image is wrapped around the image URL — it also has the class "jcepopup" attached so that the JCE Javascript catches it.

Now when EasyTable Pro renders the table any field tokens will be replaced by the values in those fields. With our example table this will produce the following HTML:

EasyTable Pro generated HTML In Browser Display
<a rel="presidents" target="_blank" title="George Washington portrait."
href="/images/stories/USPresidents/GeorgeWashington.jpg" class="jcepopup">
<img src="/images/stories/USPresidents/thmb_GeorgeWashington.jpg" alt="Click for larger view.">
</a>
Click for larger view. 
<a rel="presidents" target="_blank" title="John Adams portrait."
href="/images/stories/USPresidents/JohnAdams.jpg" class="jcepopup">
<img src="/images/stories/USPresidents/thmb_JohnAdams.jpg" alt="Click for larger view.">
</a>
Click for larger view. 

 

How do I change the pagination elements in EasyTable?

Background

EasyTable components use the standard JPagination element on our demo website the pagination elements are wrapped in HTML list elements (ie. UL, LI etc). This is the result of the template being able to take advantage of Joomla's support for overriding the rendering of specific elements.

In the JA-Purity template a pagination override can be found in the /templates/JA-Purity/html/ directory, it's called pagination.php.

Changing Pagination for your Template

If you want to change the pagination for your template you will either need to create/modify a pagination.php file. You will need and understanding of both PHP and HTML to achieve this.

You can read more about Joomla overrides here.

 

 

500 - Error: "yourfilename.csv could not be moved"

Problem

When uploading a large CSV file via EasyTable for J! or EasyTable Pro the system throws a 500 Error similar to the one show below.

BigFile500_Error

Reason

This error occurs as the upload form has a hard limit of 3,000,000 bytes and so for files greater than that the browser doesn't actually send the file to the server.

Solution

If you're using EasyTable Pro you can simply cut the file in pieces less than 3,000,000 bytes in size.

If you're creating the table for the first time you can include column headings in the first segment to make things easier when configuring the table after the data has been imported.

Advanced Solution

If you're sure of your PHP settings on your server (eg. upload_max_filesize) and not concerned about editing PHP files you can increase the limit to a size large enough to accommodate the data file you're importing. The line you want to edit is found in:

site/administrator/components/com_easytablepro/views/easytable/tmpl/default.php

at approximately line: 115 you will see the following code:

<!-- MAX_FILE_SIZE must precede the file input field -->
<input type="hidden" name="MAX_FILE_SIZE" value="3000000" />

Using field tokens to create a custom URLs in EasyTable Pro

With EasyTable Pro's field options you can combine several fields to produce a custom URL for each record.

This FAQ assumes you know about EasyTable Pro's field tokens, you may want to read this article about the basics of using field tokens for substitution functions.

There are lots of things you can do with URL's you may want a custom text for each click link or you may want to set a subject in an Email link, we'll look at both of these to try and provide you with a base skill set to help you achieve your goals on your website.

For the purposes of this FAQ we're assuming our table has fields with the following names and alias.

Name Alias
Website URL website-url
Name name
Email emailfield
Reference Number reference-number

Some typical records might be:

Website URL Name Email Reference Number
http:://google.com Eric This e-mail address is being protected from spambots. You need JavaScript enabled to view it 600613
http://apple.com Steve This e-mail address is being protected from spambots. You need JavaScript enabled to view it 09913

A custom link text

Rather than having the raw URL or the same link text for each row (eg. Click Here), a nice presentation might be "Click here to open MyBusiness's Website".

Using the example table and records to achieve this with EasyTable Pro you need to take several steps first:

  1. set the field "Website URL" to a type of "TEXT" (this prevents EasyTable Pro apply type specific formatting to the field).
  2. set the field options to the following:
<a href="#website-url#" target="_blank">Click here to open #name#'s Website</a>

NB: the target is set to open a new browser window.

Now when EasyTable Pro renders the table any field tokens will be replaced by the values in those fields. With our example table this will product the following HTML:

EasyTable Pro generated HTML In Browser Display
<a href="http://google.com" target="_blank">Click here to open Eric's Website</a> Click here to open Eric's Website
<a href="http://apple.com" target="_blank">Click here to open Steve's Website</a> Click here to open Steve's Website

A mailto: URL

To create a mailto: link, is a similar process, except this time we are adding options to the field with the email address in it.

  1. set the field "Email" to a type of "TEXT"
  2. set the field options to the following:
<a href="mailto:#emailfield#?subject=Reference%20Number%20#reference-number#">Click here to send #name# an Email!</a>

NB: the %20 is the HTML equivalent to a ' ' ie. a space.

 

EasyTable Pro generated HTML In Browser Display
<a href="mailto: This e-mail address is being protected from spambots. You need JavaScript enabled to view it ?subject=Reference%20Number%20#600613">Click here to send Eric an Email!</a> This e-mail address is being protected from spambots. You need JavaScript enabled to view it
<a href="mailto: This e-mail address is being protected from spambots. You need JavaScript enabled to view it ?subject=Reference%20Number%20#09913>Click here to send Steve an Email!</a> This e-mail address is being protected from spambots. You need JavaScript enabled to view it

How does table sorting work in EasyTable Pro?

Basics

EasyTable Pro allows users to click on a column heading and have the table sorted by the values in that column. Please note EasyTable also lets you sort the entire table prior to display as well as records on the current page.

How do you turn it on?

The EasyTable components support Joomla's standard preference model, ie. you can set a preference at the global component level, the menu level or the table level.

Global preferences are set via the Parameters button is the EasyTable Pro Manager, these Global component preferences can be over-ridden when you link to the component through the Joomla menu system. The preferences set at the menu level can in turn be over-ridden at the individual table level.

To make a table sortable in the front end you must set the "Make Table Sortable" preference to "Yes" at the level you want. So if you want all tables to be sortable you can set it at the component level via the Parameters button, all menus linking to tables and all tables at that point will by default inherit that setting.

Table Preferences

How does it work?

When the preference is set to "Yes" the EasyTable Pro component adds a javascript file to the page the table is displayed on, the file is added via a script reference similar to the one below.

The Javascript only sorts records that are on the current page, when a column heading is clicked the column will be sorted into Ascending order first, the next click on the same column will change it to a Descending order.

<script type="text/javascript"
src="http://site.com/components/com_easytablepro/
assets/webtoolkit.sortabletable.js">
</script>

This Javascript file contains a function SortableTable() which the EasyTable component adds to the page after the table. It is this function that performs the sorting.

The sorting works best on text, numbers and date columns. Advanced date, number and currency formatting for column data can result in values being sorted alphabetically rather than in the order expected. Post the 1.0 release the sorting functions will be revisited to try and address the sorting of formatted data.

In addition to sorting the records into an ascending or descending order the function adds a CSS class to the table heading that allows you to style the header appropriately (read the FAQ for more information)

How do I add indicator arrows to show column sorting?

Sorting CSS Classes

When table sorting is enable clicking on the column heading will sort the records on the current page by the values in the column. This results in several changes to the table structure.

The first change is that one of two classes is added to the column heading, one the first click the class etAscending is added. A subsequent click will change the class to etDescending, with the class alternating between the two on subsequent clicks.

The second change is that a property is added to the column heading called sortdir, with subsequent clicks this property alternates between values of "down" and "up". This property is used by the Javascript as a reference for the sorting process.

The final change of course is that records are re-ordered by the Javascript.

Once a table column has been clicked it's HTML will look something like this example taken from the Presidents table on our demonstration website.

<td class="sectiontableheader president etAscending" sortdir="down">President</td>

To style the column headings you will need to do several things

  1. create matching classes in your templates CSS file.
    (Luckily Joomla lets you edit the CSS of your template via the Template Manager)
  2. find/create suitable graphics to indicate sort direction
    (Again, Joomla's standard installation includes a set of sort indicator icons
  3. determine any other attributes you may need to modify for your specific template.

To help you with this process - the CSS we use on our demonstration website is provided below and uses the standard icon's mentioned.

Example CSS

The following example CSS has been added to the end of the JA Purity template CSS on our demonstration website and can be seen working on the US Presidents table.

/* Example CSS adding Sort Indicators to Table Headings
  (This CSS is placed at the end of the JA Purity's template.css file) */
.etAscending {
    background:url(/images/M_images/sort_asc.png) no-repeat 99% 2px #FFFFFF;
    color:#000000;
    border: 1px solid #444444;
}
.etDescending {
    background:url(/images/M_images/sort_desc.png) no-repeat 99% 2px #FFFFFF;
    color:#000000;
    border: 1px solid #444444;
}

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

Problems after software update?

In our Joomla websites we sometimes see unexpected results, like:

  • old layouts
  • missing modules
  • wrong user specific data

For those situations usually clearing or turning off Joomla's cache will fix the issue. If you don't know what I'm talking about you should probably get professional advice before turning anything off or clearing out the cache.

This FAQ has been written because we have had a case reported where modules didn't show up after upgrading to a new version of EasyTable Pro - even though we don't use Joomla's cache option in EasyTable the solution, as you can probably guess was to clear Joomla's cache.

How do you clear Joomla 1.5's cache? 

Easy, go to the Tools menu and select "Clean Cache".

Joomla - How to Clean Cache

Selection the options you want to clear and press the "Delete" button. If you have a lot of elements to your website the cache list may have multiple pages.

Usually we just clear the whole cache by clicking on the checkbox under the tab heading "Site".

Finally you can return to the Tools menu and click on the "Purge Expired Cache" menu option then click on the "Purge expired".

 

 

Why does only the first column display in my table?

Software Affected:

EasyTable Pro prior to version 0.8.0

Problem:

When using EasyTable Pro only the first column of the table displays in the list view.  The same table in the free EasyTable for J! shows all columns.

Cause:

Early versions of PHP 5.2 don't reset array indexes when used in 'foreach' loops causing the rows array to be traversed incorrectly.

Solution:

  1. Upgrade to a later version of PHP - version 5.2.6 and above do exhibit the problem.
  2. Upgrade to EasyTable Pro v0.8.0 or higher which has a work-around for the problem.

 

Javascript errors / problems toggling Red X in view columns / front-end sorting not working

Symptons

  1. Browser reports a a Javascript error
    • eg. "Function not found" or "javascript:void(0);"
  2. Trying to toggle the "Red X" in the List View, Detail Link or Detail View column fails.
  3. After turning on table sorting in the Administration screens, front-end table sorting doesn't work.

Possible Causes

WAMP/MAMP

When users have experienced this problem the cause has been that they are running a developement or test version of the Joomla website in a virtual testing environment like WAMP or similar on a Windows variant. If the configuration of the virtual environment is not correct then Joomla's constant DS (stands for directory separator) can be wrong resulting in certain older browsers experiencing problems in resolving the path to the Javascript files required.

eg. the path will have '\' rather than '/' or vice versa.

MooTools Upgrade

EasyTable Pro (or EasyTable for J!) is/are not compatible with the System plugin introduced in Joomla 1.5.19.

Solution

Generally users can do one of three things;

  1. Change the virtual server configuration so that Joomla sets the DS value properly (we don't know how but people tell us it can be done).
  2. Use a different hosting setup that doesn't require a virtualisation box (we work on Mac's and Linux hosts so we don't see these problems).
  3. Try a non-Internet Explorer browser which can parse the path even with the error (preferably a recent Firefox, Safari or Google's Chrome).

 

This FAQ is current as of EasyTable for J! 1.0.5 and EasyTable Pro 0.9.0. EasyTable Pro 1.0 no longer uses the DS separator and has no reports of this problem. 

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.

What version of EasyTable is installed | available?

EasyTable for J! and EasyTable Pro show both the currently installed version and the version available for download. (Download & information about current versions of all our software is here.)

The version information appears directly above the list of tables in the EasyTable Manager, in EasyTable for J! it looks like this:

EasyTable-for-J-Version-Info

In EasyTable Pro it is slightly different and looks like this:

EasyTable Pro - Version Information

The line of version information acts as a mouse-over hot spot, if you move your cursors over the "Current Release" sections (highlighted above) a post-it note notice will appear showing you any important information about the new version. Simply move your cursor off the hot spot area to make the post-it note go away.

The EasyTable & EasyTable Pro components retrieve the version information from our servers making sure the update information is current. In the near future this system of version checking will receive an update that executes the check in the browser, rather than on your server, to avoid problem with some hosting services.

Related Problems

The version checking system will be changed to deal with problems discussed in this FAQ.

 

Current as at Version 0.9.0 of EasyTable Pro and 1.0.5a of EasyTable for J!

 

 

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 & EasyTable Pro 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 } )

EasyTable Pro requires 1.5.20 ( although it may work on previous versions) 1.5.25 ( is recommended )

Database

MySQL 5.0+

PHP Version

5.1+ ( 5.1.12+ recommended ).

 

 

Confirmed for EasyTable for J! 1.0.5a and EasyTable Pro 0.9.0 and later - 23 Feb 2011

What are the simplexml_load_file warnings...

Why

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... ).

Possible Solutions

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.  (NB: this presumes that your network doesn't block access by your server to the internet)

Advanced

If you're comfortable editing PHP file you can disable the version check by making the following changes.

For EasyTable for J!

Starting at line 46 through to line 81 of

 \administrator\components\com_easytable\views\easytables\view.html.php

you will find a function called et_version() replace that function with the code below:

Note: you will have to do this for any updates, like the about to be released 1.0.5a.

function et_version($source='public')
{
/**
*
* Let's fake a version check.
*
**/
$et_version = '0.0';
$et_version_tip = JText::_('VERSION_CHECK_FAILED_TO_CONTACT_SERVER_');

$et_version_array = array("version" => $et_version, "tip" => $et_version_tip);

return $et_version_array;
}

 

For EasyTable Pro

Starting at line 28 through to line 60 of

 \administrator\components\com_easytablepro\views\viewfunctions.php

you will find a function called et_version() replace that function with the code below:

Note: you will have to do this for any updates prior to the 1.0.0 release.

function et_version($source='public')
{
/**
*
* Let's fake a version check.
*
**/
$et_version = '0.0';
$et_version_tip = JText::_('VERSION_CHECK_FAILED_TO_CONTACT_SERVER_');

$et_version_array = array("version" => $et_version, "tip" => $et_version_tip);

return $et_version_array;
}

 

This method will be replaced in the 1.1 version of EasyTable for J! & the 1.0 version of EasyTable Pro to a browser based ajax solution which should work in a broad range of environments and prevent a component blocking failure occurring on the server.

 

Why doesn't EasyTable XXXX XXX?

EasyTable is designed to be "Easy" to use, remember this before getting upset and ranting at my people in support.

EasyTable is written by me, Craig Phillips and no one else, it's written in my downtime when I don't have a paying job to work on that feeds the boys and girls of my business family, so, again, remember this before getting upset and ranting at my boys and girls in support. (Yes Virginia even though 1000s of websites use one or another version of the EasyTable component it doesn't at this point even pay for it's hosting.)

…have table sorting?

Sorting in a web page has lots of issues - first is the fact that browsers are basically widely different in their feature sets right now (yes Internet Explorer I'm looking at you). Next up the way we would like to do it is on top of a descent, modern JavaScript framework like MooTools 1.2.x or later - yes Joomla I'm looking at you. Finally any implementation at this point will have issues because of the proceeding problems.

We are adding sorting to EasyTable Pro as both a backend setting (ie. you pick a field and we sort it before sending the page to the user) and a Javascript feature available by clicking on column headings (if enabled). Again these is not perfect and add a layer of complexity that would be better avoided.

The eventual aim is to move EasyTable Pro to a AJAX based design that will load all records of the table into a page and sort, filter and display them based on user actions without returning to the website for each request.

…have it's own CSS file?

EasyTable is designed so that it uses standard Joomla classes where possible. To this end table headings and rows follow this principle where possible so that properly implemented Joomla templates will format the tables automatically.

The second reason is that every time you add a new file to a template (such as a custom EasyTable CSS file) it slows down the browser experience and adds load to your sever slowing down everyone visiting the website. There's a good reason there are dozens of extensions available to compress, join and minify CSS and JS files in your Joomla tempaltes.

…dispaly in a module?

The original design was for producing full page tables, a module element is being considered for the post 1.0 time frame. Modules though have limited configuration abilities so were not sure exactly what will be possible.

…display in an article?

See above, but an article plug-in will be available post the Joomla 1.6 installation compatible version.

How do I let you know what I want in the next version of EasyTable?

Please use the forums to let us know what features will make EasyTable easier for you to use.

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.

Changing the number of records processed

Background

If you have a table with a large number of fields in each record you may experience timeouts or out of memory problems. This occurs for a variety of reasons including PHP file upload limits, memory limits and time out settings.

If you've already tried

  1. splitting the file up into smaller files and appending the records.
  2. increasing the limits mentioned above

Then you could try modifying EasyTable Pro to process a smaller number of records at a time.

In EasyTable Pro you can change the "Chunk Size" setting by logging in as the Super Administrator and entering an new value — the default value is 50 rows at a time.

Depending on your record size you can safely reduce the value of $chunkSize to 1 if required, in most cases simply halving the value is sufficient.

This will do several things, one it will reduce the amount of memory required to process each chunk and two if will increase the number of steps required to process the same number of records, causing the process to take longer than it would normally.



For versions prior to EasyTable Pro 1.0.0ß1

To do this you will need to edit the file /administrator/components/com_easytablepro/controllers/easytable.php

In that file you will be looking for the following code "$chunkSize = 50" highlighted in the code block below:

function updateETTDTableFrom ($id, $ettdColumnAliass, $CSVFileArray)
{
// Setup basic variables
$hasHeaders = JRequest::getVar('CSVFileHasHeaders');
$totalCSVRows = count($CSVFileArray);
$chunkSize = 50; // Arbitrary chunking size at this point...
$csvRowCount = 0; // Check our CSV column count matches our ETTD  

 

Current as at 9th June 2011.

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

500 - Error: Data insert failed for table: X in updateETTDTableFrom()

500 - Error: Data insert failed for table: X in updateETTDTableFrom():
Possibly your CSV file is malformed

This error occurs when uploading a new file to the component. This is the result of errors in the CSV file being uploaded - the CSV file format (RFC4180) is defined here, a more readable summary is on Wikipedia.

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 ismalformed"

The first thing to check is the CSV file meets the definition. The best way to do this isusing 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 CSVfile 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.

Failing all of that, if you have a current Support Subscription you can send the file in question to our subscriber support forum and we'll take a look at it for you.

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

Untitled document

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 set Smile. If your CSV file has Unicode characters the PHP parser probably drops them (either that, or we've 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 Ö 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 Ö

É becomes É

Ë becomes Ë

Ó becomes Ó

To make your CSV file work reliably you will need to convert it's non-ASCII characters to HTML equivalent entities. There are tools available on the web that will do some degree of HTML entity conversion for you, two examples we're aware of are:

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  {  |  }  ~

 

No Data Table Found For...

If you get a status section like this one:

No_Data_Table_Found Status

It's usually because you missed Step #5 in the Creating A New Table section of EasyTable Editor Explained (Part 1).

Feature comparison EasyTable for J! (free version) vs EasyTable Pro

EasyTable 1.0 “Free” vs “Pro”

EasyTable Pro is currently version 1.0.0FC1 and is considered complete, you can read about the current version here or look at our current development schedule here.

Administration FeaturesFreePro
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
Administration Access ControlFreeProNew Feature!
Settings Access X
External Table Linking Access X
Table Management Access X
Data Uploads Access X
Data Editing Access X
Administration Processing ControlFreeProNew Feature!
Max. File Size X
Chunk Size X
Restricted Tables X
Raw Data Entry X
Uninstall ProcessFreePro
Uninstall Setting 1
Front-end FeaturesFreePro
Per Table Searches
Paginated List View
Detail View
Linked Tables
Deep Link Tables 1
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
User ID or Username filtered Records X

KEY

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

 

1.This feature is now available in EasyTable for J! 1.0.4 and higher

2.This bonus feature was added to EasyTable Pro 0.9.0 and higher

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.

EasyTable Pro supports the modification of all table structure elements including the alias of a field. The same limitation to the alias value as it is still used as the actual column name in the table in the database and the CSS class label for the column.

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'

How can I get alternating row colors?

Row CSS Class

EasyTable for J! and EasyTable Pro attach 'row0' and 'row1' to each alternate row, starting with 'row0' for the first row on a page followed by 'row1' for the next, then 'row0' again and so on.

<tr class="row0">...</tr> - Initial Row with 'row0' class attached.

 <tr class="row1">...</tr>

 <tr class="row0">...</tr>

Example CSS

The CSS examples described here can be seen in the tables on our demo website.

For a lot of templates the CSS is already defined for the CSS classes 'row0' and 'row1', however, a few templates do not have these class definitions. In those cases you will need to add some CSS that defines the classes. The following CSS defines the two classes, making the background of all 'row1' a light grey.

tr.row0 { background-color: #FFFFFF; }

tr.row1 { background-color: #F9F9F9; }

If you want the rows to change color as the cursor moves you can use the pseudo selector 'hover' as shown in the example CSS.

tr.row0:hover { background-color: #FFD; }

tr.row1:hover { background-color: #FFD; }

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.

How do I use EasyTable with non-English CSV files?

If your data and locale are US/UK based then programs like Microsoft Excel will export a correctly formatted CSV file. If your locale requires non-ASCII characters (eg. Cyrillic, Arabic, Greek, Hebrew, Thai, Chinese etc...) then most programs will export a file that contains non-ASCII characters.

To overcome this you need to do two things:

  1. Convert the file to a UTF-8 format.
  2. Encode the non-ASCII characters as HTML entities

These steps are covered in our FAQs on the subject:

  1. What file format does EasyTable support?
  2. Why do letters like é, å, ä, ö disappear?

 

EasyTable CSS ID's and classes

General

This document is the result of an evolving process and will change to reflect the currently available version of EasyTable Pro

This document details the element IDs and CSS classes that are used in each of the 3 views (the list of published tables, the table list of records view and the record view).

The CSS classes and IDs listed in the tables below are basically in the order of appearance in the HTML generated by the component. Please note that these are the classes and IDs for EasyTable Pro and not all of them are available in EasyTable for J! 

By adding the appropriate CSS to your templates style sheets you can implement a range of features/effects such as alternating row colors or row highlighting when a users cursors hovers over a row. The CSS required for that example is minimal, you can see it in use on the our demonstration website. For example the CSS to achieve the effects described is shown below:

tr.row0 { background-color: #FFFFFF; }
tr.row1 { background-color: #F9F9F9; }
tr.row0:hover, tr.row1:hover { background-color: #FFD; }

All Views

Following the convention for Joomla content components the content is displayed in a surrounding div that has a class of 'contentpaneopen', also inline with standard Joomla features you can define a Page Class Suffix (read more about Joomla and the Page Class Suffix). 

TTTTT - is used below to represent the table alias.

FFFFF - is used to represent a field alias.

List of published EasyTables

Name Type Notes
et_list_page ID The ID of the surrounding DIV, this is the surrounding div mentioned above with the class of 'contentpaneopen
componentheading CLASS The standard Joomla class attached to the DIV that contains the Page Title.
et_tables_list CLASS The class attached to the list <UL> element of table list.
etTableListLockElement1 CLASS The class attached to the "Locked" icon, EasyTable Pro supports user access levels.
et_list_table_TTTTT  CLASS Each link to a table has it's own class attached to the list item <li>. The class name is made up of 'et_list_table_' with the table alias appended to it (in place of the TTTTT). So, if the table alias is 'us_presidents' the class will be 'et_list_table_us_presidents'
et_description  CLASS The class attached to the paragraph <p> containing the description. (Below each table name in the list the table's description is displayed)

1 The padlock icon is only rendered if the table requires a "Registered" or higher level to access it and the user is either not logged in or not of a high enough level.

EasyTable Record List

Name Type Notes
et_table_page ID The ID of the surrounding DIV, this is the surrounding div mentioned above with the class of 'contentpaneopen
contentheading CLASS The standard Joomla class attached to the H2 that contains the Page Title.
createdate CLASS The standard Joomla class attached to the paragraph <p> that contains the table's creation date.
modifydate CLASS The standard Joomla class attached to the paragraph <p> that contains the table's modification date.
et_description CLASS The class attached to the paragraph <p> containing the description.
easytable-TTTTT ID The ID of the DIV that surrounds the table elements.
search_result CLASS The standard Joomla class attached to the form used for search functions.
et_search_result  CLASS The class name attached to the DIV wrapped around the search field and buttons.
pagination  CLASS The standard Joomla class attached to the DIV surrounding the pagination controls.
display CLASS The class attached to the DIV wrapped around the form elements that control how many records are displayed per page.
TTTTT ID The table alias is used as the ID of the <TABLE> element.
sectiontableheader CLASS The standard Joomla class used for table headings.
FFFFF CLASS The class attached to a column heading in addition to the sectiontableheader described above, where FFFFF is replaced by the field alias. The FFFFF class is also attached to each table cell <TD> for that field. eg. FFFFF could be president as in our demo website.
row0 / row1 CLASS Alternating table rows <TR> have the classes row0 or row1 attached, starting with row0 for the first row.
colfld CLASS The class attached to each table cell <TD> and immediately proceeds the field alias described above.
eg. <TD CLASS='colfld president' >
pagination_footer CLASS The class attached to the pagination elements at the foot of the table.

EasyTable Record View

 

NameTypeNotes
et_record ID The ID of the surrounding DIV, this is the surrounding div mentioned above with the class of 'contentpaneopen'
contentheading CLASS The class attached to the DIV that contains the Page Title.
easytable-record ID The ID of the DIV that surrounds the all of the record elements.
TTTTT CLASS The class attached to the DIV easytable-record.
TTTTT ID The table alias is used as the ID of the <TABLE> element for the record.
sectiontableheader CLASS The standard Joomla class attached to a field heading.
sectiontablerow CLASS The standard Joomla class attached to the table cells <TD> containing the field value.
FFFFF CLASS The field alias is used as a class attached to the field heading the the table cell that contains the fields value.
easytable-linkedtable ID The ID of the DIV surrounding the table of records from the linked table, if one exists.
CLASS The easytable-linkedtable DIV also has the alias of the linked table applied to it as a class.

 


RSForm! Pro by RSJoomla!


RSForm!Pro is a powerful Joomla! form creator, helping you to create custom forms in minutes. The new product makes form management much easier and gives you the time to handle your clients better.

For only €19.00 how can you go wrong?
 ( We've used it for years... Shouldn't you? )

Member Login