You are here :

English hierarchical structure

Monday, 30. August 2010 22:37:50, by anonymous anonymous



A hierarchical structure

Wiclear is organized in a hierarchical structure.
That means, that you can see your wiki just like your hard drive with folders and file.
Each wiki page is a file by itself and can be made to act as a containing folder for more files.

Understanding where current page is in the hierarchy

The hierarchy is shown to you with two areas

This way, you can organized your wiki by category, by subject or whatever kind of sort you can imagine. This makes it easier to find information and it means also you cannot have orphan pages as all pages are attached to a parent page.

Editing the hierarchy relationship

When you click on the "Edit" link, you see several fields.

Site plan

To quickly see how's your hierarchy organized you can use the "Site Plan" link on the right (which is a plugin) to display all pages.

No trackbacks yet

To make a trackback, use ping url http://wiclear.free.fr/tools/trackback/trackback.php?id=76

If your client support ping url auto discovery, you can also try it using directly this page's url


Some questions/problems

Tuesday, 2. May 2006 16:59:53, by guest guest

1) After rename a page (short title/page name) the links to it are broken; if I click on the old link I get an empty page. Some funtionality like in MediaWiki to rename pages with adapting the links automatically would be helpful for maintenance

2) How can the sequence of siblings on the same level be determined? It seems that new pages are always appended at the end. What if I want to insert a new page before 100 others that alredy exist?

3) The siteplan plugin only shows the short titles/page names and not the more meaningful alternative titles. Apart from that, it also seems to get a bit voluminous if one has a wiki with several 100 pages. Something like the maketoc keyword in TikiWiki would be helpful that can generate a partial table of contents of all subordered pages on a wiki page at runtime. But it should handle the differnt languages correctly.

4) I miss the prevous/next buttons to get to the previous/next sibling easily (see TikiWiki for example).

Lots of things here...

Wednesday, 3. May 2006 10:45:27, by David

1) Well, why not, I'm not changing title very often so I did not run into this kind of problem but I understand the need.
2) There is no way. The site plan plugin only find the parent/child relationship and display them. I don't remember if there are any sorting applied. One of my user started modifications on that plugin to add arbitrary order. The modification involves one more table and modification of the edit form. Alas, he won't have time to publish it anytime soon as a plugin.
3) I guess it can be answered by 2) as well
4) Interesting

Re: Lots of things here...

Wednesday, 3. May 2006 12:57:58, by guest guest

2+3+4) I was guessing that the site plugin, ui to determine the sequence and prev/next buttons could use fields left_n and right_n from table wc_content_hierarchy (see Schema); then there would be no need for another table.

Not so simple

Wednesday, 3. May 2006 15:33:08, by David

I'm afraid that's not so simple.
Fields left_n and right_n, as described in the page you're referring to, are not "user/plugin available fields".
They are "computed-fields" and allow to speed up and simplify hierarchical queries.
Inverting them is possible, provided you do not break the "creation" rule, but as they are an optim detail implementation (really), they can be recreated when needed from canonical data by other tools (like the "check and repair db" entry in the admin panel does) and you would lose your order.


Thursday, 4. May 2006 07:55:21, by Dusan Smolnikar

2) I created a new sql table which holds 2 fields - article id, and article sort order
then when editing the page I added a new field (for mods only in my case) into which you can type a sort order number for the article
and when you submit a new/edited article, the sort order table gets updated

then I'm using this function: http://racer.pastebin.com/697484
in the site plan, so article width lowest sort order number gets listed first, etc. incase two have the same sort number they get ordered by id (so newer gets listed after the older)

It's a pretty simple principle, but as David said I haven't had the time to make it a fully functional plugin

article sort order

Friday, 5. May 2006 11:50:15, by guest guest

2) Thanks Dusan for the info, but I think something like that should be done in the core system, since the definied sequence should not only be used in the site plan plugin but everywhere where the subnodes are listed in the ui. I was thinking about using wiclear to support the translation process of a book with some 100 chapters and these chapters have always to show up and to stay and in their given order, but I can't see how that would be possible currently. Maybe something like the "article sort order" field and a possibilty to edit it can be added to the already existing wc_content_hierarchy table and ui in some future version?

Not in the core

Tuesday, 9. May 2006 11:56:42, by David Jobet

I don't need this feature, so where does this feature belong ? In the core or in a plugin ? Who is right ?
I want the core to stay small and simple (in my opinion it is already too big).
Having subnodes sorted won't prevent the wiki from running => in a plugin.
Either Dusan will have time to release a plugin or I'll try to make it from its patches.

Same Name

Wednesday, 6. September 2006 16:45:53, by Foz

Hierarchy is absolutely great... but not allowing the same name isn't.
I want:

Unfortunately, I'm not allowed even though it's in a different path - any ideas to get around it?

Name are and id

Thursday, 7. September 2006 02:33:52, by David Jobet

This is because I wanted to be able to access quickly to a page by typing the page name directly in the URL without knowing where it is located.
In short, page name are ids, you can assign them a parent but that's still an id so it cannot be duplicated.

What you can do is assign it a different name (like app1_readme and app2_readme) then assign also an alternative name (readme in both cases).
Your readme page will appear as 'readme' when navigating.