That makes me wish all the more I was going to be there! :-(

Anyway, I think we all know that it is possible to do more harm than
good by overloading a good product with features. That being said, when
I think about how I use Fileman, there are a number of possible areas
for improvement and/or enhancement that suggest themselves:

1) I've noticed (usually after the fact) that I frequently end up
passing an IEN from my "base file" as the first paramater of a function
or entry point specifically so that I can operate on that record in
some way. This is a sure sign that I am simulating methods by
explicitly passing a "this" (or "self") pointer. Could Fileman
explicitly support methods?

2) How should DIC work by default when a file has a compound key? I
know it is possible to set DIC("A",n), but should this be necessary?
When searching by record identity, should Fileman automatically prompt
for a value for each key field?

3) This is sure to be controversial, and I haven't made up my mind what
the right behavior should be, but should keys be nullable? I think
Oracle, for example, allows nullable keys (some key fields may be null,
so long as the combination is unique), but I think there is a real
danger that the need to make keys nullable is a symptom of an
underlying normalization issue. Requiring all key fields to be non-null
(the way things are now) may be a good feature.

4) I would like to see search made available through a "silent" call.

5) I would like to see an "IS" operator added to search allowing search
by identity (equality of pointer value and the IEN of the referenced
record).

6) High volume applications have reported that getting new IENs by
reading and updating the file 0-node can be a bottleneck. Can this
process be optimized? 

7) Might it be possible to create "local files" that are not stored
permanently in a global namespace, perhaps even "files" that exist for
for a single session only? This is a feature that I think would be
useful to programmers wanting to use Fileman tools to work with
"objects" in their programs that do not need to be stored permanently.

8) Should Fileman support inheritance? In many ways, Fileman provides
aspects of OOP at the database level, but this is a notable exception.
There are mechanisms like variable pointers, of course, but they are
not especially "clean". Would it be useful to say, for example, that
PATIENT is a person and an EMPLOYEE is a person (note that I'm not
referring to the current file structure) and have polymorphic pointers
that would be dereferenced appropriately (perhaps through some kind of
introspection under the hood)?

9) Why not provide a GUI interface to Fileman?

10) General simplication -- if you accidentally step into Fileman using
the debugger, it seems to take forever before you come out again. Does
Fileman need to do that much work? Could the code be
optimized/simplified?

--- Nancy Anthracite <[EMAIL PROTECTED]> wrote:

> I think George Timson will likely be discussing what is in the future
> for 
> fileman at the upcoming meeting, so maybe that will be a good time to
> mention 
> some things all of you think should be in its future.
> 


A practical man is a man who practices the errors of his forefathers. 
--Benjamin Disraeli
====
Greg Woodhouse 
[EMAIL PROTECTED] 
[EMAIL PROTECTED] 





-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Hardhats-members mailing list
Hardhats-members@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hardhats-members

Reply via email to