home *** CD-ROM | disk | FTP | other *** search
- Here are some ideas I collected from emails of
- beta testers and users of MUIbase.
-
- * New attribute type: List for storing any kind of value (but mostly used
- for storing a list of values).
-
- * MBview program for viewing and editing MUIbase projects without
- the ability to change the data structure or programs.
-
- * Option to check string length for importing records.
-
- * Spacier layout for edit labels on high res screens.
-
- * shift/alt/ctrl for arrow left/right.
-
- * Numeric button for integer fields.
-
- * popup in panel bar which displays a list of all records of that table.
- Selecting an item will display the record in the table form. Using
- drag n' drop the order of records can also be changed if there is
- no order defined on the records. There will also be buttons for
- creating, duplicating and deleting records.
-
- * larger panel buttons for filter and arrow buttons.
-
- * new flag in the New/Change attribute requester that disables
- changing the project's number-of-changes value.
-
- * more user friendly input of date and time values: automatic insertion
- of dots, slashes, dashes and colons.
-
- * suffix string for integer fields, e.g. for displaying a currency.
-
- * transparent color for images.
-
- * more sophisticated reference filters.
-
- * search for in memo fields.
-
- * search & replace.
-
- * individual viewer button for a string with it's own action.
-
- * different font attributes (bold, italic, ...) for the text editor.
-
- * Display record trigger function
-
- * Larger max number of characters for string attributes.
-
- * Direct expressions for virtual attributes instead of function entries.
-
- * (EVAL <str-expr>) for programming MUIbase.
-
- * Image kind for virtual attributes.
-
- * Memo kind for virtual attributes.
-
- * Jump-to-key feature for virtual attributes of list kind.
-
- * Improve display listview by adding arrows to each entry like ListTree does.
-
- * Use keypad keys for special purposes.
-
- * Progress indicator when ordering records.
-
- * Load window button images at program start.
-
- * Some kind of load/save of filters. Maybe in a "MUI-pulldown-menu".
-
- *Prevent users from changing the structure of a database.
- [Planned are Password protection for project and structure].
-
- * Select-from-where query optimization
-
- The select-from-where query is currently not optimized. E.g. imagine the
- following situation: a relation called Person has about 1000 records and
- you want to run the following query:
-
- SELECT a.Name, b.Name FROM Person a, Person b
- WHERE (AND (= a.Name "Steffen") (= b.Name "Mats"))
-
- Don't try to find any sense in this query :-)
-
- Now the query command builds the cross product of 1000 x 1000 records
- = 1 000 000 tuples to examine! This will take many hours.
- But if you examine the WHERE expression you see that
- (= a.Name "Steffen") only depends on records from Person a and
- (= b.Name "Mats") only depend on records from Person b, so
- you could first check the expression (= a.Name "Steffen")
- for all records of Person a and (= b.Name "Mats") for
- all records of Person b and then build the cross product.
- This way you only need to check 1000 + 1000 = 2000 tuples.
- Thus the running time has been improved from n² to 2n
- where n is the number of records of relation Person.
- I already have an idea how to optimize the select-from-where query
- for arbitrary WHERE expressions that consists of AND, OR and NOT expressions.
-
- * Apply changes made to choice labels to all existing records.
-
- * Mask/Display editor with Drag 'n Drop.
-
- * New data type: Selection for selecting n items out of m items.
-
- * Optional log file where all changes are written in ASCII to.
-
- * Copy & Paste of several attributes.
-
- * Hotlist for program output and query print requester.
-
- * Indices.
-
- * More features for preprocessor (Macros, conditional compilation)
-
-
- --- Ideas & suggestions which will have to wait ---
-
- * Foreground colors for text objects.
-
- Problem: MUI's current approach for setting the foreground color
- in Text objects is limited to only 8 pen numbers, and these pen
- numbers may refer to only a subset of 8 colors, e.g. on my system
- they refer to only 4 real colors.
-
- * Special functions support
- I know that you would not build in special functions e.g. for
- mathematical functions like arsinh() and so on. But for some
- special databases this would be nice. Is there any possibility
- to implement an interface for self written function libraries?
- AREXX demonstrates this ability: with addlib() you can load in
- an AREXX library and you can use its functions like a
- implemented function. What do you think about that?
-
- I don't know how to implement this for now. Maybe a C interface and
- a linkable object module would solve it. However I would really prefer
- the ARexx solution (of course an improved one compared to AmigaBase).
- I am thinking about an (RX pattern ...) function that returns a string
- containing the result of the ARexx command.
-
- An idea that could work is to use a shared library with a well
- defined interface. The user provides the library, registers it
- by calling a MUIbase function, MUIbase calls an init function to
- know about all available functions of the library, and then the user
- can call functions from the library.
-
- * How about this: Add a menu point to the context specific textfield
- menu which pops up a window with two lists of relations and their
- attributes. The left list contains the relations and the right one
- the depending attributes like the relations and attribute lists in
- the structure editor. Selecting one attribute will insert the full
- relation path into the textfield. At the moment I must have a
- photographic mind to remember the relations with their attributes.
-
- I don't know how I can implement this with MUI 3.8. The editor menu
- is a context menu and in 3.8 context menus are limited to only
- one toplevel menu. I don't want to put all relation names in the
- toplevel menu. I could add a menu item "Insert attribute/relation name"
- to the toplevel menu and pop up a window with all relations and attributes.
- But this solution is not user friendly because context menus can't have
- shortcuts and you would have to use the mouse the whole time.
- I will wait how MUI will handle context menus in the future.
-
- * Context menu for relations?
-
- I will wait how context menus are implemented in MUI > 3.8.
-
- * Use ListTree for the display list.
-
- Currently ListTree does not support multi-selection. So adding
- a group object to the display list by multi-selecting some objects
- for being the childs of the new group and pressing the "Group"
- button will not be possible. I will wait until ListTree supports
- multi-selection.
-
- --- Ideas I am not going to implement:
-
- * Autosave
-
- Reasons:
-
- o Saving from time to time is a very simple task.
- o You can't remember the last time your computer autosaved your projects.
- o The computer may save in an inconsistent state, e.g. imagine
- you manage two bank accounts and would like to transfer
- money from one account to the other. If the autosave feature
- saves your project after you made the transaction for one account
- but not for the other one then you have saved an inconsistent
- database project.
-