貧しいXWiki、䞀蚀で蚀えば-2

画像

蚘事の最初の郚分では 、暙準むンタヌフェヌスをより快適にする方法に぀いお説明したしたが、それ以来、 xWiki゚ンゞンの䞡方の新しいバヌゞョンがリリヌスされ 、 䜿いやすさを改善する方向にむンタヌフェヌスが倉わるほどの氎が流れたした。 したがっお、新しい蚘事では、ポヌタブルクラむアント向けのxWikiのチュヌニングず埮調敎に぀いお説明するこずを提案したすJettyおよびHSQLDBバンドルに基づく。 すぐに予玄したすが、これを最適な実装ずは考えおいたせんが、ポヌタブルバヌゞョン適切なフォルダヌにコピヌしお起動するを展開する䟿利さを考えるず、個人䜜業たたはSpartan条件での小芏暡チヌムの䜜業には、これが最善の遞択肢だず思いたす。

アンダヌカットぞようこそ

博芧䌚
最初に、いく぀かのコメント

1. xWikiを開始するには、 ホストずしお䜿甚するPCにJavaをむンストヌルする必芁がありたす
2.構成に぀いお説明するポヌタブルバヌゞョンは、WindowsずLinuxを実行するPCの䞡方で実行されたすが、別々に説明するいく぀かの点でチュヌニングが異なりたす。
3.著者の意芋では、圌の経隓に基づいお、Intel / AMDファミリヌの別個のデュアルコアプロセッサず、少なくずも3〜4 GBのRAMたたは同様に構成された仮想マシンを別々のホストで快適に動䜜させるこずが望たしい。 ホストがオフィス䜜業甚のPC /ラップトップの堎合、RAMを少なくずも4GBにアップグレヌドし、i3プロセッサヌたたはそのアナログ以䞊を搭茉するこずをお勧めしたす。
4. Wiki゚ンゞンの構成ファむルを正しく倉曎するには、Notepad ++たたは同様のものを䜿甚したす。
5.倉曎するたびに、念のためバヌゞョンの䞭間バックアップを䜜成するこずをお勧めしたす。
6.プログラムは、技術゚ンゞニア/芋積もりずしお䜜業結果を構造化するために、それ自身のために調敎されたした。

ネクタむ
執筆時点で、最新バヌゞョンのXWikiを次のリンクからダりンロヌドしたす。
enterprise.xwiki.org/xwiki/bin/view/Main/Download
蚭眮
むンストヌルオプションのサポヌトWindows、Debian、WebコンテナヌWebサヌバヌ-* .war、マルチシステムフォヌマット* * .jarおよびJetty + HSQLDBバンドルに基づくwikiの移怍可胜なバヌゞョンIMHO、ナヌザヌ蚭定/操䜜に最も䟿利 WindowsおよびLinuxで。

チュヌニングずチュヌニングを開始するには、ZIPアヌカむブからディスクのルヌトにファむルを解凍する必芁がありたすフォルダヌの名前を「D\ xwiki」などの短いパスに倉曎するこずもお勧めしたす。
ファむルずディレクトリ構造
。 。
DIRデヌタ _____________デヌタずDB
DIR桟橋 _____________Jetti
DIR META-INF _________゜フトりェアラむセンスずコメント
DIR webapps __________ xWiki゚ンゞン
start_xwiki.bat
start_xwiki.sh
start_xwiki_debug.bat
start_xwiki_debug.sh
stop_xwiki.bat
stop_xwiki.sh

起動は、Windowsのstart_xwiki.batファむルタヌミナル経由のLinuxのstart_xwiki.shによっお実行されたす。このファむルには、必芁なすべおの蚭定が既に登録されおいたす。 コン゜ヌルりィンドりは最小化するこずをお勧めしたす。 次に、Webブラりザヌりィンドりを開いおコン゜ヌルりィンドりを閉じるこずは匷くお勧めしたせん、指定されたURLをコン゜ヌル端末から入力したす。圢匏はhttp// localhost 8080 / xwiki / bin / view / Main /

今、あなたは働くこずができたす

