RFC - Wiki backlinks implementation

14 views
Skip to first unread message

Ilias Lazaridis

unread,
Sep 19, 2006, 5:50:28 AM9/19/06
to Trac Users
I would like to add 'backlinks' to the trac wiki, and first of all I
like to ask which solutions are already available (stable).

Secondly I like to ask the users for comments on how this should work.

I plan to implement a plugin which implements it like this:

* every wiki page has a parent (e.g. added on top as a macro-call
[[Parent("Project")]], or in some other way).

The Backlink-Navigation bar would get the entries according to the
parent of a wiki page, e.g.:

Start > Project > ProjectGuide

A benefit of this solution is the given flexibility - the hierarchy
(Parents) can be changed at a later point

An option would allow to remove the parent-name from the wiki entry,
thus becoming a clean & compact Navigation:

Start > Project > ProjectGuide would become...
Start > Project > Guide


Any thoughts and suggestions welcome.

context: http://dev.lazaridis.com/base/ticket/2

.

http://lazaridis.com

Noah Kantrowitz

unread,
Sep 19, 2006, 6:05:56 AM9/19/06
to trac-...@googlegroups.com
Unless you plan to offer multi-parenting, why not use the existing
HierWiki macros available on trac-hacks? The navigation aid you are
describing is already implemented in the showpath patch if you use a
standard hierarchy.

--Noah

Christian Boos

unread,
Sep 19, 2006, 6:20:28 AM9/19/06
to trac-...@googlegroups.com
Ilias Lazaridis wrote:
> I would like to add 'backlinks' to the trac wiki, and first of all I
> like to ask which solutions are already available (stable).
>
> Secondly I like to ask the users for comments on how this should work.
>

I think you have a small terminology problem here, "Backlinks" in Wikis
usually don't refer to the "parents" of a Wiki page, rather to all the
pages that happen to have a link to that Wiki page. See for example [1].

> I plan to implement a plugin which implements it like this:
>
> * every wiki page has a parent (e.g. added on top as a macro-call
> [[Parent("Project")]], or in some other way).
>
> The Backlink-Navigation bar would get the entries according to the
> parent of a wiki page, e.g.:
>
> Start > Project > ProjectGuide
>
> A benefit of this solution is the given flexibility - the hierarchy
> (Parents) can be changed at a later point
>
> An option would allow to remove the parent-name from the wiki entry,
> thus becoming a clean & compact Navigation:
>
> Start > Project > ProjectGuide would become...
> Start > Project > Guide
>
>
> Any thoughts and suggestions welcome.
>

That would certainly be an useful plugin.
OTOH, inclusion of this feature in core Trac is still being discussed [2].
Also, note that with this feature there could a possible "conflict" with
the breadcrumb feature [3], as you would have two navigations trails,
yours following the parent/child relationship, the breadcrumb following
the navigation history.

-- Christian

[1] - http://trac.edgewall.org/wiki/BackLinks
[2] - http://trac.edgewall.org/ticket/2780
[3] - http://trac.edgewall.org/ticket/2449


Ilias Lazaridis

unread,
Sep 20, 2006, 8:30:40 AM9/20/06
to Trac Users
I will take a look at this, just detected something in the svn:

http://www.trac-hacks.org/browser/hierwikiplugin/0.10

"link 0.9"

is the link created automaticly by SVN on checkout?

how can I setup this?

.

Sid Wiesner

unread,
Sep 20, 2006, 8:37:58 AM9/20/06
to trac-...@googlegroups.com
No, what you are seeing is the text from a symbolic link. You can get
the equivalent by creating a symbolic link on the command line and
checking it into SVN:

> ln -s 0.10 0.9
> svn add 0.9

Sid

> .
>

Ilias Lazaridis

unread,
Sep 20, 2006, 9:36:19 AM9/20/06
to Trac Users
Noah Kantrowitz wrote:
> On Sep 19, 2006, at 5:50 AM, Ilias Lazaridis wrote:
> > I would like to add 'backlinks' to the trac wiki, and first of all I
> > like to ask which solutions are already available (stable).
> >
> > Secondly I like to ask the users for comments on how this should work.
> >
> > I plan to implement a plugin which implements it like this:
> >
> > * every wiki page has a parent (e.g. added on top as a macro-call
> > [[Parent("Project")]], or in some other way).
> >
> > The Backlink-Navigation bar would get the entries according to the
> > parent of a wiki page, e.g.:
> >
> > Start > Project > ProjectGuide
> >
> > A benefit of this solution is the given flexibility - the hierarchy
> > (Parents) can be changed at a later point
> >
> > An option would allow to remove the parent-name from the wiki entry,
> > thus becoming a clean & compact Navigation:
> >
> > Start > Project > ProjectGuide would become...
> > Start > Project > Guide
> >
> >
> > Any thoughts and suggestions welcome.
> >
> > context: http://dev.lazaridis.com/base/ticket/2
>
> Unless you plan to offer multi-parenting, why not use the existing
> HierWiki macros available on trac-hacks? The navigation aid you are
> describing is already implemented in the showpath patch if you use a
> standard hierarchy.

http://www.trac-hacks.org/wiki/HierWikiPlugin
http://www.trac-hacks.org/wiki/TracShowPathPatch

