[tyndale-devel] Trying out the desktop application
David Instone-Brewer
davidinstonebrewer at gmail.com
Wed Nov 21 01:21:48 MST 2012
I'm off to work now - sorry
David Ib
At 08:20 21/11/2012, David Instone-Brewer wrote:
>the latest bit is:
>
>a:524)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl
>er.java:231)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
>er.java:1067)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>377)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle
>r.java:192)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
>r.java:1001)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
>ava:129)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper
>.java:111)
> at org.eclipse.jetty.server.Server.handle(Server.java:360)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(Abstrac
>tHttpConnection.java:454)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(Abstra
>ctHttpConnection.java:890)
> at
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.header
>Complete(AbstractHttpConnection.java:944)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
> at
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
>
> at
> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnecti
>on.java:77)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEn
>dPoint.java:622)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEnd
>Point.java:46)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo
>l.java:603)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool
>.java:538)
> at java.lang.Thread.run(Unknown Source)
>Caused by: java.lang.NullPointerException
> at
> com.tyndalehouse.step.core.service.impl.UserServiceImpl.createUser(Us
>erServiceImpl.java:118)
> at
> com.tyndalehouse.step.core.service.impl.UserServiceImpl.checkUserIden
>tity(UserServiceImpl.java:79)
> at
> com.tyndalehouse.step.rest.controllers.UserController.checkValidUser(
>UserController.java:80)
> ... 41 more
>2012-11-21 08:07:51,281 ERROR - Unable to open writer
>java.io.FileNotFoundException: d:\temp\users.txt (The system cannot
>find the pat
>h specified)
> at java.io.FileOutputStream.openAppend(Native Method)
> at java.io.FileOutputStream.<init>(Unknown Source)
> at java.io.FileWriter.<init>(Unknown Source)
> at
> com.tyndalehouse.step.core.service.impl.UserServiceImpl.ensureFileIsO
>penForWrite(UserServiceImpl.java:137)
> at
> com.tyndalehouse.step.core.service.impl.UserServiceImpl.createUser(Us
>erServiceImpl.java:116)
> at
> com.tyndalehouse.step.core.service.impl.UserServiceImpl.checkUserIden
>tity(UserServiceImpl.java:79)
> at
> com.tyndalehouse.step.rest.controllers.UserController.checkValidUser(
>UserController.java:80)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at
> com.tyndalehouse.step.rest.framework.FrontController.invokeMethod(Fro
>ntController.java:146)
> at
> com.tyndalehouse.step.rest.framework.FrontController.doGet(FrontContr
>oller.java:113)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
> at
> com.google.inject.servlet.ServletDefinition.doService(ServletDefiniti
>on.java:263)
> at
> com.google.inject.servlet.ServletDefinition.service(ServletDefinition
>.java:178)
> at
> com.google.inject.servlet.ManagedServletPipeline.service(ManagedServl
>etPipeline.java:91)
> at
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainI
>nvocation.java:62)
> at
> com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.
>java:168)
> at
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainI
>nvocation.java:58)
> at
> com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.
>java:168)
> at
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainI
>nvocation.java:58)
> at
> com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilte
>rPipeline.java:118)
> at
> com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>Handler.java:1302)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java
>:448)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
>ava:131)
> at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.jav
>a:524)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl
>er.java:231)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
>er.java:1067)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>377)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle
>r.java:192)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
>r.java:1001)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
>ava:129)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper
>.java:111)
> at org.eclipse.jetty.server.Server.handle(Server.java:360)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(Abstrac
>tHttpConnection.java:454)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(Abstra
>ctHttpConnection.java:890)
> at
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.header
>Complete(AbstractHttpConnection.java:944)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
> at
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
>
> at
> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnecti
>on.java:77)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEn
>dPoint.java:622)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEnd
>Point.java:46)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo
>l.java:603)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool
>.java:538)
> at java.lang.Thread.run(Unknown Source)
>2012-11-21 08:07:51,281 ERROR -
>java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at
> com.tyndalehouse.step.rest.framework.FrontController.invokeMethod(Fro
>ntController.java:146)
> at
> com.tyndalehouse.step.rest.framework.FrontController.doGet(FrontContr
>oller.java:113)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
> at
> com.google.inject.servlet.ServletDefinition.doService(ServletDefiniti
>on.java:263)
> at
> com.google.inject.servlet.ServletDefinition.service(ServletDefinition
>.java:178)
> at
> com.google.inject.servlet.ManagedServletPipeline.service(ManagedServl
>etPipeline.java:91)
> at
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainI
>nvocation.java:62)
> at
> com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.
>java:168)
> at
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainI
>nvocation.java:58)
> at
> com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.
>java:168)
> at
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainI
>nvocation.java:58)
> at
> com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilte
>rPipeline.java:118)
> at
> com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>Handler.java:1302)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java
>:448)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
>ava:131)
> at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.jav
>a:524)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl
>er.java:231)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
>er.java:1067)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>377)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle
>r.java:192)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
>r.java:1001)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
>ava:129)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper
>.java:111)
> at org.eclipse.jetty.server.Server.handle(Server.java:360)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(Abstrac
>tHttpConnection.java:454)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(Abstra
>ctHttpConnection.java:890)
> at
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.header
>Complete(AbstractHttpConnection.java:944)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
> at
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
>
> at
> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnecti
>on.java:77)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEn
>dPoint.java:622)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEnd
>Point.java:46)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo
>l.java:603)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool
>.java:538)
> at java.lang.Thread.run(Unknown Source)
>Caused by: java.lang.NullPointerException
> at
> com.tyndalehouse.step.core.service.impl.UserServiceImpl.createUser(Us
>erServiceImpl.java:118)
> at
> com.tyndalehouse.step.core.service.impl.UserServiceImpl.checkUserIden
>tity(UserServiceImpl.java:79)
> at
> com.tyndalehouse.step.rest.controllers.UserController.checkValidUser(
>UserController.java:80)
> ... 41 more
>2012-11-21 08:10:46,812 INFO - Returning all modules currently not installed
>2012-11-21 08:13:34,718 DEBUG - Installing module [Vulgate]
>2012-11-21 08:13:34,718 DEBUG - Book was not already installed, so
>kicking off
>installation process for [Vulgate]
>2012-11-21 08:13:39,359 WARN - Error deleting index. Attempting to
>rebuild ind
>ex all the same
>org.crosswire.jsword.book.BookException: Failed to delete search index.
> at
> org.crosswire.jsword.index.lucene.LuceneIndexManager.deleteIndex(Luce
>neIndexManager.java:177)
> at
> com.tyndalehouse.step.core.service.jsword.impl.JSwordModuleServiceImp
>l.reIndex(JSwordModuleServiceImpl.java:132)
> at
> com.tyndalehouse.step.core.service.impl.BibleInformationServiceImpl.r
>eIndex(BibleInformationServiceImpl.java:411)
> at
> com.tyndalehouse.step.rest.controllers.SetupController.reIndex(SetupC
>ontroller.java:186)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at
> com.tyndalehouse.step.rest.framework.FrontController.invokeMethod(Fro
>ntController.java:146)
> at
> com.tyndalehouse.step.rest.framework.FrontController.doGet(FrontContr
>oller.java:113)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
> at
> com.google.inject.servlet.ServletDefinition.doService(ServletDefiniti
>on.java:263)
> at
> com.google.inject.servlet.ServletDefinition.service(ServletDefinition
>.java:178)
> at
> com.google.inject.servlet.ManagedServletPipeline.service(ManagedServl
>etPipeline.java:91)
> at
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainI
>nvocation.java:62)
> at
> com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.
>java:168)
> at
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainI
>nvocation.java:58)
> at
> com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.
>java:168)
> at
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainI
>nvocation.java:58)
> at
> com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilte
>rPipeline.java:118)
> at
> com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>Handler.java:1302)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java
>:448)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
>ava:131)
> at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.jav
>a:524)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl
>er.java:231)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
>er.java:1067)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>377)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle
>r.java:192)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
>r.java:1001)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
>ava:129)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper
>.java:111)
> at org.eclipse.jetty.server.Server.handle(Server.java:360)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(Abstrac
>tHttpConnection.java:454)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(Abstra
>ctHttpConnection.java:890)
> at
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.header
>Complete(AbstractHttpConnection.java:944)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
> at
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
>
> at
> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnecti
>on.java:77)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEn
>dPoint.java:622)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEnd
>Point.java:46)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo
>l.java:603)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool
>.java:538)
> at java.lang.Thread.run(Unknown Source)
>
>
>
>At 08:10 21/11/2012, Chris Burrell wrote:
>
>>can you give me the console output again. it won't be because it
>>can't communicate to server because the server bit would be running locally.
>>
>>Chris
>>On 21 Nov 2012 08:07, "David Instone-Brewer"
>><<mailto:davidinstonebrewer at gmail.com>davidinstonebrewer at gmail.com> wrote:
>>Yep, the Internal Error relates to registration.
>>I guess that's to be expected - it can't communicate with the
>>server to accept the registration.
>>Take that off, and I think we might be working fine.
>>Well done!
>>David IB
>>
>>At 00:29 21/11/2012, David Instone-Brewer wrote:
>>>OK my silly mistake.
>>>I hadn't got rid of JSword before installing.
>>>
>>>Now it progressed further:
>>>WARNING: Not a valid Strong's Number "H00"
>>>21-Nov-2012 00:07:14
>>>org.crosswire.jsword.index.lucene.analysis.StrongsNumberFil
>>>ter incrementToken
>>>WARNING: Not a valid Strong's Number "H00"
>>>2012-11-21 00:07:44,453 DEBUG - Loading initial data
>>>2012-11-21 00:07:44,453 DEBUG - Indexing nave subjects
>>>2012-11-21 00:07:48,968 INFO - Loaded [23323] entries with [0] errors
>>>2012-11-21 00:07:48,968 DEBUG - Writing Nave index
>>>2012-11-21 00:07:49,828 DEBUG - End Nave
>>>2012-11-21 00:07:49,828 DEBUG - Indexing lexicon
>>>2012-11-21 00:07:49,828 DEBUG - -Indexing greek
>>>2012-11-21 00:08:18,390 INFO - Loaded [37566] entries with [0] errors
>>>2012-11-21 00:08:18,390 DEBUG - -Indexing hebrew
>>>2012-11-21 00:08:26,531 INFO - Loaded [8674] entries with [0] errors
>>>2012-11-21 00:08:26,531 DEBUG - -Writing index
>>>2012-11-21 00:08:30,828 DEBUG - End lexicon
>>>2012-11-21 00:08:30,828 DEBUG - Loading lexical forms
>>>2012-11-21 00:09:23,750 INFO - Finished loading [201576] specific forms
>>>2012-11-21 00:09:30,031 DEBUG - Loading robinson morphology
>>>2012-11-21 00:09:31,156 DEBUG - End of morphology
>>>2012-11-21 00:09:31,156 DEBUG - Loading version information
>>>2012-11-21 00:09:31,500 INFO - Finished loading...
>>>2012-11-21 00:09:37,562 INFO - Getting bible versions
>>>
>>>It stopped some time on this last bit, and then I realised I
>>>should be watching the browser.
>>>Yey - everything installed and worked fine!
>>>Ah - untill I came to register
>>>I *think* the "internal error" message appeared when I clicked on
>>>"Resgister".
>>>I'll have another go tomorrow. Enid is pulling the bed-cover over
>>>her head beside me.
>>>e
>>>David IB
>>>====================
>>>Don't suppose this helps but:
>>>- came back tonight to find the command box hadn't changed.
>>>Did ^C and got:
>>>20-Nov-2012 08:06:20
>>>org.crosswire.jsword.index.lucene.analysis.StrongsNumberFil
>>>ter incrementToken
>>>WARNING: Not a valid Strong's Number "H00"
>>>2012-11-20 18:26:22,828 WARN - Index not readable - it may not
>>>yet have been created.
>>>2012-11-20 18:26:22,843 WARN - Index not readable - it may not
>>>yet have been created.
>>>2012-11-20 18:26:22,859 WARN - Index not readable - it may not
>>>yet have been created.
>>>2012-11-20 18:26:22,859 WARN - Index not readable - it may not
>>>yet have been created.
>>>2012-11-20 18:26:22,875 WARN - Index not readable - it may not
>>>yet have been created.
>>>2012-11-20 18:26:22,875 WARN - Index not readable - it may not
>>>yet have been created.
>>>2012-11-20 18:26:22,906 INFO - javax.el.BeanELResolver purged
>>>2012-11-20 18:26:22,906 INFO - stopped
>>>o.e.j.w.WebAppContext{/step-web,file:/C
>>>:/download/step/step-web/},file:/C:/download/step/step-web/
>>>2012-11-20 18:26:23,000 INFO - shutdown already commenced
>>>Terminate batch job (Y/N)?
>>>David IB
>>>====================
>>>At 08:12 20/11/2012, David Instone-Brewer wrote:
>>>>Great!
>>>>Tried it on a netbook (HP10) with WinXP
>>>>Opened ZIP, double-clicked on "runSTEP.bat", clicked on message
>>>>"Extract all" etc
>>>>Double-clicked on runSTEP
>>>>Ran installation, ending with a long stream of messages:
>>>>20-Nov-2012 08:06:20
>>>>org.crosswire.jsword.index.lucene.analysis.StrongsNumberFil
>>>>ter incrementToken
>>>>WARNING: Not a valid Strong's Number "H00"
>>>>WIndows security alert: WIndows Firewall blocked Java Platform Binary
>>>>- clicked on Unblock
>>>>The Command window remained showing the lucene warning for some minutes
>>>>DIdn't finish - got to go to work. Try there (though I won't be
>>>>able to get to it till about 12 - sorry )
>>>>David IB
>>>>At 23:00 19/11/2012, Chris Burrell wrote:
>>>>>Hi
>>>>>I've uploaded a new version of the desktop application, which
>>>>>now includes an installer/setup page. Hopefully this work. Would
>>>>>be keen to get feedback.
>>>>>The one requirement at the moment is that you already have Java
>>>>>installed and on the PATH environment variable.
>>>>>The link is:
>>>>><http://step.tyndalehouse.com/step.zip>http://step.tyndalehouse.com/step.zip
>>>>>Please can you try it and let me know. The first time you run
>>>>>it, it should take you to a configuration page to install various modules...
>>>>>Chris
>>>>>_______________________________________________
>>>>>tyndale-devel mailing list
>>>>><mailto:tyndale-devel at crosswire.org>tyndale-devel at crosswire.org
>>>>>http://www.crosswire.org/mailman/listinfo/tyndale-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/tyndale-devel/attachments/20121121/f83a5f65/attachment-0001.html>
More information about the tyndale-devel
mailing list