Greg
unread,Apr 11, 2008, 12:34:32 PM4/11/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to webical-developers
Sure thing, here goes:
The HowToInstallWebical was informative and easy enough to complete.
Granted I'm just using default settings for now, I plan to try LDAP
authentication shortly.
But right before the document gets to "Troubleshooting", I felt there
was a whole section missing. So we've got it installed, we can get to
the configuration page, but what do we do at this point? Really the
only resource, as far as this goes, is the configuration page itself
with the form item names.
I'm not that familiar with java, so I was thrown off by the default
plugin work directory {java.io.tmpdir} ... I wasn't sure if the
directory paths needed were relative or specific to the tomcat server
or what. After some playing around, here's what I was able to figure
out for Mac OS X Server 10.5 (not sure if you want to save these for a
sample configuration document or something).
The plugin work path should be /Library/Tomcat/work ... it's a
preexisting folder that's writable by user/group
_appserver:_appserveradm
For the plugin path, I created a "plugin" folder in /Library/Tomcat/
webapps/webical (this was where tomcat unpacked the installation) ...
I changed ownership of the new folder to _appserver:_appserverusr
Now the confusing part for me that took some trial and error and re-
reading the instructions was that the CalDav plugin should remain
zipped up when I place it in the plugin folder. I was thinking it
needed to be unzipped, so it wasn't loading.
I still don't really know what resource paths are for, so I've left it
blank, and it has appeared to work okay.
....
With those settings I was able to get webical to successfully
initialize and take me to the calendars view. I had some difficulty
getting CalDav calendars to add, due to authentication issues with the
iCal Server on Leopard. The GUI Server Admin tool on Leopard shows
"digest", "kerberos", or "any" as it's authentication options. I had
it set to "any", but I think it really means to say "either" of the
two, not any method as the "basic" authentication that the webical/
caldav plugin was using continued to fail against it. In a stroke of
mental gymnastics, I opted to try the command line server
administration tool, and lo-and-behold there is a basic authentication
method that's not viewable in the GUI, and it's disabled by default.
The following turns it on (as root):
serveradmin settings calendar:Authentication:Basic:Enabled = yes
At this point, webical/caldav successfully added two caldav calendars
from my iCal Server.
I could see existing events, and edit existing events (changing dates/
times, names, descriptions, locations, etc). These changes were
properly reflected in the iCal desktop application, once I "refreshed"
the shared calendars.
However, adding new events in webical to these caldev calendars did
nothing at all. There were no error messages from webical once I
submitted the new events, yet even in webical, these new events did
not show up in it's calendar view.
I intended to further investigate this issue today, but it appears
another problem has appeared that's preventing me from going much
further.
The webical application fails to load in tomcat now. I've taken a
snapshot of the webical.log file and it goes as follows:
2008-04-11 11:30:26,280 INFO LocalSessionFactoryBean - Building new
Hibernate SessionFactory
2008-04-11 11:30:26,532 INFO DefaultSingletonBeanRegistry -
Destroying singletons in
{org.springframework.beans.factory.support.DefaultListableBeanFactory
defining beans
[wicketApplication,pluginSystemInitializer,pluginManifestReader,pluginCleanupApplicationListener,dataSource,sessionFactory,transactionManager,applicationSettingsManager,calendarManager,userManager,eventManager,encryptionManager,settingsManager,applicationSettingsDao,calendarDao,userDao,eventDaoWebDavHibernateBufferedImpl,settingsDao,daoFactory,applicationSettingsFactory,hibernateSessionAspect,sessionFactoryUtils];
root of BeanFactory hierarchy}
2008-04-11 11:30:26,535 ERROR ContextLoader - Context initialization
failed
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'sessionFactory' defined in ServletContext
resource [/WEB-INF/applicationContext-release.xml]: Invocation of init
method failed; nested exception is org.hibernate.cache.CacheException:
net.sf.ehcache.CacheException: Cannot configure CacheManager: /Library/
Tomcat/work/Catalina/localhost/webical/loader/ehcache-failsafe.xml (No
such file or directory)
Caused by:
org.hibernate.cache.CacheException: net.sf.ehcache.CacheException:
Cannot configure CacheManager: /Library/Tomcat/work/Catalina/localhost/
webical/loader/ehcache-failsafe.xml (No such file or directory)
at org.hibernate.cache.EhCacheProvider.start(EhCacheProvider.java:
134)
at
org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:
173)
at
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:
1176)
at
org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:
807)
at
org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:
740)
at
org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:
131)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:
1062)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:
1029)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:
420)
at org.springframework.beans.factory.support.AbstractBeanFactory
$1.getObject(AbstractBeanFactory.java:245)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:
141)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:
242)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:
156)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:
287)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:
348)
at
org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:
156)
at
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:
246)
at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:
184)
at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:
49)
at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:
3830)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:
4337)
at
org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:
1237)
at
org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:
591)
at
org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:
128)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
175)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:
525)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
263)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
844)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
447)
at java.lang.Thread.run(Thread.java:613)
Caused by: net.sf.ehcache.CacheException: Cannot configure
CacheManager: /Library/Tomcat/work/Catalina/localhost/webical/loader/
ehcache-failsafe.xml (No such file or directory)
at net.sf.ehcache.CacheManager.configure(CacheManager.java:170)
at net.sf.ehcache.CacheManager.<init>(CacheManager.java:138)
at net.sf.ehcache.CacheManager.create(CacheManager.java:193)
at org.hibernate.cache.EhCacheProvider.start(EhCacheProvider.java:
130)
... 38 more
Looks like it's looking for a file called /Library/Tomcat/work/
Catalina/localhost/webical/loader/ehcache-failsafe.xml ... My
understanding is that this work directory is wiped clean periodically
(when restarting Tomcat), so shouldn't Tomcat be recreating this
stuff?