An examle
Imagine the following situation. Your company has a list with the sales in 150 Countries over the last 5 years. The list is organized in an ordinary Excel table. Additional information's like infrastructure, economic strength and a short description about the country are also part of the table. Your boss want you to publish the spreadsheet to the company-website. You could to this by designing a html table with 150 rows and more than 10 columns. A table like that would be very confusing to visitors so you might want to create a single html-page for every country. Even if you have the mood to create 150 html-pages. It would be impractical and not very handy to update.
What you need is a CRUD application!
CRUD stand for Create Read Update and Delete and describes the basic functions of a database driven application. For our example we need a function to list our table rows and display an entry in a single page. Administrators should also be able tor create, update and delete entries. CRUD (Wikipedia)
JooDatabase works like a CRUD application. To give you the opportunity to customize the presentation of the data on your website it has a built in template engine. Template engine (Wikipedia)
How does it work?
Every database has the same basic structure. You need an index (also called ID or primary key) which is unique for each entry, a title- and a content-field. In our example the title would be the name of the county and the content would be the basic description of that county. The id could be the number of the county or the county name itself. But usually the id is an integer field.
JooDatabase takes these basic information's plus the information about the table structure (field names and types) and to displays the table data at the website. It generates a catalog, single entry and single entry print views. All you have to do is to create a catalog-view in a menu and select the database you want to use. Everything else is done by JooDatabase automatically. JooDatabase parses the templates creates automatically links to the single entry views, completes page title, pathway and so on. With the search plug-in you can use the site-search to search in your database. JooDatabase replaces the {joodb field|XXX} arguments with the content of the field. Additionally some simple commands allow you to control the output or insert elements like as pagination or a search form. All you need is a proper sql-table with your data in the database of your Joomla installation.
To get the spreadsheet into your database you can use tools like phpmyadmin. The PRO-Version has a built in function to import excel tables. At the backend of the PRO-Version you can press import, select your spreadsheet and enter the name of your table. JooDatabase will create or update a table with the desired name including index. Now you can easily create a new JooDB entry with your table by selecting the required columns like id, title and main-text.
Limitations
Wherever is light there is darkness also. JooDatabase was designed to be used as easy and flexible as possible. For you as administrator it means, that you have to know what your doing, as soon as you want to customize your database.
You should know the basics of CSS and HTML if you want to customize the design. You should understand SQL and how data is organized efficiently if you want to enhance your table. Also customizing templates can be frustrating without knowledge about the limitations of online editors.
JooDatabase-FREE is for simple data collections only. This means only one table and no real relational structures. Only the PRO-Version has the ability to associate other tables with your main table. But even with only one table you can build complex data catalogs with categories and so on. Relational Database (Wikipedia)
Some final words
- JooDatabase-FREE is complete as it is. We will not implement new functions into the free version but systematically fix errors an adopt the code to new Joomla versions.
- We recommend to use Joomla 2.5. Some functions like caching, external databases will only work with version 2.5 or higher.
- The documentation is still incomplete and not very beginner-friendly. We are currently working on a more enhanced documentation and a collection of example databases for a special scenarios.