Советы по использованию XWiki
Last modified by Eugen Colesnicov on 2010/05/19 22:57
1) Как сделать чтобы та или иная панель была недоступна для не-администраторов
Добавить в код панели:
#if ($xwiki.hasAdminRights())
#panelheader('My Panel')
…
#panelfooter()
#end
2) Как сделать полную переадресацию с WebHome по умолчанию
Добавить в содержимое Main.WebHome:
$response.sendRedirect($xwiki.getURL('Space.Page')) где Space.Page страница, на которую требуется выполнить переадресацию.
3) Как встроить произвольный гаджет
Добавить в содержимое html-snippet и в нем вписать код гаджета
4) Как показать встроенный flash
Добавить flash-ролик в аттачи, а в содержимое вставить:
#\set($\width = "500")
#\set($\height= "500")
#\set($\flashurl = $\doc.getAttachmentURL("filename.swf", "download"))
#\includeForm("xwiki:XWiki.Flash")
5) Как "устроить" показ офисного приложения
а) сохранить в виде html (через openoffice), зааххифировать в zip, приаттачить zip-файл, вставить в содержимое:
#set ($url = $xwiki.zipexplorer.getFileLink($doc, "WikiWedPresentation.zip", "XWikiWedPresentation.html"))
<iframe src="$url" frameborder=0 width=800px height=600px></iframe>
собственно, так можно html в аттаче показывать, хоть целый сайт
б) непосредственно приаттачить документ, и вставить код:
<iframe src="/xwiki/bin/download/documentname.doc" width="100%" height="700px"
optional: frameborder=0 scrolling=0> </iframe>
6) Как установить Lucene-поиск в качестве движка по умолчанию для Панели Поиска
Зайти в редактирование кода Панели Поиска и поменять "Main.WebSearch" на "Main.LuceneSearch". Сохранить.
7) Как получить список аттачей:
а) для child-документов (синтакс xwiki 1.0):
#foreach($attDoc in $xwiki.wrapDocs($xwiki.searchDocuments(", XWikiAttachment att where att.docId =
doc.id and doc.parent='$doc.fullName'")))
#foreach($att in $attDoc.getAttachmentList())
* <a href="$attDoc.getAttachmentURL($att.filename)">${att.filename} (${attDoc.displayTitle})</a>
#end
#end
b) для всего раздела (синтакс xwiki 1.0):
#foreach($attDoc in $xwiki.wrapDocs($xwiki.searchDocuments(", XWikiAttachment att where att.docId =
doc.id and doc.web='${doc.space}'")))
#foreach($att in $attDoc.getAttachmentList())
* <a href="$attDoc.getAttachmentURL($att.filename)">${att.filename} (${attDoc.displayTitle})</a>
#end
#end
c) для произвольного документа (синтакс xwiki 2.0):
{{velocity}}
#set ($attdoc = $xwiki.getDocument("Space.Document"))
#foreach( $attachment in $attdoc.getAttachmentList() )
* [[$attachment.getFilename()>>attach:$attachment.getFilename()]]
\\
#end
{{/velocity}}
d) для текущего документа (синтакс xwiki 2.0):
{{velocity}}
#set ($attdoc = $doc)
#foreach( $attachment in $attdoc.getAttachmentList() )
* [[$attachment.getFilename()>>attach:$attachment.getFilename()]]
\\
#end
{{/velocity}}
Как вывести все иконки на тулбар в wysiwyg-редакторе:
- открываем templates\macros.vm
- находим строку plugins: '$xwiki.getXWikiPreference("wysiwyg.plugins", В этой строке указываются те "плагины", которые будут подгружаться, но сам вид тулбаров настраивается ниже.
- В найденную строку добавляем через пробелы (место не имеет значения) - color font justify - только этих трех "плагинов" нету в варианте по умолчанию.
- Теперь в строке toolbar: '$xwiki.getXWikiPreference("wysiwyg.toolbar" добавляем сами иконки. вот полный вариант:
"bold italic underline strikethrough teletype | subscript superscript | justifyleft justifycenter justifyright justifyfull | unorderedlist orderedlist | outdent indent | undo redo | format | fontname fontsize forecolor backcolor | hr removeformat symbol"
- символ "|" означает строчный разделитель, символ "/" - разбивает тулбар на несколько строк.
Как вставить разрыв страницы при печати?
First paragraph
(% style="page-break-before:always" %)
Second paragraph
Вы можете иметь больше чем 1 блог в вашем вики и можно создавать блоги для каждого space. Для этого откройте путь
:///xwiki/bin/view/Blog/Management и создайте новый блог.
Как сделать чтобы в Print preview показывалось только содержимое страницы и ничего более.
Открыть файл print.css в папке с используемым скином и добавить строку:
#headerglobal, #hierarchy, #document-title, #document-info, #xdocFooter, #docextrapanes,
в раздел /* Hide unneeded stuff */, после строки #globallinks, #footerglobal,
Как обращаться к аттачу и документу
#set ($attDoc = $xwiki.getDocument("Main.Files"))
#set ($urlAtt = $attDoc.getAttachmentURL("File.xml"))
[My Attachment>$urlAtt]
Разрыв страницы:
First paragraph
(% style="page-break-before:always" %)
Second paragraph
Чтобы найти все child-страницы от этой нужно писать:
#foreach($childDocName in $xwiki.searchDocuments("where doc.parent=’$doc’ order by doc.creationDate"))
* [$childDocName] ($childDocName)
#end
Чтобы получить название страницы используйте:
$doc.title
Список страниц в разделе
#foreach ($item in $xwiki.searchDocuments("where doc.web='MySpace'"))
* [$item]
#end
Upgrade:
Перечень странич для исключения:
XWiki.XWikiPreferences - настройки самой wiki
XWiki.WebPreferences - настройки разделов
Main.WebPreferences
SandBox.WebPreferences
XWiki.XWikiAllGroup - список пользователей
XWiki.AdminGroup - список администраторов
XWiki.XWikiAdminGroup - ???
Main.WebHome - начальная страница
слетело членство пользователей в группе администраторов и установка лого.
Стандартный список аттачей к текущей странице и примечание о переходе:
== Содержание: ==
* **[[Постановка задачи>>SarcinaTehnologicaUzuraAnvelope]]**
{{velocity}}
#set ($attdoc = $doc)
* **[[Прикрепленные файлы:>>$doc?viewer=Attachments]]** - нажмите для добавления/редактирования.
#foreach( $attachment in $attdoc.getAttachmentList() )
** [[$attachment.getFilename()>>attach:$attachment.getFilename()]]
#end
{{/velocity}}
Разные возможности просмотра добавляются если к стандартной строке добавить:
?viewer=attachments - просмотр только аттачей
?viewer=code - просмотр исходного кода
You can control whether to display Comments/History/Attachment/Information sections or not by setting some velocity variable to "no":
#set ($showcomments = "no")
#set ($showattachments = "no")
#set ($showhistory = "no")
#set ($showinformation = "no")
To remove them all you can set:
#set($docextras = [])
Ссылка на файл на другой странице (и в другом разделе):
[[Приказ о создании рабочей группы>>UCS.UCSWorkMaterials@UCSOrdin290.pdf]]
Просмотр офисных документов через GoogleDocs Viewer:
<iframe src="http://docs.google.com/gview?url=http://infolab.stanford.edu/pub/papers/google.pdf&embedded=true" style="width:600px; height:500px;" frameborder="0"></iframe>