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
Hide line numbers
1: {{warning}} 2: This application is experimental, use it at your own risk. 3: {{/warning}} 4: 5: {{velocity output="false"}} 6: #set($extensionManager = $services.extension) 7: #set($versionManager = $extensionManager.versionManager) 8: {{/velocity}} 9: 10: {{velocity}} 11: {{html}} 12: <form action="$xwiki.requestURL" enctype="multipart/form-data" method="post"> 13: <fieldset> 14: 15: <p> 16: <label for="extensionid">Extension identifier</label> 17: <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 /> 18: </p> 19: 20: <p> 21: <label for="extensionversion">Extension version</label> 22: <input id="extensionversion" name="extensionversion" type="text" title="Extension version" #if($request.extensionversion)value="${escapetool.xml($request.extensionversion)}"#end /> 23: </p> 24: 25: <span class="buttonwrapper"><input type="submit" value="Resolve" name="actionresolve" class="button"/></span> 26: #if ($hasProgramming) 27: <span class="buttonwrapper"><input type="submit" value="Install" name="actioninstall" class="button"/></span> 28: #end 29: 30: </fieldset> 31: </form> 32: {{/html}} 33: {{/velocity}} 34: 35: {{velocity}} 36: #if ($request.actionresolve) 37: = Resolve 38: 39: #macro(resolveExtension $extensionid $extensionversion $extensionlevel) 40: #set($extension = $extensionManager.resolve($extensionid, $extensionversion)) 41: #set($extensionclass = "${extension.class}") 42: #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) 43: #resolveExtensionDependencies($extension) 44: #end 45: #macro(resolveExtensionDependencies $extension $extensionlevel) 46: #set($extensionlevel = $extensionlevel + 1) 47: #foreach ($dependency in $extension.dependencies) 48: #resolveExtension($dependency.id, $dependency.version, $extensionlevel) 49: #end 50: #set($extensionlevel = $extensionlevel - 1) 51: #end 52: #resolveExtension($request.extensionid, $request.extensionversion, 1) 53: 54: **C**: core extension 55: **I**: installed extension 56: **R**: remote extension 57: #elseif($request.actioninstall) 58: = Install 59: 60: #if($request.confirm) 61: #set($extension = $extensionManager.install($request.extensionid, $request.extensionversion)) 62: #else 63: #macro(prepareInstall $extensionid $extensionversion $extensionsToInstall $extensionsToUpgrade $extensionsSuggested, $coreExtensionsConflicts) 64: #set($extension = $extensionManager.resolve($extensionid, $extensionversion)) 65: #set($extensionclass = "${extension.class}") 66: #if (!$extensionclass.endsWith('CoreExtension') && !$extensionclass.endsWith('LocalExtension')) 67: #if ($extensionManager.getInstalledExtension($extensionid)) 68: #set($void = $extensionsToUpgrade.add($extension)) 69: #else 70: #set($void = $extensionsToInstall.add($extension)) 71: #end 72: #elseif ($extensionclass.endsWith('CoreExtension') && $versionManager.compareVersions($extensionversion, $extension.version) > 0) 73: #set($void = $coreExtensionsConflicts.add([$extension,$extensionversion])) 74: #end 75: #prepareInstallDependencies($extension, $extensionsToInstall, $extensionsToUpgrade, $extensionsSuggested) 76: #end 77: #macro(prepareInstallDependencies $extension $extensionsToInstall $extensionsToUpgrade $extensionsSuggested, $coreExtensionsConflicts) 78: #foreach ($dependency in $extension.dependencies) 79: #prepareInstall($dependency.id, $dependency.version, $extensionsToInstall, $extensionsToUpgrade, $extensionsSuggested) 80: #end 81: #end 82: #set($extensionsToInstall = []) 83: #set($extensionsToUpgrade = []) 84: #set($extensionsSuggested = []) 85: #set($coreExtensionsConflicts = []) 86: #prepareInstall($request.extensionid $request.extensionversion $extensionsToInstall $extensionsToUpgrade $extensionsSuggested, $coreExtensionsConflicts) 87: #if ($extensionsToInstall.empty && $extensionsToUpgrade.empty) 88: Already installed 89: #else 90: #if (!$extensionsToInstall.empty) 91: The following new extensions will be installed: 92: #foreach ($extension in $extensionsToInstall) 93: * $extension.id ($extension.version) 94: #end 95: 96: #end 97: #if (!$extensionsToUpgrade.empty) 98: The following extensions will be upgraded: 99: #foreach ($extension in $extensionsToUpgrade) 100: * $extension.id ($extension.version) 101: #end 102: 103: #end 104: #if (!$extensionsSuggested.empty) 105: Suggested: 106: #foreach ($extension in $extensionsSuggested) 107: * $extension.id ($extension.version) 108: #end 109: 110: #end 111: #if (!$coreExtensionsConflicts.empty) 112: {{warning}} 113: Conflict with core extensions: 114: #foreach ($conflict in $coreExtensionsConflicts) 115: * extension **$conflict.get(0).id** is needed in version **$conflict.get(1)** but core extension has version **$conflict.get(0).version** 116: #end 117: 118: Are you sure you want to install ? 119: {{/warning}} 120: 121: #end 122: {{html}} 123: <form action="$xwiki.requestURL" enctype="multipart/form-data" method="post"> 124: <fieldset> 125: <input name="extensionid" value="${escapetool.xml($request.extensionid)}" type="hidden" /> 126: <input name="extensionversion" value="${escapetool.xml($request.extensionversion)}" type="hidden" /> 127: <input name="actioninstall" type="hidden" /> 128: <span class="buttonwrapper"><input type="submit" value="Apply" name="confirm" class="button"/></span> 129: </fieldset> 130: </form> 131: {{/html}} 132: #end 133: #end 134: #elseif($request.actionuninstall) 135: = Uninstall 136: 137: #if($request.confirm) 138: #set($extension = $extensionManager.uninstall($request.extensionid)) 139: #else 140: #macro(prepareUninstall $extensionid $extensionsToUninstall) 141: #set($void = $extensionsToUninstall.add($extensionid)) 142: #set($backwardDependencies = $extensionManager.getBackwardDependencies($extensionid)) 143: #prepareUninstallBackwardDependencies($backwardDependencies, $extensionsToUninstall) 144: #end 145: #macro(prepareUninstallBackwardDependencies $backwardDependencies $extensionsToUninstall) 146: #foreach ($backwardDependency in $backwardDependencies) 147: #prepareUninstall($backwardDependency.id, $extensionsToUninstall) 148: #end 149: #end 150: #set($extensionsToUninstall = []) 151: #prepareUninstall($request.extensionid $extensionsToUninstall) 152: #if ($extensionsToUninstall.empty) 153: Extension does not exists 154: #else 155: The following extensions will be removed: 156: #foreach ($extensionid in $extensionsToUninstall) 157: * $extensionid 158: #end 159: 160: {{html}} 161: <form action="$xwiki.requestURL" enctype="multipart/form-data" method="post"> 162: <fieldset> 163: <input name="extensionid" value="${escapetool.xml($request.extensionid)}" type="hidden" /> 164: <input name="extensionversion" value="${escapetool.xml($request.extensionversion)}" type="hidden" /> 165: <input name="actionuninstall" type="hidden" /> 166: <span class="buttonwrapper"><input type="submit" value="Apply" name="confirm" class="button"/></span> 167: </fieldset> 168: </form> 169: {{/html}} 170: #end 171: #end 172: #end 173: {{/velocity}} 174: 175: {{velocity}} 176: = Installed extensions 177: 178: #set($extensions = $extensionManager.installedExtensions) 179: |=Id|=Version|=Type#if ($hasProgramming)|=Actions#end 180: 181: #foreach($extension in $extensions) 182: |$extension.id|$extension.version|$extension.type#if ($hasProgramming)|{{html clean="false"}} 183: <form action="$xwiki.requestURL" enctype="multipart/form-data" method="post"> 184: <fieldset> 185: <input name="extensionid" value="${escapetool.xml($extension.id)}" type="hidden" /> 186: <input name="extensionversion" value="${escapetool.xml($extension.version)}" type="hidden" /> 187: <span class="buttonwrapper"><input type="submit" value="Uninstall" name="actionuninstall" class="button"/></span> 188: </fieldset> 189: </form> 190: {{/html}}#end 191: 192: #end 193: {{/velocity}} 194: 195: {{velocity}} 196: = Core extensions 197: 198: #set($extensions = $extensionManager.coreExtensions) 199: 200: == XWiki core extensions 201: 202: |=Id|=Version|=Type 203: #foreach($extension in $extensions) 204: #if ($extension.id.startsWith("org.xwiki") || $extension.id.startsWith("com.xpn")) 205: |(%title="$extension.getURL()"%)$extension.id|$extension.version|$extension.type 206: #end 207: #end 208: 209: == Third party core extensions 210: 211: |=Id|=Version|=Type 212: #foreach($extension in $extensions) 213: #if (!$extension.id.startsWith("org.xwiki") && !$extension.id.startsWith("com.xpn")) 214: |(%title="$extension.getURL()"%)$extension.id|$extension.version|$extension.type 215: #end 216: #end 217: {{/velocity}}
Quick Links
L3D Calendar
Wiki Dashboard
Document Index
Blog
Sandbox