Return to Jive Software

2,249 Views 8 Replies Last post: Sep 10, 2008 5:12 PM by Robert Dell'Immagine RSS
brennant Novice 121 posts since
Sep 12, 2005
Currently Being Moderated

Sep 5, 2008 4:25 AM

Some documents/revisions list author as "Guest"

Hello - I'm quoting this problem for a colleague (we're on CS 1.10.1):

 

Thanks in advance for your help.

Ben

 

 

We've noticed that some of our Clearspace documents are showing up with an author of 'Guest'. This is not something we'd expect to see as our documents were created and updated by non-Guest users. Digging into the Clearspace DB we can see that all of the affected documents have a userID with value '-1' in the files jiveDocVersion and jiveDocument.

 

We suspect this is a bug. Do you know what might have caused this, and could you advise us with a data fix?

 

We also think that this might be causing a particular user to get an error whenever they try and view their own profile. All other users can view that person's profile but for some strange reason they can't view their own when logged in. The user receives the following error message:

 

 

Status Code: 500

Exception Type:

Error Message:

Request URI: /clearspace/people/marting/

 

Stack Trace:

 

freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)

freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134)

freemarker.core.Dot._getAsTemplateModel(Dot.java:78)

freemarker.core.Expression.getAsTemplateModel(Expression.java:89)

freemarker.core.ComparisonExpression.isTrue(ComparisonExpression.java:111)

freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:77)

freemarker.core.Environment.visit(Environment.java:196)

freemarker.core.MixedContent.accept(MixedContent.java:92)

freemarker.core.Environment.visit(Environment.java:196)

freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)

freemarker.core.Environment.visit(Environment.java:351)

freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)

freemarker.core.Environment.visit(Environment.java:196)

freemarker.core.MixedContent.accept(MixedContent.java:92)

freemarker.core.Environment.visit(Environment.java:196)

freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)

freemarker.core.Environment.visit(Environment.java:196)

freemarker.core.MixedContent.accept(MixedContent.java:92)

freemarker.core.Environment.visit(Environment.java:196)

freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)

freemarker.core.Environment.visit(Environment.java:196)

freemarker.core.MixedContent.accept(MixedContent.java:92)

freemarker.core.Environment.visit(Environment.java:196)

freemarker.core.IfBlock.accept(IfBlock.java:82)

freemarker.core.Environment.visit(Environment.java:196)

freemarker.core.MixedContent.accept(MixedContent.java:92)

freemarker.core.Environment.visit(Environment.java:196)

freemarker.core.IfBlock.accept(IfBlock.java:82)

freemarker.core.Environment.visit(Environment.java:196)

freemarker.core.MixedContent.accept(MixedContent.java:92)

freemarker.core.Environment.visit(Environment.java:196)

freemarker.core.Environment.process(Environment.java:176)

freemarker.template.Template.process(Template.java:232)

com.opensymphony.webwork.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:153)

com.jivesoftware.community.web.webwork.FreemarkerResult.doExecute(FreemarkerResult.java:134)

com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:143)

com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:313)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:208)

com.jivesoftware.community.web.webwork.JiveSecurityInterceptor.intercept(JiveSecurityInterceptor.java:32)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.jivesoftware.community.web.webwork.FlashInterceptor.intercept(FlashInterceptor.java:40)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175)

com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)

com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.jivesoftware.community.web.webwork.JiveObjectLoaderInterceptor.intercept(JiveObjectLoaderInterceptor.java:55)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:171)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.jivesoftware.community.web.webwork.JiveIOCInterceptor.intercept(JiveIOCInterceptor.java:719)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.jivesoftware.community.action.LocaleInterceptor.intercept(LocaleInterceptor.java:71)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.jivesoftware.community.web.webwork.AuthInterceptor.intercept(AuthInterceptor.java:91)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.jivesoftware.community.web.webwork.JiveLoginInterceptor.intercept(JiveLoginInterceptor.java:42)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.jivesoftware.community.web.webwork.ModuleCheckInterceptor.intercept(ModuleCheckInterceptor.java:49)

com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)

com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:225)

