Switch to side-by-side view

--- a/Allura/allura/ext/admin/admin_main.py
+++ b/Allura/allura/ext/admin/admin_main.py
@@ -145,6 +145,11 @@
         c.label_edit = W.label_edit
         categories = M.ProjectCategory.query.find(dict(parent_id=None)).sort('label').all()
         return dict(categories=categories)
+
+    @without_trailing_slash
+    @expose('allura.ext.admin.templates.project_tools_starter')
+    def tools_starter(self, **kw):
+        return dict()
 
     @without_trailing_slash
     @expose('allura.ext.admin.templates.project_tools')
@@ -335,6 +340,17 @@
 
     @h.vardec
     @expose()
+    def starter_mounts(self, **kw):
+        require(has_project_access('tool'))
+        for i, tool in enumerate(kw):
+            h.log_action(log, 'install tool').info(
+                'install tool %s', tool,
+                meta=dict(tool_type=tool, mount_point=(tool.lower() or h.nonce()), mount_label=tool))
+            c.project.install_app(tool, (tool.lower() or h.nonce()), mount_label=tool, ordinal=i)
+        redirect('overview')
+
+    @h.vardec
+    @expose()
     def update_acl(self, permission=None, role=None, new=None, **kw):
         require(has_project_access('security'))
         if role is None: role = []