is someone messing with the website? *** ncjp has quit IRC *** ncjp has joined #gnuenterprise anyone here? maybe the european users? *** btami has joined #gnuenterprise wt still here? there was serious appserver there was serious apserver development one was the introduction of gnue class description (gcd) files with the gcd files you can define packages, including their business class. Each business class has properties and procedures. you can write custom procedures but each class has some bound triggers (default procedures). Examples of bound triggers are: on initialisation, on validation, on deletion, and on change *** johannesV has joined #gnuenterprise morning johannesV hello SachaS johannesV wt: a gnue tool takes such a gcd and creates the backend sql file on the fly and either creates a new database or updates a given database wt: another new feature are the gnue lable description (gld) files. You write a small .gld file which allows the application server to create a simple form (for the gnue-forms tool). *** ajmitch_ has joined #gnuenterprise actually the application server does not need a gld file to create a generated form but you can provide some information like the order of the properties or the language of the labels for the properties. wt: concering packages: work was started again from kilo and reinhard but got stalled atm hi stalled like in the last 2 weeks package-dev has stalled because appserver is missing some features (at least this applies to our packages) but i'm working on that johannesV: can you tell what features you are talking about? yeah me too, me too ok say you have an items stock when you are creating delivery notes you would like to control stock automatically by a trigger but you also want to have a message saying 'hey you're running out of stock' in this trigger one problem is to fire such an 'exception' and the other problem is to send a message 'readable' to the user (language, ...) in general there's a need for a class like 'gnue_messages' which defines such messages or exceptions back later. ta johannesV *** SachaS has quit IRC wow, 131k log yesterday hi all hello btami hi dimas anyone still here? johannesV,dimas,me(btami) at least okay do you work on the packages? not yet does anyone know how to bootstrap the base package? the gnue-gcd2sql seems to need some structure in the database already it seems to be a module registry that is missing bootstrap? gnue-readgcd that's not in the debian packages tha latest release not in debian yet IMO but you can install it from tarballs too with setup.py install for common/appserver/forms/etc. 0.5.7 is not the newest? wt: looking into gnue-appserver/samples/setup-db.sh would help dimas, I saw that, but it seemed to use stuff not in the released packages I thought I was missing something obvious wt: what is missing? wt: just got appserver running yesterday with help from reinhard, johannes and SachaS where do I get the schema for the modules table? you have base.gsd somewhere in appserver samples dir gsd? okay but I still need the cvs versions, right? gnue schema definition errr....svn don't think so appserver/samples/base.gsd holds the structure and data of the base classes (tables) i only have svn, can't say anything about packages the released appserver is OK too there is no base.gsd oh not in packages gnue-appserver/base.gsd does not exist it's in share/doc/gnue-appserver/examples or something okay brb *** dimas has quit IRC btami, I found what you are talking about *** dimas has joined #gnuenterprise ok loaded the schema and the gcd the gcd appears to be values only now, what happens when a new version of the base package is released? I guess I mean what if there are database changes? ie what happens if i modify an existing class creates the tables if you add new properties in a gcd file just redo gnue-gcd2sql and appserver will automatically update what's needed * btami reading yesterday log :) that's extremely cool so you just rerun it? you don't need the old gcd or gsd? (congrats redirected to johannesV+reinhard) yes, just rerun gnue-readgcd (or gcd2sql) takes a gcd and diffs that to the data in gnue_* classes but it does not "remove" properties, just works for 'extensions' what is the difference in readgcd and gcd2sql I have the gcd2sql installed gcd2sql is the same as readgcd why the rename? it has got a new name a few days before to keep analogy to gnue-readgsd okay will the gsd work the same way? so if you haven't latest svn: gnue-readgcd == gnue-gcd2sql yes gsd works the same way (since i did that too :) it will automatically update my schema? bad ass well gsd is a bit more complex it has two major parts ... all in there specifies schema-structure information and ... which holds data only johannesV, so it does not update the schema if a change is made? what do I do if a new version of base.gcd is released? recreate the whole database? a new release of base.gsd will still be compatible to the old, installed one right, re-reading a gsd with schema-information will "upgrade" your db-schema too oh since table-mods are only 'additions' this is usually no problem it will add and delete appropriate columns and table s no, it will NOT delete any columns or tables ! it just adds new cols and new tables ok you won't loose data silently okay, does that mean obselete column will be carried on forever into the future? right for everyone new and old users? will columns ever change types? it won't be removed automatically; usually not, since you'll loose compatibility okay, so it could be removed from the schema file so it wouldn't be added to new installations hmm, i think so yes that's cool then I was just worried about forcing new installs to carry the obsolete columns *** johannesV has quit IRC *** johannesV has joined #gnuenterprise *** vergil has left #gnuenterprise *** johannesV has quit IRC *** johannesV has joined #gnuenterprise *** johannesV has quit IRC *** johannes has joined #gnuenterprise *** johannes has quit IRC *** johannes has joined #gnuenterprise a little rollerblading later *** johannes has quit IRC *** johannes has joined #gnuenterprise what is a .gld? GNUe Label Definition how do I use it? also, insert-en-currency.gsd is not well formed, apparently I think it is the encoding actually a gld is used for appserver's form-generation do I have to tell the appserver about them? basically it provides a 'label' for properties of an appserver class besides this (localized) label one can provide information about order (position) and function (search/info) for a property using this information, appserver then can generate forms on the fly say you have a class address_country with two properties address_code and address_name you can define a gld for language 'de' where you say address_code is called 'Staatencode' and should be the first entry in the form (pos="1") if you request a dyn. form via gnue-form appserver://appserver/form/address_country instead of a label 'address_code' you'll see 'Staatencode' (if your $LANG=de* using search="" and info="" attributes on properties you can determine the style of lookups for references if a class foo has a property bar of type baz (which is a reference) cool and the class baz has a property name and code you can set search="1" for the prop. bar.name so a dyn. form for the class foo has a dropdown with all values of the class baz showing their name property sorry, the search-attr has to be set on baz.name that is very cool i think there's a sample-*.gld in appserver's sample dir so you can create objects that can just be dropped onto a form, but are constructed from more complex stuff? and they can be autogenerated? hmm you can request appserver to generate a gfd for a given class. it is doing this by using it's classrepository and optional translations (loaded from gld files) this saves you from writing all that forms for most of the basic classes johannes, do you have commit access? like countries, currencycodes, items, and so on wt: i've wrote almost all of that stuff :) can you ecit gnue-packages/base/typedef/insert-en-currency.gsd ? like 790 and 850 have "&" where they should have & i know it's broken ... but i thought kilo has fixed that no just a sec that is not the only prob I don't know how to fix the prob on line 205 the problem is: the file states itself as beeing UTF-8 encoded but has latin-1 characters in it ISO-8859-1 is also not working I tried it gnue-gcd2sql doesn't use the username and password in the connections.conf has that been fixed? I don't like putting my pass on the command line johannes: kilo started hes 2 week vacation last sunday so feel free to fix anything :) np johannes, latin1 fouls some of the letters wt, i didn't know it does not use that credentials *** jcater_ has quit IRC *** jcater_ has joined #gnuenterprise *** jcater has joined #gnuenterprise jcater, ohayou wt: please svn up; the fixed insert-en-currency.gsd is available now *** lekma has joined #gnuenterprise morning everyone *** vergil has joined #gnuenterprise thanks lekma: hi damn gnue-products/base depends on the financials and one gsd file is f'ed I think I can mess with it now, though very cool how do I know the user/pass for the appserver? wt: the gnue-readgcd has been fixed cool username and password from connections.conf are no longer ignored now you need to mak another release so that debian sid will be updated i've prepared the same fix for readgld too, but i've some other changes pending so i cannot commit that one now ah johannes, you rock I think that would make you a rock star :) * johannes looking for some coffee ... *** jcater_ has quit IRC johannes, where do you live? sleepy time for wt austria/europe bbl *** btami has quit IRC small bug : DB000: File "/usr/lib/gnue/common/datasources/drivers/appserver/appserver/DataObject.py", line 98, in _createResultSet DB000: self.table, filter, sort, fieldlist) DB000: File "/usr/lib/gnue/common/rpc/drivers/Base.py", line 232, in __call__ DB000: return self._adapter._runMethod (self._methodname, *args, **params) DB000: File "/usr/lib/gnue/common/rpc/drivers/xmlrpc/pw_xmlrpc/ClientAdapter.py", line 99, in _runMethod DB000: raise errors.RemoteError, (exType, exName, exMessage, exDetail) DB000: gnue.common.apps.errors.RemoteError: Class 'zBasics_zLangs' has no property 'zbasics_langid' m Class 'zBasics_zLangs' has no property 'zbasics_langid' <-- it has a property 'zBasics_langId' lekma: what have you done? zBasics_langId != zbasics_langId (case-sensitive!) it's trigered when you put master, masterlink, detailink in a datasource is it a manually created form ? if I delete master, masterlink, detaillink there's no error yep manual form johannes: do the gld files support all features of normal forms?? lekma, no but the most common what are the most common? i've seen only positionning in the samples lekma, it think there's an case-error in the form, where the fk_* fields are defined appserver adds typcast attribs and input/display/formatmasks to the fields as determined by gnue_property and it creates dropdowns for lookups as needed there's no fk_ in the form ah, you did it with datasources so the masterlink and detaillink are ok ? i mean regarding case; do they match with your gcd ? yes i've to leave for lunch now; if you cannot find it you might want to send me a mail with the gcd and gfd i'd have a look then ok thx johannes: 'and it creates dropdowns for lookups as needed' <-- how do you specify this in the gcd? you don't specify that in gcd but in gld all properties in a class marked with a search-attribute are used as dropdowns if another class has a ref to that class (see sample-C.gld in appserver/samples) *** SachaS has joined #gnuenterprise *** reinhard has joined #gnuenterprise ah, reinhard got the new monitor ... no :( sitting in cellar at server console :( * SachaS greets reinhard in the cellar concerning debian packages: is there the same process necessary to get a debian package into experimental as it is into unstable/testing? if it is much easier, then gnue deb snapshots could go into experimental or having non official debian experimental gnue snapshot debs on gnuenterprise.org johannes: can i dcc you the sample case with bad upper/lower case where can i find out about attributes supported by gld? gld.dtd in appserver/doc there's also a gcd.dtd thx lekma, yes you can dcc them to me johannes: thx reinhard: how work the search attribute in gld, is it dependant on how you created fk in gcd? *** johannes has quit IRC i badly need samples and/or docs on this appserver thingy :-) reinhard: another question, is there a reason why a unique attribute for properties is not implemented? i mean all db woth playing with know about it must run brb in 15 or 20 minutes so, i'm wondering why ok *** johannes has joined #gnuenterprise germanised erp and crm system, based on sql-ledger: http://www.lx-office.org/index.php?id=home Title: Lx-Office: Startseite (at www.lx-office.org) gpl'ed *** Amorphous has joined #gnuenterprise lekma, have you modified your connections.conf ? johannes: yes, why your form is using 'gnue' as connection, not appserver; or is gnue an appserver connection gnue is an appserver con [gnue] comment = Connection to the GNUe Application Server provider = appserver rpctype = xmlrpc host = 192.168.123.2 port = 8765 transport = http does it have to be called 'appserver' ? no what's about gnue.conf ? what's about it? well, which database is appserver using as backend ? postgresql johannes, how does one know the password for the appserver? and which connection in connections.conf wt: gnue_useraccess I don't have that table [gnue] provider = psycopg host = localhost dbname = gnue encoding = utf-8 in server connection.conf lekma: the bug is in your gfd what is it? datasource dtsLangsText: tablename is "zBasics_zLangsTxt" and not "zBasics_zLangsText" :) lekma, regarding your connections so you have "two" connection in connections.conf called "gnue" ? no one is on the server, one is on the client ah, ok, i see so it's no problem but this way you cannot debug the same gfd's for example on the server johannes, thanks again wt: this table is created by auth.gcd (in the samples dir) but it's subject to change in some future johannes: the bug is still here zBasics_zLangsTxt if i fix that tablename i can run the form so which bug do you have ? DB000: File "/usr/lib/gnue/common/rpc/drivers/Base.py", line 232, in __call__ DB000: return self._adapter._runMethod (self._methodname, *args, **params) DB000: File "/usr/lib/gnue/common/rpc/drivers/xmlrpc/pw_xmlrpc/ClientAdapter.py", line 99, in _runMethod DB000: raise errors.RemoteError, (exType, exName, exMessage, exDetail) DB000: gnue.common.apps.errors.RemoteError: Class 'zBasics_zLangs' has no property 'zbasics_langid' m ah, ok, one moment please hmm you can replace the gecocer connection on the commented datasource by gnue and uncomment it, and then it works it's linked with master, masterlink, detaillink no, still doesn't work *** wt has quit IRC ?? btw. usually you would link the master-/detail-table using gnue-id and a reference-type but still, this doesn't matter how exactly i'm curious who's doing that string.lower () zLangsTxt is a detail to zLangs, right ? if i put type="module_class" then gnue_id is the foreign key, right? yes right but what i want is module_class_property1 to be the foreign key of let'say module_cleass2_property2 i don't really care about gnue_id, i mean in a functionnal pov back you said earlier you can use search attribute in a gld file how ? in the refernced class you add a search="" to that properties you like to select a record with if another class then has a property of that classes type (the referenced one) a dropdown is built with that search-fields erm, one dropdown per search-field lekma: I see johannes just explains the search attribute can you provide an example, please? i'm a bit lost here take country as an example you ever look at sample.gfd? *** Amorphous has quit IRC from appserver? *** Amorphous has joined #gnuenterprise lekma: for example, you have a country class and a person class the person has a reference to the country the country class has 4 properties (besides gnue_id): code (e.g. "AT") code3 (e.g. "AUT") name (e.g. "Austria") phonePrefix (e.g. "+43") so in your form for maintaining the person, you'd probably want a dropdown showing the valid countries but what should be displayed in the dropdown? the 2-letter codes, the 3-letter codes, the name, or the phonePrefix? or maybe you want 2 dropdowns side by side, first the 2-letter code and then the name so for the *country* class, you define the search fields if you use 'search="100"' for code then you get a dropdown containing the codes if you use 'search="100"' for name then you get a dropdown containing the names and if you use 'search="100" for code and 'search="200"' for name, you get 2 dropdowns side by side. lekma, ok, now i've found the bug it's in gnue.common.datasources.Base.DataObject masterlink- and detaillink-fields are *ALWAYS* lowered so this nukes m/d relations using camelcase fields johannes: should i stick to lower case, then? or is it fixeable? technically it's no problem to fix it (since i did that for me just now) but i don't know what it would break for others ... johannes: i think there were more string.lower() calls for fieldnames and we've already fixed most of them *** mixi has quit IRC :) camelCase bug found = good news SachaS, this is a problem regarding m/d-links in datasources reinhard: i still dont get it, but will try to play with it until i do... :) another question for appserver expert: is it possible to embedd a generated form in another one? what do you mean by embedding ? well if forms are generated anyway by the appserver, it would be useful to have on one form/screen two (or more) generated forms for maintaining data that would be useful instead of switching between forms lekma: we are thinking about such a thing like you have a mulit-page form first page you have your customer data second page you have a grid with contacts for this customer third page you have a grid with, say, items the customer bought (read-only) etc. but not now lekma: as to search= please play with the sample with the generated form for the appserver sample and then play with the search= fields for country class remove search= for some property, add it again, etc don't forget to re-run gnue-readgld after each change and look how the form for address_person changes johannes: thx for the case bug it works after svn np :) johannesV can you access properties with self. in the onInit bound trigger? hmm, i'm not sure i got an error doing it *** johannes_ has joined #gnuenterprise hmm, i think that's right the instance is not created at that time actually I can assign values to them so i should also be able to read them. if i remember right, I origninally had the question if in an extended OnInit I can access base properties. we changing the sequence I should be able to access them. but have not tested it. no, i just changed the sequence of the onInit-calls sorry i have not tested if after your onInit sequence change an extended OnInit can access base properties. will do so and let you know. ok *** johannes has quit IRC this is the OnInit of the base class timemgt: print "TIMEMGT OnInit" self.shortDescription = "Hello World" print str(self.shortDescription) print str(self.longDescription) return True ]]> it prints Hello World but then I get an exception: File "/home/sacha/gnuenterprise/gnue/.cvsdevelbase/gnue/common/rpc/drivers/xmlrpc/pw_xmlrpc/ClientAdapter.py", line 99, in _runMethod raise errors.RemoteError, (exType, exName, exMessage, exDetail) RemoteError: Instance '31414964983506120710620907369485' of class 'timemgt_workItem' not found if I confirm the error by pressing ok and saving the new record again i get the same error with an new Instance ID * SachaS puts it into the onValidate bound procedure so far I had the impression that the OnInit is something like the constructor ... OnValidate can access the properties even an extended OnValidate please forget about the OnValidate again I have to do more testing. im my current test there is nothing in the OnInit the base OnValidate can access the properties. access = read and write SachaS: i have a question about base classes say we have person, party(company) and so setting a value of base property in a base OnValidate actually does set the value. (for a second i thought it does not but it does.) i'd like them to support multiply contact sources of each type, like phone, e-mail, ... *** jamest has joined #gnuenterprise does it make sense? for example one person could have many phone numbers assigned and phone number once put into the system would never be overwritten hi dimas how our base classes would/could support that ? in an extended OnValidate I can access base properties. in an extended OnValidate I can NOT acces the extended properties. get a RemoteError: Instance "xcvxcvxcvx" of class xx not found i have the example company and address dimas: i have the example company address a copmany has 3 addresses where to look? so the company class has 3 properties of data type address dimas: on my laptop :) ok the question is if the company as any number of addresses does that class support a list of address data type? or in your example any number of phones then the situation looks different in that case: company = class x address = class Y address = class y ok i am too much x,y :) lets take class company and class address :) so class address has a property of type company so you can have many addresses (one per record of the address table) and each address belongs exactly to one company dimas: do you see what I mean? print "Billing_workitem OnValidate" print "timemgt_shortDescription: " + str(self.timemgt_shortDescription) print "timemgt_longDescription: " + str(self.timemgt_longDescription) print "billing_chargingCurrency: " + str(self.billing_chargingCurrency) return True ]]> appserver devs: the first 3 print statements work, the last print statement does not. base module is timemgt base class is workItem module which extends timemgt is called billing the billing module extended the base class workItem of the timemgt module *** insanekane has joined #gnuenterprise SachaBeerMood: you are aware that appserver is completely case sensitive? just because I see "billing" and "Billing" SachaBeerMood: not exactly :) could you show me how you support 3 addresses? hello all hi kane going insane again? :) heh yes ... going insane .. reinhard: yes the Billing is only in the print statement. hi insane kane. I am in beer mood which can lead to insanity :) dimas: heh is there any document for understanding how to use designer for making forms ? as in comprehensive info ? like the meanings of all those properties and all reinhard: actually when I changed billingaddress to billingAddress I got a problem with the appropriate .gld. thats why I changed them to billingaddress instead of camelcase. actually time to check if johannes case patch helps this problem. SachaBeerMood: it is how i have now :) will try and come back. gack! if we're gonna remove case sensitivity from data drivers jcater, :) we probably need a flag at the dataobject level as most (rightfully) are not case sensitive SachaBeerMood: i'm thinking about separate classes for person, phonenumbers and personphonenumbers classes johannesV: my camelCase problem is resolved. jcater: you think so? who is working on gnue-packages ? dimas: guess thats the art in gnue-packages. how to orgnise them. not trivial at all. jcater: you think using "wrong" case did work before johannes_'s change? insanekane: lots of people insanekane: most officially kilo, btami and myself SachaBeerMood: where is that more complicated then say master/detail thing? *** wt has joined #gnuenterprise dimas: let me try you have person err restart you have 3 classes person, contacttype and contact each person can have zero or one or many contacts is there any way to drop all tables in postgresql? each contact has a contact type wt: dropdb :) wt: dropdb lol dimas: is that what you want? wt: dropdb great minds think alike, I guess SachaBeerMood, I didn't want to have to regrant perms reinhard: kind of *whines* dimas: ok then i would do class person has a property no sorry class contact has 2 properties: reinhard: it's not only question how to implement but also how our base classes could support that for say phones and emails what do you mean with "base classes"? the ones in gnue-packages? core packages yes, in gnue-packages reinhard: interested in a gnue hangout (pub visit/beer garden)? ah sorry misunderstood you SachaBeerMood: sorry, I'm in HeavyWorkloadMode currently which is not compatible with BeerMode ;-) :) no kidding you know there are days when something happens and all your plans get delayed for 2 or 3 hours and then there are days when 5 such things happen at the same time ... :-) guess its called busy no worries yep reinhard, so that means you wont have the time to explain to me how to link say an inventory table and a item_prices table on the same form ? insanekane: i will try :-) how are they connected? gone for a while well, this is just an example ... so u can choose any tables with which you are comfortable ... cya *** SachaBeerMood has quit IRC bye Sac too late :) insanekane: it depends on the kind of link between the tables if it is a reference, you can use indirect field names so if an invoice has a field umm ok ... i will wait for u to come back then reinhard, pls tell me when ur back ok and the customer class has, for example, name and street you can use self.customer.name self.customer.street in the form err ok ... thats in procedures right ? i dont mean that ... i mean in the form, ie, GUI elements wise ... not self but the block name of course yeah exactly you have a field="customer.street" reinhard, btw, i have NO idea about designer at all .... the only thing ive done is dragged the fields of one table onto the form, and run that form ... ok I have NO idea about designer too I use vi to create gfd files oho ok hmm ok .. ok .... so noone uses designer ? is it deprecated ? no not at all johannes_ and me don't use designer most others do AFAICT ok ... you said "depends on the type of link" ... what kind of links are there ? n:1, 1:n, 1:1 ok ... in the case of n:1 and 1:n ... the link is kept on the 1 side right ? actually usually you have 1:n and n:1 no, on the n side and in 1:1 it can be kept on both sides depending on navigation ? yeah sorry ... yeah on the n side .. what about if i have n:n ... 1:1 doesn't make much sense mostly i keep it both sides ? n:n is not possible in a relational system which appserver is one of well, we would use 1:1 to simulate "inheritance" correct ? no we use class extension to simulate "inheritance" can u give me an example ? * reinhard starts beating himself to write a documentation about appserver example you have module address ok class person properties name, street, city k then you have module car extending class person of module address ok ok ... with properties color, type, lastInspection we introduce the term "fully qualified" ok ... so the fully qualified class name is address_person and it has the fully qualified property names ok address_name address_street address_city car_color car_type car_lastInspection the fully qualified class name is the table name in the db the fully qualified property name is the column name in the db you still have a single table k ... which is much better for performance of course you can't do things like defining address and deriving customer and vendor from the same base ok, but how do i specify the extension in the gcd file ? aha ok!! or, if you like that better ok got it ... now, for n:n relationships, basically, you split it into 2 1:n relationships ? i mean 1..n:1..n relationships u split it .... ? reinhard, hello ? yes ok ... n:1:n yeah ok :) like you normally would do in a relational database yes :) ok ... and, in most cases, this is better anyway because in most n:n relationships, you need additional info that specifies the "type" of the relationship like, if you have n:n between customer and sales representative (for example) now suppose i have a person class and an address class ... and it is having a 1:n relationship (person:address) ... how do i make a form such that i can display the person properties and below that a grid of addresses ? in the intermediate table, you could have additional info like reinhard, yes i understand the n:n bit ... if it is the primary representative, or what product groups the representative is responsible for, etc ok the person - address thing would be a normal master detail form ok ... you should most probably be able to do that with designer wizard i *think* there is a wizard for master detail oho ok ... ok i will check that ... only thing you have to do is ok in address class have a property ok ... replace "foo" by your module name :) hmm ok ... and be aware that the primary key of each table is always gnue_id now suppose i have a person class, and i have to store the next of kin for that person which are also person objects of the same module ... how would i accomplish that ? using a seperate class ? sorry i don't understand "next of kin" next of kin ... brother, sister, mother, father, uncle, etc ... oh relatives you mean what is called a "fishhook"? 1:n between one and the same class? hehe i dont know what fishhook is :) yes exactly ... ok if you draw a diagram where every table is a box and every line is a relationship yes ... you get a line that starts at the bottom of a box and goes round the box and ends at the top of the box looking like a fishhook oh ok thus i guess it's called so that's no problem aha ok ... father is usually 1:n while brother isn't yes ... but I think you get the idea yes i get it ... so if i want to store an association class, i just make it n:1:n right ? now i don't know what an asssociation class is ok ok np --- jamest, jcater: there was a request from ajmitch to change our tarball names to lowercase i.e. gnue-forms.0.5.6.tar.gz instead of GNUe-Forms.0.5.6.tar.gz as this should be much easier for packaging this also matches what I've read elsewhere "if you want to have many enemies, use uppercase in your tarball filenames" ok one more question forms related ... suppose in the wx UI backend, i want to make a real grid to replace the "grid" made out of textboxes ... is it possible ? also, for eg a datepicker widget for date fields ? http://en.tldp.org/HOWTO/Software-Release-Practice-HOWTO/naming.html#AEN142 no to both oh hmm .... ok for datetime fields what is format for entry ? mm/dd/yy hh:mm:ss [am|pm] ? not sure what designer uses by default i know that you can specify it in the gfd file ok great :) so basically, the gfd file contains the field types and the like right ? the gfd file contains the complete form definition bbl ok thanks a lot :) cya later reinhard: iirc, distutils is doing the case thing I have no problem w/lower case filenames jcater, does gnue have a clever way to look at the data stored in my database? maybe in the designer? and you guys need to make a release since you have changed a bunch of tool names so that the stuff in cvs will mostly work with the released stuff wt: easiest thing is to create a quick form in designer either by using the wizards (File | New | Wizard) or by clicking and dragging your schema from the lower left "Schema Navigator" onto the canvas then just save the form and use gnue-forms to run the form tools changed names? jcater: the name of the tarfile is taken from src/__init__.py PACKAGE= line *** insanekane has quit IRC jamest: you have any comments on the GNUe-Forms.tar.gz vs. gnue-forms.tar.gz issue? reinhard: I think, but am not 100% positive, that PACKAGE is used elsewhere besides the tarball creation so instead of changing each package to be lowercase, should we just change setup.py to .lower() it? or I guess we could grep -r for PACKAGE too :) jcater: checking... it's used in quite a lot of places where the package name is output like in the title of the technote index etc *** insanekane has joined #gnuenterprise how are standard instances of classes specified ? i mean initial instances ... anyone ? you mean default values? yeah you can use OnInit thats for setting up default values of properties ? no i mean inital instances ... for eg, to specify class instances in a file, and to put them all into the database using a command like readgcd ... for eg, if i have a file which contains names of books ... and i want to import them into the database ... or a set of inital users ... ah is it there in gcd file ? or somewhere else ? best is to use a gsd file oho ... there is a gsd file it's an xml file that can contain data ok ... we have a sample.gsd in appserver's sample directory containing all countries of the world and some famous persons aha ok you can import gsd files in 2 ways ok ... one is gnue-schema which creates a sql file which fits your database and the other one is gnue-import which acts directly against a db connection naturally, gnue-schema cannot handle updates of existing records while gnue-import can. oh ... and both will output a gsd file ? no aaha ok i get it ...those are for importing .. yes what abt exporting ? from where? from db to file well i think here you would target at gnue-integrator which is not working yet :( oho ok btw jcater ok, are instances of classes all guaranteed to have unique gnue_id values ? did you see the mail about nightly builds not running? insanekane: yes ie, is it possible that instances of 2 different classes have the same gnue_id ? theoretically no reinhard, ok ... is there any internal scheme to the gnue_ids ? or can i assign them randomly ? currently we use a pure random number oho ... how do you generate a pure random number ? and why not serially ? first of all, i just saw sample.gsd is written to run against the database directly i try to remember why you can't run a gsd against an appserver connection... umm ... should work actually then appserver would generate the gnue_id's ah i know you need the gnue_id's to fill other tables that contain references yeah exactly ... was about to say that :) yes hmm ... ok ... what is gld file ? we don't use serial because then many people would use the same gnue_id for their data pure random has the advantage of being able to mix data from different sources and still being independent ok but random may cause collision right ? kind of uuid system sure it might oho ok ... with a chance of let me look ok no need :) i get it ... 1:100000000000000000000000000000000 32*10! ? yes no 10**32 10^32 hehe yeah .. forget my basic math :) so i can assign in any way i want for each instance yes ? yes ok great for "manually" assigned gnue_id's you can even use letters reinhard: does appserver support unique constrain over two or more properties of a class like compound primary key in db terms? dimas: no dimas: the primary key will always be gnue_id and unique indexes are not yet supported insanekane: for example, i import data from an application called "vcs" into gnue ok i build gnue_id values like this in vcs, customer number is the primary key and customer number 004711 gets gnue_id "VCS_CUSTOMER_004711" this will most likely *never* conflict with anything else aha ... and u pad it to reach 32 characters ? especially not with a generated id :) yes, with blanks hmm ok ... actually you don't have to do it - the db will do it because the id's are defined CHAR(32) aaha or, depending on the db, they might be VARCHAR(32) okie which means you *still* don't need to pad them :) what is a gld file ? gld defines language dependent additional information for gcd files a "label" for properties to be used in generated forms/reports and such things oho .. what is pos ? pos of all properties defines the order of the fields in generated forms and *please* don't ask me what search="100" means :) ok ... sorry if i am bothering you too much :( no was j/k ok it's just that so many people start working with appserver these days thats a good sign right ? reinhard: gld was first done for generated forms, can it be used also for hand written ones? and it's like i get asked the same questions again and again from different people np ... i am saving all our discussions ... hopefully will convert them into documents and i'm beating myself to document this stuff ok but didn't get around to it reinhard, want any help with documentation ? probably because i hang around too much here ;-) insanekane: that would be great übergreat megagreat dimas: yes and no reinhard, ok i will post you any documentations that i complete ... i am starting with SachaS appserver howto and getting it upto speed now order, labels and all that stuff must be given in gfd file but gnue-forms takes a parameter where you can save the generated file reinhard: so it could provide localized labels and take that as a starting point for a hand made form dimas: no, forms can't solve the problem of localized labels other than having a gfd per language that's also one of the reason why we are going to take the path of generated forms whenever possible insanekane: that is excellent ok i think the howto is good, but it's outdated and badly in need of edit i have been thinking about using the howto as a starting point for a complete developer's manual reinhard: thanks bbl reinhard, hehe me too :) :) reinhard, anyway it will be easier for me to do it, since i know nothing at present I still think walking the user through a project like an address and contact management and introducing feature by feature would make a good tutorial well ... if you walk me through it piece by piece, i can write it up piece by piece :) :| im serious ... ok what are your plans for this weekend? my screen is broken and i'm working via console, sitting in the cellar anyway ... im doing a gcd editing utility now ... after that it will be easier to write the tutorial screen is broken means ? err monitor why are u in the cellar ? display hardware defect ok i get it and in the cellar, there is a small room with the server now i work on server console aah ok ... not in my comfortable office room u are in the office ? ok .. for me home=office you are a freelancer ? kinda ok me too kinda :) johannes_ and me work for bytewise and we both work from home thats a magazine right ? oh, no hmm ok that's the world famous software development company errr 2 employees ;-) hehe not world famous obviosly :) aha ... any URL ? www.bytewise.at but it's all german oh hmm ... but at least you can look at the photographs :) however hehe tomorrow i should receive my new monitor (how do you really say? screen or monitor?) monitor u are in germany ? so i'd like to walk you through an example over the weekend austria you are from us? no ... i am in kochi, kerala, india :) oh cool hehe didnt expect that did you ? we had people from india here, before really ? :) don't remember the name off-hand yes do you have any idea where austria is? :) im sure .. with 1/6th the population of the world ... ur bound to have people from india visiting :) reinhard, in india, education is taken seriously ... geography even :) good :) what time is it there ? well, austria is about 1/1000th the population of the world ;-) now it's 19:02:54 okie ... oh already? hmmm bbl :) heh .. yeah me too ... have to work on GCD editor ok, i will send u an email later tonight ok *** vinsci has joined #gnuenterprise *** insanekane has quit IRC *** SachaS has joined #gnuenterprise *** Amorphous has quit IRC *** Amorphous has joined #gnuenterprise *** reinhard has quit IRC for the logs: reinhard: gnue-schema *can* handle updates of existing records ! *** wendall911 has joined #gnuenterprise *** reinhard has joined #gnuenterprise for the logs: reinhard: gnue-schema *can* handle updates of existing records ! reinhard, gnue-import got somewhat merged into gnue-schema *** johannes_ has left #gnuenterprise *** johannes has joined #gnuenterprise *** johannes has left #gnuenterprise *** johannes has joined #gnuenterprise *** MiXi has joined #gnuenterprise *** MiXi has quit IRC *** mixi has joined #gnuenterprise *** awapf has joined #gnuenterprise hello *** mixi has quit IRC *** mixi has joined #gnuenterprise *** sjc has joined #gnuenterprise *** Amorphous has quit IRC hi awapf gruezi sali where in ch are you from? (if i may ask) frauenfeld. 25 km from Lake Constance. cool lustenau, austria 10 km from Lake Constance :) :) bye all *** reinhard has quit IRC bye *** mixi^ has joined #gnuenterprise *** mixi^ has quit IRC *** mixi has quit IRC *** zitatomat has joined #gnuenterprise *** zitatomat has quit IRC *** mixi has joined #gnuenterprise *** zitatomat has joined #gnuenterprise *** zitatomat has joined #gnuenterprise ./setup-db.sh: line 3: gsscvs: command not found <-- what's the problem? how can i install this tool? problem solved *** lekma has quit IRC *** sjc has quit IRC is there a "non- n-tier variant" of gnue? all tools support direct communication to the database just specify the database parameters in connections.conf ah morning *** jamest has quit IRC *** vergil has quit IRC *** wt has quit IRC *** jamest has joined #gnuenterprise *** jcater_ has joined #gnuenterprise *** jcater has quit IRC *** wendall911 has left #gnuenterprise *** jamest has left #gnuenterprise *** jamest has joined #gnuenterprise *** mixi has quit IRC *** wapf has quit IRC *** vinsci has quit IRC *** wapf has joined #gnuenterprise *** vinsci has joined #gnuenterprise *** bluesbaron_ has joined #gnuenterprise *** mixi has joined #gnuenterprise *** bluesbaron_ has left #gnuenterprise *** jamest has left #gnuenterprise *** wendall911 has joined #gnuenterprise *** jcater has quit IRC *** wendall911 has quit IRC *** wt has joined #gnuenterprise