From: Jim W. <ji...@pa...> - 2003-04-24 14:39:46
|
Hi William or anyone, I want some rows of a table to be readable only by users with a capability. I think I can get this by adding a row: Capability canread and adding a non-null capability to such rows. However, looking at the code I think that Selection.wm will result in a request for the user to login as someone who can read all rows. This is no good but what would be OK is for the rows that the user cannot read to be excluded from the selection. Can I get this just by configuring a different Selection.wm? Cheers, Jim |
From: Tim P. <ti...@pa...> - 2003-04-25 10:56:44
|
On Thursday 24 April 2003 2:44 pm, Jim Wright wrote: > Hi William or anyone, > > I want some rows of a table to be readable > only by users with a capability. I think I can > get this by adding a row: > > Capability canread > > and adding a non-null capability to such > rows. > > However, looking at the code I think that > Selection.wm will result in a request > for the user to login as someone who can > read all rows. > > This is no good but what would be OK is > for the rows that the user cannot read to > be excluded from the selection. > > Can I get this just by configuring a > different Selection.wm? > Not easily, as it is running against $results,=20 so you would need to override Admin as well. It seems to me that the right place to do it is=20 by overriding the appendWhereClause method in=20 your table. public void appendWhereClause(StringBuffer clause, Persistent persistent)= { super.appendWhereClause(clause, persistent); if(!clause.toString().equals("")) clause.append(" AND "); clause.append("accesslevel <=3D " + PoemThread.accessToken().accessLe= vel()); } Where accesslevel is a new field in your user table.=20 I have a feeling that this isn't the most elegant solution=20 but hope it helps.=20 cheers timp |
From: Jim W. <ji...@pa...> - 2003-04-27 22:44:08
|
Hi, Tim Pizey wrote: >but hope it helps. > > Thanks Tim. It helps to know quickly whether the answer is completely obvious ;-) Jim |
From: William C. <wil...@pa...> - 2003-04-26 14:39:25
|
Jim Wright writes: > Hi William or anyone, > > I want some rows of a table to be readable > only by users with a capability. I think I can > get this by adding a row: > > Capability canread > > and adding a non-null capability to such > rows. Yes, or you may find it better (depending on yr application) to override Persistent.assertCanRead(...), so as to allow or deny access based on the data itself (e.g. allow access to an invoice record to its issuing and receiving parties only). > However, looking at the code I think that > Selection.wm will result in a request > for the user to login as someone who can > read all rows. > > This is no good but what would be OK is > for the rows that the user cannot read to > be excluded from the selection. > > Can I get this just by configuring a > different Selection.wm? Actually I don't think you will be prompted to log in. I think it will display "[Access denied to williamc]", or some such message, in place of the row in question. This is because at the top of Selection.wm is a line #set $onVariableException = $melati.PassbackVariableExceptionHandler which causes exceptions (such as AccessPoemException) arising during rendering to be handled by returning them to be rendered in place of the offending expression. By default they are simply thrown, and then AccessPoemException (by default) indeed prompts login. The message shown is configurable too, because it is generated from org/melati/template/webmacro/templets/html/org.melati.poem.AccessPoemException.wm, as a consequence of Melati's generic mechanism for looking up "templet" files based on an object's class name. Hope this helps, William |
From: Jim W. <ji...@pa...> - 2003-04-27 22:44:10
|
Hi William, William Chesters wrote: > > I want some rows of a table to be readable > > only by users with a capability. I think I can > > get this by adding a row: > > > > Capability canread > > > > and adding a non-null capability to such > > rows. > >Yes, or you may find it better (depending on yr application) to >override Persistent.assertCanRead(...), so as to allow or deny access >based on the data itself (e.g. allow access to an invoice record to >its issuing and receiving parties only). > > Cool. > > However, looking at the code I think that > > Selection.wm will result in a request > > for the user to login as someone who can > > read all rows. > [snip] > > This is no good but what would be OK is > > for the rows that the user cannot read to > > be excluded from the selection. > > > > Can I get this just by configuring a > > different Selection.wm? > >Actually I don't think you will be prompted to log in. I think it >will display "[Access denied to williamc]", or some such message, in >place of the row in question. This is because at the top of >Selection.wm is a line > > #set $onVariableException = $melati.PassbackVariableExceptionHandler > >which causes exceptions (such as AccessPoemException) arising during >rendering to be handled by returning them to be rendered in place of >the offending expression. By default they are simply thrown, and >then AccessPoemException (by default) indeed prompts login. > >The message shown is configurable too, because it is generated from >org/melati/template/webmacro/templets/html/org.melati.poem.AccessPoemException.wm, >as a consequence of Melati's generic mechanism for looking up >"templet" files based on an object's class name. > >Hope this helps, > > Yes that's very helpful (if it works ;-)). In fact you mentioned this your javadocs of TailoredQuery.select() but I've read quite a lot of code recently and cannot yet see the wood for the trees. I have been trying to understand whether there could and should be more commonality between: - what Table does (e.g. Table.selection()) - TailoredQuery and subtypes - CachedQuery and subtypes - dbms/AnsiStandard.givesCapabilitySQL() which does roughly what I might have wanted to do with a TailoredQuery or in Table.selection() In fact I am still wondering whether filtering out unreadable rows might be a useful option, but will put that ball down for now. Cheers, Jim |
From: William C. <wil...@pa...> - 2003-04-29 17:33:27
|
Jim Wright writes: > Yes that's very helpful (if it works ;-)). In fact you > mentioned this your javadocs of TailoredQuery.select() > but I've read quite a lot of code recently and cannot yet > see the wood for the trees. The wood is actually heart-shaped, but because so isn't much documentation it's hard to tell ... > I have been trying to understand whether there could > and should be more commonality between: > > - what Table does (e.g. Table.selection()) Table.selection is for selecting whole objects out of a single table according to some criterion. > - CachedQuery and subtypes CachedSelection does the same job, but it remembers the result (actually only the object ids of the selected objects) and will only re-SELECT it when something changes that might have invalidated it. I think all the code that could be shared between Table.selection and CachedSelection actually is. > - TailoredQuery and subtypes TailoredQuery is specifically for when you want a few fields back (possibly joined from several tables) rather than whole objects. Suppose you want to do SELECT a.foo, b.bar FROM a, b WHERE a.something AND b.id = a.b There is nothing to stop you doing this with a good old ResultSet = Database.sqlQuery("SELECT ..."). However if you want to get the same effect, without forgoing the nice features offered by POEM---e.g. access control, rich metadata that makes rendering trivial---you can use a TailoredQuery. > - dbms/AnsiStandard.givesCapabilitySQL() which > does roughly what I might have wanted to do with > a TailoredQuery or in Table.selection() I'm not sure I follow here. What exactly is it that you might have wanted to do? > In fact I am still wondering whether filtering out > unreadable rows might be a useful option, but will > put that ball down for now. Indeed, you can easily make it do that, by writing an additional ExceptionHandler (like SilentlyIgnoreVariableExceptionHandler) and using it in your selection.wm via #set $onVariableException = ... |
From: Jim W. <ji...@pa...> - 2003-05-01 09:21:25
|
Hi William, William Chesters wrote: > > - dbms/AnsiStandard.givesCapabilitySQL() which > > does roughly what I might have wanted to do with > > a TailoredQuery or in Table.selection() > >I'm not sure I follow here. What exactly is it that you might have >wanted to do? I haven't got my head around it but I believe I would want to link the table of interest into the join via the canRead field so that I get rows for which the user has the capability (via a group?). My SQL hat is in the loft somewhere. ;-) > > In fact I am still wondering whether filtering out > > unreadable rows might be a useful option, but will > > put that ball down for now. > >Indeed, you can easily make it do that, by writing an additional >ExceptionHandler (like SilentlyIgnoreVariableExceptionHandler) and >using it in your selection.wm via #set $onVariableException = ... Cool, except that this will silently reduce the number of rows in a page possibly to zero, won't it? Jim |
From: Jim W. <ji...@pa...> - 2003-05-26 16:55:26
|
Hi, For the record it appears that the line in Selection.wm: #set $onVariableException = $melati.PassbackVariableExceptionHandler does not have the desired effect. Could this be fixed easily? Does it have any other desired effect? Is the desired effect actually desired? I don't know but I'm going to look at plan B first which was to filter out the offending rows from the result set. I think I'm already overriding/hacking most of the functions concerned for many-to-many tables. Cheers, Jim Jim Wright wrote: > Hi William, > > William Chesters wrote: > >> > I want some rows of a table to be readable >> > only by users with a capability. I think I can >> > get this by adding a row: >> > > Capability canread >> > > and adding a non-null capability to such >> > rows. >> [snip] >> Actually I don't think you will be prompted to log in. I think it >> will display "[Access denied to williamc]", or some such message, in >> place of the row in question. This is because at the top of >> Selection.wm is a line >> >> #set $onVariableException = $melati.PassbackVariableExceptionHandler >> >> which causes exceptions (such as AccessPoemException) arising during >> rendering to be handled by returning them to be rendered in place of >> the offending expression. By default they are simply thrown, and >> then AccessPoemException (by default) indeed prompts login. >> >> The message shown is configurable too, because it is generated from >> org/melati/template/webmacro/templets/html/org.melati.poem.AccessPoemException.wm, >> >> as a consequence of Melati's generic mechanism for looking up >> "templet" files based on an object's class name. >> >> Hope this helps, >> >> > Yes that's very helpful (if it works ;-)). [snip] |
From: William C. <wil...@pa...> - 2003-05-26 17:26:10
|
Jim Wright writes: > Hi, > > For the record it appears that the line in Selection.wm: > > #set $onVariableException = $melati.PassbackVariableExceptionHandler > > does not have the desired effect. Er ... I remember vaguely that this required a hack to webmacro, but that we had actually got the functionality included in webmacro proper? Perhaps it was under a different name, which broke the admin templates? > Could this be fixed easily? Probably---TimJ probably knows the score ... > Does it have any other desired effect? > Is the desired effect actually desired? I would have thought it was a pretty good effect. > I don't know but I'm going to look at plan B first which was > to filter out the offending rows from the result set. I think > I'm already overriding/hacking most of the functions > concerned for many-to-many tables. > > Cheers, > > Jim > > Jim Wright wrote: > > > Hi William, > > > > William Chesters wrote: > > > >> > I want some rows of a table to be readable > >> > only by users with a capability. I think I can > >> > get this by adding a row: > >> > > Capability canread > >> > > and adding a non-null capability to such > >> > rows. > >> > [snip] > > >> Actually I don't think you will be prompted to log in. I think it > >> will display "[Access denied to williamc]", or some such message, in > >> place of the row in question. This is because at the top of > >> Selection.wm is a line > >> > >> #set $onVariableException = $melati.PassbackVariableExceptionHandler > >> > >> which causes exceptions (such as AccessPoemException) arising during > >> rendering to be handled by returning them to be rendered in place of > >> the offending expression. By default they are simply thrown, and > >> then AccessPoemException (by default) indeed prompts login. > >> > >> The message shown is configurable too, because it is generated from > >> org/melati/template/webmacro/templets/html/org.melati.poem.AccessPoemException.wm, > >> > >> as a consequence of Melati's generic mechanism for looking up > >> "templet" files based on an object's class name. > >> > >> Hope this helps, > >> > >> > > Yes that's very helpful (if it works ;-)). > > [snip] > > > > ------------------------------------------------------- > This SF.net email is sponsored by: ObjectStore. > If flattening out C++ or Java code to make your application fit in a > relational database is painful, don't do it! Check out ObjectStore. > Now part of Progress Software. http://www.objectstore.net/sourceforge > _______________________________________________ > Melati-users mailing list > Mel...@li... > https://lists.sourceforge.net/lists/listinfo/melati-users > |
From: Tim J. <ti...@ho...> - 2003-05-28 07:22:59
|
> > For the record it appears that the line in Selection.wm: > > > > #set $onVariableException = $melati.PassbackVariableExceptionHandler > > > > does not have the desired effect. > > Er ... I remember vaguely that this required a hack to webmacro, but > that we had actually got the functionality included in webmacro > proper? Perhaps it was under a different name, which broke the admin > templates? there is a test: http://localhost:8080/melati/org.melati.test.TemplateServletTest/ which demonstrates different VariableExceptionHandler behaviours, but i can't get it to run at present. i will try harder tonight cheers timj |
From: Jim W. <ji...@pa...> - 2003-05-29 00:24:35
|
Hi, Tim Joyce wrote: >> > For the record it appears that the line in Selection.wm: >> > >> > #set $onVariableException = $melati.PassbackVariableExceptionHandler >> > >> > does not have the desired effect. >> >>Er ... I remember vaguely that this required a hack to webmacro, but >>that we had actually got the functionality included in webmacro >>proper? Perhaps it was under a different name, which broke the admin >>templates? >> >> > >there is a test: > >http://localhost:8080/melati/org.melati.test.TemplateServletTest/ > >which demonstrates different VariableExceptionHandler behaviours, but i >can't get it to run at present. i will try harder tonight Thanks for those. The problem I had was that I could see no tie up in the code between the rendering of column values and exception handlers. In an hour or so of clarity this evening I came up with this for plan B. In the DSD I have: Capability.canselect instead of: Capability.canread This difference can be invisible to the user but what Table.appendWhereClause() does depends on the codename. (Obviously not much good if there are existing fields called canselect). Null values aside (whoops) it does this: WHERE blah, blah AND EXISTS( SELECT 1 FROM myTable, groupcapability, groupmembership WHERE groupmembership.user = theUserTroid AND groupmembership.group = groupcapability.group AND groupcapability. capability = myTable.canSelect); and this will not work for every type of dbms. Jim |
From: Tim P. <ti...@pa...> - 2003-06-04 02:26:33
|
On Wednesday 28 May 2003 7:22 am, Tim Joyce wrote: > > > For the record it appears that the line in Selection.wm: > > > > > > #set $onVariableException =3D $melati.PassbackVariableExceptionHan= dler > > > > > > does not have the desired effect. > > > > Er ... I remember vaguely that this required a hack to webmacro, but > > that we had actually got the functionality included in webmacro > > proper? Perhaps it was under a different name, which broke the admin > > templates? > > there is a test: > > http://localhost:8080/melati/org.melati.test.TemplateServletTest/ > > which demonstrates different VariableExceptionHandler behaviours, but i > can't get it to run at present. i will try harder tonight > Fixed now timp |
From: Jim W. <ji...@pa...> - 2003-06-01 18:07:14
|
Hi William, William Chesters wrote: > > Does it have any other desired effect? > > Is the desired effect actually desired? > >I would have thought it was a pretty good effect. > > I have thought some more about this. I think it is a safe option and probably the best in some cases. It means that you know there are rows that you cannot view so you can login as someone else i.e. non-guest or administrator. And the administrator can use this info to debug the config i.e. give you the capabilities you should have. On the other hand it is undesirable if the config is correct and the number of rows you can view is a small fraction of the total. So I don't think it is a generally applicable solution. If you know and accept that there are rows that you cannot view then it serves no purpose to be reminded of their existence. It just adds clutter. This will generally be the case once the system is running smoothly. Cheers, Jim |
From: Tim J. <ti...@ho...> - 2003-06-19 06:28:28
|
timp, > http://localhost:8080/melati/org.melati.test.TemplateServletTest/ > > which demonstrates different VariableExceptionHandler behaviours, but i > can't get it to run at present. i will try harder tonight > >Fixed now cool, and the point is that it demonstractes that VariableExceptionHandling works correctly. timj |
From: Jim W. <ji...@pa...> - 2003-06-19 21:22:03
|
Hi, Tim Joyce wrote: >cool, and the point is that it demonstractes that VariableExceptionHandling >works correctly. I'm no longer relying on this but I'd like to have it working locally. I've just done a cvs update and still get: org.melati.util.DatabaseInitException: Something went wrong trying to open the logical database `melatitest' using the config file `org.melati.LogicalDatabase.properties' org.melati.poem.StructuralModificationFailedPoemException: Structural modification of database failed Executing SQL ... ALTER TABLE "columninfo" ADD COLUMN "precision" INT NOT NULL An error was reported by the SQL driver: Column constraints are not acceptable: s0021 Column constraints are not acceptable in statement [ALTER TABLE "columninfo" ADD COLUMN "precision" INT NOT NULL] --- java.sql.SQLException: Column constraints are not acceptable: s0021 Column constraints are not acceptable in statement [ALTER TABLE "columninfo" ADD COLUMN "precision" INT NOT NULL] at org.hsqldb.Trace.getError(Unknown Source) I have done nothing except ant build. What do I have to do? I'll look harder later perhaps. Jim |
From: Jim W. <ji...@pa...> - 2003-06-20 13:54:55
|
Hi Tim Joyce wrote: >timp, > > > >>http://localhost:8080/melati/org.melati.test.TemplateServletTest/ >> >>which demonstrates different VariableExceptionHandler behaviours, but i >>can't get it to run at present. i will try harder tonight >> >>Fixed now >> >> > >cool, and the point is that it demonstractes that VariableExceptionHandling >works correctly. > > I finally got this working. Related message on devel list. We should get it working on www.melati.org. Presumably that will result from the next release. Cheers, Jim |
From: Tim P. <ti...@pa...> - 2003-06-20 18:26:24
|
On Friday 20 June 2003 11:32 am, Jim Wright wrote: > Hi > > Tim Joyce wrote: > >timp, > > > >>http://localhost:8080/melati/org.melati.test.TemplateServletTest/ > >> > >>which demonstrates different VariableExceptionHandler behaviours, but= i > >>can't get it to run at present. i will try harder tonight > >> > >>Fixed now > > > >cool, and the point is that it demonstractes that > > VariableExceptionHandling works correctly. > > I finally got this working. Related message on devel list. > > We should get it working on www.melati.org. Presumably > that will result from the next release. No, when I checked I found it was not working for the same reason=20 yours wasn't : the db needed dropping.=20 Done and can now be seen at: http://melati.org/melati/org.melati.test.TemplateServletTest cheers timp |
From: Tim P. <ti...@pa...> - 2003-06-19 23:40:40
|
On Thursday 19 June 2003 9:02 pm, Jim Wright wrote: > Hi, > > Tim Joyce wrote: > >cool, and the point is that it demonstractes that > > VariableExceptionHandling works correctly. > > I'm no longer relying on this but I'd like to have > it working locally. I've just done a cvs update > and still get: > > org.melati.util.DatabaseInitException: Something > went wrong trying to open the logical database > `melatitest' using the config file > `org.melati.LogicalDatabase.properties' > org.melati.poem.StructuralModificationFailedPoemException: > Structural modification of database failed > Executing SQL ... > ALTER TABLE "columninfo" ADD COLUMN "precision" > INT NOT NULL > An error was reported by the SQL driver: > Column constraints are not acceptable: s0021 > Column constraints are not acceptable in statement > [ALTER TABLE "columninfo" ADD COLUMN "precision" > INT NOT NULL] > --- > java.sql.SQLException: Column constraints are not > acceptable: s0021 Column constraints are not > acceptable in statement [ALTER TABLE "columninfo" > ADD COLUMN "precision" INT NOT NULL] > =09at org.hsqldb.Trace.getError(Unknown Source) > > I have done nothing except ant build. What do I have > to do? I'll look harder later perhaps. Drop your existing db,=20 ie delete build/melatitest.* Then the tables will be created rather than added. This is because we have recently added new=20 columns to columninfo to accomodate bigdecimal. =20 Hope that is it. cheers timp |
From: Jim W. <ji...@pa...> - 2003-06-20 11:18:20
|
Hi, Tim Pizey wrote: >On Thursday 19 June 2003 9:02 pm, Jim Wright wrote: > > >>I have done nothing except ant build. What do I have >>to do? I'll look harder later perhaps. >> >> >Drop your existing db, >ie delete build/melatitest.* >Then the tables will be created rather than added. > >This is because we have recently added new >columns to columninfo to accomodate bigdecimal. > >Hope that is it. It was a good clue and I now have a list of possible problems with the distribution which I'd like to run by you. I discovered that my local Melati site does not work. I did a cvs update -d only hours ago. I was getting: The file org.melati.MelatiServlet.properties could not be found. Is it in your CLASSPATH? README.html suggests that I might need to edit the example properties files but does not make it clear where to put them for the site build. Putting them in the same directory does not work. In: site/properties/org/melati there is only: org.melati.LogicalDatabase.properties and if I copy org.melati.MelatiServlet.properties there then it works. Is that what I am supposed to do? I think TemplateServlet Test requires properties for Exception and Redirect databases in org.melati.LogicalDatabase.properites. The example contacts database also needs upgrading due to bigdecimal changes I guess. There is some weirdness related to the properties files in build.xml. The target "sources" has two tasks a bit like this: <copy todir="${built.src}"> <fileset dir="${src}"> <patternset> <include name="**/*.properties.example"/> <exclude name="**/dist/**"/> </patternset> </fileset> </copy> except that the first has a different pattern set. In other words they could be combined unless one is supposed to have a nested <mapper> or something. Cheers, Jim |
From: Tim P. <ti...@pa...> - 2003-06-20 21:36:05
|
On Friday 20 June 2003 11:17 am, Jim Wright wrote: > Tim Pizey wrote: > >On Thursday 19 June 2003 9:02 pm, Jim Wright wrote: > >Drop your existing db, > >ie delete build/melatitest.* > >Then the tables will be created rather than added. > > > >This is because we have recently added new > >columns to columninfo to accomodate bigdecimal. > > > >Hope that is it. > > It was a good clue and I now have a list of > possible problems with the distribution which > I'd like to run by you. > > I discovered that my local Melati site does not > work. I did a cvs update -d only hours ago. > I was getting: before or after the update? > > The file org.melati.MelatiServlet.properties could not be found. Is it > in your CLASSPATH? > > README.html suggests that I might need to > edit the example properties files but does not make it > clear where to put them for the site build. Putting > them in the same directory does not work. > > In: > > site/properties/org/melati > > there is only: > > org.melati.LogicalDatabase.properties You certainly need both of them. What I can't understand is if you have figured out how to configure=20 Tomcat why you can't just add your details to=20 melati/build/web.xml=20 cd melati/build ant go > > and if I copy org.melati.MelatiServlet.properties > there then it works. Is that what I am supposed > to do? Yes,=20 melati/build/build.xml takes=20 org.melati.LogicalDatabase.properties.example org.melati.MelatiServlet.properties.example renames them to remove .example and places them into=20 org/melati anywhere on the classpath. > I think TemplateServlet Test requires properties > for Exception and Redirect databases in > org.melati.LogicalDatabase.properites. No, just melatitest I think you are a bit confused here. > The example contacts database also needs upgrading > due to bigdecimal changes I guess. It is populated from scratch, all that is needed is to delete the old one= =2E=20 > There is some weirdness related to the properties > files in build.xml. The target "sources" has two > tasks a bit like this: > > <copy todir=3D"${built.src}"> > <fileset dir=3D"${src}"> > <patternset> > <include name=3D"**/*.properties.example"/> > <exclude name=3D"**/dist/**"/> > </patternset> > </fileset> > </copy> > > except that the first has a different pattern set. > > In other words they could be combined unless one > is supposed to have a nested <mapper> or something. > I have reordered and commented, hope that helps. cheers timp > Cheers, > > Jim > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: INetU > Attention Web Developers & Consultants: Become An INetU Hosting Partner= =2E > Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission= ! > INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php > _______________________________________________ > Melati-users mailing list > Mel...@li... > https://lists.sourceforge.net/lists/listinfo/melati-users |
From: Jim W. <ji...@pa...> - 2003-06-22 12:59:41
|
Hi Tim, Tim Pizey wrote: >On Friday 20 June 2003 11:17 am, Jim Wright wrote: > > >>I discovered that my local Melati site does not >>work. I did a cvs update -d only hours ago. >>I was getting: >> >> > >before or after the update? > > I'm not as confused as you think ;-) >>The file org.melati.MelatiServlet.properties could not be found. Is it >>in your CLASSPATH? >> >>README.html suggests that I might need to >>edit the example properties files but does not make it >>clear where to put them for the site build. Putting >>them in the same directory does not work. >> >>In: >> >>site/properties/org/melati >> >>there is only: >> >>org.melati.LogicalDatabase.properties >> >> >You certainly need both of them. I'll put that in README.html next time I am there. >What I can't understand is if you have figured out how to configure >Tomcat why you can't just add your details to >melati/build/web.xml >cd melati/build >ant go I figured out Tomcat a long time ago but my understanding is that a webapp should be self contained making it unnecessary to configure additional classpaths elsewhere, if that is what you mean. My concern is that the docs make various out of the box and "simply do this" claims and we quickly lose credibility with potential new users/developers. So why are you asking me to hack web.xml? I think we should identify and fix the problem so that build does what it should. >>and if I copy org.melati.MelatiServlet.properties >>there then it works. Is that what I am supposed >>to do? >> >> >Yes, >melati/build/build.xml takes >org.melati.LogicalDatabase.properties.example >org.melati.MelatiServlet.properties.example >renames them to remove .example and places them into >org/melati anywhere on the classpath. This doesn't make sense. It places it "anywhere" on the classpath? In any case it doesn't do this or place org.melati.MelatiServlet.properties anywhere on the classpath, unless you manually put a copy somewhere as I presume we have all now done without documenting the need to do so. See below. >>I think TemplateServlet Test requires properties >>for Exception and Redirect databases in >>org.melati.LogicalDatabase.properites. >> >> >No, just melatitest >I think you are a bit confused here. > I'm interpreting these two lines from the respective exceptions: Property `org.melati.LogicalDatabase.Exception.url' not found Property `org.melati.LogicalDatabase.Redirect.url' not found >>There is some weirdness related to the properties >>files in build.xml. The target "sources" has two >>tasks a bit like this: >> >> <copy todir="${built.src}"> >> <fileset dir="${src}"> >> <patternset> >> <include name="**/*.properties.example"/> >> <exclude name="**/dist/**"/> >> </patternset> >> </fileset> >> </copy> >> >>except that the first has a different pattern set. >> >> >I have reordered and commented, hope that helps. You have added a comment saying that the above is to "Copy and rename the properties files". How does it rename the files? I don't believe it! To rename the files you need a nested <mapper> element as I suggested, or you need individual copies that specify the destination file names. OK, it was a Friday. Cheers, Jim |
From: Tim P. <ti...@pa...> - 2003-06-23 00:20:01
|
On Saturday 21 June 2003 10:52 pm, Jim Wright wrote: [snip various missunderstandings] > OK, it was a Friday. Yup, sorry, as TimJ has a broken CVS setup=20 and I knew it was working recently,=20 and didn't understand what problem you were reporting=20 I didn't spot that TimJ had broken it the day before.=20 In fact I have now updated and re-run and discover that nothing=20 works at all locally. TimJ,=20 please fix your CVS such that it notifies the list. Your change refers to 'use correct WEB-INF and properties in build',=20 why is your change an improvement? What was wrong with the way we had it? I have committed the=20 /inst/melati/src/org/melati/org.melati.MelatiServlet.properties=20 to site/properties so that we have both there.=20 (and then added poemtest to the org.melati.LogicalDatabase.properties=20 you put in site/properties). I have rerun maven,=20 I will setup a nightly which checks if a commit has been made=20 and reruns maven if so.=20 The change report shows what you did,=20 http://maven.melati.org/changelog-report.html I think this was largely caused by me re-exporting the test.dsd,=20 http://melati.org/cgi-bin/cvsweb.cgi/melati/src/org/melati/poem/test/Test= =2Edsd.diff?r1=3D1.1&r2=3D1.2 which 'normalised' the table naming, not sure whether=20 this is good or bad.=20 I appologise if I committed something which didn't compile. I have ant go working again now locally.,=20 also melati.org working cheers timp |
From: Tim P. <ti...@pa...> - 2003-06-23 00:39:00
|
On Monday 23 June 2003 1:18 am, Tim Pizey wrote: > TimJ, > please fix your CVS such that it notifies the list. I have just made a commit and it hasn't shown up=20 on the CVS list. I have checked on sourceforge and the list is open,=20 anyone can post to it, so I can't see why your commits a ren't being sent.=20 cheers timp |
From: Tim P. <ti...@pa...> - 2003-06-23 00:44:56
|
On Monday 23 June 2003 1:37 am, Tim Pizey wrote: > On Monday 23 June 2003 1:18 am, Tim Pizey wrote: > > TimJ, > > please fix your CVS such that it notifies the list. > > I have just made a commit and it hasn't shown up > on the CVS list. > > I have checked on sourceforge and the list is open, > anyone can post to it, so I can't see why your commits a > ren't being sent. Um, yes I can, I have fixed loginfo, should work now for=20 you and me. I had a ^org/melati pattern, changed to ^melati timp |
From: Tim J. <ti...@ho...> - 2003-06-24 22:05:48
|
> Your change refers to 'use correct WEB-INF and properties in build', > why is your change an improvement? > What was wrong with the way we had it? 1) there was no org.melati.LogicalDatabase.properties in CVS which is a file that is required for the melati site to run 2) in order for jetty to work, the web.xml file needs to live in the WEB-INF/ directory relative to the root of the web site. It was in /build which didn't make much sense. these changes allow the melati site to run without building a war. > I have committed the /inst/melati/src/org/melati/org.melati.MelatiServlet.properties to site/properties so that we have both there. cool. i had thought i had committed this, but clearly not. this omission is probably the cause of the site failing to run for you and jim. sorry. > (and then added poemtest to the org.melati.LogicalDatabase.properties you put in site/properties). ok, this wasn't in org.melati.LogicalDatabase.properties.example which is what i took it from. > I have rerun maven, > I will setup a nightly which checks if a commit has been made and reruns maven if so. fantastic, will you use http://cruisecontrol.sourceforge.net/ for this? cheers timj |