Axisbase1 Tasks/Release notes
Most recent release date first.
Programming tasks report for release 20110103
170: mouse wheel support
Product/area: Axisbase1/Main
Discovered in version: 20071011
Done in version: 20110103
Task description:
Programmer notes: Implemented in ListViewPanel only
221: remote connection "not random enough"
Product/area: Axisbase1/Server
Discovered in version: 20090808
Done in version: 20110103
Task description: The "random number is not random enough" error occurs when many connections are started at the same time, indicating possibly that the time-based random number seed is only accurate to the second or is producing the same random number for some other reason.
Programmer notes: Found that each connection thread creates its own random number generator, so 2 generators could possibly have the same time-based seed. Changed to use one static random generator.
222: label printer null reference
Product/area: Axisbase1/Main
Discovered in version: 20091023
Done in version: 20110103
Task description: Switch to label printer results tab when there are parameters; cancel parameters window; get null reference exception.
Programmer notes:
223: server reboot fails to close databases
Product/area: Axisbase1/Server
Discovered in version: 20091023
Done in version: 20110103
Task description: The server generates error message "File was not closed properly after the last session" when the server has an automatic MS update and reboot. This was working; something apparently stopped it from working.
Programmer notes: done, tested on dev machine only; need to install on axisbase.com and wait for a reboot
In Dec 2010, this was reverted when pluto.axisbase.com migrated to new server. Retested reboot on 20110103 final release; OK.
224: notice of update available
Product/area: Axisbase1/Main
Discovered in version: 20091023
Done in version: 20110103
Task description:
Programmer notes: test by faking the pad file
226: labels dont print from Windows 7
Product/area: Axisbase1/Main
Discovered in version: 20091023
Done in version: 20110103
Task description:
Programmer notes: Is fixed by .NET 4 upgrade; no action taken
227: import type defs, fails to import blob lengths
Product/area: Axisbase1/Main
Discovered in version: 20091023
Done in version: 20110103
Task description: imports string lengths ok, but blobs come through as 0..0
Programmer notes:
228: allow partially trusted callers
Product/area: Axisbase1/Main
Discovered in version: 20091023
Done in version: 20110103
Task description: all assemblies, add [assembly: AllowPartiallyTrustedCallers]
Programmer notes: done for all server assemblies, not for UI
However, this doesn't solve the problem of partially trusted web apps, because remoting requires full trust.
229: fails on comm. failure
Product/area: Axisbase1/Main
Discovered in version: 20091023
Done in version: 20110103
Task description: on loss of communication to the server, the client aborts inelegantly
Programmer notes: may have introduced new bug: lost session key (no such session key, server may have been restarted) This seems to happen more often now.
230: align web site with help buttons
Product/area: Axisbase1/Main
Discovered in version: 20091023
Done in version: 20110103
Task description: some help buttons dont find the correct page in the help system
Programmer notes: Changed about 10 search terms to match the page titles.
231: upgrade to .NET 4.0
Product/area: Axisbase1/Main
Discovered in version: 20091023
Done in version: 20110103
Task description:
Programmer notes: upgraded to Visual Studio 2010 and .NET 4.0 - Extended profile (not client)
upgraded to DevEx 9.3.7
Note bug 197 was to upgrade to v9.1
232: serialized to wrong type error
Product/area: Axisbase1/Main
Discovered in version: 20091023
Done in version: 20110103
Task description: error: "serialized to wrong type" (see in FLY db, main window)
Occured only after upgrade to .NET 4
Programmer notes: Found that .NET 4 doesn't deserialize NameValueCollection objects properly, so Hyperlink,Args is the problem on deserialization.
(in cells.cs). However, a workaround for the issue of not being able to open some objects is to open and resave the object in the current (2009) version of axisase, then they will open in the new version. No programming change made.
Programming tasks report for release 20091023
212: list windows open to width needed
Product/area: Axisbase1/Main
Discovered in version: 20090808
Done in version: 20091023
Task description: Lists currently open to a fixed window size. The width should be set to accommodate the data width.
Programmer notes:
213: easier to invoke OK in parameters
Product/area: Axisbase1/Main
Discovered in version: 20090808
Done in version: 20091023
Task description: Currently OK requires Alt-O or mouse action in parameter entry. Make this quicker
Programmer notes:
215: backup process fails to get exclusive lock
Product/area: Axisbase1/Server
Discovered in version: 20090808
Done in version: 20091023
Task description: Backup process may corrupt database if it is processing writes during the backup.
Programmer notes: changed ServedPondCollection and BackgroundWorker
216: corruption with long strings
Product/area: Axisbase1/Main
Discovered in version: 20090808
Done in version: 20091023
Task description: Corruption could occur when long strings cause heap expansion during the save process.
Programmer notes: AxFishFile.SaveFish calls LoadFish, then hashToRecord (which may alter the blocks), then SaveFish(which expects LoadFish to have saved its position); corrected by not sharing the read data window with any write operation
BlockFile was checking block1 instead of 0 for moving
218: long strings can't be displayed
Product/area: Axisbase1/Main
Discovered in version: 20090808
Done in version: 20091023
Task description: Very long strings, over 20k in length, take a very long time to display in lists
Programmer notes: Limited display to 750 chars with ... following the truncated text. Editing shows the whole string, which for some reason does not have speed problems.
Implemented a Zoom edit feature.
219: removed memory mapped file
Product/area: Axisbase1/Main
Discovered in version: 20090808
Done in version: 20091023
Task description: Memory mapped files have memory constraints that are unpredictable, for example at about 800MB on a 32-bit Windows machine. Therefore they should be turned off until a more reliable solution is found.
Programmer notes:
220: Server force closes databases
Product/area: Axisbase1/Server
Discovered in version: 20090808
Done in version: 20091023
Task description: Inconsistently, the server will take a long time to stop (for example on system shutdown) and the logs indicate that the databases were not shut down properly. First noticed during this update (released versions do not appear to have the problem.)
Programmer notes: make pleasestop member volatile
Programming tasks report for release 20090808
187: server does not stop when windows reboots
Product/area: Axisbase1/Server
Discovered in version: 20080303
Done in version: 20090808
Task description: when Windows does an automatic restart after installing updates, Axisbase log files say "the database was not closed properly", meaning that Windows crashed the axisbase server instead of stopping it nicely.
Programmer notes:
197: upgrade to DevEx 9.1
Product/area: Axisbase1/Main
Discovered in version: 20080303
Done in version: 20090808
Task description:
Programmer notes: Upgraded to 9.1.4
Changes to retest:
/Allrecordsform - maxrows entry and all other spinedits
/commadelimcombobox - used where? text align, mouse hot track
/textcellpainter & datacellpainters alighment
/datecellpainter - removed test for bad date
/ViewStyle deleted in combine popup, hyperlinkpopup, pondform/navbar. messageform, reporteditform, aggregatepopup, labelprinteditform, combinepopup
new errors introduced:
/numeric entry has decimal/comma for integers
/commadelimpainter, remove close box from dropdown because it cancels
messageboxes have white background in XP w/o theme (probably ok)
198: start/stop server in vista
Product/area: Axisbase1/Server
Discovered in version: 20080303
Done in version: 20090808
Task description: in Vista, security prohibits start/stop server
Programmer notes: in XP, use the old way; "runas" doesn't work
currently works on vista and on some XP, not others. Sydney thinks it is vista.
206: icon not anchored
Product/area: Axisbase1/Main
Discovered in version: 20090518
Done in version: 20090808
Task description: help icon needs to be anchored to the bottom of the Add/Remove properties form
Programmer notes:
207: Reopen/Refresh fails
Product/area: Axisbase1/Main
Discovered in version: 20090518
Done in version: 20090808
Task description: fails with error message; can't reuse disposed window
Programmer notes:
208: Master/detail lists report save errors
Product/area: Axisbase1/Main
Discovered in version: 20090518
Done in version: 20090808
Task description: Master/detail lits report save errors after saving changes. All changes are successfully saved, but it shows an error screen that lists no errors. Then, the total number of detail records + 1 are shown in the Changes menu header.
For example, after editing one master record that has 2 details (but not editing the details), it will save it, then show "3 Changes". See FOX database, data entry form.
Programmer notes: Now, only changing dataset when the value is different.
209: can't edit times in datetime fields
Product/area: Axisbase1/Main
Discovered in version: 20090518
Done in version: 20090808
Task description: due to latest tools update, date time editors can only edit the date portion
Programmer notes:
210: null pointer in BandEditPanel.openHyperlink
Product/area: Axisbase1/Main
Discovered in version: 20090518
Done in version: 20090808
Task description: When the hyperlink is invalid
Programmer notes:
Programming tasks report for release 20090518
184: email accesses deleted row
Product/area: Axisbase1/Main
Discovered in version: 20080303
Done in version: 20090518
Task description: when sending emails on a table with deleted rows, get error "deleted row information cannot be accessed"
Programmer notes:
185: email resume after failure
Product/area: Axisbase1/Main
Discovered in version: 20080303
Done in version: 20090518
Task description: after the mail server reports an error, on the "resume sending" box, you can't skip the one that is causing the error
Programmer notes:
186: reverse sort stopped working in lists
Product/area: Axisbase1/Main
Discovered in version: 20080303
Done in version: 20090518
Task description:
Programmer notes: no action; fixed by other code
188: delete then enter params - null reference
Product/area: Axisbase1/Main
Discovered in version: 20080303
Done in version: 20090518
Task description: If a parameter screen asks for a record of the type being shown in the form, the user enters a parameter, then deletes the record, then returns to the parameter form, it has a null reference error.
Programmer notes:
189: IP address changing
Product/area: Axisbase1/Server
Discovered in version: 20080303
Done in version: 20090518
Task description: Some clients experience dynamically reassigned IP addresses, or broadband routers. Permit disabling the security feature that ensures the IP address has not changed.
Programmer notes:
192: print from labels preview produces blank page
Product/area: Axisbase1/Main
Discovered in version: 20080303
Done in version: 20090518
Task description:
Programmer notes:
193: show host in MDI windows
Product/area: Axisbase1/Main
Discovered in version: 20080303
Done in version: 20090518
Task description: If local file, show file name. If remote, show host name.
Programmer notes:
195: add multirecord update
Product/area: Axisbase1/Main
Discovered in version: 20080303
Done in version: 20090518
Task description: To reduce delays from network latency, implement new server method to accept chunks of records to update as a batch. Test for the methods existence for backward compatibility.
Programmer notes:
test against old server for fallback - times (before/after)
delete 20 saleitems (3s/ 0.5s)
delete 100 saleitems (7.5s / 0.5s)
import 100 saleitems (43s / 3s)
update 61 products (61s / 1s)
insert 25 services in list (14s / 1s)
196: after delete, filter is invalid
Product/area: Axisbase1/Main
Discovered in version: 20080303
Done in version: 20090518
Task description: If a filter is active and records are deleted which then cause no more records to exist in the category, the filter list should be updated. Also selecting the filter item causes the wrong set of records to be displayed.
Programmer notes: reverted to prior behavior so the filter list does not change on data edits
199: beep on select from filter
Product/area: Axisbase1/Main
Discovered in version: 20080303
Done in version: 20090518
Task description: Beeps in vista only; should not beep
Programmer notes: in all listviews: filter, properties window, types tab
added EnableVisualStyles to Main
Should test every form
200: longer password expiration
Product/area: Axisbase1/Server
Discovered in version: 20080303
Done in version: 20090518
Task description:
Programmer notes:
201: don't export "System.Byte[]" in xml
Product/area: Axisbase1/Main
Discovered in version: 20080303
Done in version: 20090518
Task description:
Programmer notes:
202: installer needs admin rights
Product/area: Axisbase1/Installer
Discovered in version: 20080303
Done in version: 20090518
Task description: Add app.manifest file
Programmer notes:
203: write config files to user directory
Product/area: Axisbase1/Main
Discovered in version: 20080303
Done in version: 20090518
Task description: Currently writes axisbase1.ini, axisbase1Email.ini, and notice to the intall directory
Programmer notes: changed notice file extention to "axis1notice"
test emailing saves configuration
204: unhandled exception on Open nut
Product/area: Axisbase1/Main
Discovered in version: 20080303
Done in version: 20090518
Task description: If a nut reference is shown with "Open" and "Unlink" links (for example a list referencing a data subset) and the referened nut has been deleted, pressing Open will cause an unhandled exception
Programmer notes:
Programming tasks report for release 20080303
164: date to string conversion
Product/area: Axisbase1/Main
Discovered in version: 20071011
Done in version: 20080303
Task description: On converting a record type (with data) from a date column to a string columns, error "Attempt to store string larger than allocated size"
Programmer notes: string gets the internal format; It is now truncated to fit in the string length
165: recovery from type conversion failure
Product/area: Axisbase1/Main
Discovered in version: 20071011
Done in version: 20080303
Task description: When a type conversion failure happens (see bug 164), the temporary type is not deleted, so that no more type changes can occur.
Programmer notes:
166: unhandled exception on bad image format
Product/area: Axisbase1/Main
Discovered in version: 20071011
Done in version: 20080303
Task description: On attempt to import a bad image file format: bitmap constructor argument not valid
in imageeditor eload_linkclicked
Programmer notes:
169: too many endloops in rtf
Product/area: Axisbase1/Main
Discovered in version: 20071011
Done in version: 20080303
Task description: in RTF mailmerge, may include too many $endloop$ constructs in a loop while it looks for a closing bracket.
This can be gotten around by putting them on different lines.
Programmer notes: Some improvement was made, but full RTF parsing was not implemented.
171: demo pet search doesnt show images
Product/area: Axisbase1/Main
Discovered in version: 20071011
Done in version: 20080303
Task description: images are not shown because TextReportBuilder.rowColumnText is not being called
Programmer notes: fixed and posted forms dll to ianford.com on 08`1`5
172: report bug with nested list/summary dataset
Product/area: Axisbase1/Main
Discovered in version: 20071011
Done in version: 20080303
Task description: in flight log database, a report containing a list using a summary fishnet causes "internal JITYER3"
Programmer notes: The original error only appears when the list is nested rather than referenced. (fixed)
A null reference in ListController.measureGroup is thrown in other cases. (make separate task if recurs)
In other cases, "a dependent table of a non-persistent table failed to load the non-persistent table". (make separate task if recurs)
174: import errors hard to find
Product/area: Axisbase1/Main
Discovered in version: 20071011
Done in version: 20080303
Task description: On a text import, when a bad value is found, should show the specific bad value and undo the inserted rows
Programmer notes:
175: new massage-column feature/find-replace
Product/area: Axisbase1/Main
Discovered in version: 20071011
Done in version: 20080303
Task description: add a find/replace feature to the massage column menu; with formula option
Programmer notes:
176: massage column should operate only on rows showing
Product/area: Axisbase1/Main
Discovered in version: 20071011
Done in version: 20080303
Task description:
Programmer notes:
177: re-enter params on report
Product/area: Axisbase1/Main
Discovered in version: 20071011
Done in version: 20080303
Task description: On re-enter params on a report, it asks for the params twice, then fails on re-displaying data
Programmer notes: The screen can't repaint while the data controllers are being rebuilt, so the workaround is to always rebuild as if the form was just created, and then close the form if canceled.
178: report content pane Width bar
Product/area: Axisbase1/Main
Discovered in version: 20071011
Done in version: 20080303
Task description: Max Content Width bar doesn't react to the Landscape setting
Programmer notes:
179: prompts checkbox ignored
Product/area: Axisbase1/Main
Discovered in version: 20071011
Done in version: 20080303
Task description: when prompts is unchecked when adding cells to a list, the prompts are added anyway
Programmer notes:
181: labelprinter ignores sort order of datasource
Product/area: Axisbase1/Main
Discovered in version: 20071011
Done in version: 20080303
Task description:
Programmer notes:
182: allow "desc" in fishnet sort order
Product/area: Axisbase1/Main
Discovered in version: 20071011
Done in version: 20080303
Task description: fishnet sort order does not permit "desc" clause
Programmer notes:
183: Undo multiselect
Product/area: Axisbase1/Main
Discovered in version: 20071011
Done in version: 20080303
Task description: Undo selected rows - only undoes one row
Programmer notes:
Programming tasks report for release 20071011
151: DataOutsource/Code Test btn
Product/area: Axisbase1/Main
Discovered in version: 20070518
Done in version: 20071011
Task description: On pressing Test, the "Running external code" dialog comes up, and the mouse is frozen.
Programmer notes:
152: Lists PageDown too far
Product/area: Axisbase1/Main
Discovered in version: 20070518
Done in version: 20071011
Task description: In lists PageDown allows it to go a full screen past the end of the list
Programmer notes:
153: data outsource/code select table name
Product/area: Axisbase1/Main
Discovered in version: 20070518
Done in version: 20071011
Task description: If you create a data outsource and don't specify a table name on the File tab, no table name is saved.
Programmer notes:
154: connection pooling recovery
Product/area: Axisbase1/Server
Discovered in version: 20070518
Done in version: 20071011
Task description: If a connection from a pool is broken (such as bad session key, in the case of a db server restart), then it fails to recover from this.
Programmer notes:
155: printed nested lists dont grow to max
Product/area: Axisbase1/Main
Discovered in version: 20070518
Done in version: 20071011
Task description: If a nested list has a maximum lines setting, it should ignore that setting when printing; instead it restricts
the list size with no indication that there is more hidden data.
Programmer notes:
156: multiple user roles fails
Product/area: Axisbase1/Main
Discovered in version: 20070518
Done in version: 20071011
Task description: If a user has multiple roles, it is stored in a comma-delimited format, but that format is incorrectly parsed by the client, preventing editing from occuring when the user actually has the rights to edit.
Programmer notes: A tab constant in AxUtil was mistyped as '='
157: changes lost on click Enter Parameters
Product/area: Axisbase1/Main
Discovered in version: 20070518
Done in version: 20071011
Task description: In lists, if there are pending changes, and you press Enter Parameters, the changes are discarded without warning.
Programmer notes: fixed in list and data subset forms
158: new feature, nested loop mailmerge
Product/area: Axisbase1/Main
Discovered in version: 20070518
Done in version: 20071011
Task description:
Programmer notes:
159: add web help for firewall issues
Product/area: Axisbase1/Main
Discovered in version: 20070518
Done in version: 20071011
Task description:
Programmer notes:
160: JPEG quality level 10
Product/area: Axisbase1/Main
Discovered in version: 20070518
Done in version: 20071011
Task description: The old level was set to 75%, changed to 100%
Programmer notes:
161: bulk op fails on change source
Product/area: Axisbase1/Main
Discovered in version: 20070518
Done in version: 20071011
Task description: 'table cannot be null when autocreating list' - it's retaining an old cached dataset after the source is changed
Programmer notes:
162: reentering password after changed
Product/area: Axisbase1/Main
Discovered in version: 20070518
Done in version: 20071011
Task description: When you change the password, it should save the password so that the next time the database connection is opened, the new password is defaulted.
Programmer notes: Test both change on login and change from menu item.
163: write server version to diagnostic file
Product/area: Axisbase1/Server
Discovered in version: 20070518
Done in version: 20071011
Task description:
Programmer notes:
Programming tasks report for release 20070518 BETA
137: textrenderer doesn't work for print
Product/area: Axisbase1/Main
Discovered in version: 20070416
Done in version: 20070518
Task description: labelprinter and reports don't print at all since 20070416, because of the use of textrenderer instead of Graphics methods.
Also, zooming in report preview is nonfunctional
Programmer notes: Now, the Graphics methods are used for print and the TextRenderer is used for screen
138: uncaught error label printer
Product/area: Axisbase1/Main
Discovered in version: 20070416
Done in version: 20070518
Task description: in Label Printer, if the current table name doesnt exist in the current data source, and you choose Insert>Data and Prompts, then the exception "Table does not exist" is uncaught
Programmer notes:
139: window click hyperlink > uncaught
Product/area: Axisbase1/Main
Discovered in version: 20070416
Done in version: 20070518
Task description: On clicking on an invalid hyperlnk, SlateViewForm.openHyperlink does not catch the exception
Programmer notes:
141: copy & paste rows
Product/area: Axisbase1/Main
Discovered in version: 20070416
Done in version: 20070518
Task description: add feature
Programmer notes: copy done; paste will probably wait til Axisbase2
142: efficient saves
Product/area: Axisbase1/Main
Discovered in version: 20070416
Done in version: 20070518
Task description: don't load from heap when saving, if the heap item is not changing in the save
Programmer notes: AxFishFile.hashToRecord rewritten to handle all cases; updateIndexes rewritten to inspect both object[] records and hashtable records.
AxPond.SaveFish(dataset) changed to prevent sending non-changed fields in changed rows to SaveFish(hashtable)
143: unchecked checkboxes appear as nothing
Product/area: Axisbase1/Main
Discovered in version: 20070416
Done in version: 20070518
Task description: unchecked checkboxes should show up as a box, not blank.
Programmer notes: Changed to show as a line, and the check mark shows as a check mark instad of X. But for printing, it still shows X and blank.
145: dont paint twice when tabbing between cells
Product/area: Axisbase1/Main
Discovered in version: 20070416
Done in version: 20070518
Task description: Currently it paints the row when the cell editing is finished, and again when it is entered in a new cell, so there is a flicker.
Programmer notes:
146: LoadAllLocal fails to dereference blobs
Product/area: Axisbase1/Main
Discovered in version: 20070416
Done in version: 20070518
Task description:
Programmer notes:
147: reference prefetching failing
Product/area: Axisbase1/Main
Discovered in version: 20070416
Done in version: 20070518
Task description: It should load all rows in the given keyset, not just 500
Programmer notes:
149: allow bulkop from hyperlink
Product/area: Axisbase1/Main
Discovered in version: 20070416
Done in version: 20070518
Task description: currently you can't select a bulk operation as the target of a hyperlink
Programmer notes:
150: uncaught error in heap check
Product/area: Axisbase1/Main
Discovered in version: 20070416
Done in version: 20070518
Task description: during integrity check> heap check, the exception "negative handle encountered" is uncaught; this can occur after the heap check says it is complete
Programmer notes: added try/catch and allowed the zero handle to be cleared
Programming tasks report for release 20070416 BETA
120: nested list insert
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070416
Task description: on insert into nested list, nested list gets very tall with a lot of blank space (at least if there is a nested scrollbar) and the edit control appears outside the nested list area, perhaps calculated from the outer list bounds
Programmer notes: changes in ListController only
122: savecopyas memory
Product/area: Axisbase1/Main
Discovered in version: 20070209
Done in version: 20070416
Task description: in large files, AxPortableBlockFile constructor runs out of memory. AxLocalFile.SaveCopyAs appears to retain a lock on a partially allocated file. Backups are requested on every cycle and fail every time, thus a lot of garbage files are written.
The server does not report backup errors.
NOTE: APPLE is not being backed up currently
Programmer notes: added some try/finally blocks to ensure errored file is closed and doesn't consume memory indefinitely.
Found that used count corruption causes save to fail. -> Allowed silent fixing
Found that lazy write thread could interrupt a backup and the consequences were not analyzed. -> Added lock(copy) on SaveCopyAs
Added error reporting from PondForm.
The server should be reporting backup errors.
Added logic to allow server to proceed to another file even if a backup failed, and only try to back up once per day. It now writes to backup_error.txt
Fixed a threading issue in AxBlockFile.
124: MultiTableStep attribute
Product/area: Axisbase1/Main
Discovered in version: 20070209
Done in version: 20070416
Task description: othertd should be marked nonserializable
Programmer notes:
125: on-screen note about server
Product/area: Axisbase1/Launchpad
Discovered in version: 20070209
Done in version: 20070416
Task description: Say "You only need the server installed if you are using this machine as a server for other machines" or something to that effect.
Programmer notes:
127: sum doubles
Product/area: Axisbase1/Main
Discovered in version: 20070209
Done in version: 20070416
Task description: double columns cannot be summed in the UI in an summary step; the choices don't appear on the list
Programmer notes:
129: mouse capture problem
Product/area: Axisbase1/Main
Discovered in version: 20070209
Done in version: 20070416
Task description: After loading a list, the first mouse click on anything (including the close box) sometimes fails. May be related to the progress form.
Programmer notes: changed which Windows messages were being ingored in the messagefilter
130: height measure
Product/area: Axisbase1/Main
Discovered in version: 20070209
Done in version: 20070416
Task description: Due to a recent change, the text measurement is not always right. Some text is cut off - it should wrap to 2 lines but the list only shows one line (this may be fixed but not copied to stage)
Programmer notes: Changed to use TextRenderer throughout instead of Graphics.DrawString
131: choose table dialog from popup
Product/area: Axisbase1/Main
Discovered in version: 20070209
Done in version: 20070416
Task description: If you choose from nest/link popup to select an existing data source, and that datasource has more than one table, the Choose Table dialog attempts to show, but it fails and puts the application windows in the background.
Programmer notes:
132: summary references
Product/area: Axisbase1/Main
Discovered in version: 20070209
Done in version: 20070416
Task description: should be able to choose reference columns in summary popup
Programmer notes:
133: install crash
Product/area: Axisbase1/Installer
Discovered in version: 20070209
Done in version: 20070416
Task description: When installer is "run from current location" or from a network share, it crashes. It should detect the problem and explain to run it locally.
Programmer notes: Changed to allow paritally trusted callers, then added code to assert full trust and check if they could be granted.
134: dont backup if no changes
Product/area: Axisbase1/Server
Discovered in version: 20070209
Done in version: 20070416
Task description: if there were no trx since the last backup, don't create a backup
Programmer notes: installed on pluto 4`14; has the side effect of making a backup after the first transaction of the day
Changed behavior to write backup time and cull old files, even if a new backup is not created.
135: cant get sum of int16 col
Product/area: Axisbase1/Main
Discovered in version: 20070209
Done in version: 20070416
Task description:
Programmer notes:
136: allow setting references to zero
Product/area: Axisbase1/Main
Discovered in version: 20070209
Done in version: 20070416
Task description:
Programmer notes:
Programming tasks report for release 20070209 BETA
70: change release format to YYYYMMDD
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070209
Task description: in bugs database, installer, client
Programmer notes:
75: test task 55/backups
Product/area: Axisbase1/Server
Discovered in version: 20061226
Done in version: 20070209
Task description: the backups were unopenable; fixed and installed. This task is just a reminder to test this again after several more automatic backups have been made
Programmer notes:
76: dropdown editors should select all
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070209
Task description: in FLY database, its too many keystrokes to select the text and then paste new text
Programmer notes:
77: send email; handle failures
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: 1. currently if one message fails, it just stops; it needs to allow skipping or canceling
2. the from/smtp entries should be saved even if it fails
3. error reporting should be more informative; there may be an inner exception
Programmer notes:
78: installer overwrites config file
Product/area: Axisbase1/Installer
Discovered in version: 20070110
Done in version: 20070209
Task description: it overwrote on pluto when installing 20070110
Programmer notes: the logic was reversed: the backup configuration was being preserved while the main one was being overwritten
79: allow smtp login and save settings
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description:
Programmer notes:
80: add info about spam controls on smtp servers
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description:
Programmer notes:
81: ad hoc set column value
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: add new type of massage accessible from grid context menu:
set column value for all rows - can set to expression or value
Programmer notes:
82: inserting new records inconvenient
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: experiment with (1) prohibiting the tab key from reverting to view mode; (2) allowing the insert key to work while in edit mode
Programmer notes:
83: CSV import date format
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: date format has no effect; in LineOutsourceLoader, it calls AxUtil.Convert, but it should have a special case for dates
Programmer notes:
84: use AxUtil.Convert instead of StringToPrimitiveVal
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: there is an inconsistency
Programmer notes:
85: call savefish twice
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: on calling savefish twice, it appears to not update the hashtable with the correct ^ver the first time, so the second call fails.
Programmer notes: changed return syntax of SaveFish, so that it writes the new version to the hashtable, instead of returning it as a separate out argument.
However, the remoting syntax still has to have the out argument.
Specifically test with ATRA site.
86: bad date entry can be missed
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: if you enter a bad date and tab (and dont look) it can change it to 1/1/0001. This is error prone; it should give a message.
Programmer notes:
87: reference field unintentional searching
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: if the dropdown list is open, then the Enter key should simply select the item, not open the search window.
Programmer notes:
89: long text fields take a long time to display
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: if the length is over an estimated amount for the maxlines of the cell, it may be able to shortcut the layout
Programmer notes: done; vast speed improvement - at least 100x
90: comma-delim dropdown
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: on dropdown, no change, closeup: shows the same text for all entries
Programmer notes: got around bug in DevEx - CheckItems collection contained many copies of the same item.
Also added spaces after commas.
91: allow string constants to contain escapes
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: particularly \r\n
Programmer notes: done for \r, \n, \t only
93: speed of full text search
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: ATRA site appears to be copying all records from db server to web server, before filtering
Programmer notes: If a fast filter uses a calculated column, the calculated col and filter were being done locally. This was changed so that calculated columns are always done on the server.
Also, aggregates that dont retain details are now done on the server.
94: datetime comparison
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: complex expression fails: #datetimefield < date() (tries to convert to int64)
also test date()+30 and similar expressions
Programmer notes:
95: calc column date conversion
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: singlesourcetransform should call AxUtil.Convert to change type. Test by creating a datetime column and setting to a date value.
Programmer notes:
96: Expr constructor throws exceptions
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: Check all calls to Expr constructor. Untrapped exception when called from AxTableStep.ReferencesParameter, from ResolverPanel.Init, from FishnetForm.eTabs_SelectedIndexChanged
Programmer notes:
97: TextRenderer problems
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: single line strings, such as in FLY, are measured as one line even if they should wrap
Programmer notes: problem with manual deployment; no action taken
98: list window param link
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: If the data source has no parameters but does have optional filters, the list window should show the Enter Parameters link, and the resolver form should show
Programmer notes: done in data subset window and DataManager (affects list window)
Testing: causes resolver form to show twice sometimes.
Rewrote some logic in ResolverForm, OptionalFilterList, FishnetForm, DataManager
99: optional filters should be off by default
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description:
Programmer notes:
100: change link>save with name
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: saving with a name may allow you to use a name that is already in use
Programmer notes:
101: data subset row limit
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: if a data subset is based on a data outsource, it will not update the max rows entry
Programmer notes:
102: progressform should lock app
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: currently you can work in other windows while the progress form is running; this could lead to problems. Could make it a dialog box and run all durational code in worker threads.
Programmer notes: progressform rewritten.
DataManager.GetData had to be rewritten so that resolver form was never shown when progressform is active.
All other instances of ShowProgress checked to make sure dialogs are not shown while the progressform is active.
103: aggregation w/o saving detail
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: simple aggregation (count all records) without saving detail yields SingleSourceTransform called with bad step type (possibly only with server)
Programmer notes: This appears to work when the server is updated; as of 2`1 the pluto server is old and gives this message. No action taken.
104: performance on joins
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: join with 'eliminate' checkbox is too slow or hung (test on apple data/57000 rows)
join with eliminate not checked is slow and processor intensive
Programmer notes: Profiling reveals that we should do a binary search on the allowed values in rowPassesFilter; the code was designed for small value sets.
105: progress window on Test Import
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description:
Programmer notes:
106: performance on imports
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description:
Programmer notes: PROFILING RESULTS:
AxHeap.getNewHandle is calling ReadInt64 about 6000 times per call
FlushViewOfFile is being called too many times, some from flush>writeBlockTable, and a total of 5 times per imported record (counter, create, 2 blobs, re-save)
CHANGES
AxHeap.Pack stops packing if there is no room to fit 100-byte or smaller blobs
getNewHandle now remembers if the handle table is nearly full and stops searching if it is; this should cut down on the calls to ReadInt64
AxBlockFile.findBlock now stores up to 4 recently accessed blocks for superfast finding by number
AxVectorFile.findVector now does the same thing as AxBlockFile.findBlock
AxBlockFile.flush rewritten to use a separate thread
107: performance on Save/Delete
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: PROFILING RESULTS
FindFirst is calling LoadSingleField about 500,000 times per call when called from DeleteBlob, because the big empty space in the vector is expensive to scan through
Programmer notes: added code to detect long sequences of empty records, but that could not be fit in elegantly with the existing packing code (the existing code works on one block while the discovery of empty space works on a vector level).
Therefore added code to rewrite block on every 100 deletes.
108: summary hangs
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: summary w/o group column with retain details checked causes a hang
Programmer notes: It doesn't actually hang, but it takes a long time for many DataRows to be updated to store the relation values; no action taken.
109: Loader.UniqueValues accesses deleted rows
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: when called from loadLastStep
Programmer notes: problem also exists in singlesourceTransform, and performAggregate
Was not noticed before because outsourced data is not filtered during load, so it has deleted rows in it prior to other transforms.
In loadLastStep and singleSourceTransform, added check for RowState.
In performAggregate, called AcceptChanges before processing.
110: CombinePopup null reference
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: on eOtherTable.TextChanged>getUsableColumnNamesOther; when joining tables from 2 different databases and the other one doesn't exist
Programmer notes:
111: summary spaces
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: if you enter spaces in the summary popup (create one row for each..), it fails
Programmer notes:
112: in web, C# expressions dont compile
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: Dynamic compilation fails because the assemblies are not in the same path as AppDomain.BaseDirectory when the dlls are deployed in the web.
It is requiring axisbase1.exe, which it may not actually need.
Programmer notes:
113: comma-delim list checks
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: when splitting comma delim lists, make sure to trim each piece
Programmer notes: added method to centralize this
114: bulk email - too many on one connection
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: on smtp server error, when continuing, need to re-create the connection. Also try sending only one email per connection.
Programmer notes:
115: asks for params on open list when known
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: if parameter values are passed into a list from a hyperlink, it still asks for the values (defaulting to the correct one), because of a recent change. It should only do this if there are optional filters.
Programmer notes:
116: nested list add/edit/del
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: The outer list's add/edit/delete checkboxes are controlling nested lists' abilities; each list should be separately controlled
Programmer notes:
117: join after summary
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: in join after a summary (see APPLE), only the first row of the joined table is populated when 2 or more rows are the same value
Programmer notes:
118: cant do 2 levels of summary
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: because they both have the same table name
Programmer notes: works now, if you retain details; a more general approach is needed for axisbase2
119: corruption
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: in larger files - APPLE, JOE
various types, have not narrowed down cause
lazy writes theory: no happened on server with version prior to lazy writes
server theory: no because it also happened on client direct open file
Programmer notes: fixed closing logic; was sometimes not finishing lazy write; this may not be the whole problem
121: bug from 109
Product/area: Axisbase1/Main
Discovered in version: 20070110
Done in version: 20070209
Task description: Loader line 1731 bug created by task 109; attempt to modify collection within enumeration
Programmer notes:
Programming tasks report for release 20070110 BETA
34: backup config db
Product/area: Axisbase1/Server
Discovered in version: 20061226
Done in version: 20070110
Task description:
Programmer notes: done, check on pluto server
There may be a locking problem? It didn't create the file when it registered the backup time, on the first try.
Just watch it for a while. - installed version with this on pluto on 12`29
As of 1`3 it was creating backups since 12`29
35: param refs inside c#
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: If a parameter is only referenced inside a c# expression, the reference isn't noticed, so it doesn't ask the user for the parameter value
Programmer notes:
36: null ref in hyperlink properties
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: When you delete a line from the parameters list in hyperlink properties popup, null reference error
Programmer notes:
37: fast filter on uint8
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: might not be working; test with JOE.sale.taxcode
Programmer notes: nasty bug - the fast filter comparison for bytes was looking in the first record in the chunk rather than the correct record. All other types were coded correctly.
38: allow cancelling the Working window
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: prior testing resulted in the advice that we can't use DoEvents, so this is not so easy
Programmer notes: added argument to allow caller to choose whether to cancel
updated these instances to allow canceling:
LabelPrintEditForm loadpreview, all instances within InitData, SlateView reload edit panel, BulkOpController.GetDataSet & DoOperation, BulkOpForm.loadPreview & Run, FishnetForm.loadPreview, ListForm.crowdResults & loadPreview, EmailForm.Send, FormsUtils.SaveDataSet, AllRecordsForm.hookUpData, ListController.Paint
should test more with server
39: AxRecList.FindFirst with bytes
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: when using fast filter with type byte, >1, no upper limit, it complains on AxRecList.FindFirst, "object must be type byte"
Programmer notes: incrementprimitive was returning (byte)value+1, changed to return (byte)(value+1)
40: add regex search to expressions
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: in the regex string, use i=ignore case, m=multiline, s=singleline
example: i.*FOO.* same as "like FOO" in sql
may either implement as a function regex(col, pattern) or the operator ~
Programmer notes: implemented with MATCH() function
41: add fuzzy search function
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: add function match(col, searchterms), which returns an integer specifying the rank
Programmer notes: implemented with MATCHF() function
42: add new tablestep for fuzzy searches
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: AxRankedFilterTableStep - like complex filter but adds a ranking column
Programmer notes: canceled; you can get this affect by creating a calculated column using matchf then filtering on that
43: add db level properties to use as counters
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: cache and handle at fishfile level;
use ^^counter type (string name, int64 value, string expr)
user can seed/reseed monthly
include expressions so that they can be used for strings
AxPond methods - GetCounter(name, bool increment); SaveCounter(old, newvalue) - ensure no process conflicts
Programmer notes: This is a breaking change, but the worst it will do is report errors if the server is on the old beta when the feature is invoked.
changed to ^counter, so that the UI could create/delete counters using normal CreateFish, etc
44: data cell editors width
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: data cell editors are the full width available, while the painted text is the width as defined by the CellBase
Programmer notes:
45: counter display type
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: add new display type that obtains a value from a counter
add new datacell painter to handle this
Programmer notes: * still should test with multiusers
46: batch preload FishRefs
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: when a list requires multiple FishRefs in order to complete the layout, it should collect them all and hand them to the server in an int array, and receive a string array in return. Currently it makes too many separate server calls.
Programmer notes: recoded AxTypeRef.load to use FishnetBuilder
added calls in ReferenceListCellPainter to prefetch AxFishRefs when one is requested that isn't cached
47: create fish with data
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: See if it is possible to call CreateFish with a Hashtable, to avoid having to create and then save in two calls.
Programmer notes: this has a high risk of breaking code, specificially unique values checks, referential integrity, and changes between remoting clients and servers; therefore it is not being done
48: Expr.GetVariables doesnt look in func args
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description:
Programmer notes: added recursive call in getVariables
49: cant enter char '-' in fast filter popup
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: if '-' is the only char, the popup goes away; probably an int parsing issue
Programmer notes:
50: check axisid match
Product/area: Axisbase1/Server
Discovered in version: 20061226
Done in version: 20070110
Task description: check match between AXIS.file.axisid and the axisid of the served pond once its open; don't allow serving if it was changed.
Programmer notes:
51: on Enter in a oneline field, make it taller
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: can trap KeyPress in MemoEdit and change control height, and add scrollbar, BUT don't want to increase height so that it is off the parent control bounds. Also not more than maxlines.
Programmer notes: done, but watch this feature - messing with controls while in use can have nonobvious consequences
52: close properties/save counters
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: closing properties window should check if there are unsaved changes in counters
Programmer notes:
53: on reseeding counter, clear cache
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: currently you have to restart the server for it to notice the new seed value
Programmer notes:
54: dont lose multiselect dropdown items
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: when opening a multiselect dropdown box, if the original entry has items in it that aren't in the list, they are erased.
Instead it should temporarily add those items to the list
Programmer notes:
55: backups are sometimes unopenable
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: SaveCopyAs may fail if there are a lot of indexes? test with a larger database
Programmer notes: Was omitting empty and unneeded vectors but was failing to remove references to those vectors
done; need to test after installing on pluto
56: multi-valued filters stopped working
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: gives untrapped error: single valued parameter expected
Programmer notes:
57: summary popup
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: 1. when choosing 'Count', the term 'rows in group' does not display
2. count - causes null pointer exception
3. dont include ^ver in col list
Programmer notes:
60: data outsource null reference
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: if you create a data outsource, dont enter anything, press Test Import, cancel the file dialog, it has a null reference exception
Programmer notes:
61: list window initial filters
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: the term "initial filters" suggest it supports more than one, but it appears to only support one
Programmer notes:
62: bulk op internal error
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: if you create a buk op, dont define a data source, and switch to the data tab, you get an internal error
Programmer notes:
63: put in beta/update reminder
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: on start pondform, put in hint that this is beta, please check ianford.com for updates
Programmer notes:
64: working window won't close
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: for exampe, check heap storage -> Close button on working window does nothingm
Programmer notes:
65: allow email attachments
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description:
Programmer notes:
66: hourglass on launch
Product/area: Axisbase1/Launchpad
Discovered in version: 20061226
Done in version: 20070110
Task description: use the same technique as the help button in axisbase client
Programmer notes:
67: change prop names
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: should exclude ^ver; currently it fails on duplicate name
Programmer notes:
68: add length function
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: to work with string and blob; useful for determining if an image exists
Programmer notes:
69: bulk op type conversion
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: allow: date <--> datetime
all numbers
anything -> string
Programmer notes:
71: open data cell exception
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: if a lists data set is invalid and you open a data cell, the exception is not caught
Programmer notes:
72: inequality type conversion
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description: expressions that compare length("...") > 3 fail because 3 is int64 and length returns int32
Programmer notes:
73: calculated field popup scroll problem
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description:
Programmer notes: changed to multiline field
74: unknown function gives meaningless error
Product/area: Axisbase1/Main
Discovered in version: 20061226
Done in version: 20070110
Task description:
Programmer notes:
Programming tasks report for release 20061226 BETA
second edit, zero key
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: on first edit after reloading, the key is set back to zero; cannot edit again
Programmer notes: done
time zone btw client and server
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: if server is in a different time zone, dates are interepreted incorrectly (not sure how); ignore time zone everywhere
Programmer notes: added new tasks to account for this - no action
connection pooling
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: add connection pool class
Programmer notes:
Classic theme problems
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: on windows Classic theme, no insertion bar is visible in the textboxes
Also the devex controls scroll before you are at the right edge.
Programmer notes:
ucase axisid in config
Product/area: Axisbase1/Server
Discovered in version: 061213
Done in version: 061226
Task description: serverdb allows lowercase axisids
Programmer notes:
autocreate super user
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: autocreate user super/super in createsystemstuff
Programmer notes: /
AxPond overloads
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: catchfish(fishnet), all other params are null
savefish(ds)
axpond.LoadFish(type, fishnet) -> hashtable of first one found or null
Programmer notes: test with phonetree
AxDataSet.ToHashtable
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: don't bomb on bad row#;
intent to use like this:
fishnetbuilder fb = new fishnetbuilder("IRIS.person");
fb.FilterEquals(...)
hashtable x = db.CatchFish(fb.Fishnet).ToHashtable(alertT, 0,0);
x["dob"] = ...
db.savedFish(alertT, x);
Programmer notes: /changed to AxDataTable.ToHashtable
test with phonetree
FishnetBuilder constructor overloads
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: to take maxvalue rows, all cols, no sort
single col, single row -
Programmer notes: test with phonetree
tablestep constructor shortcuts
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: axaggregatetablestep.AddOutput(col, kind, outname)
Programmer notes: test with phonetree
more helpful blank slate
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: staring out, blank slate state should be more instructive - this is when the customer is sizing up the app
1. on showing pond properties, if there are no types, link to planning tab
2. on showing bldg blocks, if there are none, suggest to create some
3. on showing Browse records, if there are no types, say you first need record types
Programmer notes:
help and hints throughout
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: remove user/roles hint - only use hints for actual hints
help links (HL) as follows
HL on each page of pond properties
HL on type level data
HL on integrity check
HL on bldg blocks window
HL on design tab of data subset
HL on data outsource, code, userdef nut
HL on general tab of list, labelprint
HL beneath tabs on window, report
HL on data source tab of bulk op
Programmer notes: all help links done; hints are deferred until a specific need is identified
string equality doesn't work
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: the same fishnet works with LIKE
also test importing temp\cheese to JOE for referenceField import
Programmer notes: AxRecList was failing to make the upper limit an indexable string
use UTC time
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: use UTC time when testing for durations, throughout product
Programmer notes: Changed:
/pondform
/progressform
/orderedsubsetpanel
/listfilterbar
/inifile
/axconnection.LastAccessed - UTC
/servedpondcollection - ServedPond.LastBackup
/backgroundworker
/windowsservice
change datetime to be utc
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: datetime datatype should show local time, allow MS to do its thing with changing the time and timezone on remoting, but it shuld be stored as UTC. Non-nullable. Defaults to current time.
Programmer notes: load/save appears ok; Create record seems to fail to make the adjustment, but actually it is a different bug, so this one is closed.
add axdate datatype
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: add axdate data type (y/m/d only, no time info), nullable. Update Expr, reclist storage, new painter.
Programmer notes: note all the places where you have to change to add a new data type
create new class (AxDate)
AxPrimitive enumeration
AxUtil new methods to read and write to byte[]; PrimitiveByName; PrimitiveToType; TypeToPrimitive; StringToPrimitiveValue; IncrementPrimitive; PrimitiveValueToString, Convert
Expr
ExprCS
AxField/AxFieldFactory
AxRecList
AxFishnet
Loader
DataCellPainter.GetText
DataCellPainter subclass
if affects data outsource: various classes
ParamCellPainter.GetText
ParamCellPainter subclass
VariantEntry
layout progress too slow
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: when loading/laying out, show progress bar every 100, not 500
Programmer notes:
AxPond.save won't delete
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: AxPond.save won't delete if there are no non-key columns
Programmer notes:
dont allow axisid changes on server
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: this would confuse the server, since it wouldn't change the configuration
Programmer notes: /
UTC conversion; DateTimes only
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: it is converting to UTC over the wire for all DateTime data; it should be converting only datetime fields, not date fields
Programmer notes: redid local/UTC conversion so it affects datetimes only.
wrote AxUtil.FishTimes_LocalToUTC and _UTCToLocal
Called from both sides of SaveFish, LoadFish, CreateFish
pool leaves ponds open
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: pool shouild close all available ponds on thread exit
Programmer notes: instead of checking when the main thread exists, a destructor was implemented in AxRemotePond to close the connection on garbage collection
This is not always called, but the server times out connections after 5 minutes so it should not cause a problem in practice.
don't create new record on Tab
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: This makes it too easy to save blank records by mistake. The user should press insert for each new record.
Programmer notes:
diagnose loader error in server
Product/area: Axisbase1/Server
Discovered in version: 061213
Done in version: 061226
Task description: loader error: T9.^^dbprop is based on an invalid type - didn't reproduce locally; possibly I was using the wrong assumed axisID?
Programmer notes: no action; if recurs, create new task
server gives up opening after one try
Product/area: Axisbase1/Server
Discovered in version: 061213
Done in version: 061226
Task description: if served pond is found to exist, it should keep trying to open/create it on each refresh.
There was some problem with file names not matching up - this fix may solve this.
Programmer notes: rewrote parts of ServedPondCollection.Refresh
Still appears to give up, status file says OPEN - ERROR (!?)
Was corrected by another bug fix - Server fails to clear errors
check if a data source isn't found
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: in list window, if a data source was deleted, going to results causes null reference; also pressing Choose Table causes unhandled exception
Programmer notes: added tests in NutDataSourcePanel; added tests in ListForm.loadPreview
new row; datetimes
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: on new row, the datetime cols default to a value related to when the app started, rather than the current time
Programmer notes: added overriding logic in ListController.NewRow
demon sets password wrong
Product/area: Demon
Discovered in version: 000000
Done in version: 061226
Task description: changes user name instead of pw when creating database
Programmer notes:
server fails to clear errors
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: when it can open a file after it couldn't, it should clear the error
Programmer notes: installed/test on production
allows complex properties to be unque
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: should disable the checkbox; should also ignore the setting
Programmer notes:
popup forms shuoldn't go off window
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description:
Programmer notes:
Bldg blocks>Create menu error
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: If you click on the bar between menu items, -> null reference error
Programmer notes:
text box too small for large fonts
Product/area: Axisbase1/Main
Discovered in version: 061213
Done in version: 061226
Task description: The text box needs to be tall enough in all themes for the font in use
Programmer notes: