I too am a newbie to XWiki. I am now using this code which works well. I
am however not conversant with Velocity but would suggest the following
option, essentially folding subdirectories. In this mechanism you only
see structure down to the current document. If you go up a level
documents below are folded away. I dont know if this is possible with
Velocity?
I agree with your comments about "Create" new page and new Space.
Ditto syntax highlighting
I use Eclipse which has a nice contextual Velocity editor
Zdenek Machac wrote:
Halo,
I am only beginner in xwiki but I have two small modifications which
can improve usability of xwiki.
1) modification of panel "Create" to allow automaticaly set parent
page to actual page
There is only:
- hidden input 'docFullName' where is stored actual page full name
- text input 'parent' where can write parent full name but if you
focus this input there is filled value of hidden input
Modification is adding this lines after input 'title' in Create panel
source
<input type="hidden" id="docFullName"
value="$doc.getFullName()"/>
Parent page:
<input id="xwikidocparentinput2" type="text"
name="parent" value=""
class="panelinput" style="margin:auto;"
onfocus="if(this.value=='')
this.value=document.getElementById('docFullName').value;"/>
2) modification of panel Navigation
it will be nice to have pages in navigation in hierarchy - first level
pages without parent and next levels pages with their parents
My modification is not ideal (one hour learning velocity, programing
and testing) but it works.
There are only 3 levels because more levels are not allowed by wiki
syntax for lists (therefore I created new panel where is all docs in
actual space for our instalation of XWiki beta3 - I look forward to
next releases).
There is full source code:
(code between ## START Second level and ## END Second level
is new and in first level is modified only $hql definition)
#panelhiddenheader("Navigation")
#set ($hiddenSpaces = ["XWiki", "Admin", "Panels"])
#set ($hiddenPages = ["Main.WebRss", "Main.WebSearch",
"Main.BlogRss","Main.Test", "Blog.Macros",
"Main.TagsRss",
"Main.Ouverture", "Main.WikiLaunch",
"Main.RegisterNewUserAction",
"Main.SpaceIndex", "Blog.Category"])
#set ($blackListedPages = ["WebPreferences"])
<div id="xwikinavcontainer">
#set($spaces = $xwiki.spaces)
#set($i = 0)
#set($spacecount = 0)
<div id="xwikinav">
#foreach($space in $spaces)
#if (!$hiddenSpaces.contains($space))
#if ($doc.web == $space)
#set ($spacecount = $i)
#end
#set($i = $i + 1)
<div id="xwikinav${space}">
<div id="xwikinav${space}Header"
class="accordionTabTitleBar"><h6>$space</h6></div>
<div id="xwikinav${space}Content"
class="accordionTabContentBox">
## START First level (pages without parents)
#set($hql = $xwiki.searchDocuments("doc.web='$space' and
doc.parent=''
order by doc.name"))
#foreach($page in $hql)
#if (!$hiddenPages.contains($page))
#set($dotIndex = $page.indexOf(".")+1)
#set($pageName = $page.substring($dotIndex, $page.length()))
#if (!$blackListedPages.contains($pageName))
#if ($doc.fullName == $page)
- *$xwiki.getDocument($page).name*
#else
- [$page]
#end
#end
## START Second level
#set($hql2 = [])
#set($hql2 = $xwiki.searchDocuments("doc.web='$space' and
doc.parent='$page' order by doc.name"))
#foreach($page2 in $hql2)
#if (!$hiddenPages.contains($page2))
#set($dotIndex = $page2.indexOf(".")+1)
#set($pageName = $page2.substring($dotIndex, $page2.length()))
#if (!$blackListedPages.contains($pageName))
#if ($doc.fullName == $page2)
-- *$xwiki.getDocument($page2).name*
#else
-- *[$page2]*
#end
#end
## START Third level
#set($hql3 = [])
#set($hql3 = $xwiki.searchDocuments("doc.web='$space' and
doc.parent='$page2' order by doc.name"))
#foreach($page3 in $hql3)
#if (!$hiddenPages.contains($page3))
#set($dotIndex = $page3.indexOf(".")+1)
#set($pageName = $page3.substring($dotIndex, $page3.length()))
#if (!$blackListedPages.contains($pageName))
#if ($doc.fullName == $page3)
--- *$xwiki.getDocument($page3).name*
#else
--- [$page3]
#end
#end
#end
#end
## END Third level
#end
#end
## END Second level
#end
#end
## END First level
</div>
</div>
#end
#end
</div>
</div>
<script type="text/javascript">new Rico.Accordion( 'xwikinav',
{panelHeight:'250',onLoadShowTab:'$spacecount'} );</script>
#panelfooter()
3) next I have one question: Can I deny creating new space to all user
except admin?
4) another one small question: Is there some plugin to syntax
highlight source codes? Macro {code} is very poor. I was working on
syntax highlighting source codes in html on our university (I am staff
of this university) for our documentation "server" (static pages). I
have implemented that in Java for JAVA, XML, SQL source codes.
If there isn't such plugin I would like to implement it and give it to
XWiky community.
Zdenek Machac
Masaryk University
Czech Republic
------------------------------------------------------------------------
--
You receive this message as a subscriber of the xwiki-dev(a)objectweb.org mailing list.
To unsubscribe: mailto:xwiki-dev-unsubscribe@objectweb.org
For general help: mailto:sympa@objectweb.org?subject=help
ObjectWeb mailing lists service home page:
http://www.objectweb.org/wws