Thread: [libdb-develop] [ANN] LibDB 0.0.1 Released
Status: Inactive
Brought to you by:
morbus
From: Morbus I. <mo...@di...> - 2004-02-06 03:09:38
|
Download: http://osdn.dl.sf.net/sourceforge/libdb/libdb-0.0.1.tar.gz Blog Entry: http://www.disobey.com/dnn/2004/02/index.shtml#001575 Release Notes: http://www.disobey.com/noos/LibDB/?ReleaseNotes001 LibDB Homepage: http://www.disobey.com/noos/LibDB/ LibDB 0.0.1 has been released. It consists of a web-based installation program that checks file permissions, verifies the required modules are installed, and connects to the user's database to import the default schema and sample data. That's all it does. You'll be installing a program that doesn't yet exist. Why bother creating an installer for code that hasn't been written, as backwards as putting jelly on the outside of your sandwich? Two reasons. First, I knew the installer code could be used for the rest of LibDB: the same frameworks are used for template parsing, database access, settings retrieval, language determination, etc.. The installer helped stress-test and debug before the "proper" and "important" work. The second reason concerns end-usability. Too many times, in too many projects, the documentation and packaging is always written after the code has been debugged and tested. But the biggest lie any developer can tell themselves is that they'll *ever* be done debugging and testing code. There's always going to be one more thing to fix, one more feature to add, one more piece of goldplating to layer the ox with. The documentation and packaging, continually being put off, rarely get finished. All this great code, and no clue how to get it working. For people to use LibDB, they need to get it installed. The "casual" user profile (as described in the ProjectGoals), when faced with installing a web-based application, is assumed to have only an FTP account and "generic" web host, where tech support is a three hour (or three day) test of patience. The installer had to be as walk-through-ish as possible, and it had to be developed first. Documentation-wise, there are 100+ database fields. They're described in the DatabaseSchema, but no one is ever going to check the "manual" for what "provenance" means. That's why every field is described in the DB itself: the help can be retrieved right along with the matching data. Contextual help, built into the database, viewable in the interface, without extra effort. The same attention will be applied to tasks: when the user wants to *do something* compared to *define something*. So, LibDB 0.0.1 is merely the installer, and I need your help to refine this very important step of the end-user process. Grab the download, check out the README.txt, and let me know what I'm missing, what can be improved, and what doesn't work. I'm specifically looking for suggestions on the verbiage used. Is it understandable? Is there something that can be stated more clearly? Where did I lose you? Email comments to mo...@di... or use the InstallationNotes: http://www.disobey.com/noos/LibDB/?InstallationNotes -- Morbus Iff ( i know a little of everything, a lot of nothing. ) Technical: http://www.oreillynet.com/pub/au/779 Culture: http://www.disobey.com/ and http://www.gamegrene.com/ icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus |
From: Bruce D'A. <bd...@fa...> - 2004-02-06 21:52:32
|
Also Morbus, I looked the sql definitions, and note that somewhere around half of the code is movie-specific role information. I know at some point you're planning to open that up to generalization; how are you going to do this, given where you're at now? Bruce |
From: Morbus I. <mo...@di...> - 2004-02-06 22:39:25
|
>Also Morbus, I looked the sql definitions, and note that somewhere >around half of the code is movie-specific role information. I know at >some point you're planning to open that up to generalization; how are >you going to do this, given where you're at now? Roles will be customizable once there's an interface to them <g>. There are two things to consider: * roles should follow the MARC/LC roles/relator, which I have not yet had a chance to properly address. * roles should be shown based on their media. so a book wouldn't show role for "underwater camera operator". Regardless of what *I* choose for roles in the default database, roles will be customizable in the not-yet-existing interface. You'll be able to modify, add, and delete them as you see fit. From the standpoint of the "official" SQL code including in the tarball, my take on it is this: * if you send it, and it makes sense, I'll include it. This, I think, is very important for data sharing. Since every single thing in LibDB comes with a unique ID, it is imperative that the data sharing understands that UniqueIDA on this LibDB installation is the same as UniqueIDA on another LibDB installation. This is facilitated through the use of UniqueIDA being a default statement in the SQL databases. From the standpoint of the future: * 0.0.2 is coming out tonight. it fixes some installer bugs. * 0.1.0, being worked on now, will contain some attempt to include an editing/browsing interface for the individual parts of LibDB: the individual roles, the individual person, the individual concept, etc. Aggregate parts, ie. "show me this movie", aren't planned until after 0.1.0. -- Morbus Iff ( i put the demon back in codemonkey ) Culture: http://www.disobey.com/ and http://www.gamegrene.com/ Spidering Hacks: http://amazon.com/exec/obidos/ASIN/0596005776/disobeycom icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus |
From: Bruce D'A. <bd...@fa...> - 2004-02-06 23:52:11
|
On Feb 6, 2004, at 5:09 PM, Morbus Iff wrote: > This, I think, is very important for data sharing. Since every > single thing in LibDB comes with a unique ID, it is imperative that > the data sharing understands that UniqueIDA on this LibDB installation > is the same as UniqueIDA on another LibDB installation. Based on what I've been learning from the MODS community, it seems to me you ought to have some way to track with which community a given role is associated. For example, clearly I would want you to include the MARC relator role terms, because it allows me to track authors, translators, recipients, etc... even directors (which I do keep track of). But it would probably be important to know that role term X is associated with that controlled list. It allows you to then map to MODS too, where you have: <role> <roleTerm type="text" authority="marc">writer</roleTerm> </role> ...or: <role> <roleTerm type="text" authority="libdb-movie">whatever</roleTerm> </role> ..or some sort of RDF-based uri. BTW, and only slightly off-topic, one of the useful things I am thinking about MODS' handling of this is that one can have more than one roleTerm element associated with a name. E.g.: <role> <roleTerm type="text" authority="dc">creator</roleTerm> <roleTerm type="text" authority="marc">writer</roleTerm> </role> My thinking here -- and someone confirm that I am right (or not) please -- is by having the more generic (but still useful) creator role, it can be easily mapped to DC and to any citation formatting output. Bruce |
From: Morbus I. <mo...@di...> - 2004-02-07 00:13:27
|
>Based on what I've been learning from the MODS community, it seems to >me you ought to have some way to track with which community a given >role is associated. For example, clearly I would want you to include >the MARC relator role terms, because it allows me to track authors, >translators, recipients, etc... even directors (which I do keep track >of). But it would probably be important to know that role term X is >associated with that controlled list. It allows you to then map to >MODS too, where you have: Fair enough. The big challenge is showing the proper list, at the proper time. Say we have books and movies. It's quite easy to say "show me only roles related to books". But, now, add two different authorities. How would we display them? Both in the same list ("author [marc]", "author [bob]"). What about equivalence? Which is the more proper authority to use? >BTW, and only slightly off-topic, one of the useful things I am >thinking about MODS' handling of this is that one can have more than >one roleTerm element associated with a name. E.g.: LibDB can have more than one. In fact, most movable parts of the LibDB database can have "more than one" of something. There are certainly exceptions ("provenance", for example. Granted, there's a huge history, both alleged and factual, to the owners of The Spear Of Destiny, but I'm not sure how having individual fields for each owner would be useful (well, ok, saying it like that, now I can, but "provenance" is used so rarely that I'm gonna let it fester until someone *else* requests multiple provenanii for each item). ><role> > <roleTerm type="text" authority="dc">creator</roleTerm> > <roleTerm type="text" authority="marc">writer</roleTerm> ></role> > >My thinking here -- and someone confirm that I am right (or not) please >-- is by having the more generic (but still useful) creator role, it >can be easily mapped to DC and to any citation formatting output. It certainly seems useful to me. Who the hell is the "creator" of a movie? It's not solely the director, nor actors, or lighting guy. -- Morbus Iff ( be realistic. demand the impossible. ) Technical: http://www.oreillynet.com/pub/au/779 Culture: http://www.disobey.com/ and http://www.gamegrene.com/ icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus |
From: Bruce D'A. <bd...@fa...> - 2004-02-07 17:03:18
|
On Feb 6, 2004, at 7:13 PM, Morbus Iff wrote: > Fair enough. The big challenge is showing the proper > list, at the proper time. Say we have books and movies. > It's quite easy to say "show me only roles related to books". > But, now, add two different authorities. How would we display > them? Both in the same list ("author [marc]", "author [bob]"). > What about equivalence? Which is the more proper authority to use? You're right; this is tricky. I don't necessarily have any good answers, but let me think aloud... What about using the MARC list as the generic LCD? You then have genre/community-specific extensions. So MARC has director, writer and probably a few other movie-related terms. You then have a "film" extension that covers everything else. Each term, no matter where it is, then has a list of possible genres/types they can be associated with. But this issue of "type" classification by which you do this mapping is REALLY difficult. For example, we could say that the sort of terms you have now could apply to all films. We could then say there's a similar group of terms for written texts, including (but not limited to) books. But what about legal texts? Personal communications? I'd like to think this through some more because it has bearing beyond this project. Bruce |
From: Bruce D'A. <bd...@fa...> - 2004-02-07 02:10:25
|
I wrote: > BTW, and only slightly off-topic, one of the useful things I am > thinking about MODS' handling of this is that one can have more than > one roleTerm element associated with a name. E.g.: > > <role> > <roleTerm type="text" authority="dc">creator</roleTerm> > <roleTerm type="text" authority="marc">writer</roleTerm> > </role> Correction: both contributor and creator and MARC role terms, so would have that authority attribute. Bruce |
From: Bruce D'A. <bd...@fa...> - 2004-02-06 22:07:49
|
On Feb 5, 2004, at 10:09 PM, Morbus Iff wrote: > Grab the download, check > out the README.txt, and let me know what I'm missing, what can be > improved, > and what doesn't work. I'm specifically looking for suggestions on the > verbiage used. Is it understandable? Is there something that can be > stated > more clearly? Where did I lose you? I'm not sure, but I can't get it to work! Here's the text: > 1) Unarchive the compressed file into a directory of your choice > (if you're reading this, you've probably already done that). OK. > 2) Upload the newly extracted files and directories to your web site. > They should be placed into a directory where CGI scripts may > be executed (these directories typically have "cgi" in their > name somewhere). If you don't know, or can't find, this > directory, contact your web host for further information. Cannot you have the archive extracted into a single folder that gets placed in the CGI directory? I find this a little confusing myself. > 3) Give the installer/index.cgi file execute permissions (*how* to do > that will depend on your software: some programs allow you to give > "execute" permissions to "owner", "group" and "everybody", others > will tell you to set "755" permissions on the file, etc.) OK. > 4) Open the URL to installer/index.cgi in your browser and follow > the remaining instructions. "installer/index.cgi" isn't a valid url. If I try this, though, it doesn't work: http://localhost/installer/index.cgi Bruce |
From: Morbus I. <mo...@di...> - 2004-02-07 00:01:06
|
>> 2) Upload the newly extracted files and directories to your web site. >> They should be placed into a directory where CGI scripts may >> be executed (these directories typically have "cgi" in their >> name somewhere). If you don't know, or can't find, this >> directory, contact your web host for further information. > >Cannot you have the archive extracted into a single folder that gets >placed in the CGI directory? I find this a little confusing myself. So, when you extracted the file, you received a bunch of folders and files that you had to manually select each one to upload? And you'd prefer to have the archive extract into a directory named libdb/ (itself containing the folders and files), and just upload that one folder? >> 4) Open the URL to installer/index.cgi in your browser and follow >> the remaining instructions. > >"installer/index.cgi" isn't a valid url. >If I try this, though, it doesn't work: >http://localhost/installer/index.cgi Define "it doesn't work". Did you upload all those files into a libdb/ folder on the server? Or would http://localhost/README.txt show you the file you quoted from above? -- Morbus Iff ( i put the demon back in codemonkey ) Culture: http://www.disobey.com/ and http://www.gamegrene.com/ Spidering Hacks: http://amazon.com/exec/obidos/ASIN/0596005776/disobeycom icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus |
From: Morbus I. <mo...@di...> - 2004-02-06 22:36:17
|
>>> 2) Upload the newly extracted files and directories to your web site. >>> They should be placed into a directory where CGI scripts may >>> be executed (these directories typically have "cgi" in their >>> name somewhere). If you don't know, or can't find, this >>> directory, contact your web host for further information. >> >>Cannot you have the archive extracted into a single folder that gets >>placed in the CGI directory? I find this a little confusing myself. Did you happen to use WinZip to extract the tar.gz file? -- Morbus Iff ( i put the demon back in codemonkey ) Culture: http://www.disobey.com/ and http://www.gamegrene.com/ Spidering Hacks: http://amazon.com/exec/obidos/ASIN/0596005776/disobeycom icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus |
From: Bruce D'A. <bd...@fa...> - 2004-02-07 00:02:13
|
On Feb 6, 2004, at 5:36 PM, Morbus Iff wrote: > Did you happen to use WinZip to extract the tar.gz file? Nope; StuffIt. Bruce |
From: Bruce D'A. <bd...@fa...> - 2004-02-06 23:43:03
|
On Feb 6, 2004, at 5:23 PM, Morbus Iff wrote: > >Cannot you have the archive extracted into a single folder that gets > >placed in the CGI directory? I find this a little confusing myself. > > So, when you extracted the file, you received a bunch of folders and > files that you had to manually select each one to upload? And you'd > prefer to have the archive extract into a directory named libdb/ > (itself containing the folders and files), and just upload that one > folder? Right. It's not clear (to me) which files must be uploaded, and where they can and should go. Sticking them in a single folder and saying "move the folder" is more clear for me. > >> 4) Open the URL to installer/index.cgi in your browser and follow > >> the remaining instructions. > > > >"installer/index.cgi" isn't a valid url. > >If I try this, though, it doesn't work: > >http://localhost/installer/index.cgi > > Define "it doesn't work". "File not found" > Did you upload all those files into > a libdb/ folder on the server? On OS X, I put them all in /Library/WebServer/CGI-Executables; no subdirectory. Bruce |
From: Morbus I. <mo...@di...> - 2004-02-07 15:42:59
|
>Right. It's not clear (to me) which files must be uploaded, and where >they can and should go. Sticking them in a single folder and saying >"move the folder" is more clear for me. Hmm. I'm confused, then. They *are* all in one dir, named "libdb-0.0.1", at least, on my machine. Same with the just released "libdb-0.0.2". >> >"installer/index.cgi" isn't a valid url. >> >If I try this, though, it doesn't work: >> >http://localhost/installer/index.cgi >> >> Define "it doesn't work". > >"File not found" > >On OS X, I put them all in /Library/WebServer/CGI-Executables; no Then you want: http://localhost/cgi-bin/installer/index.cgi. -- Morbus Iff ( think about the good things that I did for you ) Technical: http://www.oreillynet.com/pub/au/779 Culture: http://www.disobey.com/ and http://www.gamegrene.com/ icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus |
From: Bruce D'A. <bd...@fa...> - 2004-02-07 16:55:56
|
On Feb 7, 2004, at 10:39 AM, Morbus Iff wrote: > Hmm. I'm confused, then. They *are* all in one dir, named > "libdb-0.0.1", > at least, on my machine. Same with the just released "libdb-0.0.2". OK, that's cool then. The README should just say "move the extracted libdb directory to the ____ directory" and all will be clear. The existing language is just ambiguous. I also got confused on OS X because I have two directories on my server: a cgi-related one, and one called "Documents." The libdb only goes in the former, despite the fact that it contains documents? Bruce |
From: Morbus I. <mo...@di...> - 2004-02-07 17:06:45
|
>OK, that's cool then. The README should just say "move the extracted >libdb directory to the ____ directory" and all will be clear. The Sounds good. >existing language is just ambiguous. I also got confused on OS X >because I have two directories on my server: a cgi-related one, and one >called "Documents." The libdb only goes in the former, despite the >fact that it contains documents? Yup, and that's standard sorta stuff for web servers: by default, they have a "put naughty programs that run at the visitor's request here" (ie. CGI programs) and a "put plain old HTML, text or images here" (ie. documents). You bring up a point that the installer helps you through: documents placed in CGI directories ARE NOT accessible from the web: the webserver tries to execute them, instead of serve their contents. The first page of the installer checks to see if it can access these files, and if it can't ("can't" being determined by whether you visually ID something as working or not), instructs you to move them into a web accessible directory (in your case, "Documents"). The installer determines that for you, and not extra steps in a README.txt, because there ARE circumstances where you can have a CGI script and a document in the same directory, and they're happily served with no problem. LibDB is being tested under this configuration, your configuration, and one other possibility (mod_perl). -- Morbus Iff ( oh, i wish i was a hoggle ) Technical: http://www.oreillynet.com/pub/au/779 Culture: http://www.disobey.com/ and http://www.gamegrene.com/ icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus |