Hi Nathan, I just flied over your pretty long mail... I may have spot your problem though...
In the [inherit] section of the Agilo project, you inherit from the global-trac.ini, where in the [inherit] section there is a template_dir and a plugin_dir which are empty... agilo should have the template_dir pointing to the agilo templates or to the egg to work correctly... It may well be that there is a concurrency between the two variables, and that trac sometimes give priority to the local sometimes to the global... causing this switching effect you mentioned... So I'd remove the [inherit] completely from the global-trac.ini... HTH ANdreaT On 28 Apr, 2009, at 4:49 , Nathan Collins wrote: > > I had trac 0.11 via apache 2.2.9 setup and working as expected on > ubuntu 8.10 for about 3 months before installing agilo 0.7.3.3 (.egg) > about a month ago. After installing and enabling agilo, it was common > for the agilo.css to fail to load. When the agilo.css failed it would > usually be found if I reloaded the page (CTRL-r). About 2 weeks ago I > started getting a bunch of errors in trac/agilo, but like the css > error, they'd usually go away if I reloaded the page. I turned off > the "avanced" agilo UI in Admin->Agilo General->Enable Agilo Advanced > UI? and the problems seemed to go away, but today they came back. > Here are some examples from the log (The non .css ones resulting in > "Oops… Trac detected an internal error" in the web browser): > > 2009-04-27 18:29:00,045 Trac[main] ERROR: Template "agilo_team.html" > not found > Traceback (most recent call last): > File "/usr/lib/python2.5/site-packages/trac/web/main.py", line > 423, in _dispatch_request > dispatcher.dispatch(req) > File "/usr/lib/python2.5/site-packages/trac/web/main.py", line > 219, in dispatch > data, content_type) > File "/usr/lib/python2.5/site-packages/trac/web/chrome.py", line > 683, in render_template > template = self.load_template(filename, method=method) > File "/usr/lib/python2.5/site-packages/trac/web/chrome.py", line > 667, in load_template > return self.templates.load(filename, cls=cls) > File "/usr/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux- > i686.egg/genshi/template/loader.py", line 237, in load > raise TemplateNotFound(filename, search_path) > TemplateNotFound: Template "agilo_team.html" not found > > 2009-04-27 18:28:55,159 Trac[chrome] WARNING: File stylesheet/ > agilo.css not found in any of [] > 2009-04-27 18:28:55,159 Trac[main] WARNING: 404 Not Found (File > stylesheet/agilo.css not found) > > 2009-04-27 18:28:48,294 Trac[main] ERROR: Template > "agilo_ticket_view.html" not found > > 2009-04-27 17:22:54,373 Trac[main] ERROR: Template > "agilo_roadmap.html" not found > > 2009-04-27 17:22:36,729 Trac[main] ERROR: Template "browser.html" > not found > > 2009-04-27 17:22:41,019 Trac[main] ERROR: Template > "dir_entries.html" not found > > and I've also been getting tons of "[CommandParser] [By Key]" warnings > ever since installing agilo, e.g.: > > 2009-04-27 16:39:30,598 Trac[log] WARNING: [CommandParser] [By Key]: > Warning 'fields' > 2009-04-27 16:39:30,599 Trac[log] WARNING: [CommandParser] [By Key]: > Warning 'changes' > 2009-04-27 16:39:30,599 Trac[log] WARNING: [CommandParser] [By Key]: > Warning 'available_types' > 2009-04-27 16:39:30,600 Trac[log] WARNING: [CommandParser] [By Key]: > Warning 'row_groups' > 2009-04-27 16:39:30,600 Trac[log] WARNING: [CommandParser] [By Key]: > Warning 'allowed_links' > 2009-04-27 16:39:30,601 Trac[log] WARNING: [CommandParser] [By Key]: > Warning 'source' > 2009-04-27 16:39:30,601 Trac[log] WARNING: [CommandParser] [By Key]: > Warning 'ticket_types' > 2009-04-27 16:39:30,602 Trac[log] WARNING: [CommandParser] [By Key]: > Warning 'target' > > I can't find much of anything in the apache error logs, just some file > not found errors when the trac source browser fails (for files that do > exist and that usually do display correctly on refresh), e.g.: > > [Mon Apr 27 16:50:14 2009] [error] [client 64.245.185.130] File does > not exist: /htdocs, referer: > https://www.example.com/trac/project/path/to/source/file > > I have no idea what is causing these problems, but I can give a lot of > details about my setup in case someone else will recognize something. > > Here are the notes I took while setting up agilo: > > agilo > ----- > > Following their `install instructions > <http://www.agile42.com/cms/pages/download-install/>`_:: > > tar xf agilo-source-latest.tar.gz > cd agilo-0.7.3.3-r1417-20090313/ > python setup.py install > # which installed these eggs: > Installed /usr/lib/python2.5/site-packages/ > agilo-0.7.3.3_r1417_20090313-py2.5.egg > ... > Installed /usr/lib/python2.5/site-packages/Genshi-0.5.1-py2.5- > linux-i686.egg > /etc/init.d/apache2 restart > > Apache restarted fine, but trac was now broken, giving "Internal > Server Error". I checked /var/log/apache2/error.log and found that > the www-data user wanted to write to /var/www/.python-eggs but > didn't > have permission, so I did :: > > chown www-data: /var/www > /etc/init.d/apache2 restart > > Now agilo is available to all our tracs. To enable it in a > particular > one, e.g. in test, go to Admin->Plugins and enable *all* > (there are many) check boxes under agilo. After saving changes do, > e.g., :: > > sudo trac-admin /var/trac/test upgrade > > Not sure what privileges you need to manage agilo, so I lazily gave > all permissions :: > > sudo trac-admin /var/trac/test permission add jarun TRAC_ADMIN > > although by looking at all available permissions :: > > sudo trac-admin /var/trac/test permission list > > it's clear there are many agilo specific ones, e.g. SCRUM_MASTER and > AGILO_BACKLOG_ADMIN. > > Now setup the agilo hooks:: > > sudo cp scripts/agilo_svn_hook_commit.py /var/svn > cd /var/svn > > Edit global pre-commit (had to create this) and post-commit per > instructions in the agilo hook's doc string, where the possibly > non-obvious value is :: > > PYTHON_EGG_CACHE=/var/www/.python-eggs > > I can't find docs for these hooks online, but there are doc strings > on > ``agilo.utils.svn_hooks.AgiloSVNPreCommit``: > > An Agilo SVN hook to process the SVN comment before the commit. > It checks whether there are valid tickets number into the comment, > and in case there are valid tickets, it checks that if there is a > remaining_time specified than the ticket is of type task and it is > not closed. > > and ``agilo.utils.svn_hooks.AgiloSVNPostCommit``: > > An Agilo SVN hook to process the SVN comment after the commit. > To use it just call it as AgiloSVNPostCommit() from a script > called > post-commit into the <repository>/hooks/ folder of your SVN > server. > Tries to keep compatibility with the trac-post-commit-hook.py > written > by Stephen Hansen, Copyright (c) 2004 and distributed. > > We'll see if the pre-commit is annoying ... > > There are a bunch of `agilo docs in agilo > <https://www.example.com/trac/test/agilo-help/>`_. > > And here is my trac.ini: > > [agilo-backlogs] > product_backlog.columns = businessvalue:editable, roif, > story_priority:editable, rd_points:editable|total_story_points > product_backlog.name = Product Backlog > sprint_backlog.charts = burndown > sprint_backlog.columns = remaining_time:editable| > total_remaining_time, owner:editable, drp_resources:editable > sprint_backlog.name = Sprint Backlog > > [agilo-general] > use_days_for_time = False > > [agilo-links] > allow = requirement-story, story-task, bug-task, bug-story > bug.calculate = total_remaining_time=sum:get_outgoing.remaining_time > bug.task.copy = owner, sprint > bug.task.show = owner, remaining_time > cache.related = false > cache.timeout = 0 > requirement.calculate = > total_story_points=sum:get_outgoing.rd_points| > type=story,mandatory_story_points=sum:get_outgoing.rd_points| > type=story| > story_priority=Mandatory,roif=div:businessvalue;mandatory_story_points > requirement.story.copy = owner > requirement.story.show = rd_points, story_priority > story.calculate = > total_remaining_time > = > sum > :get_outgoing > .remaining_time > ,estimated_remaining_time > =mul:rd_points;get_sprint.get_team_metrics.rt_usp_ratio > story.task.copy = owner, sprint > story.task.show = owner, remaining_time > > [agilo-types] > bug = owner, sprint, priority > bug.alias = Bug > requirement = reporter, businessvalue, milestone, keywords > requirement.alias = Requirement > story = owner, sprint, rd_points, story_priority, keywords > story.alias = User Story > task = owner, sprint, remaining_time, drp_resources > task.alias = Task > > [components] > agilo.* = enabled > agilo.admin.backlog.backlogadminpanel = enabled > agilo.admin.custom_fields.customfieldadminpanel = enabled > agilo.admin.custom_fields.customfields = enabled > agilo.admin.general.generaladminpanel = enabled > agilo.admin.links.linksadminpanel = enabled > agilo.admin.sprint.sprintadminpanel = enabled > agilo.admin.team.teamadminpanel = enabled > agilo.admin.types.typesadminpanel = enabled > agilo.charts.burndown_chart.burndownchartgenerator = enabled > agilo.charts.chart_cache_invalidator.chartscacheinvalidator = > enabled > agilo.charts.chart_generator.chartgenerator = enabled > agilo.charts.macros.agilochartmacro = enabled > agilo.charts.metrics_chart.metricschartgenerator = enabled > > agilo > .charts > .resource_assignment_piechart.resourcesassignmentpiechartgenerator > = enabled > > agilo.charts.sprint_ticket_stats_chart.sprintticketstatschartgenerator > = enabled > agilo.core.persistentobjectmanager = enabled > agilo.csv_import.web_ui.importcsvmodule = enabled > agilo.help.help_links.agilolinks = enabled > agilo.help.web_ui.agilohelpmodule = enabled > agilo.init.agiloinit = enabled > agilo.links.model.linksconfiguration = enabled > agilo.links.search.linkssearchmodule = enabled > agilo.links.web_ui.linksmodule = enabled > agilo.scrum.backlog.backlogupdater = enabled > agilo.scrum.burndown.remainingtimeupdater = enabled > agilo.scrum.web_ui.backlog.backlogmodule = enabled > agilo.scrum.web_ui.contingents.contingentmodule = enabled > agilo.scrum.web_ui.dashboard.scrumdashboard = enabled > agilo.scrum.web_ui.preferences.agilopreferences = enabled > agilo.scrum.web_ui.roadmap.agiloroadmapmodule = enabled > agilo.scrum.web_ui.sprint.sprintmodule = enabled > agilo.scrum.web_ui.team.teammodule = enabled > agilo.ticket.api.agiloticketsystem = enabled > agilo.ticket.query.agiloquerymodule = enabled > agilo.ticket.report.agiloreportmodule = enabled > agilo.ticket.web_ui.agiloticketmodule = enabled > agilo.utils.config.agiloconfig = enabled > agilo.utils.permissions.agilopolicy = enabled > agilo.utils.web_ui.coretemplateprovider = enabled > agilo.workflow.api.ruleengine = enabled > agilo.workflow.rules.cleanlettersfromremainingtimerule = enabled > agilo.workflow.rules.closeticketwithremainingtimezerorule = enabled > agilo.workflow.rules.ownerisateammemberrule = enabled > agilo.workflow.rules.resetownerandresourcesrule = enabled > agilo.workflow.rules.setstoryinprogresswhenatleastonetask = enabled > agilo.workflow.rules.sprintandmilestonesyncrule = enabled > trac.ticket.api.ticketsystem = disabled > trac.ticket.query.querymodule = disabled > trac.ticket.report.reportmodule = disabled > trac.ticket.roadmap.roadmapmodule = disabled > trac.ticket.web_ui.ticketmodule = disabled > > [inherit] > file = /var/trac/global-trac.ini > > [logging] > log_level = DEBUG > > [project] > name = example > > [ticket-custom] > businessvalue = select > businessvalue.label = Business Value Points > businessvalue.options = |100|200|300|500|800|1200|2000|3000 > drp_resources = text > drp_resources.label = Resources > i_links = text > i_links.label = Referenced By > o_links = text > o_links.label = References > rd_points = select > rd_points.label = User Story Points > rd_points.options = |0|1|2|3|5|8|13|20|40|100 > remaining_time = text > remaining_time.label = Remaining Time > sprint = select > sprint.label = Sprint > story_priority = select > story_priority.label = Importance > story_priority.options = |Mandatory|Linear|Exciter > > [trac] > permission_policies = AgiloPolicy, DefaultPermissionPolicy, > LegacyAttachmentPolicy > repository_dir = /var/svn/example > > And the sourced global-trac.ini is: > > [attachment] > # 256MB > max_size = 268435456 > render_unsafe_content = true > > [browser] > color_scale = True > downloadable_paths = /trunk, /branches/*, /tags/* > hide_properties = svk:merge > intermediate_color = > intermediate_point = > newest_color = (255, 136, 136) > oldest_color = (136, 136, 255) > oneliner_properties = trac:summary > render_unsafe_content = true > wiki_properties = trac:description > > [changeset] > max_diff_bytes = 10000000 > max_diff_files = 0 > wiki_format_messages = true > > [components] > webadmin.* = enabled > # http://trac-hacks.org/wiki/TracMathPlugin > tracmath.* = enabled > # http://trac-hacks.org/wiki/WikiNotificationPlugin > wikinotification.* = enabled > > [tracmath] > use_dollars = true > > [header_logo] > alt = www.example.com > height = > link = > # apparently site/ maps to <project>/htdocs/ > src = site/example.png > width = > > [inherit] > plugins_dir = > templates_dir = > > [logging] > log_file = trac.log > # log_format = <inherited> > log_level = INFO > log_type = file > > [milestone] > stats_provider = DefaultTicketGroupStatsProvider > > [mimeviewer] > enscript_modes = text/x-dylan:dylan:4 > enscript_path = enscript > max_preview_size = 262144 > mime_map = text/x-dylan:dylan,text/x-idl:ice,text/x-ada:ads:adb > php_path = php > pygments_default_style = trac > pygments_modes = > tab_width = 8 > > # see http://trac-hacks.org/wiki/WikiNotificationPlugin > [wiki-notification] > smtp_always_cc = [email protected] > smtp_from = [email protected] > > [notification] > admit_domains = > always_notify_owner = false > always_notify_reporter = false > always_notify_updater = true > ignore_domains = > mime_encoding = base64 > smtp_always_bcc = > smtp_always_cc = [email protected] > smtp_default_domain = > smtp_enabled = true > smtp_from = [email protected] > smtp_from_name = > smtp_password = > smtp_port = 25 > smtp_replyto = [email protected] > smtp_server = localhost > smtp_subject_prefix = trac > smtp_user = > ticket_subject_template = [$prefix:$env.project_name] #$ticket.id: > $summary > use_public_cc = false > use_short_addr = false > use_tls = false > > [project] > admin = > descr = My example project > footer = Visit the Trac open source project at<br /><a href="http:// > trac.edgewall.org/">http://trac.edgewall.org/</a> > icon = common/trac.ico > name = Test Project > url = > > [query] > default_anonymous_query = status!=closed&cc~=$USER > default_query = status!=closed&owner=$USER > items_per_page = 100 > > [report] > items_per_page = 100 > items_per_page_rss = 0 > > [revisionlog] > default_log_limit = 100 > > [roadmap] > stats_provider = DefaultTicketGroupStatsProvider > > [search] > min_query_length = 3 > > [svn] > branches = trunk,branches/* > tags = tags/* > > [ticket] > default_component = > default_milestone = > default_priority = major > default_resolution = fixed > default_type = defect > default_version = > max_description_size = 262144 > preserve_newlines = default > restrict_owner = false > workflow = ConfigurableTicketWorkflow > > [ticket-workflow] > accept = new,assigned,accepted,reopened -> accepted > accept.operations = set_owner_to_self > accept.permissions = TICKET_MODIFY > leave = * -> * > leave.default = 1 > leave.operations = leave_status > reassign = new,assigned,accepted,reopened -> assigned > reassign.operations = set_owner > reassign.permissions = TICKET_MODIFY > reopen = closed -> reopened > reopen.operations = del_resolution > reopen.permissions = TICKET_CREATE > resolve = new,assigned,accepted,reopened -> closed > resolve.operations = set_resolution > resolve.permissions = TICKET_MODIFY > > [timeline] > abbreviated_messages = true > changeset_collapse_events = false > changeset_long_messages = true > changeset_show_files = 5 > default_daysback = 30 > max_daysback = 90 > newticket_formatter = oneliner > ticket_show_details = true > > [trac] > authz_file = > authz_module_name = > auto_reload = False > base_url = > check_auth_ip = true > database = sqlite:db/trac.db > default_charset = iso-8859-15 > htdocs_location = > ignore_auth_case = false > mainnav = wiki,timeline,roadmap,browser,tickets,newticket,search > metanav = login,logout,prefs,help,about > permission_policies = DefaultPermissionPolicy, > LegacyAttachmentPolicy > permission_store = DefaultPermissionStore > repository_dir = > repository_type = svn > show_email_addresses = false > timeout = 20 > use_base_url_for_redirect = False > > [wiki] > ignore_missing_pages = false > render_unsafe_content = true > split_page_names = false > > And here is my apache site: > > <VirtualHost *:443> > ServerName www.example.com > #ServerAlias > SSLEngine On > SSLCertificateFile /etc/ssl/private/www.example.com.pem > > <Location /> > # require auth for everything > AuthType Basic > AuthName "www.example.com development" > AuthUserFile /etc/subversion/passwd > Require valid-user > </Location> > > <Location /svn> > DAV svn > SVNListParentPath On > SVNParentPath /var/svn > </Location> > > <Location /trac> > SetHandler mod_python > PythonHandler trac.web.modpython_frontend > PythonOption TracEnvParentDir /var/trac > PythonOption TracUriRoot /trac > </Location> > > ErrorLog /var/log/apache2/error.log > > # Possible values include: debug, info, notice, warn, error, > crit, > # alert, emerg. > LogLevel warn > > CustomLog /var/log/apache2/access.log combined > ServerSignature On > </VirtualHost> > > And here are my trac/python/apache2 related packages installed > (aptitude search '~i(python|trac|apache2)'): > > i apache2 - Apache HTTP Server > metapackage > i A apache2-mpm-worker - Apache HTTP Server - high > speed threaded m > i A apache2-utils - utility programs for > webservers > i A apache2.2-common - Apache HTTP Server common > files > i iputils-tracepath - Tools to trace the network > path to a remot > i ipython - enhanced interactive Python > shell > i libapache2-mod-python - Python-embedding module for > Apache 2 > i libapache2-svn - Subversion server modules for > Apache > i ltrace - Tracks runtime library calls > in dynamicall > i python - An interactive high-level > object-oriented > i python-apt - Python interface to libapt- > pkg > i python-central - register and build utility for > Python pack > i A python-chardet - universal character encoding > detector > i A python-crypto - cryptographic algorithms and > protocols for > i A python-dbus - simple interprocess messaging > system (Pyth > i python-docutils - Utilities for the > documentation of Python > i python-gdbm - GNU dbm database support for > Python > i A python-genshi - Python XML-based template > engine > i python-gnupginterface - Python interface to GnuPG > (GPG) > i A python-gobject - Python bindings for the > GObject library > i python-minimal - A minimal subset of the Python > language (d > i A python-openssl - Python wrapper around the > OpenSSL library > i A python-pam - A Python interface to the PAM > library > i python-paramiko - Make ssh v2 connections with > python > i A python-pexpect - Python module for automating > interactive a > i A python-pkg-resources - Package Discovery and Resource > Access usin > i A python-pygments - syntax highlighting package > written in Pyt > i A python-pyopenssl - transitional dummy > package > i A python-pysqlite2 - Python interface to SQLite > 3 > i A python-roman - A module for generating/ > analyzing Roman nu > i A python-serial - pyserial - module > encapsulating access for > i A python-setuptools - Python Distutils > Enhancements > i A python-subversion - Python bindings for > Subversion > i python-support - automated rebuilding support > for Python mo > i A python-twisted-bin - Event-based framework for > internet applica > i A python-twisted-core - Event-based framework for > internet applica > i A python-tz - Python version of the Olson > timezone datab > i A python-zopeinterface - The implementation of > interface definition > i python2.5 - An interactive high-level > object-oriented > i python2.5-minimal - A minimal subset of the Python > language (v > i strace - A system call > tracer > i trac - Enhanced wiki and issue > tracking system fo > > And I also have TracMath and TracWikiNotification plugins installed. > > Anybody have any ideas? > > Thanks, > > -nathan > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Agilo for Scrum" group. This group is moderated by agile42 GmbH http://www.agile42.com and is focused in supporting Agilo for Scrum users. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/agilo?hl=en -~----------~----~----~----~------~----~------~--~---