Those depend on names like "Project/Doc/Beta/Introduction", which I
don't want to use.

Names like "Book/Chapter/Section/Subsection" provide the hierarchy in a
fixed way .

I like to provide the flexibility to _change_ the document hierarchy
with low effort.

.

Ilias Lazaridis

unread,
Sep 20, 2006, 9:55:04 AM9/20/06
to Trac Users
Christian Boos wrote:
> Ilias Lazaridis wrote:
> > I would like to add 'backlinks' to the trac wiki, and first of all I
> > like to ask which solutions are already available (stable).
> >
> > Secondly I like to ask the users for comments on how this should work.
>
> I think you have a small terminology problem here, "Backlinks" in Wikis
> usually don't refer to the "parents" of a Wiki page, rather to all the
> pages that happen to have a link to that Wiki page. See for example [1].

ok, I understand.

> > I plan to implement a plugin which implements it like this:
> >
> > * every wiki page has a parent (e.g. added on top as a macro-call
> > [[Parent("Project")]], or in some other way).
> >
> > The Backlink-Navigation bar would get the entries according to the
> > parent of a wiki page, e.g.:
> >
> > Start > Project > ProjectGuide
> >
> > A benefit of this solution is the given flexibility - the hierarchy
> > (Parents) can be changed at a later point
> >
> > An option would allow to remove the parent-name from the wiki entry,
> > thus becoming a clean & compact Navigation:
> >
> > Start > Project > ProjectGuide would become...
> > Start > Project > Guide
> >
> >
> > Any thoughts and suggestions welcome.
>
> That would certainly be an useful plugin.
> OTOH, inclusion of this feature in core Trac is still being discussed [2].

Not exactly.

I like to implement it in a way that it allows easy change of the
hierarchy, thus not depending to define the hierarchy within the
wiki-name (see notes in message above).

> Also, note that with this feature there could a possible "conflict" with
> the breadcrumb feature [3], as you would have two navigations trails,
> yours following the parent/child relationship, the breadcrumb following
> the navigation history.

This could be easily managed by configuration (e.g. user preferences)

Noah Kantrowitz

unread,
Sep 20, 2006, 10:09:44 AM9/20/06
to trac-...@googlegroups.com

Thats what the WikiRename plugin is for :)

--Noah

Ilias Lazaridis

unread,
Sep 20, 2006, 11:08:37 AM9/20/06
to Trac Users
Noah Kantrowitz wrote:
> On Sep 20, 2006, at 9:36 AM, Ilias Lazaridis wrote:
> > Noah Kantrowitz wrote:
...

> >> Unless you plan to offer multi-parenting, why not use the existing
> >> HierWiki macros available on trac-hacks? The navigation aid you are
> >> describing is already implemented in the showpath patch if you use a
> >> standard hierarchy.
> >
> > http://www.trac-hacks.org/wiki/HierWikiPlugin
> > http://www.trac-hacks.org/wiki/TracShowPathPatch
> >
> > Those depend on names like "Project/Doc/Beta/Introduction", which I
> > don't want to use.
> >
> > Names like "Book/Chapter/Section/Subsection" provide the hierarchy
> > in a
> > fixed way .
> >
> > I like to provide the flexibility to _change_ the document hierarchy
> > with low effort.
>
> Thats what the WikiRename plugin is for :)

http://www.trac-hacks.org/wiki/WikiRenamePlugin

Renaming all the pages, e.g. when moving them to another Chapter?

I would like to reuse existen results, but I think you understand that
the existent Macros/Plugins have another concept..

But I still hope that I can reuse a few parts of the code.

.

Ilias Lazaridis

unread,
Oct 1, 2006, 1:24:31 PM10/1/06
to Trac Users
Christian Boos wrote:
> Ilias Lazaridis wrote:
> > I would like to add 'backlinks' to the trac wiki, and first of all I
> > like to ask which solutions are already available (stable).
> >
> > Secondly I like to ask the users for comments on how this should work.
>
> I think you have a small terminology problem here, "Backlinks" in Wikis
> usually don't refer to the "parents" of a Wiki page, rather to all the
> pages that happen to have a link to that Wiki page. See for example [1].

Ok, the "backlinks" are implemented as a vertical menu list (build on
runtime from the AutoNav macro).

You can see the mechanism e.g. based on this page:

http://case.lazaridis.com/wiki/DjangoAudit

> > I plan to implement a plugin which implements it like this:
> >
> > * every wiki page has a parent (e.g. added on top as a macro-call
> > [[Parent("Project")]], or in some other way).

I tend to implement this as a 'classical' left-side vertical navigation
menu.

something like a dynamic TracNav (to speak in context of existent
solutions).

> That would certainly be an useful plugin.
> OTOH, inclusion of this feature in core Trac is still being discussed [2].
> Also, note that with this feature there could a possible "conflict" with
> the breadcrumb feature [3], as you would have two navigations trails,
> yours following the parent/child relationship, the breadcrumb following
> the navigation history.

ok, the navigation history could then go to the "histnav" (context-nav,
left - what I call "backnav" currently).

this would solve the 'conflict'.

backlinks, histnav, and classic-navigation-menu

again, any commenst and suggestions welcome.

Reply all
Reply to author
Forward
0 new messages