|
|
Customers
Last Login: Friday, June 15, 2018
Posts: 28,
Visits: 231
|
The current abstraction layer just copies GenoPro's structure. Would it be unreasonable to just say "Use GenoPro as the abstraction layer"? We can obviously create a report on anything GenoPro can import, including GEDCOM, so why write new code to provide this translation? I still don't see the value of having this abstraction layer in the Skin.
|
|
|
Customers GenoPro version: 2.5.4.1
Last Login: Friday, September 23, 2022
Posts: 39,
Visits: 1,789
|
Hurray! Finally, I managed to upload files on git. 
edanite (9/22/2010) The current abstraction layer just copies GenoPro's structure. Would it be unreasonable to just say "Use GenoPro as the abstraction layer"? We can obviously create a report on anything GenoPro can import, including GEDCOM, so why write new code to provide this translation? I still don't see the value of having this abstraction layer in the Skin.
Ok. I agree: "Person" doesn't do anything new for now. But if you want it to do something new in it... You can. And that's the point. Of course it's possible to write function which gets as an argument "Individual" object, and do the same thing, as the method inside class. But for me, code is more readable when I write: person.do_something(), than: do_something(person). Additionally you can change default appearence of methods like: e.g.: name_nick(), to do additional grammar, or other things which couldn't be achieved in Dictionary, NameDictionary etc... Whatever you can imagine. My native language has so much grammar rules exceptions... No matter how I try, my report when reading looks poor. I want to make something that let me achieve grammar more... Customizable? 
If I'll have any other ideas with using it I'll tell you. But if you still do not like my solution, why don't you start your own project to let your own idea grow? More us, more skins, more everything, the better. (I don't now if it's a correct sentence, but I hope it's understandable.. :/ ) It's always healthy if there are more options/alternatives. Isn't it?
Edited: Saturday, September 25, 2010 by
Quayle
|
|
|
Customers GenoPro version: 2.5.4.1
Last Login: Friday, September 23, 2022
Posts: 39,
Visits: 1,789
|
|
|
|
Customers
Last Login: Friday, June 15, 2018
Posts: 28,
Visits: 231
|
I've discovered two Caveats regarding the new report.
1) creating Code/abstraction/lib.js doesn't take effect until the next time the report generator is run. i.e. if you delete Code/abstraction/lib.js and then run the report generator it will fail complaining that it can't find Code/abstraction/lib.js. If you run it again, it works fine. 2) Due to origin restrictions regarding file: URLs, the dynamic menu may not work properly if the report is local. (Tried in Chrome on Windows)
|
|
|
Customers GenoPro version: 2.5.4.1
Last Login: Friday, September 23, 2022
Posts: 39,
Visits: 1,789
|
|
|
|
Customers
Last Login: Friday, June 15, 2018
Posts: 28,
Visits: 231
|
The way I read the docs indicate that <thing>.load() is implemented in terms of $.ajax(), so changing from .load() to $.ajax() won't fix the problem. I personally consider Chrome's behavior to be a feature, not a bug. It's therefore a "caveat": something of which you should be aware.
|
|
|
Customers FamilyTrees.GenoPro.com GenoPro version: 2.5.4.1
Last Login: Wednesday, June 2, 2021
Posts: 220,
Visits: 14,736
|
Is this project active?
|
|
|
Customers
Last Login: Friday, June 15, 2018
Posts: 28,
Visits: 231
|
I'm afraid I haven't done any "real work" on it recently. I have done some thinking, though. With the context that my web host uses a FreeBSD-Apache-PHP stack, here are my new thoughts:- We have the report generator generate fragments for each object. There's a server-side script that builds complete pages from the fragments, but we also fetch the fragments with AJAX calls and the HTML5 History API once we have the page in the browser.
- We should use "clean" URLs (like /individual/Potter-Harry) whenever possible. Preferably, these should be "smart" to some extent with one canonical form and several alternate forms, though this would seem to require a database of some sort to handle the lookups in a scalable manner.
- The URL canonical form should be human readable, though it may be difficult to guarantee uniqueness of URLs in a single pass. During development, we can use something like /individual/ind00001 as the canonical form because it's guaranteed unique, but this isn't friendly.
- I realized that the current SVG code is written in VBScript, but our new report will be written in JScript. This leads to a question: is it possible to have a mixture of scripting languages in the same report?
|
|
|
Customers FamilyTrees.GenoPro.com GenoPro version: 2.5.4.1
Last Login: Wednesday, June 2, 2021
Posts: 220,
Visits: 14,736
|
|