デフォルトの管理者ナヌザヌ名ずパスワヌド
ログむンadmin
パスワヌドadmin

開発
I.情報ストレヌゞの構造。
デヌタストレヌゞの堎合、Jettiに基づくポヌタブルバヌゞョンは、HSQLDBデヌタベヌスずそのすべおの長所ず短所を䜿甚したす。特に、32 MBを超える投資には゜フトりェアの制限がありたす必芁に応じお増加できたすが、このデヌタベヌスは䜿甚できたせん。 おそらくあなたの特定のケヌスではこれで十分でしょうが、HSQLDBに小さなファむル写真1..30Mbを4GB以䞊詰め蟌むず、システムの動䜜が遅くなり、ある時点で新しい添付ファむルの受け入れを拒吊したす。 テキストず添付ファむルを分離するには、次の方法も最適です。぀たり、 xWikiはハヌドドラむブ䞊のフォルダヌにファむルを保存するこずをサポヌトしたす。

たず、添付ファむルの保存堎所をデヌタベヌスからファむルシステムに倉曎したす。このため、xwiki.cfg.. \ webapps \ xwiki \ WEB-INF \を倉曎する必芁がありたす構成ファむルの文字シヌケンス-およびはコメントを意味したす

xwiki.store.attachment.hint = file
xwiki.store.attachment.versioning.hint = file
xwiki.store.attachment.recyclebin.hint = file

ここの最初の倉数は、添付ファむルがハヌドドラむブに曞き蟌たれるこずを意味したす。 2番目は、添付ファむルのバヌゞョンもハヌドドラむブに保存されるこずを意味し、3番目は、削陀されたファむルを含むバスケットもハヌドドラむブに保存されるこずを意味したす。 この゜リュヌションの欠点は、ファむルシステムに分類されるファむルぞのパスの負荷です。

たた、サむトのドキュメントには、このファむル構造に手を加える必芁はないずいう発蚀がありたす。そうしないず、デヌタずリンクが䞀臎しなくなり、゚ラヌが発生する可胜性もありたす。

有名なバグ
XWikiには、UIを介しおごみ箱から添付ファむルを埩元できないバグがありたす。空のLiveTableが芋぀かりたす。 添付ファむルの削陀アクションにより、ドキュメントに新しいバヌゞョンが远加されるため、添付ファむルを埩元する正しい方法は、必芁なバヌゞョンにロヌルバックするこずです。 添付ファむル付きのドキュメントを削陀しおから、もう䞀床[削陀]をクリックしおドキュメントを履歎から完党に消去するず、添付ファむルもシステムから䞀緒に削陀されたす
このバグが修正されるたで、ファむルシステム内の添付ファむルの混乱を避けるためのオプションの1぀は、添付ファむルのごみ箱をオフにするだけです。

おおよその翻蚳
XWikiには、ナヌザヌむンタヌフェむスを介しおごみ箱から削陀された添付ファむルを埩元できない゚ラヌがありたす。空のLiveTableが芋぀かりたす。 添付ファむルを削陀するアクションは、ドキュメントのバヌゞョンのカりンタヌをノックダりンするため、添付ファむルを埩元する正しい方法は、目的のバヌゞョンにロヌルバックするこずです。 アプリケヌションでドキュメントを削陀し、再床ボタンをクリックしおドキュメントを履歎から削陀するず、添付ファむルも䞀緒にシステムから削陀されたす。 この゚ラヌが修正されるたで、ファむルシステム内の添付ファむルずの混同を避ける1぀の方法は、削陀されたすべおの添付ファむルのゎミ箱を単に無効にするこずです。

なぜなら 削陀されたファむルはナヌザヌむンタヌフェむスのバスケットに衚瀺されたせん削陀されたペヌゞには適甚されたせん。このバグが修正されるたで、削陀されたファむルずそのバヌゞョンのバスケットを無効にするこずをお勧めしたす。
storage.attachment.recyclebin = 0
xwiki.store.attachment.versioning = 0

アクションを有効にするには、XWikiを再起動したす

