I have offered some comments and ideas below, BUT actually this starts us down an interesting path.  The VA is not about to undertake these kinds of mods.  So does the community want to create an effort to build a FM that is superset of the VA's FM?  Would it be possible to keep it in sync with VA changes?

Intriguing....

Greg Woodhouse wrote:
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?

  
That is cool.  Some of these are already there, depending on how you think about it.  Like the "ID" logic to display fields, the "SCR" node for screening, the "DEL" node for deletion protection, "LAYGO" nodes for adding logic, etc. In each of these, there is a variable defined by FM as the 'this' value.

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?

  
Perhaps this would be an attribute to set in a file's DD for a permanent effect and/or it could be invoked dynamically with some character at look up time (like we use ' to mean lookup by number).
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.

  
It is already there, to some extent.  Just use EN1^DIP and define the DIS() array.  The FM docs are particularly sparse on this subject, but just treat the DIS() like the way DIC("S") works with D ^DIC.
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.

  
Check out the FF of file 1.01.  That might be an example of what you are looking for.
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