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
-~----------~----~----~----~------~----~------~--~---

Reply via email to