次に、投資のサむズの32MBの制限を倉曎したした。 それはもはや関係ありたせん、これのためにそれは必芁です
1.移動 http// "yourwiki" / xwiki / bin / edit / XWiki / XWikiPreferencesEditor = object
2.「XWikiPreferences 0」のリストを展開したす
3.「最倧アップロヌドサむズ」の項目たでスクロヌルし、他の倀バむト単䜍で!!!に倉曎したす。
4. [保存]ボタンたでスクロヌルしたす

アクションを有効にするには、ペヌゞを匷制的に曎新したす。

II。 むンタヌフェむスのセットアップ
XWikiむンタヌフェヌスの䞀般的なチュヌニングは前の蚘事で実行されたため、著者はこれに぀いお詳しくは説明したせんが、新しい情報のコンパむルに焊点を圓おたす。

III。 Office統合を構成する
もちろん、 Open Office / Libre Officeを意味したす。 最初に、システムにパッケヌゞの1぀をむンストヌルする必芁がありたす。 次に、xwiki.properties.. \ webapps \ xwiki \ WEB-INF \を倉曎し、パラメヌタヌを蚭定する必芁がありたす。
openoffice.autoStart = true

たた、むンストヌルされおいるオフィススむヌトのディレクトリぞのパスを次の倉数で指定したす。
openoffice.homePath = C/ナヌザヌ/ {user} /AppData/Roaming/openOffice.org/3
openoffice.profilePath = C/ Program Files / OpenOffice.org 3

既知のバグず回避策
XWikiバグ7164バグのため 、XWikiはxwiki.propertiesファむル内のオフィスサヌバヌのopenoffice.homePath倉数を無芖したす。 これを行うには、WindowsのXWikiディレクトリにあるstart_xwiki.batファむルに、次の行を远加しお倉曎する必芁がありたすむンストヌルされおいるOfficeパッケヌゞぞのパスを考慮しお。
set XWIKI_OPTS =XWIKI_OPTS-Doffice.home = "C\ Program Files \ LibreOffice 3.4"

Linuxの堎合、start_xwiki.shファむルを倉曎したす
XWIKI_OPTS =XWIKI_OPTS-Doffice.path = / usr / lib / libreoffice /を蚭定したす

XWikiを再起動したす。

画像

画像
箄 英語でのむンストヌルの詳现な説明ぞのリンク。

IV。 快適な䜜業ず管理のための拡匵機胜
拡匵機胜の䞀般的なリストは、次のリンクから入手できたす。
extensions.xwiki.org/xwiki/bin/view/Main
すべおの拡匵機胜のむンストヌルは、管理パネルから実行されたす。 拡匵機胜をむンストヌルする2぀の方法がありたす。
1.「Wikiの管理」->「拡匵機胜マネヌゞャヌ」->「拡匵機胜の远加」に移動したす。 次に、怜玢文字列に名前たたはラテン語の名前/機胜の䞀郚を入力し、衚瀺された結果で「Enter」を抌したす。拡匵機胜のベヌスおよび拡匵機胜自䜓はXWiki Webサむトにあり、「むンストヌル」、「続行」
2.サむトから* .xar拡匵子のファむルをダりンロヌドし、「Wikiの管理」->「コンテンツ」->「むンポヌト」に移動し、ファむルを遞択しおダりンロヌドし、りィンドりでクリックしおむンポヌトに同意したす。

管理添付ファむルの゚クスポヌト-すべおの添付ファむルの゚クスポヌト
英語の説明は、次のリンクから入手できたす。
extensions.xwiki.org/xwiki/bin/view/Extension/Export+All+Attachments
リンクで利甚可胜なコヌド
=Export Attachments=

{{info}}
By default, the export is made from the **current database** and from **all spaces**.
{{/info}}

{{velocity}}
{{html}}
; Database:
: />
; Space name:
: />
; Path to directory to write to:
: />
; /> Confirm
: />

{{/html}}
{{/velocity}}

{{groovy}}
import com.xpn.xwiki.*;
import com.xpn.xwiki.api.*;
import com.xpn.xwiki.doc.*;

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.net.URL;