com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202)

com.jivesoftware.community.web.webwork.JiveFilterDispatcher.doFilter(JiveFilterDispatcher.java:53)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)

com.jivesoftware.community.web.filter.JiveCacheFilter.doFilter(JiveCacheFilter.java:191)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)

com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)

com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)

com.jivesoftware.community.web.JiveActionContextCleanUp.doFilter(JiveActionContextCleanUp.java:46)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)

com.jivesoftware.community.web.filter.PresenceFilter.doFilter(PresenceFilter.java:106)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)

com.jivesoftware.community.web.filter.JiveCompressionFilter.doFilter(JiveCompressionFilter.java:111)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)

org.directwebremoting.servlet.DwrWebContextFilter.doFilter(DwrWebContextFilter.java:91)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)

com.jivesoftware.community.web.filter.MaintenanceFilter.doFilter(MaintenanceFilter.java:81)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)

com.jivesoftware.community.upgrade.UpgradeFilter.doFilter(UpgradeFilter.java:43)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)

com.jivesoftware.base.plugin.PluginFilter.doFilter(PluginFilter.java:77)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)

com.jivesoftware.base.database.dao.DAOContextCleanUpFilter.doFilter(DAOContextCleanUpFilter.java:32)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)

org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)

org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)

org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)

org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)

java.lang.Thread.run(Thread.java:619)

 

freemarker.core.InvalidReferenceException: Expression document.versionManager.newestDocumentVersion.author is undefined on line 145, column 54 in template/global/view-profile.ftl.

 

 

 

The key part seems to be "freemarker.core.InvalidReferenceException: Expression document.versionManager.newestDocumentVersion.author is undefined on line 145, column 54 in template/global/view-profile.ftl.".

 

Other notes:

 

- the user with the profile problem is an active member

- documents appearing with ‘Guest’ as author shouldn't be possible, since we have permissions set so you can only post documents if you are logged in

Tags: guest, author
scott.hirdes Jive Employee 3,311 posts since
Oct 9, 2007
Currently Being Moderated
Sep 5, 2008 10:40 AM in response to: brennant
Re: Some documents/revisions list author as "Guest"

Has this instance undergone an upgrade that crossed several versions?

 

There is a known issue where during an upgrade that takes a significant amount of time and is from a pre 1.7 release, document authors can be set to guest due to a task that is looking for authors that have been deleted or disabled.


In this scenario, the true original author of the document is still preserved on the first version of the document.

 

Can you run this query against the database and attach the results to verify if this is the case:

SELECT v.userID, d.userID FROM jiveDocument d, jiveDocVersion v
WHERE d.userID = -1
AND v.internalDocID = d.internalDocID
AND v.versionID = 1;
ramseyn Novice 46 posts since
Sep 8, 2008
Currently Being Moderated
Sep 8, 2008 3:58 AM in response to: scott.hirdes
Re: Some documents/revisions list author as "Guest"

Hi Scott,

 

Our current live instance is an upgrade itself, which happened 6 months ago. Upon further inspection it seems that all of the problem documents have creation and modification dates which are several years in the past, which suggests that they weren't originally created in Clearspace but rather were imported into Clearspace as part of our migration from an older collaboration tool.

 

I ran the SQL and got this as the output (repeated 76 times):

 

-1    -1

 

Since the left column is the current document's author (expect all to be -1) and the right column is the author of the first version of that document, it looks like we've lost the original authors.

 

Unless you can provide a better suggestion what we are going to do is run SQL to replace guest (user ID -1) with the admin user (user ID 1) as the author of the affected documents. We will then keep an eye on the DB to see if any new documents are affected by this problem, if so then we will know that it is a problem unrelated to upgrades and migrations and we will need your help in investigating it further.

 

Any thoughts on how to fix the user profile issue?

 

Thanks for your assistance

scott.hirdes Jive Employee 3,311 posts since
Oct 9, 2007
Currently Being Moderated
Sep 8, 2008 8:52 AM in response to: ramseyn
Re: Some documents/revisions list author as "Guest"

