{{indexmenu>..|js navbar nocookie id#random}}
- Opened mysite.com/doku.php?purge=true to purge data
- Cleared the cache in Firefox
- Touched local.php
- Opened in a new window in Firefox while using the shift key
- Followed all directions in [[http://www.dokuwiki.org/plugin:indexmenu#the_tree_is_not_displayed]]
After all this I still cannot get IndexMenu to work. **Am I missing anything to make this work?\\ I would really appreciate any guidance you could give me on this.**
Sincerely, Amit
> Hi Amit, steps are okay but what does mean "not work"? The tree is empty? Does it work without js option? Did you change some indexmenu configuration settings in the admin panel? Have you manual configurated htacess for different URL rewriting or sepchar in DokuWiki setting? If your site is public, could you provide a link for testing it? You can contact me also via email). --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2008-02-22 07:56//
>> Thanks for responding Samuele. Sorry about not being clear. By "not working" I meant the I only saw the arctic index menu here is a screen shot of what I see {{http://img442.imageshack.us/img442/2835/indexmenunotvisiblevo4.jpg}}.\\
I am sending you detail in an email. Please check your mail. Sincerely - Amit
>>>Further inspection showed that was a template misconfiguration and not an indexmenu bug. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2008-02-25 22:04//
>>>> I have the same behavior with Arctic and indexMenu. Could you explain what was the solution? Pierre.
>>>>> Amit confused [[plugin:indexmenu#replace index]] setting with the arctic sidebar setting and wrongly placed the indexmenu syntax in place of an ID page. To replace the index you have to set a DokuWiki page ID (i.e: wiki:myindex) in the replace_index indexmenu setting, then create that page and write inside the indexmenu syntax.This page will be loaded in place of the main DokuWiki index when you press the "index" button (near logout button). To create an arctic sidebar you have to create a page and set its id in the arctic sidebar setting. Anyway, be sure that this is really your problem by reading also about indexmenu cache and ACL issues in the main [[plugin:indexmenu]] page --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2008/04/08 09:38//
>>>>>> I can't make it work and I am confused.
Here are my steps:
1. installed DokuWiki
2. installed indexmenu plugin
3. added article
but I can't see the indexmenu. I am using the default template of DokuWiki.
image : http://img74.imageshack.us/img74/6905/25194402ew0.jpg
thank you. --- //jhoy imperial 2008/04/16 10:39//
>>>>>>Jhoy, from your image I understand that you are confusing the (TOC) with the indexmenu main feature. Indexmenu let you insert a tree of DokuWiki pages, not a [[toc|TOC]] in a page. To get the plugin working, simply write its command [[plugin:indexmenu#syntax]] in your page. To get a sidebar with an indexmenu, you need first a DokuWiki [[:Template]] with sidebar support , and then you have to put the command syntax inside the sidebar page. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2008/04/16 09:40//
===== Indexmenu icons only during page editing =====
My one is a similar problem as the previous indexmenu default icons show only while I am editing a page. Otherwise the default DokuWiki icons show. \\
1. template: minima \\
2. syntax: I used one of the samples here
3. it doesn't help if I put ~~NOCACHE~~ on the actual page \\
4. purging Firefox doesn't help either\\
Any ideas?
>>Restart your browser!
>>>Thanks. It worked!
Same guy, different problem.
Indexmenu points to wrong places. E.g., '':myFolder:start'' becomes '':yfolder:start''. Of course I can't enter the page.
I copied the indexmenu codes from this page.
>>Please, Could you be more detailed in reporting this problem? What exactly points to '':yfolder:start''? A node? Every node? A screenshot or ,better, having access to your wiki site will help a lot. And if you thinks this is a bug, please move it in the [[plugin:indexmenu#bugs]] section. Samuele
Samuele, thank you for your reply. The details: indexmenu syntax
{{indexmenu>.#1| js navbar id#random}}
This code shows the correct folder structure, however if the links they offer are broken. \\
That is, if I hover over the icon of \\
__Myfolder:start__, in the status bar of the browser \\
__http://localhost/doku.hpp/
function handle($match, $state, $pos, &$handler){
$theme_path=$this->_get_relimgdir();
...
//Open at current namespace option
$navbar=in_array('navbar',$opts);
if ($navbar) $gen_id="1";
// showns option
$showns = in_array('showns', $opts); // a.vag - added
//nocookie option
$nocookie=in_array('nocookie',$opts);
...
//id generation method
if (preg_match('/id#(\S*)/u',$match[1],$id) >0) $gen_id=$id[1];
//js options
$js_opts=compact('theme','gen_id','nocookie','navbar', 'showns'); // a.vag - extened
return array($ns,
$js,
$js_opts,
array('level' => $level,
'nons' => $nons,
'nss' => $nss,
'showns' => $showns) // a.vag - added
);
}
function _jstree($data,$ns,$js_opts) {
global $conf;
...
if (empty($data)) return false;
$title=$this->_getTitle($ns,$headpage,$link,true,$js_opts['showns']); // a.vag - extened
// Id generation method
if (is_numeric($js_opts['gen_id'])) {
$jsns=$js_opts['gen_id'];
...
//Title and headpage configuration
if ($item['type']=='d') {
//Add information to open level at current namespace
$navbar=($js_opts['navbar']) ? "'".$item['id']."'" : $navbar;
$title=$this->_getTitle($item['id'],$headpage,$link,true,$js_opts['showns']); // a.vag - extened
}
if ($item['type']=='f') {
if (!$js_opts['showns']) { // a.vag - if clause added
$title=p_get_metadata($item['id'],'title');
$title=htmlspecialchars($title,ENT_QUOTES);
if (!$title) $title=noNS($item['id']);
}
else $title=noNS($item['id']); // a.vag - else added
}
//Remove already processed nodes (greater level = lower level)
while ($item['level'] <= $data[end($q)-1]['level']) {
array_pop($q);
}
...
return $out;
}
function _getTitle (&$ns,$headpage,&$link,$html_escape=true,$showns=false) { // a.vag - function call extened
global $conf;
$title="";
...
//check headpage
if (@file_exists(wikiFN($page)) && auth_quickaclcheck($page) >= AUTH_READ) {
if (!$showns) { // a.vag - if clause added
$title_tmp=p_get_metadata($page,'title');
if ($title_tmp) $title=$title_tmp;
}
if ($html_escape) $title=htmlspecialchars($title,ENT_QUOTES);
$link=wl($page);
$ns=$page;
...
return $title;
}
>Hi Anja, thanks for your patch (I'm glad that someone works to make it better) but I'm not sure this is the right way to solve the long names problem. I think the solution has to be done in JavaScript so I'm working on a indexmenu that slides horizontally when it's needed.
>And pay attention that you can already globally disable indexmenu namespace and pages headlines by the indexmenu settings and the [[config:local_php:useheading]] DokuWiki option in admin panel. So I think your patch is good as temporary solution for some DokuWiki configurations, but not for all. Anyway, I'm open to any idea about this problem, so fell free to continue discussion here or emailing me.--- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2007-01-05 16:31//
>For the moment, and on the fly, I've added a tooltips feature to page nodes. This helps with long heading titles in an indexmenu sidebar, cause when mouse gets over them, their full name are displayed as tooltip. Until the final 3.0 release is ready, it's implemented only in the [[..:indexmenu#development]] version. You can try it also in my site. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2007-01-05 19:59//
>> Hi Samuele, you are right -> I'll write you an email because I think it's maybe to much to write it here. //[[a.vag@gmx.de|Anja Vag]] 2007-01-10 10:22//
===== Safe mode handling? =====
>When running in PHP safe mode I'm unable to upload a new theme through the admin interface. Script is unable to write to /tmp directory which is correct. Is this due to some incorrect setting on my side, or is the path hardcoded to indexmenu? (Which would be odd)
>Error is "Unable to create temporary folder to receive theme: /tmp"
>//[[ejijott@gmail.com|Magnus Persson]] 2007-01-07 23:58//
>>Hi, did you changed the [[..:indexmenu#images directory]] setting (it's the last indexmenu setting in admin panel)? . I've successfully tested themes management in a safe mode environment but the directory should not be only /tmp, it has to be images_directory/tmp (and it has to be writable by web server), so there could be something wrong in getting the absolute image directory path. Does "http://yourserver/doku_path/lib/plugins/indexmenu/ajax.php?req=local" display something? Could you check your web server log for errors?. In the worst case you can also download theme from the "download" link and manually unzip it inside the images_directory. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2007-01-08 11:02//
Rechecked again and the directories are r/w. Works like a charm in a non-safemode environment which leads me to suspect that the temporary download is (in my case) stored in /tmp. Directories are set as relative to the docroot, checking the path yields the imagesdirectory in indexmenu/. Also running in safemode I am able to install a theme the manual way (download the archive myself).. "http://yourserver/doku_path/lib/plugins/indexmenu/ajax.php?req=local" is a blank page (what does this do?). Unable to fiddle with the errorlogs at this moment but will look into them (should yield that the script is trying to write to a safemode protected directory, I guess)
Notable should be that I'm using pretty/fancy URLs with no initial DokuWiki folder. That is I access my initial startpage at http://domain.com/start.
Perhaps the temp directory can be hardcoded as a test? I'm very new to DokuWiki so plugins just look like a mess to me :-)
//[[ejijott@gmail.com|Magnus Persson]] 2007-01-10 04:52//
> Solved and it will out in v3.0 --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2007-01-21 13:06//
===== Replace default Index button with Indexmenu functionality? =====
First off, thanks for a most useful plug-in! :-) I'm wondering if there is any way to replace the functionality of the default "Index" button with Indexmenu? In other words, instead of getting the default DokuWiki generated index (which doesn't quite seem to work as expected with ACLs) when clicking the Index button, I'd get an Indexmenu generated index. I'd rather not resort to using a navbar if possible.
Thanks!
--- //[[esisler@westminster.lib.co.us|Eric Sisler]] 2007-02-23 16:38//
>Um, I'll try to add this option for next release. In the meanwhile, you have to edit DokuWiki core file ''/dokuwiki/inc/template.php'' on line 96 (for DokuWiki 2006-11-06):
case 'index':
//html_index($IDX); #FIXME can this be pulled from globals? is it sanitized correctly?
print p_render('xhtml',p_get_instructions('{{indexmenu>..#0 .#2}}'),$info);
>You can play with indexmenu options in order to get best visualization for you.
>Pay attention that tree index gets slow depending on how many nodes are rendered because index is never cached. Js indexmenu nodes are always rendered so it's the slowest, while nojs indexmenu nodes are rendered only when they are open. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2007-02-23 17:37//
Samuele,
**Exactly** what I wanted! Still awaiting feedback from the pilot group, but overall I think they will like this much better. Thanks for the caution about js being a bit slower, I'm planning on leaving it turned on unless it gets really slow because I like the look better than nojs. I also configured it to open only the document's parent node(s):
print p_render('xhtml',p_get_instructions('{{indexmenu>..#0 .#1|js}}'),$info);
Thanks for the quick response!
--- //[[esisler@westminster.lib.co.us|Eric Sisler]] 2007-02-23 19:24//
>Okay, I'm glad that you like it. So, my idea for v3.1 is to use a wiki page as main index container, in this way it's cached and loads quickly (at least until its cache is not purged). --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2007-02-23 23:04//
>Hope for 3.2 :). --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2007-03-14 12:15//
>Done in 3.3. Read the [[..:indexmenu#replace index]] for infos.
===== I need the ~~NOCACHE~~ functionality for the sidebar only when I make a new page =====
Otherwise the tree should be open when I save an existing page.
>Sorry, but I've not understand this FAQ. Please, could you be more detailed and, if if you think it's a bug, report it in the [[..:indexmenu#bug]] section? You should ever no need %%~~NOCACHE~~%% syntax when the main requested namespace is the root namespace.--- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2007-03-22 12:29//
> When I make a new page the indexmenu in the sidebar will not be updated
my Sidebar:
{{indexmenu>allgemein#1|js }}
----
{{indexmenu>leitsysteme#1|js }}
----
{{indexmenu>Projekte_LTEA#1|js }}
----
{{indexmenu>entwicklung#1|js }}
----
{{indexmenu>Service_Support#1|js }}
I don't want to use the **NOCACHE** syntax, because the treenodes should be expanded when I open or save a page
> They are two different problems. First problem is that currently you need a manual cache purging for no-root ns, infos are in the [[..:indexmenu#the tree is not updated]] section. Second problem is that your tree has **not** be opened because you use the #1 option, that means "close all nodes". So, remove the #1 option and the tree will have all nodes open, or if you simply need that tree remembers its previous state (open and closed nodes by user navigation) after a cache purging, you can find the howto in the [[..:indexmenu#Js does not remember its previous state]] section (essentially you need the id#any_number option).
===== Word Wrap? =====
The sliding feature is nice (for content that spills over the width of the div that indexmenu is part of), but in some instances it is not an appropriate solution (for some trees it can actually really hinder navigation). Does anyone know a way to implement a word-wrap? Indexmenu2 offers this while still using JavaScript, would it be possible to do that here? One could use Indexmenu2 instead, or the non-JavaScript setting, but then all the great feature benefits of indexmenu (navbar, etc.) are lost. --Ryan
>Maybe by editing some properties in the [[http://samuele.netsons.org/dokuwiki/doku.php?id=dokuwiki:plugins:indexmenu:source:style|style.css]] file (cache needs to be purged after modifying it). For example the white-space property should not be "nowrap". Could you give more details about the problem with navigation? This could help me to make it better. PS: there is also the "noscroll" option to disable the scrolling feature.
>>Thanks heaps for the reply. Actually I did try that (remove nowrap in two instances in the css) just after posting this. It does indeed introduce a word wrap, the only issue is that it wraps each line all the way to the beginning (the left edge of the div). As the line to wrap may be several indents in, this looks quite strange. I think I understand this behavior, and my new assumption (after seeing the CSS) is that getting the wrap to start a new-line at the correct indent would mean getting into the JavaScript?
>>Thanks also for the reminder about the noscroll option, I do have that that turned on.
>>Let me try to explain more why all this in important. The thing that I absolutely love about this plugin in the navbar option, and as a result would like to use it in a sidebar for a wiki that contains many layers/levels of documentation. The navbar option allows the user to always orient themselves (no matter how complex the structure, or what links they followed to get there), but when they are more than 2-layers deep, the other options in their current namespace spill-off the sidebar (titles are usually more than a couple words). Yes the scroll is an option, but in my opinion it may hinders the clean usability/expectations of the sidebar... for example, if you simply brush your cursor over a link in the menu that spills over (whether you are interested in that link or not) the menu scrolls.
>>One option would be if the navbar option worked in non-JavaScript mode (as this wraps and displays just like normal bullets). I'm assuming this is option is implemented purely through JavaScript, and this not an option?
>>>Okay, I'll look for a solution, but I think it's not the right solution for your problem. And yes, it's implemented through JavaScript.
>> Quick update... I just tried the indexmenu2 plugin again, it it looks like it manages to get the word-wrap and indent correct even via JavaScript. Is there perhaps some transferable code there? Any specifics beyond Css are over my head, but I am happy to test any possibilities with assistance. --Ryan
>>>I'd rather prefer to improve the scroll mechanism usability than to focus on wordwrap. Moreover, the JavaScript code of indexmenu and indexmenu2 are implemented in two completely different way and indexmenu2 is not under a GPL license, so I think sharing code is not the right way. As soon as I'll be free from my job, I'll look if wordwrap can be done through CSS and I'll try to improve the scroll usability. If you send me your email, I could advise you when a beta is ready. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2007-07-25 09:53//
>>>>Okay, thanks very much for that explanation. Indeed, I would greatly appreciate any notes related to this idea (if you ever do decide to experiment)! --- //[[ryan.jake@gmail.com|Ryan Jacobs]]//
>>>>>Current development release supports also navbar in "nojs" mode and it retrieves nodes through the AJAX mechanism (like the standard DokuWiki index, but only for namespaces without headpage). It could be another solution for this old discussion. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2008/11/25 20:07//
===== Root Namespace Index =====
I wanted to be able to index the root-level namespace from within a page in a subjugate namespace. None of the obvious things worked, so I did the following hack to the ''_tree_menu'' function in the ''syntax.php'' file:
function _tree_menu($myns) {
global $conf;
global $ID;
$ns = $myns[0];
# $ns = cleanID($myns[0]);
$close = $myns[1];
#fixme use appropriate function
# if(empty($ns)){
# $ns = dirname(str_replace(':','/',$ID));
# if($ns == '.') $ns ='';
# }
if($ns == '.') {
$ns = dirname(str_replace(':','/',$ID));
if ($ns == '.') $ns = '';
} else {
$ns = cleanID($ns);
}
$ns = utf8_encodeFN(str_replace(':','/',$ns));
$data = array();
search($data,$conf['datadir'],'_search_index',array('close' => $close),"/".\
$ns);
return html_buildlist($data,'idx','html_list_index','html_li_index');
}
} //Indexmenu class end
Only the method for handling the namespace passed to this function is changed. With this change ''%%{{indexmenu>|n}}%%'' and ''%%{{indexmenu>:|n}}%%'' index the root namespace, while ''%%{{indexmenu>.|n}}%%'' indexes the namespace containing the current page.
--- //[[cbeetle@physics.fau.edu|Chris Beetle]] 2006-03-30 23:47//
>Thanks Chris. I add code immediately ;-)
--- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-04-01 01:20//
So how can I make **JavaScript** index of root namespace ? \\
''%%{{indexmenu>:|js}}%%'' don`t work \\
--- //[[bukhalenkov.a@gmail.com|Bukhalenkov Alexander]] 2006-06-30 20:53//
> ''%%{{indexmenu>..|js}}%%'', as you can read in [[plugin:indexmenu#syntax]].
>> thanks it works. + I've found a **bug**: When title of the page contains %%'%% symbol, ALL index menu including this page fails (empty) \\ --- //[[bukhalenkov.a@gmail.com|Bukhalenkov Alexander]] 2006-07-01 15:47//
===== Check ACL for namespaces =====
Restricted namespaces still show up in the tree. In the JavaScript tree they would show up showing a file icon, instead of a directory.
I have added the following lines to syntax.php (around line 295):
//check ACL (for namespaces too)
if(auth_quickaclcheck($id) < AUTH_READ){
return false;
}
//ADDED:
if($type!='f' && auth_quickaclcheck(str_replace('/',':',$id).':')
This helped to make the problem go away...
--- //[[raymond@raycom.com|Raymond Elferink]] 2006-08-29 10:29//
> Thanks Raymond. Patch added with a little modification, I hope still works. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-09-11 00:47//
--- Would be nice to add option to exclude namespaces from index, e.g. build list of PAGES only. Very useful.\\
//[[bru@inbox.ru|Gleb]]//
>Done :-)--- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-04-04 19:02//
>>Cool! Now it looks even better!
--- Can you add a 'reverse nons' keyword, like 'rnons'?\\
The idea is that one could easily create a news archive if the news where organized in a [news]-[yyyy]-[mm]-[dd]-(index) namespace structure like:
news (ns)
+- 2005 (ns)
+- 01 (ns)
+- 15 (ns)
+- index (page)
+- 02 (ns)
+- etc etc
The above [news]-[2005]-[01]-[15]-(index) page could simply be:
===== 2005-01-15: short news description =====
blah blah
Sorting the pages in reverse order with (the proposed)
{{indexmenu>:news:2005|rnons}}
would create a very good news archive with no effort at all.\\
//[[tm@navarino.gr|Thanos]]//
> Ummm, maybe there's some other plugin more useful than mine for displaying news, however it's seems simple to implement so probably it will be in next release. Thanks --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-05-27 11:14//
> Is it possible, to show the first heading of page instead of its name in the indexlisting? I try to keep the pagenames short but for an index it would be nice to have more explicit names for the pages. Probably the perfect solution would be an option to switch between both methods. --- //[[Andreas.Rieger@zew.uni-hannover.de|Andreas]] 2006-06-14 19:46//
>>Yes,it is. Set to 1 the DokuWiki [[config:local_php#useheading]] option. Whereas if you want to get namespaces titles you can use the indexmenu [[plugin:indexmenu#namespaces_title_and_link|headpage]] option. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-06-14 21:51//
\\
\\
--- It would be nice the possibility of excluding some expanded trees. For example:\\
I have the following namespaces:
theme1 (ns)
+ qweqwe (ns)
+ asdasd (ns)
+ zxczxc
theme2 (ns)
+ ertert (ns)
+ fdgdfg (ns)
wiki (ns)
+ dokuwiki (page)
+ syntax (page)
I'd like to show a two level tree so I'd use:
{{indexmenu>.#2|js}}
But I don't want the ''wiki'' namespace to be expanded, so I propose the following syntax (or similar):
{{indexmenu>.#2 .wiki#1|js|}}
This meant that the ''wiki'' namespace will be expanded just one level and I'll see:
theme1 (ns)
+ qweqwe (ns)
+ asdasd (ns)
+ zxczxc
theme2 (ns)
+ ertert (ns)
+ fdgdfg (ns)
wiki (ns)
> Implemented something similar in 2.6. With [[plugin:indexmenu#syntax|optional namespaces]] option, you can set custom open levels for every namespace you want, but you can not close a level if it's already open by another request. In your case, wiki is open by #2 request,so the working syntax should be:
{{indexmenu>.#1 .:theme1#2 .:theme2#2|js|}}
--- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-10-07 20:44//
\\
\\
--- I use no JS, so I would like an option to hide default pages and instead set a link in the namespace title.
Example:
theme1
|_ theme1-2 (ns)
|_ start
|_ add1
|_ add2
would be
_theme1_
|_ theme1-2 (ns)
|_ add1
|_ add2
with a link on theme1 which drives to theme1:start
Thanks -- [[mmichel@chez.com|mathiasm]] 2006-06-24
> Done --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-09-11 00:26//
>> Thanks !
>> I think it will be better if such links have the look of pages links instead of section links. Some users will not choose them because they think it drives to an index and not to a page? Your opinion? [[mmichel@chez.com|mathiasm]] 2006-11-09
>>> Yes, it's should be easy to implement, I'll try to code it in next release (out in 1 or 2 days).But i'm not sure what look you'd like. In nojs, it is the same on both except of the bullet icon, square instead of triangular. Do you mean that? --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-11-09 01:51//
>>>Added in 2.8. You can customize links CSS property of index namespaces and headpages (ns that link to a page). By default index namespaces are displayed as missing link.--- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-11-10 01:00//
>>>>I saw the declarations in style.css but was unable to make, with nojs, namespaces that link to a page the same look as links to page (green in default template). Actually, I didn't find any reference to #index_menu_head in the menu. try http://www.phpwebgallery.net/doc2/doku.php. The first namespace called "aide" should look as "Personnaliser". I only see the class ''wikilink1'', the same as standard links, while namespaces that links to index have ''idx_dir'' class. Any help on how to declare that is appreciated (may be a bug). [[mmichel@chez.com|mathiasm]] 2006-11-11 02:22
>>>>> Oops, you are right, I coded it too quickly and I forgot something. This feature works only if you enable the indexmenu "headpage" option. However if you don't need headpages, manually changing the line 53 of [[plugin:indexmenu:source:syntax|syntax.php]] with the above one, should make the trick:
//Nojs DokuWiki index
$output.=html_buildlist($data,'idx',array($this,"_html_list_index"),"html_li_index");
>>>>> Then #indexmenu_idx with value %%__existing__%% value, gets the color you want depending on your template (DokuWiki CSS reference is [[devel:css|here]]). Let me know ;) --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-11-11 04:16//
>>>>>> I should have done something bad, since it works for now. Thanks! I also removed the ''color: __missing__ ;'' of #indexmenu_idx, to achieve the effects I want. [[mmichel@chez.com|mathiasm]] 2006-11-13 22:28
----
\\
:!: I know this is probably the wrong place to be asking this but I'm not sure if there is a FAQ section for this plugin. I am trying to use the plugin at the moment but I am having some difficulty with configuration. I notice for your examples that you can have a space in the name of the links, is there a separation between the link title and the page/namespace? The reason I ask is that I have pages that are named x but would prefer to show the link to them in the index menu as y. Any help much appreciated mrdavidcullen@gmail.com. Once again sorry for editing this.
>If your problems persists, you can write me an email ;). --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-09-11 00:26//
----
Sorry if this is out of place, but I'm wondering about a "simple" use feature of this plugin. Whenever someone goes to a page for which no page exists, but is also a namespace, just display an index starting at that namespace. So, if I have the following tree:
_root_
|_ namespace1.txt
|_ namespace1
|_childOfNamespace1
|_ namespace2
|_childOfNamespace2
...and I navigate to root:namespace1, then I should get the contents of namespace1.txt. If I go to root:namespace2, then I should see an index that uses namespace2 as a root node. Doesn't seem too difficult given all that is in place already. What do you think? --- //[[chphilli+dokuwiki@gmail.com|Chris Phillips]] 2006-08-17 12:03am//
>I think it could not be done inside plugin, but you should get it adding //%%{{indexmenu>.|js}}%%// inside ''/dokuwiki/inc/lang/en/newpage.txt'' (//en// for an English DokuWiki language) and, if you need persistency, you can use the Frank Baron patch as described in "Tree persistency" subsection (the patch will be included in next indexmenu version). --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-08-25 15:47//
>>> Solved ;) --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-07-10 16:41//
===== Headpages =====
Replace namespaces IDs with titles of appropriate pages, hide those pages from list to make clear hierarchical structure would be nice feature even for build-in CONTENT function.
For ex.:
**Now you see:** (when //useheading// option is on. Everything looks better with it)
>namespace_id
Inside Page Title 1
Inside Page Title 2
Namespace Page Title
**Looks better:**
>Namespace Page Title
Inside Page Title 1
Inside Page Title 2
//[[bru@inbox.ru|Gleb]]//
> Done in 2.0 version. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-06-13 00:47//
>>Really?? And how can I use it?\\
>>I have in ns root a namespace called "linux" and a page called "linux.txt". The content of "linux.txt" is:
==== GNU/Linux ====
qqweqweqweqweqweqweqweqweqweqwe
and $conf['useheading'] = 1;\\
But in the tree I see the following:
linux (ns)
+ qweqwe (ns)
+ asdasd (ns)
+ zxczxc
web (ns)
+ ertert (ns)
+ fdgdfg (ns)
GNU/Linux (page)
and I want to see:
GNU/Linux (ns)
+ qweqwe (ns)
+ asdasd (ns)
+ zxczxc
web (ns)
+ ertert (ns)
+ fdgdfg (ns)
**Question:** In the last case, how to edit the page "linux.txt" if it's "hidden"?
>>> Read about this in [[plugin:indexmenu#namespaces_title_and_link]]. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-06-23 13:15//
>>>>Yes, it works! I'm sorry because didn't realize about the needed changes in local.php.
>>>>Me again. It works but only in the first level. In the following levels the namespaces appear without text in indexmenu. I mean:
pages/
pages/start.txt ( ===== Start here ! ===== )
pages/linux
pages/linux/linux.txt ( ===== GNU/Linux ===== )
pages/linux/theme1
pages/linux/theme1/theme1.txt ( ===== Theme 1 ===== )
pages/linux/theme1/article1.txt ( ===== Article 1 ===== )
pages/linux/theme1/article2.txt ( ===== Article 2 ===== )
>>>>I have written {{indexmenu>..#2|js}} in "/usr/share/dokuwiki/inc/lang/en/index.txt so I see the following indexmenu in Index page:
Start here !
+ GNU/Linux
+ <-- Opps, it should appear "Theme 1", isn't it? but it appears empty.
- Article 1
- Article 2
- Start here ! <-- How to hide this (the start page)??
>>>>>Maybe it's a simple cache problem, have you read [[plugin:indexmenu#about_caching]]?. At this moment I've found in indexmenu only two bugs, one concerns the use of ''nons'' option together with headpages and the other concerns ACL denied namespaces that are showed. I've already patched them and next release will be out in few days.
>>>>>About "Starts here", it's resolved in 2.3 version. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-06-25 14:53//
>>>>>>Yes, after some time I have realized that it's a cache issue. I always try with //?purge=true// but it doesn't work always, I think is more effective to create a new page.--- //[[ibc@euskalnet.net|Iñaki]] 2006-06-24 02:23//
===== headpage variant =====
Let's pick the example above, with a slight adaptation based on the way a namespace-based wiki (at least mine) actually grows (one starts with page X, and when too big for instance, updates X to become an index/summary/entry point of namespace X/ with sub-pages):
pages/
pages/start.txt ( ===== Start here ! ===== )
pages/linux
pages/linux.txt ( ===== GNU/Linux ===== )
pages/linux/theme1.txt ( ===== Theme 1 ===== )
pages/linux/theme1
pages/linux/theme1/article1.txt ( ===== Article 1 ===== )
pages/linux/theme1/article2.txt ( ===== Article 2 ===== )
Can I get something like this?
- Start here !
+ GNU/Linux
+ Theme 1
- Article 1
- Article 2
It looks possible by adapting a few lines in the plugin to allow both (linux/ & linux/linux.txt but also linux/ & linux.txt at the same level). Thanks for opinion and some help on the changes required. Franck
Update: I have managed to get this to work; but I had to loop on the $data array to identify files and folders and then to check if some files conflict with folders of the same name. No noticeable performance issue though.
--- //[[frbaron@gmail.com|Franck Baron]] 2006-07-19 15:06//
> Done ;). Try the new headpage values in order (:same:,:inside:). --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-09-11 00:26//
===== Tree persistence =====
I have not been able to persist the current state of the tree. What I mean is that if I open node 1, then node 2, then click on a page... then go back, I would expect to find the tree in the same node 1 open, node 2 open situation. I checked on the //dtree// homepage, in that case the tree is persisted after back button, page close... etc. There are multiple cookies created, but overall no persistency. Does someone have the same issue?
Thanks
--- //[[frbaron@gmail.com|Franck Baron]] 2006-07-19 15:06//
>For sure, you get no persistency when the page which contains indexmenu is not cached. In my (few) tests,on cached pages, it works. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-07-19 22:33//
>> True, persistency first requires the cookie name to be preserved. For now, at each refresh the cookie id is regenerated (personally, I have chosen to build the cookie id on the page name it is in). Second, the core of issue appears to be that the syntax.php adds an openAll or closeAll at the end of the tree build. This is also executed at every tree refresh, this overrides the cookie. I have chosen to comment those options (basically breaking support for the #[n] syntax); I gain the fact my tree is kept across any session.
Those behaviours should be made configurable, in a similar way as proposed below for the filtering.
//Limiting the caching effect//
212 $extra="";
+ 213 $jsns= str_replace('..', 'root', $ns);
+ 214 $jsns= str_replace(':', '_', $jsns);
| 215 $js_name="indexmenu_".$jsns; //_".uniqid(rand());
216 $out = "\n";
//Making sure the cookies are used//
288 $out .= "document.write(".$js_name.");\n";
289 //level 1 closes the tree
| 290 //if ($level==1) $extra =$js_name.".closeAll();\n";
291 //no opened levels
| 292 //if (empty($extra)) $extra=$js_name.".openAll();\n";
293 $out .= $extra;
Regarding, the #[n] syntax, I was initially expecting it to be used to limit the size of the tree being used. If you have a big wiki, with a lot of pages, it might become too heavy. And that would enable us to control the size of the index...
--- //[[frbaron@gmail.com|Franck Baron]] 2006-07-21 11:43//
Thank you very much for pointing this out - it's very useful modification! --- //[[alex@facile-it.de|Alexander Behringer]] 2006-08-18 14:01//
> Thanks to you, I hope it's done. The id#page options makes the work. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-09-11 00:47//
>I've searched a way to implement a limit size option, but it needs the rewriting of a core function. The result will be an easier lost of indexmenu functionality in case of DokuWiki upgrade, so I prefer don't implement it, at least till core function will have by its own. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-10-07 21:09//
---
Thank you for this excellent plugin.
I've needed to skip some namespaces (discussion, wiki, playground, etc) from the index and made small patch:
--- syntax.php.orig 2006-07-18 16:02:35.000000000 +0400
+++ syntax.php 2006-07-18 16:01:34.000000000 +0400
@@ -281,6 +281,12 @@
$id = pathID($file);
+ // check files/folders to skip
+ if (isset($conf['plugin_indexmenu']) && isset($conf['plugin_indexmenu']['skip_index']) &&
+ preg_match($conf['plugin_indexmenu']['skip_index'], $file))
+ return false;
+
+
//check hiddens
if($type=='f' && isHiddenPage($id)){
return false;
Together with new plugin option
$conf['plugin_indexmenu']['skip_index']="/\/(discussion|wiki|playground)(\.\w+)?$/i";
it do the job. Hope, you'll find it useful.
--- //[[ilya@lebedev.net|Ilya Lebedev AKA WingedFox]] 2006-06-24 02:23//
>Oh, Thanks ilya. I 'll add code in next indexmenu version ;). --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-07-19 22:33//
>> Samuele, have you received the email I sent you from ilya[at]lebedev[dot]net? If not, send me blank email, plz. --- //[[ilya@lebedev.net|Ilya Lebedev AKA WingedFox]] 2006-08-01 13:23//
Another small extension to the skip_index for directories: skip_files.
(skip_index doesn't seem to skip files.)
So I added the following to syntax.php...
if($type == 'd'){
// Folders to skip
if (isset($conf['plugin_indexmenu']['skip_index']) &&
preg_match($conf['plugin_indexmenu']['skip_index'], $file))
return false;
if ($opts['level'] == $lvl) $return=false;
if ($opts['nons']) return $return;
} elseif ($type == 'f' && !preg_match('#\.txt$#',$file)){
//don't add
return false;
+ // Next clause to skip node files
+ } elseif ( $type == 'f'
+ && isset($conf['plugin_indexmenu']['skip_file'])
+ && preg_match($conf['plugin_indexmenu']['skip_file'], $file)
+ ) {
+ return false;
}
Then something like this in local.php filters out files...
$conf['plugin_indexmenu']['skip_file']="/(copyright|navigation|talk|site_notice)/i";
//[[jnews@jonbuckingham.me.uk|Jon B]] 2006-09-21 18:14//
>Patch added. Thanks --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2006-10-07 20:55//
===== Include section titles =====
Hi Samuele and all!
Is there a way to include section titles in an index. So next level after a page would be its sections.
Thanks!
Blaz
>Hi, I'm sorry but currently the plugin does not support this. And I've no idea how I could implement it (for instance, if the next level of a page is its sections, what level should I put lower page in?). Could you make a visual sample?
--- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2007-01-14 11:30//
>> Hm, actually pages are usually on the lowest level, aren't they? Anyway, it would work like this: if this option was set in conf.man., the pages would still have the page icon, with a '+' in front of it. That would enable you to expand it as a 'folder' to show sections. I'm not sure it is a reasonable feature, maybe somebody else has an opinion?
Regards,
[[bmertelj@yahoo.com|Blaž]] 18.1.2007 9:02
> I'm implementing something that in the [[..:indexmenu#development]] release. You can test it on my site. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2007-05-19 12:25//
===== Sort Option =====
Hi, I am using the indexmenu plugin along with the sidebar template to great effect. The only draw back is that the although I am using page headers as names, the sort order is still based on file/folder name which can be a little confusing to users. It would be very nice to have to option to sort by page title instead of filename; this is especially useful for those in my situation where a namespace might start off with one foldername, but need to be "renamed" to be more descriptive - and to allow group next to other similar namespaces in the menu.
Thanks
> Good idea, but unfortunately it's harder than it could seem. I'll look for a solution in next 3.1 version.
>Another option is also to offer a sort option based on some kind of page meta data. The fullindex plugin attempts to do this with an "identifier" key that you can use to assign a pagenumber to each page/namespace root, and then sort the index based on this. This idea is heaps powerful and useful, but does not appear to have caught on elsewhere. Either way, the fullindex plugin only replaces the "idx" DokuWiki command, and does not apply to any inserted menus. Any chance that something like this could be integrated into indexmenu? --Ryan
>> Ummm, let sort pages by a metada number could be useful, I'll look for an implementation. The main problem with sorting in indexmenu is that i've not yet find a way to sort namespaces in a "cheap way", so for the moment I prefer don't sort them. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2007-07-25 09:53//
>>> Thanks for the info! Please allow me to expand on this thread a bit, perhaps just to help emphasize the importance of sorting options in an index plugin. The person that started this thread/feature-request was right-on when mentioning the importance of being able to re-order the items in an index, this is especially important for documentation projects (which DokuWiki is targeting). As documentation develops, sections/namespaces get inserted and moved often, and I see a key need reflect this in the index. A user can sort by filename and use names like 010_preference, 020_section_x, etc., and this leaves room to add sections while maintaining the order, but what about when a section must be moved (especially if it's a namespace)? The tsort option really helps, and if it were possible to apply it to sort namespaces too (currently not available), the whole index order could be maintained by simply using outline numbering in the first heading of all pages (totally dynamic). I mentioned the metadata idea above because, IMHO, this seems like the ultimate method to sort by... a totally dynamic and "invisible" method to maintain indexes that must follow a specific order. Thanks! Just wanted to share my ideas as I explore DokuWiki and all these fantastic plugins! --- //[[ryan.jake@gmail.com|Ryan Jacobs]]//
>>>> Okay, sort by metadata (and date creation) is implemented and it'll be out next week as 3.9 release, after some cosmetic changes. Still no namespace sorting, only pages sorting. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2007-08-26 10:53//
>>>>> Thanks Samuele! I look forward to checking it out (sort options and new scrolling, etc.). Please keep us informed on any namespace sorting options, etc (if that's still a priority in your eyes too). Thanks again! --- //[[ryan.jake@gmail.com|Ryan Jacobs]]//
>>>>>> Ok. I hope for the next release. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2007-08-30 21:33//
>>>>>> It's implemented in the [[..:indexmenu#development]] release (this a [[http://samuele.netsons.org/dokuwiki/media/indexmenu-4.0beta.zip|link]] to its last zip, but at the moment the web site is down). Namespaces are sorted according to msort and (d|c)sort options, but I'm thinking to add another option for them. I need heavy testing before release it. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2007-09-28 11:05//
===== Don't show pages =====
I would like to show only the ns in the menu. I use it as a sidebar and if there are too many pages in a ns it is not well arranged.
Is there any possibility like the "nons" syntax to create a "nopage" syntax?
This means: Exclude single pages from index. It shows only the namespaces.
--- //[[fgmelle@osnanet.de|Sebastian E]] 2008-07-31 12:26//
>Not currently. But before thinking to implement it, I'd like to understand what you exactly mean with "not well arranged", just because I don't like workarounds if a problem can be solved directly. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2008/07/31 13:00//
>>I have the same idea as Sebastian : I wish to let the index in the side bar with all nodes closed and root pages hidden two : it is not that they are "not well arranged", because they are alphabetically sorted, but that there are so many pages in root namespace that I can't insert my index anywhere 8-O --- //[[hugoborrell@gmail.com|NewMorning]] 2008/08/05 13:44//
>>>I mean that if there are for example 100 pages in one ns they are all shown in the sidebar. I think it is sometimes better to show only the namespaces. To assure good overview. For all ns I could simply create a headpage to show them. --- //[[fgmelle@osnanet.de|Sebastian E]] 2008-08-06 13:09//
>>I'm just starting with DokuWiki and navigation is my first hurdle; Our site will have many names spaces and some deep hierarchies. I too need a way just to display the top level name spaces, perhaps two levels down, but now pages. Then, just to add to the mix; my wish list would include a way to include navigation for all items in the namespace and below it in the default start page for any name space, even if such a start page had not been created. i.e. if someone makes a page like this ..:newNameSpace:coolIndexPlugIn... there is no start page created for the name space "newNameSpace" what would be really super would be to have the an indexmenu auto insert for the name space in a default start page. So, in the side bar they see only top level names spaces, no pages, but on any start page, the get the full navigation for that names space...this way someone can rapidly navigate across a very complex hierarchy of name spaces just by clicking on different points of the "trace" breadcrumbs or "Your are here" (I'm using monobook at the moment) Your are here root:kingdom:species:mammals:cats:simiens... use clicks on "species" and lands on a start page with an auto index for the whole species names space. Am I dreaming too much? :-) katir 2008/08/09
>>> Katir, take a look at the [[plugin:autosearch]] plugin. I never used it but from its description it should build a list of subpages using indexmenu when a page does not exists. Together with the below new "nopg" option you should get your goal. Please, let we know if this work. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2008/08/26 20:32//
>>>I solved my problem in this way -> In the indexmenu.php go to the function handle(), there you have to insert in row 108 and 109
//plugin options
$nons = in_array('nons',$opts);
//nopages option
$nopg = in_array('nopg',$opts);
//disable toc preview
On the same function on row 165 you have to insert
'js' => $js,
'nopg' => $nopg,
'skip_index' => $this->getConf('skip_index'),
The last thing you have to do is in the function _search_index on line 445
//check hidden and ACL
if (isHiddenPage($id) || auth_quickaclcheck($id) < AUTH_READ) return false;
//Nopg.Dont show pages
if ($opts['nopg']) return false;
//Skip files in plugin conf
Now you can use the syntax 'nopg'. Then every page (AND every NS without an headpage) is not shown any more. --- //[[fgmelle@osnanet.de|Sebastian E]] 2008-08-12 10:32//
>> Thanks Sebastian. Your patch (with some modifications) is available in the [[..:indexmenu#development]] release. Please, report any bug or hint about it. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2008/08/23 12:58//
===== Namespaces as links themselves =====
Example:
* 1
* 1.1
* 1.2
* 1.2.1
* 1.2.2
* 1.3
I would like that "1" be a page itself, as well as "1.2"
Using Index Menu or DokuWiki's index I can see that the page is created under .. or under 1 in the example.
> I'm not sure you mean this, but take a look at [[plugin:indexmenu#namespaces title and link]]. Enable also the hide headpage option. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2009/01/13 10:08//
No is not that... Here I go again: \\
[[Cap06:softbase | **example here**]] \\
[[Cap06:softbase:man]] \\
[[Cap06:softbase:mes]] \\
[[Cap06:softaux]] \\
[[Cap06:softaux:man]] \\
[[Cap06:softaux:mes]] \\
[[Cap06:web]] \\
[[Cap06:web:mes]] \\
[[Cap06:web:web]] \\
But in the index when I click on **example here** I see:
cap06
softbase
man
mes
softbase
The page softbase is not save inside softbase namespace. The same thing with cap06, when I create this page it is saved in another level. If I have a lot of namespaces is going to be difficult for me to have a "pure" and correct index
A possible solution could be adding an intro page inside every namespace so to introduce the whole namespace content I wouldn't use the "namespace itself". What do you think?
> I suppose I still does not understand your request but I try again. First of all, with DokuWiki it's not possible to have a namespace which is also a page. To achieve this, indexmenu use the workaround to "link" a page to a namespace (i call this special page as "headpage"), but it works only inside the indexmenu context. Then it's up to you where to create the headpage, not to indexmenu. So, about your example, if you want create an "intro page" for **%%cap06:softbase%%**, create the **%%cap06:softbase:softbase%%** page then set indexmenu headpage option only with :inside: value, and set hide_headpage option on to hide that headpage from indexmenu tree. That headpage will be still visible in the DokuWiki standard index, but you could replace it with the indexmenu index as explained [[plugin:indexmenu#replace_index|here]].
>If I'm wrong in understand you, please continue this discussion via email.
===== Hide a namespace =====
I would like that in the main menu does not appear some namespaces (such as misc, various, etc...). But those namespaces should be available to edit. (Not [[http://www.dokuwiki.org/plugin:indexmenu?s[]=indexmenu#acl_cache|this]])
I mean, I have a namespace where I saved many editable pages.... But I do not want that people could see that in the indexmenu. It’s OK for me if they reach there only by any link in main pages.
I want that people only reach those places if they
> The [[plugin:indexmenu#skip_index]] option is what you need. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2009/01/23 23:16//
===== Newbie Missing Something Very Basic Here =====
The documentation frequently refers to statements such as %%"{{indexmenu>.#1 .:jack#1 .:june}}"%% which, if I'm reading this right, controls how each page will be eventually indexed depending in other things (??). My only problem on building on this which appears to be so basic is that I have absolutely no idea where to put this statement.
Do I create an new page for it? Do I insert somewhere? The documentation appears to me to be very unclear on this.
I'll also admit that as a DokuWiki newbie who is trying to get up to speed quickly the above notation is confusing as I don't see it reflected in page titles which are, I understand, supposed to be showing me from page on the right to top level namespace on the left. So I'm baffled by the .: notation as it is new to me and unexplained even on the namespace page of the manual where it also appears.
I'm sure this is just a matter of misunderstanding the notation but until then I can't see myself getting further with this plugin.
Thanks in advance
John Wilson
ttfnjohn@hotmail.com
>You can insert indexmenu statement in every page you want. Anyway, I suggest you to carefully read the indexmenu syntax page to optimize it for your needs. There is also an indexmenu toolbar button in edit mode for easier use of it. In your example, the first "." notation means "display the tree of the namespace of the page which contains indexmenu statement" closed at "#1" level. So, don't expect that "." will dinamically display the tree of the namespace of the page that the user is displaying (there is the "context" option for this). The next statements refer to the jack and june as subnamespaces of the main namespace (the previous ".") and how to display them (closed or open) --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2009/03/19 10:14//
>Thanks Samuele. I'll have another go at it and see how it goes. Sometimes we newbies do need to be pointed in the right direction and you've been kind in doing just that.!//[[john_wilson@telus.net|John Wilson]] 2009/03/19 08:20//
===== A question about the great right-click contextmenu =====
After experimenting with your marvelous plugin, I decided to use indexmenu as the primary way to add new topics and namespaces to my Wiki. This was easily accomplished using the right-click jsmenu scripts. I have a question though:
* It seems that the top-level namespace (the page root) is considered by indexmenu to be a file not a directory. Therefore if for instance, one menu option in usrmenu.js is:
**'Edit this page...','indexmenu_getid(this.config.urlbase,id)+"do=edit"',1,0,**
then this option will wrongly be enabled when right-clicking on the top-level folder.
Great work! //[[urban@ottosson.org|Urban]]//
> If you think this is a bug, you should report it in the [[..:indexmenu#bugs]] section.
> Does this bug persist in the [[..:indexmenu#development]] release too? If yes, could you report your indexmenu settings? --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2009/07/06 09:39//
> If you root node is an headpage, than, in the context menu, page menu links will be displayed instead of namespace menu links. Try to disable or change this option in the indexmenu settings.
===== psort? =====
Is there a way to sort according to the page, similar to the nsort? Would be helpful if you can direct me to change the code for this.
> All the indexmenu sort options, except for nsort, can be used to sort pages in different ways.
===== FAST nav bar =====
I'm found of this plugin for my sidebar, but my wiki gets pretty big and it seems that the amount of pages makes my navbar CPU consumming, resulting in a very slow result. How can I optimise the navbar options to make it as fast as possible ? I did try many options but probably not the way they should be :
{{indexmenu>..#1|js1 navbar context max#1 maxjs#1}}
Is that the best choice I can make to make it fast ?
> In general it is the best choice, but i'd like to have more details to test it (is your site public?).
> First of all i suppose that "js1" is a typo which stands for "js", then, when exactly does the cpu consuming occur (ie: always or when a namespace is opened and contains a lot of pages (how many?) ) ?
> Supposing that nothing else prevents the page caching, does removing the "context" option change something?
> Could you check if it's installed some other plugin which uses javascript and could interfers with indexmenu (i.e: try to disable all except indexmenu)? --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2009/10/04 21:10//
>>well, the site is not public, you can just see first page [[http://wiki.survie.org/accueil|here]].
>>js1 refers to documentation : maybe I did not understand this line :
| js | JavaScript render method: the index is an expandable tree menu. | Without n, all nodes are open, with it, nodes are open till n level. |
>>Indeed the "context" option did not change anything.
>>I did not try to remove the other plugins, since everything works fine on the whole whith this code :
{{indexmenu>..#1|js navbar}}
It's just that I'm looking for a way to diminish CPU constraint for my poor server :-\
>>When I check the source code of the page, I can see many lines relating to all the wiki pages like
indexmenu_12108424764acb69809e3af.add('bulletin_de_veille:bdv_7',19,2,'BDV 7',0,0,0);
This should only be loaded when asked (i.e.when clicking on the namespace in the index), and i whish it could not be seen if not connected (but it's said somewhere that it is slower, which is why this option is off).
>>> Documentation says "js" not "js1" and it creates a javascript index theme (yellow folders and so on) instead of a standard dokuwiki index theme (like [[http://wiki.survie.org/accueil?do=index|this]]).
>>> What's is not clear to me in your report is if the CPU load affects the client side (the user browser) or the server side (the server hosting your site). The first case can be checked also viewing the site with different pcs. The second case occurs (if it really occurs) only when page cache is purged (look in the indexmenu page for further details). Anyway for both cases, this syntax is the best for your site:
{{indexmenu>..#1|js navbar max#1#1}}
>>> With max#1#1, the "indexmenu_xxxxxx.add" lines should be less because nodes will be loaded when asked.
>>> Just two observation:
>>> At a first look, it seems that the [[..:indexmenu#acl_cache]] option in you site is set to none becasue when i viewed it, i saw the full index of your site (with denied pages). Then i purged it, and i got the correct limited index (without denied pages). This means that until cache is not purged while an authenticated user is logged in, your users will still view the limited index of the anonymous user.
>>> The number of pages that i saw in the cached unlimited index seems not so high and i don't think that they can affect the CPU of your site or your browser, maybe the problem is a bug, a misconfiguration or something else. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2009/10/06 19:46//
>>>>I suggest that documentation could be changed from "Without n, all nodes are open, with it, nodes are open till n" to "Without the max#n(#n) option, all nodes are open, with it, nodes are open till n".
>>>>I tried {{indexmenu>..#1|js navbar max#1#1}}
with ACL_cache set to true : it starts like you describe, with nodes not loaded until asked, but when I ask them to load, a red cross appears (as no pages where listed below this node, or as if access where denied in spite of my connection). I get to an existing page that I know of using the url, the red cross is not shown, the node shows a "-" sign (as if opened) but no page titles are shown below in the navbar index.
>>>>I then disabeld ALL plugins but indexmenu : here is the list :
Plugin aclinfo désactivé
Plugin actionlink désactivé
Plugin box désactivé
Plugin cacherevisionserase désactivé
Plugin censure désactivé
Plugin cloud désactivé
Plugin comment désactivé
Plugin commentsrc désactivé
Plugin dailymotion_videozap désactivé
Plugin database2 désactivé
Plugin dir désactivé
Plugin displaywikipage désactivé
Plugin feed désactivé
Plugin force_preview désactivé
Plugin goto désactivé
Plugin importoldchangelog désactivé
Plugin importoldindex désactivé
Plugin indexmenu désactivé
Plugin lib désactivé
Plugin loginredirect désactivé
Plugin mp3play désactivé
Plugin multitemplate_styleman désactivé
Plugin note désactivé
Plugin orphanswanted désactivé
Plugin pagelist désactivé
Plugin pagemove désactivé
Plugin pageredirect désactivé
Plugin popularity désactivé
Plugin redirect désactivé
Plugin searchindex désactivé
Plugin showlogin désactivé
Plugin tag désactivé
Plugin tagentry désactivé
Plugin vshare désactivé
Plugin youtube désactivé
>>>>I then had to set back indexmenu and multitemplate_styleman to find back the usual template : it worked exacty as you described !
>>>>I set back all of them step by step and... it still worked exacty as you described !
>>>>**The only thing I had done in the meanwhile is clear an empty folder through ftp access (I don't know why Dokuwiki did not do it itself) and clear cache (refreshing a page with ?purge=true). This empty folder might have caused the previous strange behaviour since it remained the only node showing this behaviour (red cross) but for good reason (empty folder).**
>>>>As for misconfiguration you're right : this site is not so big, but I should clean up some plugins + change host which has very low CPU (this is the CPU I want to spare). One more thing : there is a huge amount of pages hidden from index in an "article" namespace : they might cause part of the slow down.
>>>>Thanks for everything (plugin+advices). --- //[[hugoborrell@gmail.com|NewMorning]] 2009/10/08 08:18//
>>>>> You're a little confused about the syntax ^_^. Open/closed is related to the namespaces status (the +/- sign) and it depends on the main and secondary namespaces "n" option, whereas the max option is the way how to retrieved childs of closed namespaces.
>>>>>If it's not an indexmenu bug (and i don't think so), the your issue with the red cross depends only on how you configured the [[plugin:indexmenu#acl cache]]. First of all, you have to know that it can be displayed when ns or pages are denied by ACL for the reasons explained in the [[plugin:indexmenu#about_empty_namespaces]] section.
>>>>>Then, simply, if the indexmenu acl cache is not correctly configured ("true" is not a valid value for it), users could display cached indexmenu trees created for other users with different permissions. This is what probably happened to you until you disabled plugins, one of whose consequences is to purge the cache of all pages.
>>>>>I suggest you to read carefully the [[plugin:indexmenu#acl cache]], [[plugin:indexmenu#about_acls]] and [[plugin:indexmenu#about_empty_namespaces]] sections, and if something is still not clear or does not work as described there, feel free to continue this discussion contacting me via email --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2009/10/08 15:52//.
===== How to get rid of the 'Indexmenu sort number' info blob? =====
I'm trying to use the ''msort'' feature of indexmenu and it is working as expected except for one side-effect: on any page where the ''{indexmenu_n}}'' option is defined I see a blue "Info" bar with something like "Indexmenu sort number: 2" at the top of the wiki page.
The browser is Mozilla Firefox 2.0.0.12. The problem does not occur on IE 6. Also it doesn't appear on the latest version you've got installed on the test site. FYI I'm using DokuWiki version 2007-06-26b with Monobook 07202007 template.
I've tried [en|dis]abling debugging using ''$conf['allowdebug'] = 0;'' to no avail. Any suggestions?
--- SSMC Feb-18-2008
> Sorry, but I forgot to add its explanation in this wiki. The sort message is displayed **only** to wiki admins and it's useful to check your pages order. Anyway, you can disable it also for admins by unchecking the indexmenu show_sort option in the [[plugin:config|Configuration manager]]. --- //[[samuele@samuele.netsons.org|Samuele Tognini]] 2008-02-18 19:30//
>> Thanks! That explains the on-again-off-again observations using different ids. I didn't make the connection though as I have some local browsers with auto-login as an admin for working. Thanks again. --- SSMC