class ExportedAttachments {
static attachmentsNo = 0;
}

// Export attachments
def void exportAttachments(XWikiContext context) {
def dirPath = request.dirpath + "/";
def dir = new File(dirPath);

String hqlDocCount = "select distinct count(doc.name) from XWikiDocument as doc";
String hqlDocList = "select doc.fullName from XWikiDocument as doc";

if(request.spaceName && request.spaceName != ''){
hqlDocCount += " where doc.web='" + request.spaceName + "'";
hqlDocList += " where doc.web='" + request.spaceName + "'";
}

XWiki wiki = context.getWiki();

int total = wiki.getStore().search(hqlDocCount, 0, 0, context).get(0);
println "**" + total + "** documents to search for attachments";

List documentNames = null;
int offset = 0;
while (documentNames == null || documentNames.size() == 100) {
documentNames = wiki.getStore().search(hqlDocList, 100, offset, context);

for (docName in documentNames) {
try {
XWikiDocument doc = context.getWiki().getDocument(docName, context);
exportDocAttachments(doc, dir, context);
} catch (Exception e) {
println "{{error}} Error : " + e + "{{/error}}";
}
}

offset += documentNames.size();
}

println "";
println "((({{info}}Export done.{{/info}})))";
println "**" + ExportedAttachments.attachmentsNo + "** attachments exported.";
}

// Export attachments for the given document
def void exportDocAttachments(XWikiDocument doc, File dir, XWikiContext context) {
if(doc.getAttachmentList().size() > 0){
println "* **" + doc.fullName + "**";

for (XWikiAttachment attach in doc.getAttachmentList()) {
println "** " + attach.filename;

try {
// Create file
File spaceDir = new File(dir, java.net.URLEncoder.encode(doc.web));
File docDir = new File(spaceDir, java.net.URLEncoder.encode(doc.name));
File destinationFile = new File(docDir, java.net.URLEncoder.encode(attach.filename));
def attachmentURL = doc.getExternalAttachmentURL(attach.filename, 'download', context);

// Copy attachment from URL
URL url = new URL(attachmentURL);
FileUtils.copyURLToFile(url, destinationFile);

ExportedAttachments.attachmentsNo++;

}catch(Exception e){
println "{{error}} Error: Could not create file: " + e + "{{/error}}";
}
}
}
}

// Handle request
if(request.confirm && request.dirpath){
// Set database
def currentDatabase = xcontext.getDatabase();
def newDatabase = currentDatabase;
if(request.dbName && request.dbName != ''){
newDatabase = request.dbName
}
xcontext.setDatabase(newDatabase);

println "=Exporting attachments from **" + newDatabase + "** wiki=";

// Export
exportAttachments(xcontext.context);

// Reset database
xcontext.setDatabase(currentDatabase);
}
{{/groovy}}


特定の各Wiki / SubWikiのすべおの添付ファむルを倧量に保存するず䟿利です。 これを行うには、任意の名前の別のペヌゞが䜜成され、コヌドがコピヌされ、ペヌゞが保存され、フォヌムフィヌルドが結果のオブゞェクトに手動で入力されたす。

解決策の短所-XWikiはUTF-8゚ンコヌドで動䜜するため、キリル文字のファむル名は文字ず数字のセットを倉換するため、入力は手動で行われたす。これは䞍䟿です。 これを解決するには 珟圚、著者は創造的な怜玢を行っおいたす。

添付ギャラリヌ-ラむトボックスマクロ
画像
英語の説明は、次のリンクから入手できたす。
extensions.xwiki.org/xwiki/bin/view/Extension/Lightbox+Macro
むンストヌルず構成に぀いおは、前の蚘事で説明したした。

タスクマネヌゞャヌ-タスクマネヌゞャヌアプリケヌション
画像
英語の説明は、次のリンクから入手できたす。
extensions.xwiki.org/xwiki/bin/view/Extension/Task+Manager+Application

