On 11/03/2016 01:45, toki wrote:
On 10/03/2016 01:27, Wols Lists wrote:

On top of that, an integrity layer that enforces datatypes. This isn't part of 
standard multi-value,
What?  Back when I played with Pick, one of the selling points was that
one couldn't put the wrong type of data into a record field. Was that
feature simply a vendor provided customization?

OMG... Yes it must have been.

ED FILE RECORD
scribble scribble scribble
FI

Bingo, one record with all sorts of data all over the place with no validity checking whatsoever. Bear in mind that in relational, the schema is PREscriptive, defining what data goes where. In Pick, the DICTionary is DEscriptive, telling you what's supposed to go where - indeed it is so non-prescriptive that it's optional!

If you used one of the generators, such as &PACE or System Builder, they probably did use the dictionary as a schema, and would have enforced integrity. I want to put a layer at the WRITE level that, if enabled, enforces the DICTionary as a schema - it shouldn't be that hard.

I'll then need a Basic compiler.
Does it have to be BASIC?
Can't R or Python be used instead of BASIC?

###

I realize that using R means either including another scripting
language, or upgrading the existing R Language extension so that it
installs a version of R that plays nicely within LibreOffice.

One of the problems with "play nicely with Pick" is that Pick is p-code based, and that p-code gets embedded in the data files ... so I need something where I can embed the object code, as data, in the DICTionary. (For the relational guys, these are "calculated fields", Pick "stores a mini program in the column definition of the schema" which then calculates the value of that column.)

But that's one of the reasons for wanting to play nice with / integrate with StarBasic - it makes it easy to spit out a .odf from the database. That's one up on Crystal Reports :-)
I know Pick isn't the easiest of topics to Google for, but some links for 
reading ...
Talking about which, Given how poor the documentation for BASE is, do
you know anybody who would be willing and able to write documentation on
using PICK within LibreOffice. (FWIW, Even a developers outline on what
it should do, would be a good starting point for users.)
That's actually one of my strong points - not necessarily knowing what's required but I'm very good at explaining to users AT THEIR LEVEL what they need to know. If I can see where they're struggling, I can explain it to them in terms they can understand.

For example, the way I can best describe Pick (to someone who has some degree of database knowledge) is to say that just as the row is the basic unit in relational, so the RECORD is the basic unit in Pick. The RECORD maps to a real world object and, in relational terms, should be a 3nf view of that object. Because that 3nf view includes foreign keys, I can then access other objects/RECORDs via a "directed graph" type mechanism, rather than a relational join. This may have pros and cons, but a massive pro is speed. And because you're thinking at the object level, it doesn't really make sense to have a relational style "record set". Instead, think of stepping through your 3nf objects using a cursor size of one.

Hopefully that'll showcase my explanational skills, and give you an idea as to how Pick functions, though if you've played with it I guess you've already got some idea :-)

Unfortunately, I don't know of any truly Free Software implementation I could recommend to go with LO. The only plausible candidate is OpenQM / ScarletDME, which is *allegedly* GPL'd. Note the stress on "allegedly" :-( MaVerick, which has been mentioned elsewhere, I think just ran out of steam (and it's Java-based - a victim of "let's rewrite everything in Java" imho).


And can I write a version of Pick that comes over as a bright shiny new bauble? I don't know, but I can damn well give it the good old college try!


jonathon
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to