Re: [Trac] Re: TracHtmlNotificationPlugin only sends text/plain
Manuel Bilderbeek <[email protected]> Thu, 25 Jun 2026 01:31:13 -0700 (PDT)
| Newsgroups | gmane.comp.version-control.subversion.trac.general |
|---|---|
| Message-ID | <[email protected]> |
------=_Part_57034_2029018067.1782376273019
Content-Type: multipart/alternative;
boundary="----=_Part_57035_565108968.1782376273019"
------=_Part_57035_565108968.1782376273019
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Yes, PYTHON_EGG_CACHE is used and it is set on /srv/trac/eggs in=20
/srv/trac/apache/trac.wsgi:
$ cat /srv/trac/apache/trac.wsgi
import sys
sys.stdout =3D sys.stderr
import site
site.addsitedir('/usr/lib/python2.7/dist-packages/')
import os
os.environ['TRAC_ENV_PARENT_DIR'] =3D '/srv/trac/projects'
os.environ['PYTHON_EGG_CACHE'] =3D '/srv/trac/eggs'
import trac.web.main
application =3D trac.web.main.dispatch_request
I cleaned this /srv/trac/eggs directory and did an updatedb/locate after=20
restarting apache2:
$ locate TracHtmlNotification
/srv/trac/eggs/TracHtmlNotificationPlugin-0.12.0.4-py3.14.egg-tmp
/srv/trac/eggs/TracHtmlNotificationPlugin-0.12.0.4-py3.14.egg-tmp/trachtmln=
otification
/srv/trac/eggs/TracHtmlNotificationPlugin-0.12.0.4-py3.14.egg-tmp/trachtmln=
otification/templates
/srv/trac/eggs/TracHtmlNotificationPlugin-0.12.0.4-py3.14.egg-tmp/trachtmln=
otification/templates/jinja2
/srv/trac/eggs/TracHtmlNotificationPlugin-0.12.0.4-py3.14.egg-tmp/trachtmln=
otification/templates/jinja2/htmlnotification_ticket.html
/srv/trac/projects/swdev/plugins/TracHtmlNotificationPlugin-0.12.0.4-py3.14=
.egg
$ locate htmlnotification_ticket
/srv/trac/eggs/TracHtmlNotificationPlugin-0.12.0.4-py3.14.egg-tmp/trachtmln=
otification/templates/jinja2/htmlnotification_ticket.html
I guess this looks OK, but I still do not get the proper diffs in the=20
e-mail after all of this. What am I missing here?
Should I move the installation of the egg(s)? I'm not sure where exactly it=
=20
should be moved to. /srv/trac/lib? /srv/trac/projects/lib?
Op maandag 22 juni 2026 om 15:06:00 UTC+2 schreef Jun Omae:
> Trying to reproduce it on fresh Ubuntu 26.04 environment on a
> container but it is unable to reproduce.
>
> I suspect that your PYTHON_EGG_CACHE directory has old files which are
> extracted from old egg files. If PYTHON_EGG_CACHE directory is used,
> try to make the directory empty.
>
> See also https://trac.edgewall.org/wiki/TracModWSGI#Thetrac.wsgiscript
>
> If PYTHON_EGG_CACHE directory is used, I don't recommend to install
> egg files to plugins directory of the project. Instead, I recommend to
> install to "lib" directory of venv. Otherwise, extract the egg files
> to plugins/<name>.egg directory.
>
> e.g.
> $ unzip -x dist/TracHtmlNotificationPlugin-0.12.0.4-py3.14.egg -d
> tracenv/plugins/TracHtmlNotificationPlugin-0.12.0.4-py3.14.egg
>
>
> On Mon, Jun 22, 2026 at 4:55=E2=80=AFPM Manuel Bilderbeek
> <[email protected]> wrote:
> >
> > Hi,
> >
> > Here is the requested information.
> >
> > System Information
> >
> > User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.3=
6=20
> (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36
> >
> >
> > PackageVersion
> > Trac1.6
> > Babel2.17.0
> > Docutils0.22.4
> > GIT2.53.0
> > Jinja23.1.6
> > mod_wsgi5.0.2 (WSGIProcessGroup WSGIApplicationGroup %{GLOBAL})
> > Pygments2.19.2
> > pysqlite2.6.0
> > Python3.14.4 (main, Apr 8 2026, 04:02:31) [GCC 15.2.0]
> > pytz2025.2
> > setuptools78.1.1
> > SQLite3.46.1
> > Subversion1.14.5 (r1922182)
> > jQuery3.7.1
> > jQuery UI1.13.2
> > jQuery Timepicker1.6.3
> > Installed Plugins
> > NameVersionLocation
> > acct-mgr.adminN/A/usr/lib/python3/dist-packages/acct_mgr/admin.py
> > acct-mgr.apiN/A/usr/lib/python3/dist-packages/acct_mgr/api.py
> > acct-mgr.dbN/A/usr/lib/python3/dist-packages/acct_mgr/db.py
> > acct-mgr.guardN/A/usr/lib/python3/dist-packages/acct_mgr/guard.py
> > acct-mgr.htfileN/A/usr/lib/python3/dist-packages/acct_mgr/htfile.py
> > acct-mgr.httpN/A/usr/lib/python3/dist-packages/acct_mgr/http.py
> > acct-mgr.macrosN/A/usr/lib/python3/dist-packages/acct_mgr/macros.py
> > acct-mgr.modelN/A/usr/lib/python3/dist-packages/acct_mgr/model.py
> >=20
> acct-mgr.notificationN/A/usr/lib/python3/dist-packages/acct_mgr/notificat=
ion.py
> > acct-mgr.pwhashN/A/usr/lib/python3/dist-packages/acct_mgr/pwhash.py
> > acct-mgr.registerN/A/usr/lib/python3/dist-packages/acct_mgr/register.py
> > acct-mgr.svnserveN/A/usr/lib/python3/dist-packages/acct_mgr/svnserve.py
> > acct-mgr.web-uiN/A/usr/lib/python3/dist-packages/acct_mgr/web_ui.py
> >=20
> customfieldadmin.adminN/A/usr/lib/python3/dist-packages/customfieldadmin/=
admin.py
> >=20
> customfieldadmin.apiN/A/usr/lib/python3/dist-packages/customfieldadmin/ap=
i.py
> >=20
> TicketValidator0.2.dev0/srv/trac/projects/swdev/plugins/TicketValidator-0=
.2.dev0-py3.14.egg
> > trac.aboutN/A/usr/lib/python3/dist-packages/trac/about.py
> > trac.admin.apiN/A/usr/lib/python3/dist-packages/trac/admin/api.py
> > trac.admin.consoleN/A/usr/lib/python3/dist-packages/trac/admin/console.=
py
> > trac.admin.web-uiN/A/usr/lib/python3/dist-packages/trac/admin/web_ui.py
> > trac.attachmentN/A/usr/lib/python3/dist-packages/trac/attachment.py
> > trac.cacheN/A/usr/lib/python3/dist-packages/trac/cache.py
> > trac.configN/A/usr/lib/python3/dist-packages/trac/config.py
> > trac.db.apiN/A/usr/lib/python3/dist-packages/trac/db/api.py
> >=20
> trac.db.sqlite-backendN/A/usr/lib/python3/dist-packages/trac/db/sqlite_ba=
ckend.py
> > trac.envN/A/usr/lib/python3/dist-packages/trac/env.py
> > trac.mimeview.apiN/A/usr/lib/python3/dist-packages/trac/mimeview/api.py
> >=20
> trac.mimeview.patchN/A/usr/lib/python3/dist-packages/trac/mimeview/patch.=
py
> >=20
> trac.mimeview.pygmentsN/A/usr/lib/python3/dist-packages/trac/mimeview/pyg=
ments.py
> > trac.mimeview.rstN/A/usr/lib/python3/dist-packages/trac/mimeview/rst.py
> >=20
> trac.notification.apiN/A/usr/lib/python3/dist-packages/trac/notification/=
api.py
> >=20
> trac.notification.mailN/A/usr/lib/python3/dist-packages/trac/notification=
/mail.py
> >=20
> trac.notification.prefsN/A/usr/lib/python3/dist-packages/trac/notificatio=
n/prefs.py
> > trac.permN/A/usr/lib/python3/dist-packages/trac/perm.py
> > trac.prefs.web-uiN/A/usr/lib/python3/dist-packages/trac/prefs/web_ui.py
> > trac.resourceN/A/usr/lib/python3/dist-packages/trac/resource.py
> > trac.search.web-uiN/A/usr/lib/python3/dist-packages/trac/search/web_ui.=
py
> > trac.ticket.adminN/A/usr/lib/python3/dist-packages/trac/ticket/admin.py
> > trac.ticket.apiN/A/usr/lib/python3/dist-packages/trac/ticket/api.py
> > trac.ticket.batchN/A/usr/lib/python3/dist-packages/trac/ticket/batch.py
> >=20
> trac.ticket.default-workflowN/A/usr/lib/python3/dist-packages/trac/ticket=
/default_workflow.py
> > trac.ticket.modelN/A/usr/lib/python3/dist-packages/trac/ticket/model.py
> >=20
> trac.ticket.notificationN/A/usr/lib/python3/dist-packages/trac/ticket/not=
ification.py
> > trac.ticket.queryN/A/usr/lib/python3/dist-packages/trac/ticket/query.py
> > trac.ticket.reportN/A/usr/lib/python3/dist-packages/trac/ticket/report.=
py
> >=20
> trac.ticket.roadmapN/A/usr/lib/python3/dist-packages/trac/ticket/roadmap.=
py
> > trac.ticket.web-uiN/A/usr/lib/python3/dist-packages/trac/ticket/web_ui.=
py
> >=20
> trac.timeline.web-uiN/A/usr/lib/python3/dist-packages/trac/timeline/web_u=
i.py
> >=20
> trac.versioncontrol.adminN/A/usr/lib/python3/dist-packages/trac/versionco=
ntrol/admin.py
> >=20
> trac.versioncontrol.apiN/A/usr/lib/python3/dist-packages/trac/versioncont=
rol/api.py
> >=20
> trac.versioncontrol.svn-authzN/A/usr/lib/python3/dist-packages/trac/versi=
oncontrol/svn_authz.py
> >=20
> trac.versioncontrol.web-ui.browserN/A/usr/lib/python3/dist-packages/trac/=
versioncontrol/web_ui/browser.py
> >=20
> trac.versioncontrol.web-ui.changesetN/A/usr/lib/python3/dist-packages/tra=
c/versioncontrol/web_ui/changeset.py
> >=20
> trac.versioncontrol.web-ui.logN/A/usr/lib/python3/dist-packages/trac/vers=
ioncontrol/web_ui/log.py
> > trac.web.authN/A/usr/lib/python3/dist-packages/trac/web/auth.py
> > trac.web.chromeN/A/usr/lib/python3/dist-packages/trac/web/chrome.py
> > trac.web.mainN/A/usr/lib/python3/dist-packages/trac/web/main.py
> > trac.web.sessionN/A/usr/lib/python3/dist-packages/trac/web/session.py
> > trac.wiki.adminN/A/usr/lib/python3/dist-packages/trac/wiki/admin.py
> > trac.wiki.apiN/A/usr/lib/python3/dist-packages/trac/wiki/api.py
> >=20
> trac.wiki.intertracN/A/usr/lib/python3/dist-packages/trac/wiki/intertrac.=
py
> >=20
> trac.wiki.interwikiN/A/usr/lib/python3/dist-packages/trac/wiki/interwiki.=
py
> > trac.wiki.macrosN/A/usr/lib/python3/dist-packages/trac/wiki/macros.py
> > trac.wiki.parserN/A/usr/lib/python3/dist-packages/trac/wiki/parser.py
> > trac.wiki.web-apiN/A/usr/lib/python3/dist-packages/trac/wiki/web_api.py
> > trac.wiki.web-uiN/A/usr/lib/python3/dist-packages/trac/wiki/web_ui.py
> >=20
> TracChildTickets2.6.0.dev0/srv/trac/projects/swdev/plugins/TracChildTicke=
ts-2.6.0.dev0-py3.14.egg
> >=20
> TracDragDrop0.12.0.18/srv/trac/projects/swdev/plugins/TracDragDrop-0.12.0=
.18-py3.14.egg
> >=20
> TracHtmlNotificationPlugin0.12.0.4/srv/trac/projects/swdev/plugins/TracHt=
mlNotificationPlugin-0.12.0.4-py3.14.egg
> >=20
> tracopt.perm.authz-policyN/A/usr/lib/python3/dist-packages/tracopt/perm/a=
uthz_policy.py
> >=20
> tracopt.perm.config-perm-providerN/A/usr/lib/python3/dist-packages/tracop=
t/perm/config_perm_provider.py
> >=20
> tracopt.ticket.cloneN/A/usr/lib/python3/dist-packages/tracopt/ticket/clon=
e.py
> >=20
> tracopt.ticket.commit-updaterN/A/usr/lib/python3/dist-packages/tracopt/ti=
cket/commit_updater.py
> >=20
> tracopt.ticket.deleterN/A/usr/lib/python3/dist-packages/tracopt/ticket/de=
leter.py
> >=20
> tracopt.versioncontrol.git.git-fsN/A/usr/lib/python3/dist-packages/tracop=
t/versioncontrol/git/git_fs.py
> >=20
> tracopt.versioncontrol.svn.svn-fsN/A/usr/lib/python3/dist-packages/tracop=
t/versioncontrol/svn/svn_fs.py
> >=20
> tracopt.versioncontrol.svn.svn-propN/A/usr/lib/python3/dist-packages/trac=
opt/versioncontrol/svn/svn_prop.py
> >=20
> TracPrivateTickets2.4.0.dev0/srv/trac/projects/swdev/plugins/TracPrivateT=
ickets-2.4.0.dev0-py3.14.egg
> >=20
> TracTicketTemplate1.0.1.dev0/srv/trac/projects/swdev/plugins/TracTicketTe=
mplate-1.0.1.dev0-py3.14.egg
> > tracwysiwygN/A/usr/lib/python3/dist-packages/tracwysiwyg/__init__.py
> > Interface Customization
> > Site templatessite.html
> > Shared templates
> > Site static resourceslogo-old.png logo.png=20
> siminst_admin_region_settings.png siminst_cmd_as_admin.png=20
> siminst_cmd_as_user.png siminst_extract_dialog.png=20
> siminst_extracting_progress_dialog.png siminst_formats_settings.png=20
> siminst_language_settings.png siminst_login_button.png=20
> siminst_main_language.png siminst_region_settings.png=20
> siminst_search_cmd.png siminst_settings.png siminst_settings_for_time.png=
=20
> siminst_system_id.png siminst_system_locale_settings.png=20
> siminst_system_settings.png siminst_time_settings.png=20
> siminst_tools_button.png siminst_uninstall_dialog.png=20
> siminst_uninstall_prereq.png
> > Shared static resources
> >
> > It looks like it got a little garbled when copy-pasting from the web=20
> page, but I guess it's clear enough? Let me know if you prefer plaintext=
=20
> pasting.
> >
> > I will also paste trac.ini, but I had to remove some things that are=20
> better not put in the open due to company policies. These are marked with=
=20
> <REMOVED>. I'm glad this installation is not accessible from the internet=
=20
> ;-)
> >
> > # -*- coding: utf-8 -*-
> >
> > [account-manager]
> > auth_init =3D enabled
> > db_htdigest_realm =3D
> > db_htpasswd_hash_type =3D crypt
> > force_passwd_change =3D disabled
> > hash_method =3D HtDigestHashMethod
> > htpasswd_file =3D /srv/.htpasswd
> > htpasswd_hash_type =3D crypt
> > password_store =3D HtPasswdStore
> > persistent_sessions =3D disabled
> > refresh_passwd =3D disabled
> > register_check =3D BasicCheck
> > user_lock_max_time =3D 86400
> > verify_email =3D disabled
> >
> > [attachment]
> > max_size =3D 314572800
> > render_unsafe_content =3D disabled
> >
> > [browser]
> > color_scale =3D enabled
> > downloadable_paths =3D /trunk,/branches/*,/tags/*
> > hide_properties =3D svk:merge
> > intermediate_color =3D
> > intermediate_point =3D
> > newest_color =3D (255, 136, 136)
> > oldest_color =3D (136, 136, 255)
> > oneliner_properties =3D trac:summary
> > render_unsafe_content =3D disabled
> > wiki_properties =3D trac:description
> >
> > [changeset]
> > max_diff_bytes =3D 10000000
> > max_diff_files =3D 0
> > wiki_format_messages =3D enabled
> >
> > [childtickets]
> > parent.defect.allow_child_tickets =3D True
> > parent.defect.default_child_type =3D defect
> > parent.defect.inherit =3D=20
> function,component,priority,version,milestone,keywords
> > parent.defect.restrict_child_type =3D enhancement,task=20
> (software),defect,obsolescence
> > parent.defect.table_headers =3D=20
> status,component,summary,priority,milestone,owner,type
> > parent.enhancement.allow_child_tickets =3D True
> > parent.enhancement.default_child_type =3D enhancement
> > parent.enhancement.inherit =3D=20
> function,component,priority,version,milestone,keywords
> > parent.enhancement.restrict_child_type =3D enhancement,task=20
> (software),defect,obsolescence
> > parent.enhancement.table_headers =3D=20
> status,component,summary,priority,milestone,owner,type
> > parent.obsolescence.allow_child_tickets =3D True
> > parent.obsolescence.inherit =3D=20
> component,priority,version,milestone,keywords
> > parent.obsolescence.restrict_child_type =3D obsolescence,defect,task=20
> (software),enhancement
> > parent.obsolescence.table_headers =3D=20
> status,component,summary,priority,milestone,owner,type
> > parent.task (software).allow_child_tickets =3D True
> > parent.task (software).default_child_type =3D task (software)
> > parent.task (software).inherit =3D=20
> function,component,priority,version,milestone,keywords
> > parent.task (software).restrict_child_type =3D enhancement,task=20
> (software),defect,obsolescence
> > parent.task (software).table_headers =3D=20
> status,component,summary,priority,milestone,owner,type
> >
> > [components]
> > tracdragdrop.* =3D enabled
> > acct_mgr.admin.accountmanageradminpage =3D disabled
> > acct_mgr.admin.accountmanageradminpanel =3D enabled
> > acct_mgr.admin.configurationadminpanel =3D enabled
> > acct_mgr.admin.useradminpanel =3D enabled
> > acct_mgr.api.accountmanager =3D enabled
> > acct_mgr.db.sessionstore =3D enabled
> > acct_mgr.htfile.abstractpasswordfilestore =3D disabled
> > acct_mgr.htfile.htdigeststore =3D disabled
> > acct_mgr.htfile.htpasswdstore =3D enabled
> > acct_mgr.http.httpauthstore =3D disabled
> > acct_mgr.notification.accountchangelistener =3D disabled
> > acct_mgr.notification.accountchangenotificationadminpanel =3D disabled
> > acct_mgr.pwhash.htdigesthashmethod =3D enabled
> > acct_mgr.pwhash.htpasswdhashmethod =3D enabled
> > acct_mgr.register.basiccheck =3D enabled
> > acct_mgr.register.registrationmodule =3D enabled
> > acct_mgr.svnserve.svnservepasswordstore =3D disabled
> > acct_mgr.web_ui.accountmodule =3D disabled
> > acct_mgr.web_ui.emailverificationmodule =3D disabled
> > acct_mgr.web_ui.loginmodule =3D disabled
> > acct_mgr.web_ui.registrationmodule =3D disabled
> > batchmod.web_ui.* =3D enabled
> > batchmod.web_ui.batchmodifymodule =3D disabled
> > childtickets.* =3D enabled
> > childtickets.admin.childticketsadminpanel =3D enabled
> > childtickets.childtickets.tracchildticketsmodule =3D enabled
> > customfieldadmin.admin.customfieldadminpage =3D enabled
> > customfieldadmin.api.customfields =3D enabled
> > customfieldadmin.customfieldadmin.customfieldadminpage =3D enabled
> > privatetickets.* =3D enabled
> > ticketdelete.web_ui.* =3D enabled
> > ticketdelete.web_ui.ticketdeleteplugin =3D disabled
> > ticketmodifiedfiles.* =3D enabled
> > ticketmodifiedfiles.ticketmodifiedfiles.ticketmodifiedfilesplugin =3D=
=20
> enabled
> > ticketstats.* =3D enabled
> > ticketstats.ticketstats.ticketstatsplugin =3D enabled
> > tickettemplate.* =3D enabled
> > tickettemplate.ttadmin.tickettemplatemodule =3D enabled
> > ticketvalidator.admin.ticketvalidatoradminpanelprovider =3D enabled
> > ticketvalidator.core.requiredfieldvalidator =3D enabled
> > trachtmlnotification.* =3D enabled
> > tracopt.ticket.commit_updater.committicketupdater =3D enabled
> > tracopt.ticket.commit_updater.committicketreferencemacro =3D enabled
> > tracopt.versioncontrol.git.git_fs.csetpropertyrenderer =3D enabled
> > tracopt.versioncontrol.git.git_fs.gitconnector =3D enabled
> > tracopt.versioncontrol.git.git_fs.gitwebprojectsrepositoryprovider =3D=
=20
> enabled
> > tracopt.versioncontrol.svn.svn_fs.subversionconnector =3D enabled
> > tracopt.versioncontrol.svn.svn_prop.subversionmergepropertydiffrenderer=
=20
> =3D enabled
> > tracopt.versioncontrol.svn.svn_prop.subversionmergepropertyrenderer =3D=
=20
> enabled
> > tracopt.versioncontrol.svn.svn_prop.subversionpropertyrenderer =3D enab=
led
> > tracwysiwyg.templateprovider =3D enabled
> > tracwysiwyg.wysiwygwikifilter =3D enabled
> >
> > [gitweb-repositories]
> > projects_base =3D
> > projects_list =3D
> > projects_url =3D
> > sync_per_request =3D
> >
> > [header_logo]
> > alt =3D ASMPT ALSI Trac database
> > src =3D site/logo.png
> >
> > [inherit]
> > plugins_dir =3D /srv/trac/projects/
> > templates_dir =3D
> >
> > [logging]
> > log_file =3D trac.log
> > log_level =3D WARN
> > log_type =3D file
> >
> > [mainnav]
> > browser.order =3D 4.0
> > newticket.order =3D 6.0
> > roadmap.order =3D 3.0
> > search.order =3D 7.0
> > tickets.order =3D 5.0
> > timeline.order =3D 2.0
> > wiki.order =3D 1.0
> >
> > [metanav]
> > about.order =3D 5.0
> > help.order =3D 4.0
> > login.order =3D 1.0
> > logout.order =3D 2.0
> > prefs.order =3D 3.0
> >
> > [milestone]
> > stats_provider =3D DefaultTicketGroupStatsProvider
> >
> > [mimeviewer]
> > enscript_modes =3D text/x-dylan:dylan:4
> > enscript_path =3D enscript
> > max_preview_size =3D 12621440
> > mime_map =3D text/x-dylan:dylan,text/x-idl:ice,text/x-ada:ads:adb
> > php_path =3D php
> > tab_width =3D 8
> >
> > [notification]
> > admit_domains =3D
> > default_format.email =3D text/html
> > ignore_domains =3D
> > mime_encoding =3D base64
> > smtp_always_bcc =3D
> > smtp_always_cc =3D
> > smtp_default_domain =3D
> > smtp_enabled =3D enabled
> > smtp_from =3D <REMOVED>
> > smtp_from_name =3D ASMPT Trac database
> > smtp_password =3D
> > smtp_port =3D 25
> > smtp_replyto =3D [email protected]
> > smtp_server =3D 127.0.0.1
> > smtp_subject_prefix =3D __default__
> > smtp_user =3D
> > ticket_subject_template =3D ${prefix} #${ticket.id}: ${summary}
> > use_public_cc =3D disabled
> > use_short_addr =3D disabled
> > use_tls =3D disabled
> >
> > [notification-subscriber]
> > always_notify_cc =3D CarbonCopySubscriber
> > always_notify_previous_updater =3D TicketPreviousUpdatersSubscriber
> > always_notify_updater =3D TicketUpdaterSubscriber
> >
> > [privatetickets]
> > group_blacklist =3D anonymous,authenticated
> >
> > [project]
> > admin =3D
> > descr =3D Ticketing system for ASMPT ALSI
> > footer =3D Visit the Trac open source project at<br /><a href=3D"
> http://trac.edgewall.org/">http://trac.edgewall.org/</a>
> > icon =3D common/trac.ico
> > name =3D ASMPT ALSI Development
> > url =3D
> >
> > [query]
> > default_anonymous_query =3D status!=3Dclosed&cc~=3D$USER
> > default_query =3D status!=3Dclosed&owner=3D$USER
> > items_per_page =3D 100
> >
> > [report]
> > items_per_page =3D 100
> > items_per_page_rss =3D 0
> >
> > [repositories]
> > .dir =3D /srv/svn/SVN_LSS_REPOS
> >
> > [revisionlog]
> > default_log_limit =3D 100
> >
> > [roadmap]
> > stats_provider =3D DefaultTicketGroupStatsProvider
> >
> > [search]
> > min_query_length =3D 3
> >
> > [svn]
> > authz_file =3D
> > authz_module_name =3D
> > branches =3D trunk,branches/*
> > tags =3D tags/*
> >
> > [ticket]
> > commit_ticket_update_check_perms =3D disabled
> > commit_ticket_update_commands.close =3D
> > commit_ticket_update_commands.refs =3D <ALL>
> > commit_ticket_update_envelope =3D []
> > commit_ticket_update_notify =3D enabled
> > default_cc =3D
> > default_component =3D Unknown
> > default_description =3D
> > default_keywords =3D
> > default_milestone =3D Unspecified
> > default_owner =3D ccb
> > default_priority =3D <not set>
> > default_resolution =3D fixed
> > default_severity =3D <not set>
> > default_summary =3D
> > default_type =3D defect
> > default_version =3D All
> > max_comment_size =3D 262144
> > max_description_size =3D 262144
> > preserve_newlines =3D default
> > restrict_owner =3D enabled
> > workflow =3D ConfigurableTicketWorkflow
> >
> > [ticket-custom]
> > chance =3D select
> > chance.label =3D Chance of occurrence
> > chance.options =3D <REMOVED>
> > chance.order =3D 5
> > chance.value =3D Chance of occurence
> > customer =3D select
> > customer.label =3D Customer
> > customer.options =3D <REMOVED>
> > customer.order =3D 7
> > customer.value =3D
> > function =3D select
> > function.label =3D Function
> > function.options =3D <REMOVED>
> > function.order =3D 1
> > function.value =3D
> > machinetype =3D select
> > machinetype.label =3D Machine Type
> > machinetype.options =3D <REMOVED>
> > machinetype.order =3D 2
> > machinetype.value =3D None
> > parent =3D text
> > parent.format =3D wiki
> > parent.label =3D Parent ID
> > parent.order =3D 3
> > parent.value =3D
> > project =3D select
> > project.label =3D Project
> > project.options =3D <REMOVED>
> > project.order =3D 0
> > project.value =3D
> > supplier =3D select
> > supplier.label =3D Supplier
> > supplier.options =3D <REMOVED>
> > supplier.order =3D 6
> > supplier.value =3D None
> > valuedriver =3D select
> > valuedriver.label =3D Value Driver
> > valuedriver.options =3D <REMOVED>
> > valuedriver.order =3D 4
> > valuedriver.value =3D None
> >
> > [ticket-workflow]
> > analyse =3D new,reopened,analysed,solved,analysing -> analysing
> > analyse.operations =3D set_owner
> > analyse.permissions =3D TICKET_MODIFY
> > analysed =3D analysing -> analysed
> > analysed.operations =3D set_owner
> > analysed.permissions =3D TICKET_MODIFY
> > approved =3D new,analysed,solved -> closed
> > approved.operations =3D set_resolution
> > approved.permissions =3D TICKET_MODIFY
> > create =3D <none> -> new
> > create.default =3D 1
> > leave =3D * -> *
> > leave.default =3D 1
> > leave.operations =3D leave_status
> > reassign =3D new,analysed,solved,reopened,assigned -> assigned
> > reassign.operations =3D set_owner
> > reassign.permissions =3D TICKET_MODIFY
> > reopen =3D closed -> reopened
> > reopen.operations =3D del_resolution
> > reopen.permissions =3D TICKET_CREATE
> > resolved =3D assigned -> solved
> > resolved.operations =3D set_owner
> > resolved.permissions =3D TICKET_MODIFY
> >
> > [tickettemplate]
> > enable_custom =3D enabled
> > field_list =3D=20
> summary,description,reporter,owner,priority,cc,milestone,component,versio=
n,type
> >
> > [ticketvalidator]
> > assigned.required =3D project, summary, customer, supplier, function,=
=20
> severity, priority, valuedriver, machinetype
> > new.required =3D project, summary, customer, supplier, function, severi=
ty,=20
> priority, valuedriver, machinetype
> >
> > [timeline]
> > abbreviated_messages =3D enabled
> > changeset_collapse_events =3D disabled
> > changeset_long_messages =3D disabled
> > changeset_show_files =3D 0
> > default_daysback =3D 30
> > max_daysback =3D 90
> > newticket_formatter =3D oneliner
> > ticket_show_details =3D disabled
> >
> > [trac]
> > auto_reload =3D disabled
> > base_url =3D https://alsi-lnx.alsi.local/trac/swdev
> > check_auth_ip =3D disabled
> > database =3D sqlite:db/trac.db
> > default_charset =3D iso-8859-15
> > default_date_format =3D
> > default_dateinfo_format =3D relative
> > default_handler =3D WikiModule
> > default_language =3D
> > default_timezone =3D
> > htdocs_location =3D
> > ignore_auth_case =3D disabled
> > permission_policies =3D=20
> DefaultWikiPolicy,DefaultTicketPolicy,DefaultPermissionPolicy,LegacyAttac=
hmentPolicy
> > permission_store =3D DefaultPermissionStore
> > secure_cookies =3D disabled
> > show_email_addresses =3D disabled
> > timeout =3D 20
> > use_base_url_for_redirect =3D disabled
> >
> > [versioncontrol]
> > default_repository_type =3D svn
> >
> > [wiki]
> > ignore_missing_pages =3D disabled
> > max_size =3D 262144
> > render_unsafe_content =3D disabled
> > split_page_names =3D disabled
> >
> > Thanks again for your continuous support.
> > Op zondag 21 juni 2026 om 07:34:49 UTC+2 schreef Jun Omae:
> >>
> >> On Fri, Jun 19, 2026 at 11:46=E2=80=AFPM Manuel Bilderbeek
> >> <[email protected]> wrote:
> >> >
> >> > Where should that be?
> >> >
> >> > alsi-lnx:/srv/trac/projects/swdev$ ls -la templates/
> >> > total 12
> >> > drwxr-xr-x 2 www-data www-data 4096 Jun 14 2013 .
> >> > drwxrwxr-x 12 www-data www-data 4096 Apr 15 2025 ..
> >> > -rw-r--r-- 1 www-data www-data 154 Mar 19 2009 site.html
> >> > alsi-lnx:/srv/trac/projects/swdev$
> >> >
> >> > There is only site.html there, nothing else.... am I looking at the=
=20
> wrong place?
> >>
> >> Hm, it seems that you have no custom htmlnotification_ticket.html but
> >> it is unable to reproduce the issue with Trac 1.6, this plugin and
> >> fresh Trac Environment.
> >>
> >> Please share the following information if possible:
> >>
> >> * System Information, Installed Plugins and Interface Customization
> >> from /about page in your Trac
> >> * trac.ini
> >>
> >> --
> >> Jun Omae <[email protected]> (=E5=A4=A7=E5=89=8D =E6=BD=A4)
> >
> > --
> > You received this message because you are subscribed to the Google=20
> Groups "Trac Users" group.
> > To unsubscribe from this group and stop receiving emails from it, send=
=20
> an email to trac-users+...-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
> > To view this discussion visit=20
> https://groups.google.com/d/msgid/trac-users/80ff24ca-c201-4cb8-8f50-0a93=
4c225acfn%40googlegroups.com
> .
>
>
>
> --=20
> Jun Omae <[email protected]> (=E5=A4=A7=E5=89=8D =E6=BD=A4)
>
--=20
You received this message because you are subscribed to the Google Groups "=
Trac Users" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to trac-users+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
To view this discussion visit https://groups.google.com/d/msgid/trac-users/=
567b481c-f208-42a8-af09-e5055edae8c4n%40googlegroups.com.
------=_Part_57035_565108968.1782376273019
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Yes, PYTHON_EGG_CACHE is used and it is set on /srv/trac/eggs in /srv/trac/=
apache/trac.wsgi:<div>$ cat /srv/trac/apache/trac.wsgi<br />import sys<br /=
>sys.stdout =3D sys.stderr<br /><br />import site<br />site.addsitedir('/us=
r/lib/python2.7/dist-packages/')<br /><br />import os<br />os.environ['TRAC=
_ENV_PARENT_DIR'] =3D '/srv/trac/projects'<br />os.environ['PYTHON_EGG_CACH=
E'] =3D '/srv/trac/eggs'<br /><br />import trac.web.main<br /><br />applica=
tion =3D trac.web.main.dispatch_request<br /></div><div><br /></div><div>I =
cleaned this /srv/trac/eggs directory and did an updatedb/locate after rest=
arting apache2:<div><br /></div><div>$ locate TracHtmlNotification<br />/sr=
v/trac/eggs/TracHtmlNotificationPlugin-0.12.0.4-py3.14.egg-tmp<br />/srv/tr=
ac/eggs/TracHtmlNotificationPlugin-0.12.0.4-py3.14.egg-tmp/trachtmlnotifica=
tion<br />/srv/trac/eggs/TracHtmlNotificationPlugin-0.12.0.4-py3.14.egg-tmp=
/trachtmlnotification/templates<br />/srv/trac/eggs/TracHtmlNotificationPlu=
gin-0.12.0.4-py3.14.egg-tmp/trachtmlnotification/templates/jinja2<br />/srv=
/trac/eggs/TracHtmlNotificationPlugin-0.12.0.4-py3.14.egg-tmp/trachtmlnotif=
ication/templates/jinja2/htmlnotification_ticket.html<br />/srv/trac/projec=
ts/swdev/plugins/TracHtmlNotificationPlugin-0.12.0.4-py3.14.egg<br /><br />=
</div><div>$ locate htmlnotification_ticket<br />/srv/trac/eggs/TracHtmlNot=
ificationPlugin-0.12.0.4-py3.14.egg-tmp/trachtmlnotification/templates/jinj=
a2/htmlnotification_ticket.html<br /></div><div><br /></div><div>I guess th=
is looks OK, but I still do not get the proper diffs in the e-mail after al=
l of this. What am I missing here?</div><div><br /></div><div>Should I move=
the installation of the egg(s)? I'm not sure where exactly it should be mo=
ved to. /srv/trac/lib? /srv/trac/projects/lib?</div><div><br /></div></div>=
<div class=3D"gmail_quote"><div dir=3D"auto" class=3D"gmail_attr">Op maanda=
g 22 juni 2026 om 15:06:00 UTC+2 schreef Jun Omae:<br/></div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin: 0 0 0 0.8ex; border-left: 1px solid rg=
b(204, 204, 204); padding-left: 1ex;">Trying to reproduce it on fresh Ubunt=
u 26.04 environment on a
<br>container but it is unable to reproduce.
<br>
<br>I suspect that your PYTHON_EGG_CACHE directory has old files which are
<br>extracted from old egg files. If PYTHON_EGG_CACHE directory is used,
<br>try to make the directory empty.
<br>
<br>See also <a href=3D"https://trac.edgewall.org/wiki/TracModWSGI#Thetrac.=
wsgiscript" target=3D"_blank" rel=3D"nofollow" data-saferedirecturl=3D"http=
s://www.google.com/url?hl=3Dnl&q=3Dhttps://trac.edgewall.org/wiki/TracM=
odWSGI%23Thetrac.wsgiscript&source=3Dgmail&ust=3D1782460719721000&a=
mp;usg=3DAOvVaw0TQrYKV6ckSAbB9dMIiKXo">https://trac.edgewall.org/wiki/TracM=
odWSGI#Thetrac.wsgiscript</a>
<br>
<br>If PYTHON_EGG_CACHE directory is used, I don't recommend to install
<br>egg files to plugins directory of the project. Instead, I recommend to
<br>install to "lib" directory of venv. Otherwise, extract the eg=
g files
<br>to plugins/<name>.egg directory.
<br>
<br>e.g.
<br>$ unzip -x dist/TracHtmlNotificationPlugin-0.12.0.4-py3.14.egg -d
<br>tracenv/plugins/TracHtmlNotificationPlugin-0.12.0.4-py3.14.egg
<br>
<br>
<br>On Mon, Jun 22, 2026 at 4:55=E2=80=AFPM Manuel Bilderbeek
<br><<a href data-email-masked rel=3D"nofollow">[email protected]=
</a>> wrote:
<br>>
<br>> Hi,
<br>>
<br>> Here is the requested information.
<br>>
<br>> System Information
<br>>
<br>> User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/=
537.36 (KHTML, like Gecko) Chrome/<a href=3D"http://147.0.0.0" target=3D"_b=
lank" rel=3D"nofollow" data-saferedirecturl=3D"https://www.google.com/url?h=
l=3Dnl&q=3Dhttp://147.0.0.0&source=3Dgmail&ust=3D17824607197210=
00&usg=3DAOvVaw1k148eJhTVc4Lx3sqJhogW">147.0.0.0</a> Safari/537.36
<br>>
<br>>
<br>> PackageVersion
<br>> Trac1.6
<br>> Babel2.17.0
<br>> Docutils0.22.4
<br>> GIT2.53.0
<br>> Jinja23.1.6
<br>> mod_wsgi5.0.2 (WSGIProcessGroup WSGIApplicationGroup %{GLOBAL})
<br>> Pygments2.19.2
<br>> pysqlite2.6.0
<br>> Python3.14.4 (main, Apr 8 2026, 04:02:31) [GCC 15.2.0]
<br>> pytz2025.2
<br>> setuptools78.1.1
<br>> SQLite3.46.1
<br>> Subversion1.14.5 (r1922182)
<br>> jQuery3.7.1
<br>> jQuery UI1.13.2
<br>> jQuery Timepicker1.6.3
<br>> Installed Plugins
<br>> NameVersionLocation
<br>> acct-mgr.adminN/A/usr/lib/python3/dist-packages/acct_mgr/admin.py
<br>> acct-mgr.apiN/A/usr/lib/python3/dist-packages/acct_mgr/api.py
<br>> acct-mgr.dbN/A/usr/lib/python3/dist-packages/acct_mgr/db.py
<br>> acct-mgr.guardN/A/usr/lib/python3/dist-packages/acct_mgr/guard.py
<br>> acct-mgr.htfileN/A/usr/lib/python3/dist-packages/acct_mgr/htfile.p=
y
<br>> acct-mgr.httpN/A/usr/lib/python3/dist-packages/acct_mgr/http.py
<br>> acct-mgr.macrosN/A/usr/lib/python3/dist-packages/acct_mgr/macros.p=
y
<br>> acct-mgr.modelN/A/usr/lib/python3/dist-packages/acct_mgr/model.py
<br>> acct-mgr.notificationN/A/usr/lib/python3/dist-packages/acct_mgr/no=
tification.py
<br>> acct-mgr.pwhashN/A/usr/lib/python3/dist-packages/acct_mgr/pwhash.p=
y
<br>> acct-mgr.registerN/A/usr/lib/python3/dist-packages/acct_mgr/regist=
er.py
<br>> acct-mgr.svnserveN/A/usr/lib/python3/dist-packages/acct_mgr/svnser=
ve.py
<br>> acct-mgr.web-uiN/A/usr/lib/python3/dist-packages/acct_mgr/web_ui.p=
y
<br>> customfieldadmin.adminN/A/usr/lib/python3/dist-packages/customfiel=
dadmin/admin.py
<br>> customfieldadmin.apiN/A/usr/lib/python3/dist-packages/customfielda=
dmin/api.py
<br>> TicketValidator0.2.dev0/srv/trac/projects/swdev/plugins/TicketVali=
dator-0.2.dev0-py3.14.egg
<br>> trac.aboutN/A/usr/lib/python3/dist-packages/trac/about.py
<br>> trac.admin.apiN/A/usr/lib/python3/dist-packages/trac/admin/api.py
<br>> trac.admin.consoleN/A/usr/lib/python3/dist-packages/trac/admin/con=
sole.py
<br>> trac.admin.web-uiN/A/usr/lib/python3/dist-packages/trac/admin/web_=
ui.py
<br>> trac.attachmentN/A/usr/lib/python3/dist-packages/trac/attachment.p=
y
<br>> trac.cacheN/A/usr/lib/python3/dist-packages/trac/cache.py
<br>> trac.configN/A/usr/lib/python3/dist-packages/trac/config.py
<br>> trac.db.apiN/A/usr/lib/python3/dist-packages/trac/db/api.py
<br>> trac.db.sqlite-backendN/A/usr/lib/python3/dist-packages/trac/db/sq=
lite_backend.py
<br>> trac.envN/A/usr/lib/python3/dist-packages/trac/env.py
<br>> trac.mimeview.apiN/A/usr/lib/python3/dist-packages/trac/mimeview/a=
pi.py
<br>> trac.mimeview.patchN/A/usr/lib/python3/dist-packages/trac/mimeview=
/patch.py
<br>> trac.mimeview.pygmentsN/A/usr/lib/python3/dist-packages/trac/mimev=
iew/pygments.py
<br>> trac.mimeview.rstN/A/usr/lib/python3/dist-packages/trac/mimeview/r=
st.py
<br>> trac.notification.apiN/A/usr/lib/python3/dist-packages/trac/notifi=
cation/api.py
<br>> trac.notification.mailN/A/usr/lib/python3/dist-packages/trac/notif=
ication/mail.py
<br>> trac.notification.prefsN/A/usr/lib/python3/dist-packages/trac/noti=
fication/prefs.py
<br>> trac.permN/A/usr/lib/python3/dist-packages/trac/perm.py
<br>> trac.prefs.web-uiN/A/usr/lib/python3/dist-packages/trac/prefs/web_=
ui.py
<br>> trac.resourceN/A/usr/lib/python3/dist-packages/trac/resource.py
<br>> trac.search.web-uiN/A/usr/lib/python3/dist-packages/trac/search/we=
b_ui.py
<br>> trac.ticket.adminN/A/usr/lib/python3/dist-packages/trac/ticket/adm=
in.py
<br>> trac.ticket.apiN/A/usr/lib/python3/dist-packages/trac/ticket/api.p=
y
<br>> trac.ticket.batchN/A/usr/lib/python3/dist-packages/trac/ticket/bat=
ch.py
<br>> trac.ticket.default-workflowN/A/usr/lib/python3/dist-packages/trac=
/ticket/default_workflow.py
<br>> trac.ticket.modelN/A/usr/lib/python3/dist-packages/trac/ticket/mod=
el.py
<br>> trac.ticket.notificationN/A/usr/lib/python3/dist-packages/trac/tic=
ket/notification.py
<br>> trac.ticket.queryN/A/usr/lib/python3/dist-packages/trac/ticket/que=
ry.py
<br>> trac.ticket.reportN/A/usr/lib/python3/dist-packages/trac/ticket/re=
port.py
<br>> trac.ticket.roadmapN/A/usr/lib/python3/dist-packages/trac/ticket/r=
oadmap.py
<br>> trac.ticket.web-uiN/A/usr/lib/python3/dist-packages/trac/ticket/we=
b_ui.py
<br>> trac.timeline.web-uiN/A/usr/lib/python3/dist-packages/trac/timelin=
e/web_ui.py
<br>> trac.versioncontrol.adminN/A/usr/lib/python3/dist-packages/trac/ve=
rsioncontrol/admin.py
<br>> trac.versioncontrol.apiN/A/usr/lib/python3/dist-packages/trac/vers=
ioncontrol/api.py
<br>> trac.versioncontrol.svn-authzN/A/usr/lib/python3/dist-packages/tra=
c/versioncontrol/svn_authz.py
<br>> trac.versioncontrol.web-ui.browserN/A/usr/lib/python3/dist-package=
s/trac/versioncontrol/web_ui/browser.py
<br>> trac.versioncontrol.web-ui.changesetN/A/usr/lib/python3/dist-packa=
ges/trac/versioncontrol/web_ui/changeset.py
<br>> trac.versioncontrol.web-ui.logN/A/usr/lib/python3/dist-packages/tr=
ac/versioncontrol/web_ui/log.py
<br>> trac.web.authN/A/usr/lib/python3/dist-packages/trac/web/auth.py
<br>> trac.web.chromeN/A/usr/lib/python3/dist-packages/trac/web/chrome.p=
y
<br>> trac.web.mainN/A/usr/lib/python3/dist-packages/trac/web/main.py
<br>> trac.web.sessionN/A/usr/lib/python3/dist-packages/trac/web/session=
.py
<br>> trac.wiki.adminN/A/usr/lib/python3/dist-packages/trac/wiki/admin.p=
y
<br>> trac.wiki.apiN/A/usr/lib/python3/dist-packages/trac/wiki/api.py
<br>> trac.wiki.intertracN/A/usr/lib/python3/dist-packages/trac/wiki/int=
ertrac.py
<br>> trac.wiki.interwikiN/A/usr/lib/python3/dist-packages/trac/wiki/int=
erwiki.py
<br>> trac.wiki.macrosN/A/usr/lib/python3/dist-packages/trac/wiki/macros=
.py
<br>> trac.wiki.parserN/A/usr/lib/python3/dist-packages/trac/wiki/parser=
.py
<br>> trac.wiki.web-apiN/A/usr/lib/python3/dist-packages/trac/wiki/web_a=
pi.py
<br>> trac.wiki.web-uiN/A/usr/lib/python3/dist-packages/trac/wiki/web_ui=
.py
<br>> TracChildTickets2.6.0.dev0/srv/trac/projects/swdev/plugins/TracChi=
ldTickets-2.6.0.dev0-py3.14.egg
<br>> TracDragDrop0.12.0.18/srv/trac/projects/swdev/plugins/TracDragDrop=
-0.12.0.18-py3.14.egg
<br>> TracHtmlNotificationPlugin0.12.0.4/srv/trac/projects/swdev/plugins=
/TracHtmlNotificationPlugin-0.12.0.4-py3.14.egg
<br>> tracopt.perm.authz-policyN/A/usr/lib/python3/dist-packages/tracopt=
/perm/authz_policy.py
<br>> tracopt.perm.config-perm-providerN/A/usr/lib/python3/dist-packages=
/tracopt/perm/config_perm_provider.py
<br>> tracopt.ticket.cloneN/A/usr/lib/python3/dist-packages/tracopt/tick=
et/clone.py
<br>> tracopt.ticket.commit-updaterN/A/usr/lib/python3/dist-packages/tra=
copt/ticket/commit_updater.py
<br>> tracopt.ticket.deleterN/A/usr/lib/python3/dist-packages/tracopt/ti=
cket/deleter.py
<br>> tracopt.versioncontrol.git.git-fsN/A/usr/lib/python3/dist-packages=
/tracopt/versioncontrol/git/git_fs.py
<br>> tracopt.versioncontrol.svn.svn-fsN/A/usr/lib/python3/dist-packages=
/tracopt/versioncontrol/svn/svn_fs.py
<br>> tracopt.versioncontrol.svn.svn-propN/A/usr/lib/python3/dist-packag=
es/tracopt/versioncontrol/svn/svn_prop.py
<br>> TracPrivateTickets2.4.0.dev0/srv/trac/projects/swdev/plugins/TracP=
rivateTickets-2.4.0.dev0-py3.14.egg
<br>> TracTicketTemplate1.0.1.dev0/srv/trac/projects/swdev/plugins/TracT=
icketTemplate-1.0.1.dev0-py3.14.egg
<br>> tracwysiwygN/A/usr/lib/python3/dist-packages/tracwysiwyg/__init__.=
py
<br>> Interface Customization
<br>> Site templatessite.html
<br>> Shared templates
<br>> Site static resourceslogo-old.png logo.png siminst_admin_region_se=
ttings.png siminst_cmd_as_admin.png siminst_cmd_as_user.png siminst_extract=
_dialog.png siminst_extracting_progress_dialog.png siminst_formats_settings=
.png siminst_language_settings.png siminst_login_button.png siminst_main_la=
nguage.png siminst_region_settings.png siminst_search_cmd.png siminst_setti=
ngs.png siminst_settings_for_time.png siminst_system_id.png siminst_system_=
locale_settings.png siminst_system_settings.png siminst_time_settings.png s=
iminst_tools_button.png siminst_uninstall_dialog.png siminst_uninstall_prer=
eq.png
<br>> Shared static resources
<br>>
<br>> It looks like it got a little garbled when copy-pasting from the w=
eb page, but I guess it's clear enough? Let me know if you prefer plain=
text pasting.
<br>>
<br>> I will also paste trac.ini, but I had to remove some things that a=
re better not put in the open due to company policies. These are marked wit=
h <REMOVED>. I'm glad this installation is not accessible from th=
e internet ;-)
<br>>
<br>> # -*- coding: utf-8 -*-
<br>>
<br>> [account-manager]
<br>> auth_init =3D enabled
<br>> db_htdigest_realm =3D
<br>> db_htpasswd_hash_type =3D crypt
<br>> force_passwd_change =3D disabled
<br>> hash_method =3D HtDigestHashMethod
<br>> htpasswd_file =3D /srv/.htpasswd
<br>> htpasswd_hash_type =3D crypt
<br>> password_store =3D HtPasswdStore
<br>> persistent_sessions =3D disabled
<br>> refresh_passwd =3D disabled
<br>> register_check =3D BasicCheck
<br>> user_lock_max_time =3D 86400
<br>> verify_email =3D disabled
<br>>
<br>> [attachment]
<br>> max_size =3D 314572800
<br>> render_unsafe_content =3D disabled
<br>>
<br>> [browser]
<br>> color_scale =3D enabled
<br>> downloadable_paths =3D /trunk,/branches/*,/tags/*
<br>> hide_properties =3D svk:merge
<br>> intermediate_color =3D
<br>> intermediate_point =3D
<br>> newest_color =3D (255, 136, 136)
<br>> oldest_color =3D (136, 136, 255)
<br>> oneliner_properties =3D trac:summary
<br>> render_unsafe_content =3D disabled
<br>> wiki_properties =3D trac:description
<br>>
<br>> [changeset]
<br>> max_diff_bytes =3D 10000000
<br>> max_diff_files =3D 0
<br>> wiki_format_messages =3D enabled
<br>>
<br>> [childtickets]
<br>> parent.defect.allow_child_tickets =3D True
<br>> parent.defect.default_child_type =3D defect
<br>> parent.defect.inherit =3D function,component,priority,version,mile=
stone,keywords
<br>> parent.defect.restrict_child_type =3D enhancement,task (software),=
defect,obsolescence
<br>> parent.defect.table_headers =3D status,component,summary,priority,=
milestone,owner,type
<br>> parent.enhancement.allow_child_tickets =3D True
<br>> parent.enhancement.default_child_type =3D enhancement
<br>> parent.enhancement.inherit =3D function,component,priority,version=
,milestone,keywords
<br>> parent.enhancement.restrict_child_type =3D enhancement,task (softw=
are),defect,obsolescence
<br>> parent.enhancement.table_headers =3D status,component,summary,prio=
rity,milestone,owner,type
<br>> parent.obsolescence.allow_child_tickets =3D True
<br>> parent.obsolescence.inherit =3D component,priority,version,milesto=
ne,keywords
<br>> parent.obsolescence.restrict_child_type =3D obsolescence,defect,ta=
sk (software),enhancement
<br>> parent.obsolescence.table_headers =3D status,component,summary,pri=
ority,milestone,owner,type
<br>> parent.task (software).allow_child_tickets =3D True
<br>> parent.task (software).default_child_type =3D task (software)
<br>> parent.task (software).inherit =3D function,component,priority,ver=
sion,milestone,keywords
<br>> parent.task (software).restrict_child_type =3D enhancement,task (s=
oftware),defect,obsolescence
<br>> parent.task (software).table_headers =3D status,component,summary,=
priority,milestone,owner,type
<br>>
<br>> [components]
<br>> tracdragdrop.* =3D enabled
<br>> acct_mgr.admin.accountmanageradminpage =3D disabled
<br>> acct_mgr.admin.accountmanageradminpanel =3D enabled
<br>> acct_mgr.admin.configurationadminpanel =3D enabled
<br>> acct_mgr.admin.useradminpanel =3D enabled
<br>> acct_mgr.api.accountmanager =3D enabled
<br>> acct_mgr.db.sessionstore =3D enabled
<br>> acct_mgr.htfile.abstractpasswordfilestore =3D disabled
<br>> acct_mgr.htfile.htdigeststore =3D disabled
<br>> acct_mgr.htfile.htpasswdstore =3D enabled
<br>> acct_mgr.http.httpauthstore =3D disabled
<br>> acct_mgr.notification.accountchangelistener =3D disabled
<br>> acct_mgr.notification.accountchangenotificationadminpanel =3D disa=
bled
<br>> acct_mgr.pwhash.htdigesthashmethod =3D enabled
<br>> acct_mgr.pwhash.htpasswdhashmethod =3D enabled
<br>> acct_mgr.register.basiccheck =3D enabled
<br>> acct_mgr.register.registrationmodule =3D enabled
<br>> acct_mgr.svnserve.svnservepasswordstore =3D disabled
<br>> acct_mgr.web_ui.accountmodule =3D disabled
<br>> acct_mgr.web_ui.emailverificationmodule =3D disabled
<br>> acct_mgr.web_ui.loginmodule =3D disabled
<br>> acct_mgr.web_ui.registrationmodule =3D disabled
<br>> batchmod.web_ui.* =3D enabled
<br>> batchmod.web_ui.batchmodifymodule =3D disabled
<br>> childtickets.* =3D enabled
<br>> childtickets.admin.childticketsadminpanel =3D enabled
<br>> childtickets.childtickets.tracchildticketsmodule =3D enabled
<br>> customfieldadmin.admin.customfieldadminpage =3D enabled
<br>> customfieldadmin.api.customfields =3D enabled
<br>> customfieldadmin.customfieldadmin.customfieldadminpage =3D enabled
<br>> privatetickets.* =3D enabled
<br>> ticketdelete.web_ui.* =3D enabled
<br>> ticketdelete.web_ui.ticketdeleteplugin =3D disabled
<br>> ticketmodifiedfiles.* =3D enabled
<br>> ticketmodifiedfiles.ticketmodifiedfiles.ticketmodifiedfilesplugin =
=3D enabled
<br>> ticketstats.* =3D enabled
<br>> ticketstats.ticketstats.ticketstatsplugin =3D enabled
<br>> tickettemplate.* =3D enabled
<br>> tickettemplate.ttadmin.tickettemplatemodule =3D enabled
<br>> ticketvalidator.admin.ticketvalidatoradminpanelprovider =3D enable=
d
<br>> ticketvalidator.core.requiredfieldvalidator =3D enabled
<br>> trachtmlnotification.* =3D enabled
<br>> tracopt.ticket.commit_updater.committicketupdater =3D enabled
<br>> tracopt.ticket.commit_updater.committicketreferencemacro =3D enabl=
ed
<br>> tracopt.versioncontrol.git.git_fs.csetpropertyrenderer =3D enabled
<br>> tracopt.versioncontrol.git.git_fs.gitconnector =3D enabled
<br>> tracopt.versioncontrol.git.git_fs.gitwebprojectsrepositoryprovider=
=3D enabled
<br>> tracopt.versioncontrol.svn.svn_fs.subversionconnector =3D enabled
<br>> tracopt.versioncontrol.svn.svn_prop.subversionmergepropertydiffren=
derer =3D enabled
<br>> tracopt.versioncontrol.svn.svn_prop.subversionmergepropertyrendere=
r =3D enabled
<br>> tracopt.versioncontrol.svn.svn_prop.subversionpropertyrenderer =3D=
enabled
<br>> tracwysiwyg.templateprovider =3D enabled
<br>> tracwysiwyg.wysiwygwikifilter =3D enabled
<br>>
<br>> [gitweb-repositories]
<br>> projects_base =3D
<br>> projects_list =3D
<br>> projects_url =3D
<br>> sync_per_request =3D
<br>>
<br>> [header_logo]
<br>> alt =3D ASMPT ALSI Trac database
<br>> src =3D site/logo.png
<br>>
<br>> [inherit]
<br>> plugins_dir =3D /srv/trac/projects/
<br>> templates_dir =3D
<br>>
<br>> [logging]
<br>> log_file =3D trac.log
<br>> log_level =3D WARN
<br>> log_type =3D file
<br>>
<br>> [mainnav]
<br>> browser.order =3D 4.0
<br>> newticket.order =3D 6.0
<br>> roadmap.order =3D 3.0
<br>> search.order =3D 7.0
<br>> tickets.order =3D 5.0
<br>> timeline.order =3D 2.0
<br>> wiki.order =3D 1.0
<br>>
<br>> [metanav]
<br>> about.order =3D 5.0
<br>> help.order =3D 4.0
<br>> login.order =3D 1.0
<br>> logout.order =3D 2.0
<br>> prefs.order =3D 3.0
<br>>
<br>> [milestone]
<br>> stats_provider =3D DefaultTicketGroupStatsProvider
<br>>
<br>> [mimeviewer]
<br>> enscript_modes =3D text/x-dylan:dylan:4
<br>> enscript_path =3D enscript
<br>> max_preview_size =3D 12621440
<br>> mime_map =3D text/x-dylan:dylan,text/x-idl:ice,text/x-ada:ads:adb
<br>> php_path =3D php
<br>> tab_width =3D 8
<br>>
<br>> [notification]
<br>> admit_domains =3D
<br>> default_format.email =3D text/html
<br>> ignore_domains =3D
<br>> mime_encoding =3D base64
<br>> smtp_always_bcc =3D
<br>> smtp_always_cc =3D
<br>> smtp_default_domain =3D
<br>> smtp_enabled =3D enabled
<br>> smtp_from =3D <REMOVED>
<br>> smtp_from_name =3D ASMPT Trac database
<br>> smtp_password =3D
<br>> smtp_port =3D 25
<br>> smtp_replyto =3D <a href data-email-masked rel=3D"nofollow">nor...=
@nothing.net</a>
<br>> smtp_server =3D 127.0.0.1
<br>> smtp_subject_prefix =3D __default__
<br>> smtp_user =3D
<br>> ticket_subject_template =3D ${prefix} #${<a href=3D"http://ticket.=
id" target=3D"_blank" rel=3D"nofollow" data-saferedirecturl=3D"https://www.=
google.com/url?hl=3Dnl&q=3Dhttp://ticket.id&source=3Dgmail&ust=
=3D1782460719721000&usg=3DAOvVaw1NIS6DoWaCZKYzbAOghxlJ">ticket.id</a>}:=
${summary}
<br>> use_public_cc =3D disabled
<br>> use_short_addr =3D disabled
<br>> use_tls =3D disabled
<br>>
<br>> [notification-subscriber]
<br>> always_notify_cc =3D CarbonCopySubscriber
<br>> always_notify_previous_updater =3D TicketPreviousUpdatersSubscribe=
r
<br>> always_notify_updater =3D TicketUpdaterSubscriber
<br>>
<br>> [privatetickets]
<br>> group_blacklist =3D anonymous,authenticated
<br>>
<br>> [project]
<br>> admin =3D
<br>> descr =3D Ticketing system for ASMPT ALSI
<br>> footer =3D Visit the Trac open source project at<br /><a =
href=3D"<a href=3D"http://trac.edgewall.org/" target=3D"_blank" rel=3D=
"nofollow" data-saferedirecturl=3D"https://www.google.com/url?hl=3Dnl&q=
=3Dhttp://trac.edgewall.org/&source=3Dgmail&ust=3D1782460719721000&=
amp;usg=3DAOvVaw2bG7Uf3PJcLF56-EHQQ7rV">http://trac.edgewall.org/</a>"=
><a href=3D"http://trac.edgewall.org/" target=3D"_blank" rel=3D"nofollow=
" data-saferedirecturl=3D"https://www.google.com/url?hl=3Dnl&q=3Dhttp:/=
/trac.edgewall.org/&source=3Dgmail&ust=3D1782460719721000&usg=
=3DAOvVaw2bG7Uf3PJcLF56-EHQQ7rV">http://trac.edgewall.org/</a></a>
<br>> icon =3D common/trac.ico
<br>> name =3D ASMPT ALSI Development
<br>> url =3D
<br>>
<br>> [query]
<br>> default_anonymous_query =3D status!=3Dclosed&cc~=3D$USER
<br>> default_query =3D status!=3Dclosed&owner=3D$USER
<br>> items_per_page =3D 100
<br>>
<br>> [report]
<br>> items_per_page =3D 100
<br>> items_per_page_rss =3D 0
<br>>
<br>> [repositories]
<br>> .dir =3D /srv/svn/SVN_LSS_REPOS
<br>>
<br>> [revisionlog]
<br>> default_log_limit =3D 100
<br>>
<br>> [roadmap]
<br>> stats_provider =3D DefaultTicketGroupStatsProvider
<br>>
<br>> [search]
<br>> min_query_length =3D 3
<br>>
<br>> [svn]
<br>> authz_file =3D
<br>> authz_module_name =3D
<br>> branches =3D trunk,branches/*
<br>> tags =3D tags/*
<br>>
<br>> [ticket]
<br>> commit_ticket_update_check_perms =3D disabled
<br>> commit_ticket_update_commands.close =3D
<br>> commit_ticket_update_commands.refs =3D <ALL>
<br>> commit_ticket_update_envelope =3D []
<br>> commit_ticket_update_notify =3D enabled
<br>> default_cc =3D
<br>> default_component =3D Unknown
<br>> default_description =3D
<br>> default_keywords =3D
<br>> default_milestone =3D Unspecified
<br>> default_owner =3D ccb
<br>> default_priority =3D <not set>
<br>> default_resolution =3D fixed
<br>> default_severity =3D <not set>
<br>> default_summary =3D
<br>> default_type =3D defect
<br>> default_version =3D All
<br>> max_comment_size =3D 262144
<br>> max_description_size =3D 262144
<br>> preserve_newlines =3D default
<br>> restrict_owner =3D enabled
<br>> workflow =3D ConfigurableTicketWorkflow
<br>>
<br>> [ticket-custom]
<br>> chance =3D select
<br>> chance.label =3D Chance of occurrence
<br>> chance.options =3D <REMOVED>
<br>> chance.order =3D 5
<br>> chance.value =3D Chance of occurence
<br>> customer =3D select
<br>> customer.label =3D Customer
<br>> customer.options =3D <REMOVED>
<br>> customer.order =3D 7
<br>> customer.value =3D
<br>> function =3D select
<br>> function.label =3D Function
<br>> function.options =3D <REMOVED>
<br>> function.order =3D 1
<br>> function.value =3D
<br>> machinetype =3D select
<br>> machinetype.label =3D Machine Type
<br>> machinetype.options =3D <REMOVED>
<br>> machinetype.order =3D 2
<br>> machinetype.value =3D None
<br>> parent =3D text
<br>> parent.format =3D wiki
<br>> parent.label =3D Parent ID
<br>> parent.order =3D 3
<br>> parent.value =3D
<br>> project =3D select
<br>> project.label =3D Project
<br>> project.options =3D <REMOVED>
<br>> project.order =3D 0
<br>> project.value =3D
<br>> supplier =3D select
<br>> supplier.label =3D Supplier
<br>> supplier.options =3D <REMOVED>
<br>> supplier.order =3D 6
<br>> supplier.value =3D None
<br>> valuedriver =3D select
<br>> valuedriver.label =3D Value Driver
<br>> valuedriver.options =3D <REMOVED>
<br>> valuedriver.order =3D 4
<br>> valuedriver.value =3D None
<br>>
<br>> [ticket-workflow]
<br>> analyse =3D new,reopened,analysed,solved,analysing -> analysing
<br>> analyse.operations =3D set_owner
<br>> analyse.permissions =3D TICKET_MODIFY
<br>> analysed =3D analysing -> analysed
<br>> analysed.operations =3D set_owner
<br>> analysed.permissions =3D TICKET_MODIFY
<br>> approved =3D new,analysed,solved -> closed
<br>> approved.operations =3D set_resolution
<br>> approved.permissions =3D TICKET_MODIFY
<br>> create =3D <none> -> new
<br>> create.default =3D 1
<br>> leave =3D * -> *
<br>> leave.default =3D 1
<br>> leave.operations =3D leave_status
<br>> reassign =3D new,analysed,solved,reopened,assigned -> assigned
<br>> reassign.operations =3D set_owner
<br>> reassign.permissions =3D TICKET_MODIFY
<br>> reopen =3D closed -> reopened
<br>> reopen.operations =3D del_resolution
<br>> reopen.permissions =3D TICKET_CREATE
<br>> resolved =3D assigned -> solved
<br>> resolved.operations =3D set_owner
<br>> resolved.permissions =3D TICKET_MODIFY
<br>>
<br>> [tickettemplate]
<br>> enable_custom =3D enabled
<br>> field_list =3D summary,description,reporter,owner,priority,cc,mile=
stone,component,version,type
<br>>
<br>> [ticketvalidator]
<br>> assigned.required =3D project, summary, customer, supplier, functi=
on, severity, priority, valuedriver, machinetype
<br>> new.required =3D project, summary, customer, supplier, function, s=
everity, priority, valuedriver, machinetype
<br>>
<br>> [timeline]
<br>> abbreviated_messages =3D enabled
<br>> changeset_collapse_events =3D disabled
<br>> changeset_long_messages =3D disabled
<br>> changeset_show_files =3D 0
<br>> default_daysback =3D 30
<br>> max_daysback =3D 90
<br>> newticket_formatter =3D oneliner
<br>> ticket_show_details =3D disabled
<br>>
<br>> [trac]
<br>> auto_reload =3D disabled
<br>> base_url =3D <a href=3D"https://alsi-lnx.alsi.local/trac/swdev" ta=
rget=3D"_blank" rel=3D"nofollow" data-saferedirecturl=3D"https://www.google=
.com/url?hl=3Dnl&q=3Dhttps://alsi-lnx.alsi.local/trac/swdev&source=
=3Dgmail&ust=3D1782460719722000&usg=3DAOvVaw2CkWeMHsfyMQrB6kmpmYUc"=
>https://alsi-lnx.alsi.local/trac/swdev</a>
<br>> check_auth_ip =3D disabled
<br>> database =3D sqlite:db/trac.db
<br>> default_charset =3D iso-8859-15
<br>> default_date_format =3D
<br>> default_dateinfo_format =3D relative
<br>> default_handler =3D WikiModule
<br>> default_language =3D
<br>> default_timezone =3D
<br>> htdocs_location =3D
<br>> ignore_auth_case =3D disabled
<br>> permission_policies =3D DefaultWikiPolicy,DefaultTicketPolicy,Defa=
ultPermissionPolicy,LegacyAttachmentPolicy
<br>> permission_store =3D DefaultPermissionStore
<br>> secure_cookies =3D disabled
<br>> show_email_addresses =3D disabled
<br>> timeout =3D 20
<br>> use_base_url_for_redirect =3D disabled
<br>>
<br>> [versioncontrol]
<br>> default_repository_type =3D svn
<br>>
<br>> [wiki]
<br>> ignore_missing_pages =3D disabled
<br>> max_size =3D 262144
<br>> render_unsafe_content =3D disabled
<br>> split_page_names =3D disabled
<br>>
<br>> Thanks again for your continuous support.
<br>> Op zondag 21 juni 2026 om 07:34:49 UTC+2 schreef Jun Omae:
<br>>>
<br>>> On Fri, Jun 19, 2026 at 11:46=E2=80=AFPM Manuel Bilderbeek
<br>>> <<a href data-email-masked rel=3D"nofollow">manuel.bild...@=
gmail.com</a>> wrote:
<br>>> >
<br>>> > Where should that be?
<br>>> >
<br>>> > alsi-lnx:/srv/trac/projects/swdev$ ls -la templates/
<br>>> > total 12
<br>>> > drwxr-xr-x 2 www-data www-data 4096 Jun 14 2013 .
<br>>> > drwxrwxr-x 12 www-data www-data 4096 Apr 15 2025 ..
<br>>> > -rw-r--r-- 1 www-data www-data 154 Mar 19 2009 site.html
<br>>> > alsi-lnx:/srv/trac/projects/swdev$
<br>>> >
<br>>> > There is only site.html there, nothing else.... am I look=
ing at the wrong place?
<br>>>
<br>>> Hm, it seems that you have no custom htmlnotification_ticket.h=
tml but
<br>>> it is unable to reproduce the issue with Trac 1.6, this plugin=
and
<br>>> fresh Trac Environment.
<br>>>
<br>>> Please share the following information if possible:
<br>>>
<br>>> * System Information, Installed Plugins and Interface Customiz=
ation
<br>>> from /about page in your Trac
<br>>> * trac.ini
<br>>>
<br>>> --
<br>>> Jun Omae <<a href data-email-masked rel=3D"nofollow">jun...=
@gmail.com</a>> (=E5=A4=A7=E5=89=8D =E6=BD=A4)
<br>>
<br>> --
<br>> You received this message because you are subscribed to the Google=
Groups "Trac Users" group.
<br>> To unsubscribe from this group and stop receiving emails from it, =
send an email to <a href data-email-masked rel=3D"nofollow">trac-users+...@=
googlegroups.com</a>.
<br>> To view this discussion visit <a href=3D"https://groups.google.com=
/d/msgid/trac-users/80ff24ca-c201-4cb8-8f50-0a934c225acfn%40googlegroups.co=
m" target=3D"_blank" rel=3D"nofollow" data-saferedirecturl=3D"https://www.g=
oogle.com/url?hl=3Dnl&q=3Dhttps://groups.google.com/d/msgid/trac-users/=
80ff24ca-c201-4cb8-8f50-0a934c225acfn%2540googlegroups.com&source=3Dgma=
il&ust=3D1782460719722000&usg=3DAOvVaw0bculA7EtVxtS6Z7RIpmGc">https=
://groups.google.com/d/msgid/trac-users/80ff24ca-c201-4cb8-8f50-0a934c225ac=
fn%40googlegroups.com</a>.
<br>
<br>
<br>
<br>--=20
<br>Jun Omae <<a href data-email-masked rel=3D"nofollow">[email protected]=
m</a>> (=E5=A4=A7=E5=89=8D =E6=BD=A4)
<br></blockquote></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;Trac Users" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:trac-users+unsubscribe-/[email protected]">trac-use=
rs+unsubscribe-/[email protected]</a>.<br />
To view this discussion visit <a href=3D"https://groups.google.com/d/msgid/=
trac-users/567b481c-f208-42a8-af09-e5055edae8c4n%40googlegroups.com?utm_med=
ium=3Demail&utm_source=3Dfooter">https://groups.google.com/d/msgid/trac-use=
rs/567b481c-f208-42a8-af09-e5055edae8c4n%40googlegroups.com</a>.<br />
------=_Part_57035_565108968.1782376273019--
------=_Part_57034_2029018067.1782376273019--