最もタスクマネヌゞャヌ。 プラスは無料で比范的柔軟であり、マむナスは添付ファむルのパスの長さ制限に反するため、Windowsで実行する堎合は、添付ファむル名ずタスク名およびプロゞェクト名を短くするこずをお勧めしたす。 たた、匕甚笊を避けるこずをお勧めしたす 線集時に、゚ディタヌはタスク名を最初の「匕甚」の埌のフレヌズの最埌たで切り詰めようずしたす。

列の倖郚衚瀺は倉曎できたす。著者の意芋では、個人的な䜿甚には䞍必芁な情報が倚少ありたすが、重芁な点は暙準衚瀺の「完了」です。 したがっお、タスクマネヌゞャヌペヌゞに移動し、WYSIWYGではなく通垞の゚ディタヌで線集ペヌゞを遞択し、次のテキストをコピヌしたす。
コヌド
{{velocity}}
#set ($discard = $services.localization.use('document', 'TaskManager.TaskManagerTranslations'))
#set ($discard = $xwiki.ssfx.use('uicomponents/widgets/userpicker/userPicker.css'))
#set ($columnsProperties = {
'number': {"type":"number","size":10},
'name': {"type":"text","size":10, "link":"view"},
'project': {"type":"list","size":10},
'status': {"type":"list","size":10,"html":true},
'severity': {"type":"list","size":10,"html":true},
'reporter': {"type":"text","size":10,"html":true},
'assignee': {"type":"text","size":10,"html":true},
'duedate': {"type":"text","size":10},
'progress': {"type":"number","size":10, "html":true},
'_actions': {"sortable":false,"filterable":false,"html":true,"actions":["edit","delete"]}
})
#set ($options = {
'className': 'TaskManager.TaskManagerClass',
'resultPage': 'TaskManager.TaskManagerLiveTableResults',
'translationPrefix': 'taskmanager.livetable.',
'tagCloud': true,
'rowCount': 1000,
'maxPages': 100,
'selectedColumn': 'number',
'defaultOrder': 'asc'
})
#set ($columns = ['number', 'name', 'project', 'progress', 'status', 'severity', 'reporter', 'assignee', 'duedate', '_actions'])
#livetable('taskmanager' $columns $columnsProperties $options)
{{/velocity}}

「progress」フィヌルドがここに远加されたす 「progress」{"type" "number"、 "size"10、 "html"true}、぀たり、 行の進行#set$ columns = ['number'、 'name'、 'project'、 'progress'、 'status'、 'severity'、 'reporter'、 'assignee'、 'duedate'、 '_actions'] このパラメヌタヌはプロゞェクトの埌に远加されたす。ご意芋のずおり、䞀郚の列が冗長である堎合は、行を線集しお衚瀺をここで削陀できたす。

このタスクマネヌゞャヌが知らないこずは、期限切れのタスクに぀いお通知し、通垞はシグナルを送るこずです。 おそらく著者はこれを次のバヌゞョンに远加するか、機胜が改善された新しいタスクマネヌゞャヌがリリヌスされるでしょう。 ただし、情報の構造化ずWikiプラットフォヌムでの䞀般的な䜜業に぀いおは、それは良いこずです。 マむナスの点ずしお、タスクを䜜成および線集するずきにWYSIWYG゚ディタヌがないこずに泚意する䟡倀がありたすが、これらのペヌゞはマクロずプログラミングコヌドを正しく実行したす。

ファむルマネヌゞャヌ-ファむルマネヌゞャヌアプリケヌション
画像
英語の説明は、次のリンクから入手できたす。
extensions.xwiki.org/xwiki/bin/view/Extension/File+Manager+Application
必芁なファむルを手元に保存するオプションは、プラむベヌト/パブリックミニクラりドです。 すべおの添付ファむルを゚クスポヌトずは異なり、PCにファむルをアップロヌドするずきにキリル文字を正しく凊理したす。

チャヌトりィザヌド-ダむアグラムアプリケヌション
画像
英語の説明は、次のリンクから入手できたす。
extensions.xwiki.org/xwiki/bin/view/Extension/Diagram+Application

䌚議スケゞュヌラ-䌚議アプリケヌション
画像
他の写真
画像

画像

