Defect #34634

Can't add deleted wiki Tab (404)

Added by Ivan Cenov 9 months ago. Updated 3 months ago.

Status:ConfirmedStart date:
Priority:NormalDue date:
Assignee:Mischa The Evil% Done:

0%

Category:Wiki
Target version:5.0.0
Resolution: Affected version:

Description

This issue is inspired by a thread in the forum (Can't add deleted wiki Tab. (404))

An user delete all wiki pages including the root page. Then he could not see the root page and could not create wiki pages any more.

The solution was to disable Wiki module and then enable it again. Then the root wiki page appeared again (may be it has been recreated on enabling wiki module).

So I think that it should be harder to delete the root wiki page or make it not erasable.
However, if it remains erasable, Wiki module should be made inactive when this page is deleted.

0004-Disable-the-wiki-module-after-deletion-of-a-project-.patch Magnifier (2.21 KB) Marius BALTEANU, 2021-07-26 23:35


Related issues

Related to Redmine - Patch #34643: Cleanups and fixes after Wiki tab removal from project se... Closed

History

#1 Updated by Ivan Cenov 9 months ago

Environment

Redmine version 3.4.4.devel
Ruby version 2.4.1-p111 (2017-03-22) [x86_64-linux]
Rails version 5.1.4
Environment production
Database adapter Mysql2

#2 Updated by Mischa The Evil 9 months ago

  • Status changed from New to Confirmed
  • Assignee set to Mischa The Evil

Thanks for opening this issue. I've been reading along and it already got me curious, so I already had a look at the source. I can confirm the reported behavior (at least partially, as far as I've tested). Along the way I found several other issues too.
I'm working on providing a patch.

#3 Updated by Mischa The Evil 9 months ago

  • Related to Patch #34643: Cleanups and fixes after Wiki tab removal from project settings (#26579) added

#4 Updated by Mischa The Evil 9 months ago

  • Category set to Wiki
  • Assignee changed from Mischa The Evil to Ivan Cenov

Ivan Cenov wrote:

An user delete all wiki pages including the root page. Then he could not see the root page and could not create wiki pages any more.

Mischa The Evil wrote:

I can confirm the reported behavior (at least partially, as far as I've tested).

I confirm this is a problem when a whole project wiki is deleted. I don't see this being a problem when deleting single wiki pages.
@Ivan: can you too confirm this (also with the OP of Can't add deleted wiki Tab. (404))?

I have posted a patch that fixes this case as part of #34643 (file: 4. Disable the wiki module after deletion of a project wiki.). It should be applicable on its own.

#5 Updated by Mischa The Evil 9 months ago

  • Description updated (diff)

#6 Updated by Marius BALTEANU 3 months ago

I've extracted the patch proposed by Mischa The Evil in #34643:

  • 4. Disable the wiki module after deletion of a project wiki.
    By adding a (private) after_destroy :disable_wiki_module callback that disables the wiki module after deletion of a project wiki, we prevent the need to explicitly have to disable the wiki module first, before (re-)enabling the module would eventually create a new project wiki and reset the start_page.

I still think that it's a good ideea to inform the user that deleting the wiki root page will automatically disable the module.

#7 Updated by Mischa The Evil 3 months ago

Marius BALTEANU wrote:

I still think that it's a good ideea to inform the user that deleting the wiki root page will automatically disable the module.

Sure. However, now that I have had a second look at this, I think that disabling the module after the deletion is a bit of an ugly workaround. A better solution would be to implement something like a 'no data' message when a project wiki is missing and add a way for users with the required permission(s) to reinstate a new wiki by just letting them add new pages from the front-end while creating a new project wiki in the background automatically if one is not yet available. That would also take away the need for an additional notification message. What do you think?

Btw: I think you got it but to be certain, when you wrote ...deleting the wiki root page... -> it's actually about deleting the project's wiki itself. I've written about this is more detail in RE: Can't add deleted wiki Tab. (404).

Also available in: Atom PDF