August 2001
Technical Support Newsletter #3
And so to the third issue of the FrontBase newsletter, slightly later this month but we made it for August, sort of. The traditional holiday month has had little effect on the pace of business at FrontBase. This month has seen us deliver a new release, upgrade drivers and continue on eagerly anticipated projects such as FrontBaseManager and the new training courses. More on all of these subjects in the main body of this month's newsletter. As always, if you have any feedback on this newsletter, or wish to contribute then please mail me at louis@frontbase.com.
Contents
Review of the Month
FrontBase Out and About
Drivers, Plugins and DAMs
Hot Topic
Customer Support
Tell us What You Are Doing
Technical Tip
Export Tip
Technical Bulletin
Review of the Month
FrontBase Version 2.26
This month saw the release of the FrontBase server version 2.26. This version was released for all major platforms. This new version has incorporated the following revisions:
A number of minor details during installation has been solved, it is now possible to move the FBManager to any directory without being root, the log file from the FBExec started during installation is placed the right place, and startup order have been changed such that FrontBase Services are started as late as possible, thus avoiding problems with some NIST configurations.
- The EOFAdaptor now supports like operator with _ ( underscore) in the pattern string, and a leak of connection objects has been removed as well.
- The long-term stability of the server has been improved, and a few rare memory leaks have been removed.
- The EOAdaptor problems with negative time zones and dates have been solved as have the problem related to row privileges.
As always, we recommend that you upgrade to the latest version of FrontBase as soon as is practically possible.
FrontBase Developer Connection
As we announced last month, joining the FrontBase Developer Connection before the end of September will entitle you to buy Web Objects 5.0 for only $99.00. This is a pretty impressive saving if you are considering the combination of Web Objects and FrontBase. You can find full details of what you get in our FDC packages in the 'buy' section of the web site, or simply mail FDC@frontbase.com for details.
Training Course
As we mentioned last month, we will shortly be able to offer FrontBase education programs. These will be delivered in the form of a two-day FrontBase basics course and a one-day advanced course.
FrontBase basic education will provide you with the basic knowledge required to develop and maintain a FrontBase database. It discusses the industry-based standards that are at the core of FrontBase. It also introduces many of the concepts of the SQL92 standard that FrontBase closely adheres to. The program deals with all of the major FrontBase tools, including FrontBaseManager, the SQL92 tool, and FBWebManager. Securing and backing up your data, and looking at migration and connectivity options that are available are also covered by this course.
FrontBase advanced education covers more advanced topics not covered by the basic two-day course, which will allow users to develop, deploy and administer more advanced databases. The program starts by examining encryption of data and communication channels with FrontBase. Transaction logs and the use of these, including replication and clustering are discusses. The program goes on to look at ways of improving database performance and how to analyze the databases. Free text searching with 'LookSee' is also covered by this course.
If you would like details of dates and locations for these courses then please mail sales@frontbase.com
FrontBase Professional Services
FrontBase Professional Services can dramatically reduce application development time so your solution is up and running faster. Whether migrating to FrontBase from applications such as FileMaker or building brand new solutions our professional services team can help you. Use FrontBase application engineers to build your entire solution, or work as part of your overall development team. Your finished solution will be robust, reliable, and scalable. To find out how we can jumpstart your success, send us an email at professionalservices@frontbase.com
FrontBase out and about
Macworld Conference and Expo - New York, NY
Macworld New York was a successful show for FrontBase, with interest in the show in general and attendance at our booth very high. We had demos of FrontBaseManager and using Omnis Studio, as a front-end, going almost non-stop. At the show we gave away nearly 1,000 demo CD's that contained a demo of Omnis and a demo version of FrontBase. Our CEO Geert Clemennsen spoke at one of the sessions, which received a lot of good feedback. FrontBase was also demonstrated as one of the major database server solutions in the Apple Solutions center, which brought together software applications into application groups (accounting, graphics, and so on). The most consistent question we received at the show was the migration path from FileMaker to FrontBase; it seems like a lot of professional FileMaker applications have hit the wall, and they are looking for a good alternative solution.
Apple Expo 2001 - Paris, France
We will be exhibiting at Apple Expo 2001, which is being held at Paris Expo in Hall 4. The event will take place on the 26th to 30th September, and you can find us on stand C33.
Drivers, Plug-ins and Dams
PHP4
The PHP driver has been promoted from experimental to production and it is included with PHP distributions from php4.0.6. For on-line documentation pertaining to FrontBase functions please see PHP documentation
ODBC
The ODBC driver can now be used with Windows 98/ME/NT/2000.
RealBasic
A new release of the plug-in for REALbasic, release 1.5b3, was produced this month. This release incorporates the following fixes:
- The "where" clause in cursor update/delete now uses primary key columns only. To edit a cursor, you must now select all primary key columns and the select return results from a single column. The plug-in enforces these requirements now.
- The cursor-editing (update/delete) model of the plug-in has been changed to better reflect what RB expects. There are couple implications: (1) the plug-in maintains 3 connections to the server so tables and rows don't get locked up unnecessarily, and (2) your RB application should not attempt to set the transaction mode or locking discipline of the connection.
- The plug-in reports many errors that it catches, such as not being able to edit a cursor when the result set is not from a single table or does not contain all primary key columns. Note: that the server may report an error when you call Commit () the commit fails! Check for errors often.
- Documentation updated to reflect these changes. The section on transactions will be eliminated, with a short comment added to the usage section.
WO5 Plugin
Due to popular demand we are close to shipping a version for WinNT/2000. Please see the 'Download' section of our website over the coming weeks for more details.
As always with all the new drivers, be sure to check the readme prior to installation for installation and connection details.
Omnis Studio DAM
A new Studio DAM 1.2b2 was released this month. This release saw new builds of the DAM for Mac OS 8,9 and X and Win32. This release included a fix for a bug that would crash the DAM when connecting via OS X. A late July release of the DAM also fixed a problem with getting indices from tables where there are more than a few indices.
Hot Topic
This month's hot topic was a close run thing between details of the new FrontBaseManager, or the next release of FrontBase 3.1. So after much deliberation we decided to go with FrontBaseManager.
The main thing you'll notice about the FrontBaseManager is that the GUI has been designed and developed to adhere to the Aqua UI guidelines. In other words, it looks real pretty. One of the important new additions to FrontBaseManager is the inclusion of the FBUnicodeManager application. This has been ported to Mac OS X and updated for Aqua UI guidelines. FBUnicodeManager helps users build SQL 92 collations and translations.
The guys from the FrontBase tools division, who have been working on FrontBaseManager, have provided a list of some of the additional features that are included in FrontBaseManager. So in no particular order:
- You now have much finer control of foreign key constraints, as you can now set the deferability, check time, match option, update rule, and delete rule.
- You can set the deferability and check time of unique constraints.
- You can set the deferability and check time of primary key constraints.
- You can set the deferability and check time of general check constraints.
- You can set the index mode of a table (preserve time vs. preserve space).
- The table panel now has an added SQL pane, which provides you with the necessary SQL statements to recreate the table definition, including all constraints and indices.
- SQL 92 keywords are highlighted in blue to help indicate where quoting is required.
- You can now set the Check option of a view (None, Local, Cascaded).
- You can now drag SQL files onto the SQL Interpreter pane to have the server execute those files.
- You can now download BLOB content from the Table/View content browser.
FrontBaseManager will be launched during Apple Expo in Paris at the end of the September. So if you are in the area, why not pay us a visit and have a look at FrontBaseManager.
Customer Support
This month we have posted a new technical note dealing with Firewalls. You can find this in the technical note section of the support pages. Also, a brief FAQ pertaining to IP address checking has also been posted to the FAQ section - FAQs
If you have any requests for future tech notes or FAQs please mail them to us at support@frontbase.com
Tell Us What You're Doing
QuattroMultimedia is a young company based in Geneva, Switzerland. Our current activities consist in providing professional services with a wide expertise in the Internet and Intranet business strategy, Internet marketing communications, and Internet & Intranet technology solutions, focusing on intuitive and advanced client interface design, advanced printing capabilities and visual reporting solutions on the Web. Our website: www.quattromultimedia.com
www.geneveimmobiliar.ch is our latest web project (French version only). It is a real estate portal which regroups 9 of the main and biggest real estate agencies in Geneva. It has been developed for a specific local demand with specific local search parameters.
The Client had the following needs:
-Create a generic site that presents data imported several time a day from 9 different worlds
-Scalability (as usual...)
-Very fast response (as usual...)
-Application stability and load balancings (as usual...)
-Strong CI (as usual...)
-User-Friendly interface (as usual...)
-Originality (as usual...)
-Low development costs (as usual...)
-Veeeeeery short deadline (as usual...)
The deadline for the project was too short but with a WebObjects-FrontBase-Flash trio, we had the right tools in our hands and we were totally confident about them. We developed several projects with Webobjects and FrontBase since version 1.22 under MacOXS and NT for intranet and internet purposes and we knew it was THE database to use. It's strength, ease of use, speed and reliability are at the top. Even my partner who worked with Oracle for more than 10 years develops now with FrontBase on his machine. It's so easy to administer! No more need for a full-time engineer.
Another reason for which we chose FrontBase was their support. We work in Europe and it's very appreciable to get support at office hours (even after) Frontbase support: this is what I call Five Stars Support With this, the project has been done 2 days before the deadline by 2 people (1 multimedia developer and 1 programmer) and since july 26th (the deadline) it is up and running with absolutely NO downtime.
David Marioni, Quattro Multimedia
This is a section that we would really appreciate your help with. We would like to know what you are doing with FrontBase, all the gory details. What Front end you are using, what operating system, why you choose FrontBase, how you implemented your development and what you think of the performance? Each month we will feature and reward the best case we get sent. Please mail your contributions to support@frontbase.com.
Technical Tip
The VALUES construct
One of the neat ways to get certain information and values out of the FrontBase server is to use the VALUES construct. In the SQL 92 standard, VALUES is defined to be part of the <table expression> "family" and what is called a <multi row select> is defined as:
<table expression> [ ORDER BY <list of column names> ];
A table expression can of course be a regular SELECT, but it can also be VALUES. Examples:
VALUES(SERVER_NAME);
-- Returns one row with one character column detailing the actual version of the server and the version that the database was created with.*
VALUES(CURRENT_TIMESTAMP, CURRENT_USER, CURRENT_SCHEMA);
-- Again one row, but with three columns and values as expected.
The timestamp value is interesting because it will tell you what time zone
the server is running in.
* If ever you need to return the server version of FrontBase from the command line, this can be achieved with:
[<install-path>/frontbase/bin]user% ./FrontBase -v (MacOS/Linux)
or
<install-path>/frontbase/bin/FrontBase -v (Win32)
Export Tip
Write Table
The WRITE TABLE statement is a way to dump just the content of a table into a flat-file.
Syntax:
WRITE TABLE <table name> OUTPUT('<path of output file>' [, '<column sep>', '<row sep>']);
Example:
CREATE TABLE T0(C0 INT, C1 VARCHAR(1000000)); INSERT INTO T0 VALUES (1, 'Smith'), (2, 'Jones'); WRITE TABLE T0 OUTPUT('/tmp/T0.txt', '~', '~\n');
Resulting file (T0.txt):
<table Expr> 2 1 "C0","~" 2 "C1","~\n" 1~Smith~ 2~Jones~
This file can then be imported into some other table by executing:
INSERT INTO <table name> FROM 'FrontBase' INPUT('/tmp/T0.txt');
Please note that if the column names of the table the data is to be imported into are different, you will have to edit T0.txt accordingly.
A while ago WRITE TABLE was actually enhanced to, in addition to a table name, accept a table expression, i.e. a way to dump out the result set of a SELECT.
Examples:
WRITE TABLE SELECT C1 FROM T0 WHERE C0 < 2 OUTPUT('/tmp/T0.txt', '~', '~\n'); WRITE TABLE VALUES('3⁄4?') OUTPUT('/tmp/T0.txt', '~', '~\n');
The latter example is a good way to see how FrontBase expects national characters to be represented:
<table Expr> 1 1 "_VALUES001","~\n" \195\166\195\184\195\165\195\134\195\152\195\133~
Technical Bulletin
Importing
The process of importing from flat-file in FrontBase 2.2x currently doesn't check constraints. This has recently been enhanced to include constraints and will be incorporated into an upcoming release of FrontBase.