You can subscribe to this list here.
2001 |
Jan
|
Feb
(1) |
Mar
(12) |
Apr
(6) |
May
(12) |
Jun
(12) |
Jul
(29) |
Aug
(15) |
Sep
(7) |
Oct
(6) |
Nov
(17) |
Dec
(6) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(6) |
Feb
(6) |
Mar
(7) |
Apr
|
May
(1) |
Jun
(1) |
Jul
(7) |
Aug
(2) |
Sep
|
Oct
(4) |
Nov
(1) |
Dec
|
2003 |
Jan
(18) |
Feb
(11) |
Mar
|
Apr
(37) |
May
(37) |
Jun
(31) |
Jul
(6) |
Aug
(6) |
Sep
(6) |
Oct
(26) |
Nov
(13) |
Dec
(4) |
2004 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(4) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
From: Tim P. <ti...@pa...> - 2006-12-19 23:42:14
|
On Tuesday 17 June 2003 10:15, Jim Wright wrote: > William Chesters wrote: > >Jim Wright writes: > > I think I know roughly where the problem is. > > > > Transactioned.readlock(...) ends with: > > > > ensureValid(transaction) > > > > Transactioned.ensureValid() does: > > > > if (!upToDate(transaction)) > > load(transaction); > > > > but Persistent.upToDate() returns true. > > > > Perhaps Persistent.upToDate() should return > > false. Difficult to say because its not yet > > documented. > > Well, it doesn't look right, does it? Hmm. I don't think upToDate > should be there at all: Transactioned.ensureValid should just say > > > private void ensureValid(Transaction transaction) { > > if (!valid) { > > load(transaction == null ? touchedBy : transaction); > > valid = true; > > } > > } > > > >and upToDate should be removed. > > This would change the behaviour of TransactionsSerial which I > do not understand, much, yet: > > protected void load(Transaction transaction) { > ++serial; > } > > protected boolean upToDate(Transaction transaction) { > return true; > } > > So instead of just setting valid to true it > would always (instead of never) do a ++serial. > > I'll stick to plan A unless you say otherwise. In other > words Persistent.upToDate() should return false by > default. This change meant that Poem never used its cache, always loading from the db. I reverted it, which fixed a problem with a test such that the db was being hit more times than I expected. Today in implementing not nullable column insertion I found I had run into Jim's original problem: persistents not being reloaded when they had been invalidated within a transaction. Interestingly selectionWhereEqual was showing the uptodate, ie written down, committed vaues. What both Persistent.upToDate() and TransactionedSerial.upToDate() now do is return Tansactioned.valid, which is now protected. That upToDate is a hook for extension is now documented, and the tests for rollback and not nullable column creation all pass. cheers timp |
From: Tim P. <ti...@pa...> - 2005-11-23 20:34:29
|
On Wednesday 23 November 2005 04:12, gjsweeney wrote: > Hi, > > Updating an old Melati application and I seem to have lost all my > powers :( > > How do I persist an object to the database? > > I've tried .... > > foo.newPersistent(); > > //populate foo > > foo.makePersistent(); > > but no record gets written in the database. > > I can create a record via the admin system and that works fine but > programmatically ... nothing. > > What step(s) have I missed? > > TIA. None, that I can see: public class UserTable extends UserTableBase { // snip public User ensure(String name, String title, String tel, String email) { User p = (User)getNameColumn().firstWhereEq(name); if (p == null) { p = (User)newPersistent(); p.setLogin(name); p.setName(name); p.setPassword(name); p.setTitle(title); p.setTel(tel); p.setEmail(email); p.makePersistent(); } return p; } } hope this helps. I am still actively developing Melati, hope to have a new release out soon, the current CVS version supports more dbs and has an application (non-servlet) API. I have just revisited the MelatiBoards which work slightly better and have a working nntp server. I am very interested in you views on Melati, I think it is great and have not enjoyed or found equal the more popular objects over jdbc solutions around. yours TimP |
From: <mel...@gj...> - 2005-11-23 04:12:52
|
Hi, Updating an old Melati application and I seem to have lost all my powers :( How do I persist an object to the database? I've tried .... foo.newPersistent(); //populate foo foo.makePersistent(); but no record gets written in the database. I can create a record via the admin system and that works fine but programmatically ... nothing. What step(s) have I missed? TIA. -- Graeme - |
From: Tim P. <tpp...@pa...> - 2004-11-29 10:26:00
|
Hi, A long standing problem has been that we cannot access webmacro templates stored in the Melati jar. This is because we initialise the WM with WM(), if we were to initialise it with WM(this) where this is a Servlet then templates could be found within jars, but I cannot find how to get a Servlet at the point where the TemplateEngine is initialised. What I want to do is: if (we are in a servlet) then WM(this) else WM() surely this should be possible? cheers Tim |
From: Tim P. <ti...@pa...> - 2004-07-05 20:46:00
|
How to add non-nullable fields # alter table unit add column display boolean; ALTER TABLE # update unit set display=true; UPDATE 15 # alter table unit alter column display set not null; ALTER TABLE timp |
From: Lane S. <la...@op...> - 2004-05-20 21:30:28
|
Tim Pizey wrote: >On Wednesday 19 May 2004 06:03, Lane Sharman wrote: > > >>Is Melati working well with now with WM 2.0? >> >> > >Appears to be, I hope to role out a new version soon. > >I do have a question for you however: I get the impression that >Webmacro, and hence now Melati, will no longer >write to the underlieing output stream, so the ability >to update a page line by line, during a long process, say a >5 minute build which outputs text throughout, has gone. >Now it will wait 10 minutes and then output the whole thing. > >If this is true it is a loss of functionality. > The output phase is an atomic operation and encapsulated. I think this is a good thing. Too much stuff was exposed and it made the component very hard to maintain. That is my take. -Lane > > > >>Also, when do you plan to componentize the DB piece so that it is not >>servlet-dependent? >> >> > >Melati is not servlet dependant, you can use the poem element outside of a >servlet framework. >All the servlet specific code is separated out into >org.melati.servlet > >cheers >tim > > > >------------------------------------------------------- >This SF.Net email is sponsored by: SourceForge.net Broadband >Sign-up now for SourceForge Broadband and get the fastest >6.0/768 connection for only $19.95/mo for the first 3 months! >http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click >_______________________________________________ >Melati-users mailing list >Mel...@li... >https://lists.sourceforge.net/lists/listinfo/melati-users > > > -- Lane Sharman Providing Private and SPAM-Free Email http://www.opendoors.com 858-755-2868 |
From: Tim P. <ti...@pa...> - 2004-05-19 09:05:25
|
On Wednesday 19 May 2004 06:03, Lane Sharman wrote: > Is Melati working well with now with WM 2.0? Appears to be, I hope to role out a new version soon. I do have a question for you however: I get the impression that Webmacro, and hence now Melati, will no longer write to the underlieing output stream, so the ability to update a page line by line, during a long process, say a 5 minute build which outputs text throughout, has gone. Now it will wait 10 minutes and then output the whole thing. If this is true it is a loss of functionality. > Also, when do you plan to componentize the DB piece so that it is not > servlet-dependent? Melati is not servlet dependant, you can use the poem element outside of a servlet framework. All the servlet specific code is separated out into org.melati.servlet cheers tim |
From: Lane S. <la...@op...> - 2004-05-19 04:56:24
|
Is Melati working well with now with WM 2.0? Also, when do you plan to componentize the DB piece so that it is not servlet-dependent? Kindest, lane Tim Pizey wrote: >Hi PeterK and all, > >I have just pointed melati at a complex mysql db, >which did have an id field in every table, >by adding it to org.melati.LogicalDatabase.properties >and it all worked straight out of the box! > >Melati correctly set up the metadata and I was able to view >the db through the Admin system and to export a database schema. > >Melati still rocks! > >cheers >Tim Pizey > > > >------------------------------------------------------- >This SF.Net email is sponsored by: SourceForge.net Broadband >Sign-up now for SourceForge Broadband and get the fastest >6.0/768 connection for only $19.95/mo for the first 3 months! >http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click >_______________________________________________ >Melati-users mailing list >Mel...@li... >https://lists.sourceforge.net/lists/listinfo/melati-users > > > -- Lane Sharman Providing Private and SPAM-Free Email http://www.opendoors.com 858-755-2868 |
From: Tim P. <ti...@pa...> - 2004-05-17 23:25:26
|
Hi PeterK and all, I have just pointed melati at a complex mysql db, which did have an id field in every table, by adding it to org.melati.LogicalDatabase.properties and it all worked straight out of the box! Melati correctly set up the metadata and I was able to view the db through the Admin system and to export a database schema. Melati still rocks! cheers Tim Pizey |
From: Tim P. <ti...@pa...> - 2004-03-03 00:00:58
|
Version 0.7.2 of Melati has been released.=20 This includes=20 o - better handling of character encodings,=20 to support chinese and other characters o - Support for finer grained authorisation =20 o - bug fixes to rollback and tree rendering o - An experimental JSP handling servlet If you have issues with any of the above it is=20 a good idea to upgrade.=20 There are no database issues with upgrading,=20 so it should be a straight forward matter of=20 replacing the jar, if you are already using 0.7.1 yours Tim Pizey |
From: Jim W. <ji...@pa...> - 2003-12-17 05:56:55
|
Hi, Several "charities" have slready spammed me asking for donations this year and so far my sentiments are that I can do better! I am currently waiting for the Child Brain Injury Trust to agree to pay me before I put my Melati developer hat on again, at which time I will release part of their admin system as an enhanced, re-usable contacts database module. I cannot afford to proceed without funding having spent months on the system demonstrated here for a nominal fee: http://cbitdemo.paneris.org/ I will probably not contribute further to the development of Melati or its documentation until I get the go ahead from CBIT for this work. It would be nice if things were the other way around. That is, if other users of Melati were funding development to the benefit of the Child Brain Injury Trust. This is possible! Not necessarily in time for Xmas but never mind. Any funding of Melati development it likely to have a small indirect effect. New business users would help. If you pay *me* to enhance Melati or its documentation then I will plan my work to share and reduce the costs of enhancements to the CBIT system :-) If you pay for enhancements to the contacts management component (as demonstrated on cbitdemo.paneris.org) then clearly this benefits CBIT signficantly. In that case you might want to discuss with CBIT, TimP and myself how this can be most mutually beneficial. For example, how this contribution might form part of your investment in PR. Perhaps the best way of helping is to promote the system to potential new customers with similar needs. The main other function is to record telephone enquiries. Discussion welcome. Also, please propogate to any users who are not yet recipients. Regards, Jim Wright -- Recently completed - Child Brain Injury Trust Admin System http://cbitdemo.paneris.org/ Java, Linux, XML and much more. http://be.webz.cz/ |
From: Tim P. <ti...@pa...> - 2003-12-16 10:48:05
|
Hi,=20 The admin tree interface has never worked=20 under Konqueror (KDE 3.0). There is no mechanism, that I have found,=20 to debug javascript/DOM under konqueror. Has anyone got any suggestions as to what is wrong=20 and how to go about fixing it? The url: http://www.melati.org/melati/org.melati.admin.Admin/contacts/contact/0/Tr= ee?returnTarget=3Dparent.parent.parent.admin_bottom.admin_left.admin_sele= ction&returnURL=3D/melati/org.melati.admin.Admin/contacts/contact/Selecti= on?start=3D1&& works in moz/IE/Netscape 4 Maybe someone has a newer version of Konqueror which gives some Idea as t= o=20 what is wrong? cheers timp |
From: Tim P. <ti...@pa...> - 2003-12-03 22:27:19
|
On Tuesday 02 December 2003 3:03 pm, gjsweeney.com wrote: > Hi, > > I have a tailored query which does something like this: > > select distinct B.a, a.s, a.f from a, B where B.a=3Da.id group by B.a, = a.s, > a.f order by a.s, a.f; > > When I get the cooked value from the FieldSet for B.a it looks > something like this a/123 > > Other than doing some String manipulation, is their a utility class whi= ch > just returns the troid for me from the cooked value? > Would need more code to be sure what you need,=20 but if=20 field.cookedValue() =3D=3D "a/123" then=20 field.getRawString() should be "123" and=20 field.getRaw() should be an Integer 123 hope this helps timp |
From: <mel...@gj...> - 2003-12-02 15:04:14
|
Hi, I have a tailored query which does something like this: select distinct B.a, a.s, a.f from a, B where B.a=a.id group by B.a, a.s, a.f order by a.s, a.f; When I get the cooked value from the FieldSet for B.a it looks something like this a/123 Other than doing some String manipulation, is their a utility class which just returns the troid for me from the cooked value? TIA, Graeme - |
From: Tim P. <ti...@pa...> - 2003-11-29 01:37:55
|
Jim,=20 Thanks a lot, I have rebuilt and all now is well.=20 cheers timp On Friday 28 November 2003 1:37 am, Jim Wright wrote: > Tim, > > I've committed a fix but I have not tested it independently > of other hacks on my system. > > This was nothing complicated. I'd just done it wrong and > not tested an obvious case - now done. > > Cheers, > > Jim |
From: Jim W. <ji...@pa...> - 2003-11-28 01:37:34
|
Tim, I've committed a fix but I have not tested it independently of other hacks on my system. This was nothing complicated. I'd just done it wrong and not tested an obvious case - now done. Cheers, Jim -- Recently completed - Child Brain Injury Trust Admin System http://cbitdemo.paneris.org/ Java, Linux, XML and much more. http://be.webz.cz/ |
From: Jim W. <ji...@pa...> - 2003-11-27 15:06:06
|
Hi Tim, Tim Pizey wrote: >Hi Jim, > >melati.net and begbroke are broken under IE (5.5?), >(as I discovered during a client meeting) > >Will you get a chance to investigate soon? > > Sorry for the delay. This is now a background task. Good news is I've re-created it locally. (On windows 95 with a 10 inch black and white monitor :-)) Cheers, Jim -- Recently completed - Child Brain Injury Trust Admin System http://cbitdemo.paneris.org/ Java, Linux, XML and much more. http://be.webz.cz/ |
From: Tim P. <ti...@pa...> - 2003-11-26 20:22:54
|
Hi Jim,=20 melati.net and begbroke are broken under IE (5.5?),=20 (as I discovered during a client meeting) Will you get a chance to investigate soon? cheers timp ---------- FW: ---------- Subject: Begbroke melati error Date: Wed, 26 Nov 2003 15:36:26 +0000 From: Paul Warren <pau...@ma...> To: ti...@pa... Melati Error Reported from ConfigServlet An error has occured in the application that runs this website, please contact nobody , with the information given below. javax.servlet.ServletException: An error was apparently detected in your HTTP request header worthy of response code: 400 at org.melati.Melati.establishCharsets(Melati.java:461) at org.melati.servlet.ConfigServlet.doGetPostRequest(ConfigServlet.java:175) at org.melati.servlet.ConfigServlet.doGet(ConfigServlet.java:146= ) at javax.servlet.http.HttpServlet.service(HttpServlet.java:499) at javax.servlet.http.HttpServlet.service(HttpServlet.java:588) at org.apache.jserv.JServConnection.run(JServConnection.java:359= ) at java.lang.Thread.run(Thread.java:536) Caused by: org.melati.util.HttpHeader$HttpHeaderException: Next token is not a (possibly quoted) word: Token[NOTHING], line 1 at org.melati.util.HttpHeader$Tokenizer.readSVal(HttpHeader.java:426) at org.melati.util.HttpHeader$Tokenizer.readTokenAndQValue(HttpHeader.java:5= 22) at org.melati.util.HttpHeader$TokenAndQValue.(HttpHeader.java:24= 2) at org.melati.util.AcceptCharset$CharsetAndQValue.(AcceptCharset.java:338) at org.melati.util.AcceptCharset.nextTokenAndQValue(AcceptCharset.java:200) at org.melati.util.AcceptCharset$CharsetAndQValueIterator.nextCharsetAndQVal= ue(A cceptCharset.java:194) at org.melati.util.AcceptCharset.(AcceptCharset.java:129) at org.melati.Melati.establishCharsets(Melati.java:457) ... 6 more _____________________________________________________ Dr. Paul Warren, Senior IT officer, Department of Materials, Oxford University, Parks Road, Oxford OX1 3PH U.K. Phone: +44 (0)1865 273727 Fax: +44 (0)1865 273789 e-mail: pau...@ma... web: http://www.materials.ox.ac.uk _____________________________________________________ ------------------------------------------------------- |
From: <mel...@gj...> - 2003-11-17 11:16:34
|
On Tue, 11 Nov 2003, Tim Joyce wrote: <snip/> > put him into session is the right thing to do. what key are you using? > > melati.getSession().putValue(HttpSessionAccessHandler.USER, user) > > will mean that the next request you will get user in melati.getUser(), but > if you need it in the current request you will have to do more.... Thanks for that explanation - I needed it in the current request so just accessed it from the session. Graeme - |
From: Tim J. <ti...@ho...> - 2003-11-11 22:05:33
|
Hi, > Thanks, the methods in there worked and I now have a follow-up ..... once > I've authenticated the user is there a way to force Melati.getUser() to > return this user? It always returns _guest_ so I'm left with putting the > user into the session and access it from there. put him into session is the right thing to do. what key are you using? melati.getSession().putValue(HttpSessionAccessHandler.USER, user) will mean that the next request you will get user in melati.getUser(), but if you need it in the current request you will have to do more.... cheers timj |
From: Tim P. <ti...@pa...> - 2003-11-11 12:15:42
|
On Tuesday 11 November 2003 11:24 am, mel...@gj... wrote: > On Mon, 10 Nov 2003, Tim Pizey wrote: > > On Monday 10 November 2003 11:08 am, mel...@gj... wrote: > > <snip/> > > > > So, upon registering the user is there something else I need to do = to > > > ensure the user has the ability to update their own data? > > > > In org.melati.poem.User.getPassword() and setPassword() there is a ch= eck > > whether the user is writing their own record. > > > > What I think you actually need is in org.paneris.ftc.model.User: > > <snip/> > > Thanks, the methods in there worked and I now have a follow-up ..... on= ce > I've authenticated the user is there a way to force Melati.getUser() to > return this user? It always returns _guest_ so I'm left with putting th= e > user into the session and access it from there. You are doing the right thing, but you should be letting Melati do it for= you.=20 Where is your code? do you want to put it on the paneris server? It is really difficult trying to work out what you are doing without=20 seeing more.=20 > > I've tried PoemThread.setAccessToken but I need to do something like > > PoemThread.withAccessToken(AccessToken.root, new PoemTask() { > =09=09=09=09 public void run() { > PoemThread.setAccessToken //assign user here > =09=09=09=09 }}); > > However, that only changes melati.getUser() for the duration of the > run(). Accessing melati.getUser() after PoemThread.withAccessToken > completes, returns the _guest_ value. that is correct > > How do I get melati.getUser() to return the currently logged in user? Everything should, indeed must, be done within a PoemThread,=20 so it you are doing something outside of your own thread you get=20 the default one, where the user is guest.=20 Have you looked at org/melati/login org/paneris/bibliomania/BibliomaniaLogin > > TIA, > > Graeme - > I tryied to get your details from http://www.gjsweeney.com/ but to no ava= il.=20 Have you joined PanEris.org ? Where in the world are you located? Would you like to talk on the phone (44 1865 711036) cheers timp |
From: <mel...@gj...> - 2003-11-11 11:25:13
|
On Mon, 10 Nov 2003, Tim Pizey wrote: > On Monday 10 November 2003 11:08 am, mel...@gj... wrote: <snip/> > > So, upon registering the user is there something else I need to do to > > ensure the user has the ability to update their own data? > > > In org.melati.poem.User.getPassword() and setPassword() there is a check > whether the user is writing their own record. > > What I think you actually need is in org.paneris.ftc.model.User: <snip/> Thanks, the methods in there worked and I now have a follow-up ..... once I've authenticated the user is there a way to force Melati.getUser() to return this user? It always returns _guest_ so I'm left with putting the user into the session and access it from there. I've tried PoemThread.setAccessToken but I need to do something like PoemThread.withAccessToken(AccessToken.root, new PoemTask() { public void run() { PoemThread.setAccessToken //assign user here }}); However, that only changes melati.getUser() for the duration of the run(). Accessing melati.getUser() after PoemThread.withAccessToken completes, returns the _guest_ value. How do I get melati.getUser() to return the currently logged in user? TIA, Graeme - |
From: Tim P. <ti...@pa...> - 2003-11-10 12:14:35
|
On Monday 10 November 2003 11:08 am, mel...@gj... wrote: > Hi, > > I had an earlier capability problem to do with passwords which was solv= ed > by being pointed to the Bibliomania code. > > Another 'capability' problem has now arisen :-/ > > Its a shopping cart application based on the code in > org/paneris/jammyjoes/shopping/JammyJoesShoppingTrolley.java > > A user registers their contact details and the save() method stores the= m > in the database. Next, the user edits their details and attempts to sav= e > them - at this point a capability message is thrown again: > > <quote> > You need the capability _administer_ to write the object > te...@so... but your access token te...@so... doesn'= t > confer it > </quote> > > For the moment I've overriden AccessToken.givesCapability(Capability > capability) to always return true to get it to work at present. > > So, upon registering the user is there something else I need to do to > ensure the user has the ability to update their own data? > In org.melati.poem.User.getPassword() and setPassword() there is a check=20 whether the user is writing their own record. What I think you actually need is in org.paneris.ftc.model.User: public void assertCanRead(AccessToken token) { if (token !=3D this) super.assertCanRead(token); } public void assertCanWrite(AccessToken token) { if (token !=3D this && this !=3D getDatabase().guestAccessToken()) super.assertCanWrite(token); } cheers Tim Pizey |
From: <mel...@gj...> - 2003-11-10 11:08:38
|
Hi, I had an earlier capability problem to do with passwords which was solved by being pointed to the Bibliomania code. Another 'capability' problem has now arisen :-/ Its a shopping cart application based on the code in org/paneris/jammyjoes/shopping/JammyJoesShoppingTrolley.java A user registers their contact details and the save() method stores them in the database. Next, the user edits their details and attempts to save them - at this point a capability message is thrown again: <quote> You need the capability _administer_ to write the object te...@so... but your access token te...@so... doesn't confer it </quote> For the moment I've overriden AccessToken.givesCapability(Capability capability) to always return true to get it to work at present. So, upon registering the user is there something else I need to do to ensure the user has the ability to update their own data? TIA, Graeme - |
From: <mel...@gj...> - 2003-11-10 09:55:08
|
On Fri, 31 Oct 2003, Tim Pizey wrote: > On Friday 31 October 2003 2:37 pm, mel...@gj... wrote: <snip/> > > ii. Triggering events when a field is updated e.g. emailing a user. > > If you want to email after record modification override > Persistemt.postModify() in your object (eg Contact.java) > > If you want to email after first insertion into db overrride > Persistemt.postInsert() > > If you want to email after either override > Persistemt.postWrite() <snip/> Thanks for the pointers, these do exactly what I wanted :-) Graeme - |