英語の説明は、次のリンクから入手できたす。
extensions.xwiki.org/xwiki/bin/view/Extension/Meeting+Application
ミヌティングプランナヌには組み蟌みのグラフィカルカレンダヌむンタヌフェむスがあり、GoogleMapsからの画像もミヌティング堎所に添付されたす。

カレンダヌ-Moccaカレンダヌアプリケヌション
画像
英語の説明は、次のリンクから入手できたす。
extensions.xwiki.org/xwiki/bin/view/Extension/MoccaCalendar
カレンダヌは日蚘です。

むンタヌフェむス芁玠-XWikiトップに戻る
英語の説明は、次のリンクから入手できたす。
extensions.xwiki.org/xwiki/bin/view/Extension/Back+To+Top
耇数のペヌゞを占めるテキストをスクロヌルするず、りィンドりの右䞋隅に「䞊ぞ」ボタンが衚瀺されたす

むンタヌフェむス芁玠-タブマクロ
画像

画像
英語の説明は、次のリンクから入手できたす。
extensions.xwiki.org/xwiki/bin/view/Extension/Tabs+Macro
線集したペヌゞにタブを远加できるマクロ
たずえばコヌド
{{tabs idsToLabels='tabId11=My xwiki-wide tabs, tabId12=My working tabs :)' /}}
(%id="tabId11"%)((({{box cssClass="tabId11div"}}
First tab!
{{/box}}
I can post any content here
)))

(%id="tabId12"%)((({{box cssClass="tabId12div"}}
Second tab!
{{/box}}
And here too
)))



むンタヌフェむス芁玠-ShowHideマクロ
画像
英語の説明は、次のリンクから入手できたす。
extensions.xwiki.org/xwiki/bin/view/Extension/Ajax+and+Show+Hide+Macro
テキスト甚のカスタマむズ可胜なスポむラヌ。

泚釈統合マクロ
画像
英語の説明は、次のリンクから入手できたす。
extensions.xwiki.org/xwiki/bin/view/Extension/Annotations+Application
千の蚀葉の代わりに...




クラむマックス
XWikiは、Java、 LGPL配垃ラむセンスで曞かれた第2䞖代のWikiであり、機胜にはブログ、APIツヌル、コメント、LDAP認蚌、PDFぞの゚クスポヌトペヌゞが含たれたす。 䞖界䞭の倚くの䌁業で䜿甚されおいたす。 ロシア語を含む25のむンタヌフェヌス蚀語。

2番目の蚘事の目的は、出匵などのフィヌルド条件で䜜業するための蚭定を説明するこずです。 VET゚ンゞニアには䜕が必芁ですか 15むンチディスプレむ、オフィス゜フトりェアパッケヌゞ、情報を栌玍および構造化するシステム、少なくずも1日2〜3時間、メヌルを送受信するためのむンタヌネットアクセスポむントを備えたラップトップ。Wikiを䜿甚する理由、぀たり、バヌゞョン管理が必芁です。これは、OSのハヌドな手段で簡単に敎理できたすが、同時に、バヌゞョンに関するコメントはファむルよりも䟡倀がある堎合があり、すべおのアプリケヌションが正垞に解決するむベントずマむクロむベントの特定の日蚘を保持できるアプリケヌションも必芁です 远跡カレンダヌおよびタスクタスク。

仕事の結果
これで、機胜を含むWiki゚ンゞンができたした。
-ブログ;
-WYSIWIG゚ディタヌ。
-画像ギャラリヌ。
-新しいマクロの線集および䜜成の可胜性。
-プログラミングスクリプトVelocity、Groovy、Python、Ruby、PHPの可胜性ず、人気のWiki゚ンゞンConfluence、JSPWiki、Creole、MediaWiki、TWikの構文サポヌト。
-カレンダヌず䌚議プランナヌ。
-タスクマネヌゞャヌ;
-チャヌト䜜成;
-Officeアプリケヌションずの統合。
-ファむルマネヌゞャヌ。

ご枅聎ありがずうございたした。 :)

Source: https://habr.com/ru/post/J279101/


All Articles