I think your proposal of changing the userid on these "Guest" documents to a valid user in the database is indeed your best solution here.  Since the userid on the version table is also guest, this is not the same issue that I had thought it was before.

 

Do these documents have multiple versions?  If so, then you'll want to make sure you change the userid on each version record for the document.

 

Also, it probably goes without saying but the Clearspace instance should be stopped while this update is occuring.

 

The profile issue you mentioned is definitely a result of this issue and it is quite probable that other issues are a result of the "Guest" documents as well.

 

Can you perform the update and see if any issues continue?

Robert Dell'Immagine Novice 190 posts since
Apr 27, 2007
Currently Being Moderated
Sep 10, 2008 12:58 PM in response to: brennant
Re: Some documents/revisions list author as "Guest"

I am having the same problem on a ClearspaceX 1.3.  We upgraded a year ago from Forums 4 to Clearspace 1.3.

 

I have zero documents that have been authored by guests, but 43 have been edited by guest. This is out of ~3300 document versions on ~1750 documents. In every case, the document edited by guest is the second version (i.e. the first time it was updated).  This occurs on both older (including pre-migration) and current documents (including documents as recent as 1 month old).

 

Here's a snipped from the database:

 

internaldocid versionid state userid creationdate modificationdate language title

6280    2    archived    -1    1216046876928    1216047683809    en    Script: Create Disaster Recovery Hard Drive,
6480    2    archived    -1    1216837071934    1216837272117    en    Tell Us What Virtualization Made Possible for You!
6771    2    incomplete    -1    1217950105548    1217950366615    en    WELCOME TO PHOENIX VMUG!!
6772    2    archived    -1    1217950421380    1217950434455    en    WELCOME TO PHOENIX VMUG!!
6860    2    published    -1    1218107208128    1218107520101    en    Unable to compile vmmon under Fedora 9 x64
6880    2    incomplete    -1    1218129980892    1218130170020    en    Please join us for the Installation and Configuration Open Beta Forum!
6881    2    archived    -1    1218130266285    1218130385300    en    Please join us for the Installation and Configuration Open Beta Forum!
7160    2    published    -1    1219200887083    1219201300378    en    Install Problm (compile error)
7451    2    incomplete    -1    1220044085487    1220044864181    en    Test
7452    2    archived    -1    1220046939351    1220046939532    en    VMware Fusion 2.0 Release Candidate now available...
7535    2    archived    -1    1220564486822    1220567049135    en    Compute hashed password for use with RemoteDisplay.vnc.key

 

 

This leads me to wonder if there's a bug in the update document function that occasionally barfs on the userid and inserts -1?  Just a guess.  Would be interested in the expert analysis from Jive.

 

Thanks, Robert

Robert Dell'Immagine Novice 190 posts since
Apr 27, 2007
Currently Being Moderated
Sep 10, 2008 1:01 PM in response to: Robert Dell'Immagine
Re: Some documents/revisions list author as "Guest"

Here's an example from the site:   http://communities.vmware.com/docs/DOC-7160

scott.hirdes Jive Employee 3,311 posts since
Oct 9, 2007
Currently Being Moderated
Sep 10, 2008 4:50 PM in response to: Robert Dell'Immagine
Re: Some documents/revisions list author as "Guest"

There is a known issue with earlier versions of Clearspace where this issue of a second version being created with a user id of guest could occur.

 

One way where this could occur was if the document was created and had a link to another document in the application.

 

The issue has been resolved as of Clearspace 1.10.2.

Robert Dell'Immagine Novice 190 posts since
Apr 27, 2007
Currently Being Moderated
Sep 10, 2008 5:12 PM in response to: scott.hirdes
Re: Some documents/revisions list author as "Guest"

Thanks!   - Robert

More Like This

  • Retrieving data ...

Bookmarked By (0)

To better serve our customers we have included functionality to automatically follow up on a case after it has been idle for more than 5 days, and then auto close after an additional 3 days of inactivity. Choose No to acknowledge that this case will remain idle for longer than 5 days.
Making cases public allows other customers to learn from the solution of the case. It can also be used to gain feedback from others in the community. Ask our Support Engineers for more info, but we encourage you to make your cases public.