General Actions:
Log-in
Wiki:
L3D's Wiki
▼
:
Document Index
»
Space:
XWiki
▼
:
Document Index
»
Page:
ExtensionManager
Search
Page Actions:
Export
▼
:
Export as PDF
Export as RTF
Export as HTML
More actions
▼
:
Print preview
View Source
Welcome to your wiki
»
XWiki Space
»
XWiki Preferences
»
AdminSheet
»
Extension Manager
Wiki source code of
Extension Manager
Last modified by
Administrator
on 2011/03/02 17:34
Content
·
Comments
(0)
·
Attachments
(1)
·
History
·
Information
Show line numbers
{{warning}} This application is experimental, use it at your own risk. {{/warning}} {{velocity output="false"}} #set($extensionManager = $services.extension) #set($versionManager = $extensionManager.versionManager) {{/velocity}} {{velocity}} {{html}} <form action="$xwiki.requestURL" enctype="multipart/form-data" method="post"> <fieldset> <p> <label for="extensionid">Extension identifier</label> <input id="extensionid" name="extensionid" type="text" title="Extension identifier (<groupid>:<artefactid> for a maven extension)" #if($request.extensionid)value="${escapetool.xml($request.extensionid)}"#end /> </p> <p> <label for="extensionversion">Extension version</label> <input id="extensionversion" name="extensionversion" type="text" title="Extension version" #if($request.extensionversion)value="${escapetool.xml($request.extensionversion)}"#end /> </p> <span class="buttonwrapper"><input type="submit" value="Resolve" name="actionresolve" class="button"/></span> #if ($hasProgramming) <span class="buttonwrapper"><input type="submit" value="Install" name="actioninstall" class="button"/></span> #end </fieldset> </form> {{/html}} {{/velocity}} {{velocity}} #if ($request.actionresolve) = Resolve #macro(resolveExtension $extensionid $extensionversion $extensionlevel) #set($extension = $extensionManager.resolve($extensionid, $extensionversion)) #set($extensionclass = "${extension.class}") #foreach($index in [1..$extensionlevel])*#end #if($extensionclass.endsWith('CoreExtension'))**C**#elseif($extensionclass.endsWith('LocalExtension'))**I**#else**R**#end $extension.id ($extension.version#if($extensionversion != $extension.version) was $extensionversion#end) #resolveExtensionDependencies($extension) #end #macro(resolveExtensionDependencies $extension $extensionlevel) #set($extensionlevel = $extensionlevel + 1) #foreach ($dependency in $extension.dependencies) #resolveExtension($dependency.id, $dependency.version, $extensionlevel) #end #set($extensionlevel = $extensionlevel - 1) #end #resolveExtension($request.extensionid, $request.extensionversion, 1) **C**: core extension **I**: installed extension **R**: remote extension #elseif($request.actioninstall) = Install #if($request.confirm) #set($extension = $extensionManager.install($request.extensionid, $request.extensionversion)) #else #macro(prepareInstall $extensionid $extensionversion $extensionsToInstall $extensionsToUpgrade $extensionsSuggested, $coreExtensionsConflicts) #set($extension = $extensionManager.resolve($extensionid, $extensionversion)) #set($extensionclass = "${extension.class}") #if (!$extensionclass.endsWith('CoreExtension') && !$extensionclass.endsWith('LocalExtension')) #if ($extensionManager.getInstalledExtension($extensionid)) #set($void = $extensionsToUpgrade.add($extension)) #else #set($void = $extensionsToInstall.add($extension)) #end #elseif ($extensionclass.endsWith('CoreExtension') && $versionManager.compareVersions($extensionversion, $extension.version) > 0) #set($void = $coreExtensionsConflicts.add([$extension,$extensionversion])) #end #prepareInstallDependencies($extension, $extensionsToInstall, $extensionsToUpgrade, $extensionsSuggested) #end #macro(prepareInstallDependencies $extension $extensionsToInstall $extensionsToUpgrade $extensionsSuggested, $coreExtensionsConflicts) #foreach ($dependency in $extension.dependencies) #prepareInstall($dependency.id, $dependency.version, $extensionsToInstall, $extensionsToUpgrade, $extensionsSuggested) #end #end #set($extensionsToInstall = []) #set($extensionsToUpgrade = []) #set($extensionsSuggested = []) #set($coreExtensionsConflicts = []) #prepareInstall($request.extensionid $request.extensionversion $extensionsToInstall $extensionsToUpgrade $extensionsSuggested, $coreExtensionsConflicts) #if ($extensionsToInstall.empty && $extensionsToUpgrade.empty) Already installed #else #if (!$extensionsToInstall.empty) The following new extensions will be installed: #foreach ($extension in $extensionsToInstall) * $extension.id ($extension.version) #end #end #if (!$extensionsToUpgrade.empty) The following extensions will be upgraded: #foreach ($extension in $extensionsToUpgrade) * $extension.id ($extension.version) #end #end #if (!$extensionsSuggested.empty) Suggested: #foreach ($extension in $extensionsSuggested) * $extension.id ($extension.version) #end #end #if (!$coreExtensionsConflicts.empty) {{warning}} Conflict with core extensions: #foreach ($conflict in $coreExtensionsConflicts) * extension **$conflict.get(0).id** is needed in version **$conflict.get(1)** but core extension has version **$conflict.get(0).version** #end Are you sure you want to install ? {{/warning}} #end {{html}} <form action="$xwiki.requestURL" enctype="multipart/form-data" method="post"> <fieldset> <input name="extensionid" value="${escapetool.xml($request.extensionid)}" type="hidden" /> <input name="extensionversion" value="${escapetool.xml($request.extensionversion)}" type="hidden" /> <input name="actioninstall" type="hidden" /> <span class="buttonwrapper"><input type="submit" value="Apply" name="confirm" class="button"/></span> </fieldset> </form> {{/html}} #end #end #elseif($request.actionuninstall) = Uninstall #if($request.confirm) #set($extension = $extensionManager.uninstall($request.extensionid)) #else #macro(prepareUninstall $extensionid $extensionsToUninstall) #set($void = $extensionsToUninstall.add($extensionid)) #set($backwardDependencies = $extensionManager.getBackwardDependencies($extensionid)) #prepareUninstallBackwardDependencies($backwardDependencies, $extensionsToUninstall) #end #macro(prepareUninstallBackwardDependencies $backwardDependencies $extensionsToUninstall) #foreach ($backwardDependency in $backwardDependencies) #prepareUninstall($backwardDependency.id, $extensionsToUninstall) #end #end #set($extensionsToUninstall = []) #prepareUninstall($request.extensionid $extensionsToUninstall) #if ($extensionsToUninstall.empty) Extension does not exists #else The following extensions will be removed: #foreach ($extensionid in $extensionsToUninstall) * $extensionid #end {{html}} <form action="$xwiki.requestURL" enctype="multipart/form-data" method="post"> <fieldset> <input name="extensionid" value="${escapetool.xml($request.extensionid)}" type="hidden" /> <input name="extensionversion" value="${escapetool.xml($request.extensionversion)}" type="hidden" /> <input name="actionuninstall" type="hidden" /> <span class="buttonwrapper"><input type="submit" value="Apply" name="confirm" class="button"/></span> </fieldset> </form> {{/html}} #end #end #end {{/velocity}} {{velocity}} = Installed extensions #set($extensions = $extensionManager.installedExtensions) |=Id|=Version|=Type#if ($hasProgramming)|=Actions#end #foreach($extension in $extensions) |$extension.id|$extension.version|$extension.type#if ($hasProgramming)|{{html clean="false"}} <form action="$xwiki.requestURL" enctype="multipart/form-data" method="post"> <fieldset> <input name="extensionid" value="${escapetool.xml($extension.id)}" type="hidden" /> <input name="extensionversion" value="${escapetool.xml($extension.version)}" type="hidden" /> <span class="buttonwrapper"><input type="submit" value="Uninstall" name="actionuninstall" class="button"/></span> </fieldset> </form> {{/html}}#end #end {{/velocity}} {{velocity}} = Core extensions #set($extensions = $extensionManager.coreExtensions) == XWiki core extensions |=Id|=Version|=Type #foreach($extension in $extensions) #if ($extension.id.startsWith("org.xwiki") || $extension.id.startsWith("com.xpn")) |(%title="$extension.getURL()"%)$extension.id|$extension.version|$extension.type #end #end == Third party core extensions |=Id|=Version|=Type #foreach($extension in $extensions) #if (!$extension.id.startsWith("org.xwiki") && !$extension.id.startsWith("com.xpn")) |(%title="$extension.getURL()"%)$extension.id|$extension.version|$extension.type #end #end {{/velocity}}
Quick Links
L3D Calendar
Wiki Dashboard
Document Index
Blog
Sandbox