Page MenuHomePhabricator

CollaborationHub: Determine whether features should necessarily be subpages
Closed, ResolvedPublic

Description

If features should necessarily be subpages, then we should only be storing the subpage name, not the full page name.

If not, we should determine this now in order to avoid breaking everything later.

Note that pages from elsewhere should still be usable via transclusion.

Event Timeline

My two big arguments that features should not necessarily be subpages:

  • The WikiProject X pilot projects embed "Related WikiProjects" pages, and those are *not* subpages.
  • More importantly, one of our objectives is to break down the silos between projects. The lists of related projects is part of this, but a natural extension of this is also being able to share worklists between projects. Some use cases I have in mind:
    • WikiProject Women Scientists having a worklist that is embedded on WikiProject Women in Red
    • An edit-a-thon on Black History, making use of CollaborationKit, automatically embedding a worklist from WikiProject African Diaspora

Regarding the concern that having the full page name instead of just the subpage name is visually taxing, I would argue that by showing that features are indeed pages on the wiki, it is clearer how features come to be; they're not some other mysterious entity.

This is just my opinion and I have not made a final decision yet. I welcome additional input.

having full page names helps with copying and pasting (assuming you want to preserve the full page name). I think full page names makes things more future proof - its easier to start with requiring full page names and change to short names, then the other way around.

My concern is mostly just moving, and indexing: the ToC only shows up on subpages, so they won't necessarily be properly indexed or something. This can be mitigated by adding a thing to specify that things are part of a project regardless of where they are, or a thing to specifically activate the ToC.

Also when you move a page, you can move all the subpages with, but then you need to rename all the subpages in the page list. But that's pretty trivial anyway, so whatever.

the ToC only shows up on subpages, so they won't necessarily be properly indexed or something. This can be mitigated by adding a thing to specify that things are part of a project regardless of where they are, or a thing to specifically activate the ToC.

I think it's reasonable that it only shows up automatically on subpages. We don't want to automatically assume a page external to the project is part of the project, since most likely it will be Project A co-opting Project B's page.

Would it make sense to add a magic word/parserfunction to allow the table of contents to show up?

Also when you move a page, you can move all the subpages with, but then you need to rename all the subpages in the page list. But that's pretty trivial anyway, so whatever.

Couldn't it just follow redirects? (We don't have to worry about it following double redirects because MediaWiki doesn't do this anyway.)

Isarra claimed this task.

Full page names it is. Specific tasks for that:

  • Make parser function to set parent hub to trigger ToC
  • Make ToC triggering also follow redirects