{"id":26711506,"url":"https://github.com/trac-hacks/tracmailman","last_synced_at":"2025-10-12T20:09:35.645Z","repository":{"id":15992812,"uuid":"18736007","full_name":"trac-hacks/tracmailman","owner":"trac-hacks","description":"Trac plugin that interfaces with Mailman mailing lists.","archived":false,"fork":false,"pushed_at":"2019-05-11T00:22:46.000Z","size":26,"stargazers_count":3,"open_issues_count":1,"forks_count":2,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-08-28T13:32:45.328Z","etag":null,"topics":["trac-plugin"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trac-hacks.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-04-13T18:09:34.000Z","updated_at":"2019-05-11T00:21:33.000Z","dependencies_parsed_at":"2022-08-30T23:40:37.455Z","dependency_job_id":null,"html_url":"https://github.com/trac-hacks/tracmailman","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/trac-hacks/tracmailman","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trac-hacks%2Ftracmailman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trac-hacks%2Ftracmailman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trac-hacks%2Ftracmailman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trac-hacks%2Ftracmailman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trac-hacks","download_url":"https://codeload.github.com/trac-hacks/tracmailman/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trac-hacks%2Ftracmailman/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279012793,"owners_count":26085187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["trac-plugin"],"created_at":"2025-03-27T10:28:44.148Z","updated_at":"2025-10-12T20:09:35.629Z","avatar_url":"https://github.com/trac-hacks.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"===========\nTracMailman\n===========\n\nAbout\n-----\n\nTracMailman is a plugin for Trac_ that integrates with Mailman_,\nallowing users to browse mailing list archives and search the\nmailing list, all from a tab within Trac.\n\nCreated by Spencer Fang \u003csfang@lbl.gov\u003e and Theron Ji \u003ctji@lbl.gov\u003e.\nAdditional development by Benjamin Weaver \u003cbaweaver@lbl.gov\u003e.\n\n.. _Trac: http://trac.edgewall.org\n.. _Mailman: http://www.list.org\n\nContents\n--------\n\n::\n\n    README.rst\n    setup.py\n    swish-e.config\n    swish-e.sh\n    trac-mailman.ini\n    tracmailman/\n    tracmailman/__init__.py\n    tracmailman/paths.py\n    tracmailman/web_ui.py\n    tracmailman/templates/\n    tracmailman/templates/tracmailman.html\n    tracmailman/templates/tracmailmanbrowser.html\n    tracmailman/templates/tracmailmanoptions.html\n    tracmailman/templates/tracmailmansearch.html\n\nRequirements\n------------\n\n- Trac_ (0.11.1 or above recomended)\n- Mailman_ (2.1.11 or above recomended)\n- Swish-e_ (2.4.5 or above recommended)\n- `Python Swish-e bindings`_ (0.5 or above recommended)\n\n.. _Swish-e: http://swish-e.org\n.. _`Python Swish-e bindings`: http://pypi.python.org/pypi/Swish-E/0.5\n\nFunctionality\n-------------\n\nThis plugin adds a 'Mailing Lists' tab inside of trac. Users logged in\nwill be able to click on this tab and be taken to a search page,\nwhere they can choose to search a particular mailing list (or 'All'),\nor browse through the mailing lists, all within Trac.\n\nThis plugin handles privacy concerns by looking at a manually specified\nlist of mailing lists inside the trac.ini configuration file, and\npreventing searches or browsing on those lists. NOTE: this functionality\nis disabled for **all** users, including those who may have the proper\npermissions. It is conceivable that this feature is changed in later\nversions of the plugin.\n\nInstallation\n------------\n\n1. Verify requirements have been met!\n2. In the plugin directory, run ``python setup.py bdist_egg`` to produce\n   a .egg file under the dist/ directory.\n3. Copy the .egg into the plugins/ directory under the Trac project\n4. Edit the trac-mailman.ini file appropriately (see `Configuring\n   trac.ini`_ below)\n5. Add the contents of trac-mailman.ini to the trac.ini file inside\n   your Trac project (default location under yourproject/conf/)\n6. Set the appropriate variables in swish-e.sh. (see 'Configuring\n   Swish-e' below). Run it to create the index files [*]_.\n7. Restart the Trac daemon - the plugin should now be functional.\n8. Set up a cron job or some script to periodically run swish-e.sh to\n   re-index the archives to keep the search up-to-date.\n\n.. [*] The private mailman archive (``/var/lib/mailman/archives/private``)\n   has read permission restricted to root or the mailman group, by default. In\n   order for Trac to be able to read these files, and the Swish-e script to be\n   able index these files, they must be run with appropriate permissions.\n\nConfiguring trac.ini\n--------------------\n\nIn the trac.ini configuration file, 3 items need to be specified under\nthe ``[tracmailman]`` section:\n\n**private_lists**\n    As mentioned above, this will be a comma separated\n    list of mailing lists that should not be made publicly searchable or\n    browsable. Obsolete lists that still remain archived but are no longer\n    of any use may also be put here. This is **not** related to the private\n    directory created by default under ``/var/lib/mailman/archives/private``.\n    Defaults to nothing.\n\n**mail_archive_path**\n    This should be set to the full path to the top-\n    level directory of where the mailman archives are stored. Default\n    location is at ``/var/lib/mailman/archives``.\n\n**search_index_path**\n    This should be set to the full path of where\n    the search indices created by Swish-e are located. This **must** be the\n    same as the ``$INDEX_LOCATION`` variable in the swish-e.sh script.\n\nConfiguring Swish-e\n-------------------\n\nTo use the search feature of the plugin, you must have Swish-e installed\nand an index file to search in. The config file for Swish-e is included,\n(swish-e.config), as well as a shell script (swish-e.sh). The swish-e.config\nfile should **not** be changed, but modifications should be made to the\nswish-e.sh script to tell it 1) where the config file is, and 2) where to\nstore the indices created by the search engine.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrac-hacks%2Ftracmailman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrac-hacks%2Ftracmailman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrac-hacks%2Ftracmailman/lists"}