﻿ticket	summary	type	release	owner	status	created	modified	_description	_reporter
6282	TracLegos does not respect X-Forwarded-Host when setting domain	defect	0.11		new	2009-12-02T19:55:00+01:00	2015-04-22T19:51:21+02:00	"It maybe should?  e.g.

 1. Set up a traclegos server on `localhost:1337`
 1. Set up a proxy server that forwards requests from `trac.foobar.com` to `localhost:1337`
 1. I would expect that the default `domain` would be `trac.foobar.com` but instead it is `localhost:1337`."	ejucovy
5780	web gui cannot create svn	defect	0.11		new	2009-09-04T21:19:58+02:00	2015-04-22T19:51:21+02:00	"I always get the following error in the web_gui regardless of svn repository baseurl I enter.

{{{
svnadmin: Repository creation failed
svnadmin: Could not create top-level directory
svnadmin: '' exists and is non-empty
}}}
"	Shai Perednik
5678	TracLegos needs logging	enhancement	0.11		new	2009-08-17T18:39:53+02:00	2015-04-22T19:51:21+02:00	TracLegosScript should log the install effort to a file so that it can be viewed on project creation or on failure.	Jeff Hammel
4793	patch to incorporate TracLegos into ClueMapper	enhancement	0.11	Andrew	assigned	2009-03-16T21:10:52+01:00	2009-10-16T17:10:47+02:00	ClueMapper (http://cluemapper.org) features TTW project creation.  However, it does not use templates but only a hard-coded set of configuration.  Since TracLegosScript neatly solves the project creation problem, a patch should be made to ClueMapper to incorporate TracLegosScript as the method of project creation.	Jeff Hammel
4792	ticket fields for TracLegos	defect	0.11		new	2009-03-16T21:08:15+01:00	2015-04-22T19:51:21+02:00	currently TracLegosScript deletes the default components, etc.  But components, versions, and other ticket fields should be specifiable via TracLegosScript templates.	Jeff Hammel
4612	need quick start guide for TracLegos	task	0.11		new	2009-02-11T18:05:00+01:00	2015-04-22T19:51:21+02:00	something very, very concise, with simple enumerated recipe-like steps for getting started. E.g., follow these three steps to install TracLegos and create a project based on the example template	Jeff Hammel
4585	repository connector for large repositories	enhancement	0.11		new	2009-02-05T22:17:17+01:00	2015-04-22T19:51:21+02:00	"Ideally, a new repository would be created for each new trac project.  However, in many situations this is impractical or organizations have committed to large monolithic repositories.  See for example https://svn.openplans.org/svn . For this case, a repository connector could be made for said repositories that takes additional action over [source:traclegosscript/anyrelease/traclegos/repository.py#L78 ExistingSVN]:

 * a new directory should be made with the project name.  Maybe a default structure could be set via a template

 * `[mainnav] browser.href` should be set to point to this location
"	Jeff Hammel
4583	status bar and/or status message notification for repository syncing	enhancement	0.11		new	2009-02-05T22:10:10+01:00	2015-04-22T19:51:21+02:00	a great deal of hacking (see: source:traclegosscript/anyrelease/traclegos/web.py ) was used to accomplish TTW project creation with asynchronous syncing of repositories.  While this works well using a MySQL DB, using SQLite is not so good as the database is locked for writing.  This prohibits (most of the time) the user from signing in and other interesting actions.  While this problem cannot effectively be worked around, it would be at least nice to inform the user of progress.  This could be done via a status bar or notification on each request, using the WSGI middleware to write the status message.	Jeff Hammel
4582	bzr connection and serving	enhancement	0.11		new	2009-02-05T22:05:47+01:00	2015-04-22T19:51:21+02:00	"a interface has been created to allow ""arbitrary"" SCM repositories to be created via TracLegosScript (see: source:traclegosscript/anyrelease/traclegos/repository.py ).  A plugin for bzr should be written.  Hopefully this will accomplish two things:

 * allow users to use bzr

 * enable easier serving of the created repo.  While TracLegos can create a new repository, since it can't serve it (afaict, '''only''' apache + mod_svn can serve svn, and this does not condone dynamic repository creation)

Adapters for hg, etc should also be considered"	Jeff Hammel
4568	basedir should be base_dir	defect	0.11		new	2009-02-03T13:13:30+01:00	2015-04-22T19:51:21+02:00	Trac uses nomenclature like `base_url`;  therefore `basedir` should become `base_dir`	Jeff Hammel
3785	better parsing for lists of projects	enhancement	0.11		new	2008-09-23T15:36:19+02:00	2015-04-22T19:51:21+02:00	"Currently, TracLegosScript uses the same configuration for all projects (non-option and non-variable arguments) on the command line.  At the least, variables should be able to be specified on a per-project basis. Somewhat more challenging is the ability to specify other differences, such as templates used. This also provides a more sane structure for the {{{traclegos.parser}}} to return:

{{{
    # XXX this is hackish
    # should return:
    # { project: { 'repository': repository, 'templates': options.templates, }
    # for each project
    # or, better yet, legos, { dictionary of arugments to legos.create_project }
    # (except projects isn't an argument....hmmmm)
    # maybe the easy solution is just to make one project per invocation
    return legos, projects, options.templates, repository
}}}

(from source:traclegosscript/anyrelease/traclegos/legos.py@4324#L334)

This could instead return {{{legos}}} (the !TracLegos instance) and a dictionary of projects:

{{{
return legos, { 'project1': { arguments to create project1}, 'project2': .... } }
}}}

Variable parsing will have to account for position.  Specifying templates on a per-project basis is harder as this goes against the grain of {{{optparse.OptionParser}}}, and is probably low priority"	Jeff Hammel
3784	TracLegosScript web interface should pull CSS from a master environment (if specified)	enhancement	0.11		new	2008-09-23T15:26:41+02:00	2015-04-22T19:51:21+02:00	In order to maintain the look + feel of a consistent environment, the TracLegosScript web interface should link to the css of a master environment if it is specified.	Jeff Hammel
3769	idea: consideration of option providers in addition to templates	enhancement	0.11		new	2008-09-20T04:46:06+02:00	2015-04-22T19:51:21+02:00	"option providers could be utilized to provide a set of options that tweaks part of the configuration.  For instance, one option could be ""email enabled trac"" or ""email disabled trac"" and by toggling between these two, a set of configuration options could be enabled or disabled.  (Its probably good to stop their functionality there, IMHO.)  These would be applied on top of templates and could be easily presented via the web interface.  Templates could be oblivious to these options or could specify them in some manner.  They should be registered via setuptools entry points and would ideally utilize an interface structure, something like:

{{{
class OptionProvider(...):

    _options = { 'email enabled': # some ini file, list of [ (section, option, value) ], etc,
                 'email disabled': # ,}

    def options():
        """"""returns list of strings describing the options""""""
        return self._options.keys()
   
    def configuration(option):
        return _options[option]
}}}"	Jeff Hammel
3767	pastescript vars should denote the difference between template-needed variables and otherwise	enhancement	0.11		new	2008-09-19T22:27:35+02:00	2015-04-22T19:51:21+02:00	"options are specified with pastescript variables.  As (e.g.) template configuration is munged, some of these may not be needed for a particular project creation.  However, they might be.  This should be denoted on the var class, with the default being ""only used in the template"""	Jeff Hammel
3764	finish support for SvnSyncPlugin project mirroring via TracLegosScript	task	0.11		new	2008-09-19T18:35:07+02:00	2015-04-22T19:51:21+02:00	A stub exists for mirroring a remote SVN repository if the SvnSyncPlugin is installed (see source:traclegosscript/anyrelease/traclegos/repository.pyL89).  Currently it will abort with a !NotImplementedError -- correctly, as this is not yet done.  This should be finished.  The code might also move to the SvnSyncPlugin.  As entry points are used, it doesn't really matter where the code lives	Jeff Hammel
3763	upon project creation, an admin account should be made for the creator and they should be signed in and directed to the /admin screen (assuming trac 0.11)	enhancement	0.11		new	2008-09-19T18:30:08+02:00	2015-04-22T19:51:21+02:00	The current behavior is to redirect the project author to the project home page.  The should have an admin account created for them.  In the case of no authentication (the only current case -- see #3762) the creator should be prompted for a trac-admin username + (maybe?) password, the account created (if necessary?) and the user signed in to the new trac instance and redirected to the admin screen (assuming trac 0.11+).  Optionally, a message telling next steps could be displayed at the top of the page, perhaps with a plugin	Jeff Hammel
3762	authentication plugin should be implemented for TracLegosScript web view	enhancement	0.11		new	2008-09-19T18:25:16+02:00	2015-04-22T19:51:21+02:00	"currently, anyone that can view the web page can create trac projects.  Ideally, a pluggable solution would be created that allowed different authentication method.  Methods of interest include:

 * no authentication -- presumedly this is behind a firewall
 * master-trac authentication -- the permissions are checked versus a master trac instance
"	Jeff Hammel
3752	allow resumption of TTW project creation	enhancement	0.11		new	2008-09-18T18:41:43+02:00	2015-04-22T19:51:21+02:00	currently, if a user navigates away from a partially created project, you cannot resume creation of the project except by typing the (probably unknown) necessary link by hand.  A list of partially created projects should be displayed on the index page to allow navigating to the step they are missing and also allow removing these projects from memory.	Jeff Hammel
3751	update and use inherited configuration	enhancement	0.11		new	2008-09-18T18:03:12+02:00	2015-04-22T19:51:21+02:00	the inherited file, if specified, should be added to the options needed for trac environment generation.  The {{{[intertrac]}}} section of this .ini file should be updated with the new trac environment.	Jeff Hammel
3749	better error handling for the web interface for TracLegosScript	enhancement	0.11		new	2008-09-18T17:34:22+02:00	2015-04-22T19:51:21+02:00	currently, making an error on a page will reload the page with an error message.  However, all user-entered data will be lost.  The user-entered data should be repopulated from the request.  As a less serious issue, the errors would ideally be associated with a field (or fields) instead of just being displayed at the top of the page.	Jeff Hammel
3746	use interfaces when applicable	enhancement	0.11		new	2008-09-18T16:52:50+02:00	2015-04-22T19:51:21+02:00	At least two opportunities for introducing interfaces and aspect-oriented programming to trac exist -- the [source:traclegosscript/anyrelease/traclegos/repository.py RepositorySetup] system and the [source:traclegosscript/anyrelease/traclegos/project.py TracProject] system.  Also, the database system (TBI, see #3745) provides a third opportunity for using interfaces.  No additional functionality is gained and abstract base classes should still probably be used as there is functionality in them.  This idea should be assessed for applicability once TracLegosScript becomes more solidified	Jeff Hammel
