Ticket #3386 (new enhancement)
Opened 6 years ago
Last modified 17 months ago
Embedding part of Wiki in other Wiki (e.g. Help: prefix for the TracGuide)
| Reported by: | dexen^^^goofy.pl | Owned by: | cboos |
|---|---|---|---|
| Priority: | high | Milestone: | next-major-0.1X |
| Component: | wiki system | Version: | 0.9.6 |
| Severity: | normal | Keywords: | wiki embed cross-link newhelp |
| Cc: | itamarost@… | ||
| Release Notes: | |||
| API Changes: | |||
Description
I'd like to be able to embed part of Wiki associated with some project in Wiki of other project, in order to reduce duplication of information and avoid using external links between wikis.
By embed i mean they do share (part of?) namespace, and links between them are internal to wiki. The embedded part should be accessible, linkable and editable from both Wikies, without using any special syntax nor, possibly, addresses.
Example:
lets say i have:
- /projects/FlagshipProject, containing:
- wiki/Globals/AboutDevelopers/*,
- wiki/Globals/AboutCompany/*,
- wiki/Globals/OtherStuff;
and
- /projects/OtherProject.
In Wiki of the later i'd like to embed /projects/FlagshipProject/wiki/Globals/*
Attachments
Change History
comment:1 follow-up: ↓ 3 Changed 5 years ago by sid
- Component changed from general to wiki
comment:2 Changed 5 years ago by Noah Kantrowitz <coderanger@…>
This would be done as part of the tracforge subscription system. Wiki subscriptions are not done yet, but the proof-of-concept with tickets is done and works.
comment:3 in reply to: ↑ 1 Changed 5 years ago by cboos
Replying to sid:
He was talking about the links to the pages, not the content of the pages:
By embed i mean they do share (part of?) namespace, and links between them are internal to wiki.
comment:4 Changed 5 years ago by cboos
- Milestone set to 0.12
- Summary changed from Embedding part of Wiki in other Wiki to Embedding part of Wiki in other Wiki (e.g. Help: prefix for the TracGuide)
So if you already think about structuring your pages like this:
In Wiki of the later i'd like to embed /projects/FlagshipProject/wiki/Globals/*
what prevents you to achieve this with InterWiki links?
e.g.
Globals /projects/FlagshipProject/wiki/Globals/
and you'd write Globals:AboutDevelopers/CodeRanger (for example ;) ),
or even [Globals:AboutDevelopers/CodeRanger] so that the "Globals:" prefix won't appear.
The only limitation would be that those external pages won't appear in the index, etc. but I think that this is actually a feature, is it narrows the content of a project to what's really there...
Btw, we could do this with the Trac related pages (the embedded TracGuide).
We could map the Help: prefix to the base URL + '/wiki/Trac', and rewrite all our embedded help links from href.wiki('TracChangeset') to href.intertrac('Help:Changeset').
An advantage of this approach is that the doc pages can be removed from the local projects and the Help prefix can be redirected to some other place, either to a dedicated "global" project or to t.e.o itself, e.g.
Help http://trac.edgewall.org/wiki/Trac0.11/Trac
comment:5 Changed 5 years ago by cboos
(see #2656 for previous discussion about sharing the help pages)
comment:6 Changed 3 years ago by anonymous
- Keywords newhelp added
comment:7 Changed 20 months ago by cboos
- Owner changed from jonas to cboos
- Priority changed from normal to high
See also #3021 for WikiNamespaces?.
comment:8 Changed 17 months ago by itamaro
- Cc itamarost@… added



You probably want to look at creating a macro or plugin to do this. Possibly embedding (ack! can't believe I'm suggesting this) an HTML frame in the 2nd project with the wiki content from the first.
Something like MacroBazaar#include or MacroBazaar#WikiInclude could get you started.
The enhancement request in this ticket seems outside the scope of Trac though.