Friday, October 29, 2004
Build 362: Performance Improved
Comment
Foxfire! Build 362: Improved Performance and...
As well, there are a few more options: the Output tab has been updated with clearer options and the Request Workbench now "remembers" where you last put it, including the sizing.
Download it from http://www.foxfirereporting.com/livedesign/ff80362.zip or download the full setup from http://www.foxfirereporting.com/livedesign/ff80setup.exe
Comment
Monday, October 25, 2004
Performance Issues with Build 361
Comment
Sunday, October 24, 2004
Foxfire! 8.0 Build 361
Build 361 is no longer available. Download build 362 instead: http://www.foxfirereporting.com/livedesign/ff80362.zip
The major changes are in the Output tab. Foxfire! now has built-in support for Word and RTF output and more improved Excel options. Try it out and give me your views on the new layout options interface. We'll be publicizing more of the features in the next few posts.
Here's what's changed:
Modified Output screen to show newer options better.
Note: When you choose a format of Data File - Excel but then specify you want a Formatted request, it displays a message with some details about what will be changed and then changes the request to an Excel Spreadsheet with Formatted output.
Created separate output UIs for Text files, Data and XML to more accurately show the options available
Added support for new Excel Charting functions. Users can now specify if a legend should or should not appear; extra category titles and other plotting options.
Updated layout to show Form layouts better. When you switch to a Report-Form layout, it actually re-formats the preview area to show the fields in "form" layout mode.
Updated Previewer so that if you are using the Master/Detail layout, you can actually see what it will look like. Master/detail reports by page actually reverse the Groups and Page Headers so the Group details appear before the Column Headings.
Both Master/Detail reports only ever show ONE group summary as well. This is now properly depicted in the preview.
This is being released primarily for the Southwest Conference demo so we can see the functionality of the new output layouts.
Note that the zip file includes several BMPS so be sure to unzip it with Folders intact.
Comment
Monday, October 18, 2004
How Does Foxfire! Build Joins
FFBUILDJ is responsible for actually generating the joins. Here's how it does it:
It does this by looking for each used table in the JOINS table and noting its Join Level. (searching by alias1)
If it can't find a join with alias1, it searches for alias2 and increasing the join level by one.
This is important because the JOIN LEVEL is what will be used to identify what is the driving table for the request. (the lowest one usually wins)
The maximum weight of all joins is stored in lnMaxPref.
** Why not just look at the max weight of the joins in the request's tables?
Ensure that all tables have join records in the system
Creates two arrays for tracking which tables have joins and which ones don't.
It identifies the Start table by looking for the first table in the unjoined tables array (which identifies all the tables used) and looks for a matching record with any of the other tables.
(this can be critical because if your request starts with a little used table but there is a jOIN in the array, it will START with that as the primary table for the join)
Update: this has been revised to look for all direct relationships right away once it knows the Start table. it does this by looking for relationships in order of the level in the array. So if your Customer file is at the top, it starts with THAT file and looks for relationships below it. This loop takes place right away and removes entries from the laUnJoined array.
NOTE: Put an exit in the search for empty line tables - it doesn't need to search through everything again. Time waster
If, by this time, the relationship hasn't been figured out.
The Start table is added as the first element of array laJoined here.
Now go through the weights listed here, seeing which tables can be DIRECTLY linked to the START table. (once again, if the WRONG start table is chosen, this could be a problem) In most cases, the lnMaxPref would be 1 so this loop would only be gone through once.
How do weights work? Well it starts at the lowest number (1) and looks for a relationship between any table in the Unjoined array and a table in the joined array that is LESS or equal to that number. If one isn't found, it then moves up to the next weight.
This is done in reverse order in the unjoined array.
If this uses Advanced SQL (??? How is this defined ??? )
it identifies the new join by calling j_gen_instjoin with no parameters
sf_alias is a separate array that ?????
This join is now added to a cursor called FFCJOINS
This is repeated for all the tables involved and the table is removed from the unjoined array.
At this stage, the unjoined array should be empty. If it's not, a warning is posted and the request is stopped.
In addition, a variable named lcJoinstring now contains essentially the WHERE clause if there were no outer joins being used here.
The FFCJOINS table is now sorted by Join Level (from the JOIN table) and the Alias 1.
This lets FF! know what the highest join level is.
*!*!*!!*!* BUG: Don't use ALLTRIM(STR() use PADL(joinlevel, 3) - this sets the WRONG level.
Do we still want to support nested Joins vs. sequential?
Sequential Version
The Nested
posted by andrew macneill at 7:16 am
Comment
Monday, October 11, 2004
Foxfire! Build 357: Updates to problems with 355
There were some problems with Build 355 in that a file named AUTOCLOSE.TXT was included in the full install.
If you have downloaded the Full install (and don't want to reinstall the whole thing), erase the file AUTOCLOSE.TXT from your FF80 folder.
Update file: http://www.foxfirereporting.com/livedesign/ff80357.zip
Fixed problem with Timestamp fields in report
Fix for Custom report widths not working properly
Fixed problem when unloading class libraries
Removed AUTOCLOSE.TXT from FULLINSTALL which was causing the Close Workbench to not work properly.
Fixed occurrences when multiple item drag and drop onto the Preview did not add items to the Data Item
Fixed PREPFLD problem with requests that aren't sorted
Updated some of the sample requests to show the comments on the header
Comment
Thursday, October 07, 2004
Foxfire! 8.0 Build 355: Nightly Build
VFP 9 support for templates. When you modify a layout using VFP 9, it will show the Data Item names instead of the expressions. (this requires the full rebuild)
Added LastRun and LastRuntime to oRequest in object model
Added Last Run times and stats to General page
Fixed Drag and Drop of multiple items from Workbench onto preview area
Fixed problem when selecting new data group from list and getting invalid array dimension
Made Roll-up and docking behavior more consistent.
If you close the Workbench by clicking the "X", it automatically rolls up with workbench on the preview area.
If you have rolled up the workbench in the Preview area AND undock it, the undocked work bench will roll-down.
If you subsequently re-dock it, it will still appear rolled up.
Rolling up the work bench only applies to the current session. When you re-open the request, it will be rolled down.
Made the tabs more consistent.
Whenever you click on a tab (even the active page), it will automatically expand so you can see the content.
Updates to the Expression Builder to work properly with date functions and clear up expressions.
Fixed problem in aarCombo where the controlsource was not being updated properly.
Ensured that Filter Data Item combo refills when new data items are added
Automatically switching to Preview when moving from a file output (graph, excel, etc) back to a report.
Fixed Resize of the Chart output option
Nightly build with fixes for filters and layout resizing
Comment
Wednesday, October 06, 2004
Interim Update : FFADMIN.EXE
Comment
Friday, October 01, 2004
Foxfire! 8.0 Build 352: Beta Period Extended
Here's the link: http://www.foxfirereporting.com/livedesign/ff80352.zip
Comment