This may be obvious, but… I tried searching for “Numbered Content” (looking for this extension) from within my installation I didn’t find it.
I then guessed it should be manually installed, is that right?
If that’s the case, since there are several similarly-named extensions, are the following correct?
is the above-linked extension the most recent / supported one?
should I manually install the modules mentioned in that page?
This is not an extension The link you gave is pointing to a simple wiki page, not an extension page. This is why you couldn’t install it.
Nope, it’s just that you can only install extensions.
Nope. You need to install only what you need… For exampe if you’re not using LaTeX Export in XWiki, why would you install the LaTeX for Numbered Headings extension? Similarly, if you don’t want numbered headings but only numbered figures, you wouldn’t need to install the Numbered Headings app.
Yes, there’s a single jira project for all the extensions under the topic “Numbered Content”, and they’re all released together for simplicity. We use different jira components Numbered Content Application - XWiki.org JIRA
Yup, looking twice I noticed the usual box about it being recommended / installable with the EM / etc. is not there
Thanks; by the content of the page I guesses it could have been some kind of umbrella extensions, that keeps its modules versions aligned or something like that.
Sure. Since I only have a single, production, XWiki instance I sometimes prefer being extra careful and ask twice before riskying to have to recoved a broken installation
I may have been mislead a bit since the page resulted when searching Numbered Content in the Extensions box Moreover, since there are several similarly named extensions (and pages), I wanted to double check.
Fine then, I’ll go on installing only what I need. Thank you.
Too quick of a reply… I just saw that both the Numbered Content and the extensions linked under Modules list the same release versions, so I guess they’re all already kept aligned during updates
That’s strange. I cannot reproduce that when I try to install Reference Macro for the Numbered Content Applications 1.7.1 on a fresh XWiki 14.6 (I assumed from your pasted log that it was your XWiki version).
You should reinstall the XWiki Standard Flavor extension on your main wiki and the XWiki Standard Flavor for sub-wikis extension on your other wikis (at least techtest01localusers and techtest01flavored wikis judging by your log).
It’s not something I recommend to use for XAR extensions generally as the meaning of this option is not to execute “Install” on each existing wiki, it’s a special install which force this extension and all its dependencies (which is the problem here) to be available on all present and future wikis.
What happen is that since you told XWiki to install “Numbered Headings Application” on farm, it did: this implies to also install all its dependencies on farm too (unless they are already available) and one of those is a very different colliding version of ckeditor (org.xwiki.contrib:application-ckeditor-ui instead of org.xwiki.platform:platform-application-ckeditor-ui). It’s not a problem when org.xwiki.platform:platform-application-ckeditor-ui is already available where you need org.xwiki.contrib:application-ckeditor-ui because it indicates that it “includes” it as a feature, but here there was nothing on farm, so it installed the dependency recommended by the extension.
The main bug here is that it should not have allowed you to do it as the install plan is supposed to check that all modifications made are not going to break existing extensions in terms of required dependencies, but it seems that here it did not take into account the flavors backward dependencies for some reason, so I will try to debug that.
Ideally, what you should do is revert your changes and put back the expected extensions:
from main wiki, uninstall CKEditor Integration 1.60.1: this should uninstall the wrong ckeditor and Numbered Headings Application 1.7.1
from main wiki RepairXWiki Standard flavor: this should install back the missing CKEditor Integration 14.6 on the main wiki
from other wikis, RepairXWiki Standard Flavor for sub-wikis: this should install back the missing CKEditor Integration 14.6 on the main wiki
OK, it really worked, just required a restart of the XWiki to turn it Installed, otherwise it would keep saying Installed but not valid.
Between server restarts I found these errors, is it an issue?
2023-02-15 13:15:36,097 [solr/indexer job group daemon thread - org.xwiki.search.solr.internal.job.IndexerJob@53b6f519([solr, indexer])] INFO o.x.s.s.i.j.IndexerJob - Starting job of type [solr.indexer] with identifier [[solr, indexer]]
2023-02-15 13:15:37,715 [http-nio-8080-exec-6 - http://docs.lnet.cgt.it:8080/xwiki/bin/admin/XWiki/XWikiPreferences?section=XWiki.Extensions&search=XWiki+Standard+flavor&repo=installed] ERROR c.x.x.w.AdminAction - Exception while setting up lock
com.xpn.xwiki.XWikiException: Error number 13006 in 3: Exception while locking document for lock [userName = [XWiki.radaemarco], docId = [6152552094868048244], date = [Wed Feb 15 13:15:37 CET 2023]]
at com.xpn.xwiki.store.XWikiHibernateStore.saveLock(XWikiHibernateStore.java:2044)
at com.xpn.xwiki.store.XWikiCacheStore.saveLock(XWikiCacheStore.java:641)
at com.xpn.xwiki.doc.XWikiDocument.setLock(XWikiDocument.java:7374)
at com.xpn.xwiki.web.AdminAction.render(AdminAction.java:144)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:587)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:289)
at com.xpn.xwiki.web.LegacyActionServlet.service(LegacyActionServlet.java:114)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:122)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: javax.persistence.OptimisticLockException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; statement executed: update xwikilock set XWL_AUTHOR=?, XWL_DATE=? where XWL_DOC_ID=?
at org.hibernate.internal.ExceptionConverterImpl.wrapStaleStateException(ExceptionConverterImpl.java:238)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:93)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188)
at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1411)
at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:489)
at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3290)
at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2425)
at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:449)
at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:183)
at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$300(JdbcResourceLocalTransactionCoordinatorImpl.java:40)
at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:281)
at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101)
at com.xpn.xwiki.internal.store.hibernate.HibernateStore.endTransaction(HibernateStore.java:907)
at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction(XWikiHibernateBaseStore.java:602)
at com.xpn.xwiki.store.XWikiHibernateStore.saveLock(XWikiHibernateStore.java:2039)
... 47 common frames omitted
Caused by: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; statement executed: update xwikilock set XWL_AUTHOR=?, XWL_DATE=? where XWL_DOC_ID=?
at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:67)
at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:54)
at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:47)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3571)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:3438)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3852)
at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:202)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604)
at org.hibernate.engine.spi.ActionQueue.lambda$executeActions$1(ActionQueue.java:478)
at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:475)
at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:344)
at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:40)
at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:107)
at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1407)
... 58 common frames omitted
2023-02-15 13:15:40,079 [solr/indexer job group daemon thread - org.xwiki.search.solr.internal.job.IndexerJob@53b6f519([solr, indexer])] INFO o.x.s.s.i.j.IndexerJob - 0 documents added, 0 deleted and 0 updated during the synchronization of the Solr index.
Ok, I restored the whole functionality
Thank you very much.
Now, what should I do to properly install the Numbered Content related extensions?
In this context, Uninstall from farm is just meant to be a helper to uninstall this extension from wherever it’s installed, in case there are several. But it could benefit from a more explicit naming and only appear if it is in fact installed in several namespaces.
It’s most probably the same root cause as Loading... (so not fixed in 14.6 which is starting to be a bit oldish by the way).
Don’t install it on farm, or you will have the same problem, just Install it on each wiki where you need it (starting with the main wiki).