Site Upgrade Proposal
This page documents proposed work for improving trac-hacks.org.
Open Issues
There are a number of open defects and enhancements:
- Many plugins don't have a license. An idea outlined in #11660 is to force the user to either specify a license or accept a default license when creating a new plugin.
- Deleting and marking spam is tedious. After deleting the spam ticket, comment or edit, administrators have to navigate to the Monitoring panel on the Admin page and then manually locate the entry in the logs. It would be much easier if the
delete
button also flagged the entry as spam, and there was a delete checkbox on the logs page so that this is a one-step operation. - There are a number projects that are no longer maintained, have been supplanted by another project and are just taking up space.
- We should have a process for removing old projects. Perhaps we should have a policy of reviewing and voting on them, a notification should be placed on the page and then a prescribed waiting period elapsed before eventually deleting them. Obsolete plugins with no license would have even more reason to be deleted (see also #9805).
- Projects that have no source, often because the links to an external site are dead, are being tagged with tag:nosource. Tickets are being opened to notify authors of pending project deletion, and are being tagged with tag:pending-deletion.
- The Apache Software Foundation moves a project to the Attic when it is no longer maintained. For us, the Attic could be a wiki page prefix and path prefix in the repository, or perhaps the path should be deleted and links to the repository pegged. Ideally the pages in the Attic would be filtered from search results, unless explicitly requested. Changing the prefix of the page and repository path wouldn't be required if we just used tags.
Policies and Guidelines
On several occasions questions have come up about proper use of the site and how it should be administered. This suggests we need more site policies, and the philosophy of trac-hacks suggests that these policies be formed by the community.
- LicensingPolicies page that describes the proper way to document the license for a plugin, such as DevGuide#Licensing and License/MandatorySignOff.
- Page that describes proper promotion and what types of external links are allowed, similar to t:TracUsers#guidelines.
- User registration, especially valid usernames and how to deal with existing accounts, that do not comply to the upcoming standards.
- Peer review the BugReporting page and add a link to BugReporting on each NewHack template.
- More clarification on what constitutes actual support on the functionality of a plugin and an installation issue.
Enhancements Waiting on Trac Features
- Link to https://github.com/trac-hacks in the mainnav (TODO implement after upgrading to Trac 1.4).
- RSS feeds for individual wiki pages (trac:#2293).
- Subscriber for wiki page changes (trac:#1660).
- Filter timeline by Component (trac:#10885).
- Ticket subscriber for Components (trac:#11870).
- Preserve page history when deleting pages (trac:#9222).
- Rename
Component
field toProject
(trac:#9131).
Wish List
- Hosting the #trac IRC logs using the IrcLogsPlugin (mailing list discussion).
- Hosting a pastebin using the TracPastePlugin (mailing list discussion).
- Expanded support for creating polls and voting on projects and tickets (#6471). t.e.o uses the VotePlugin (#8717), so it is probably pretty stable. FiveStarVotePlugin is another that we could consider using. The PollMacro is currently installed on t.h.o, and EasyPollMacro appears to build on it and add more functionality.
- It would be cool if the Top 50 plugins are somehow installed (automatically with their latest [stable?] version) on a demo-site for seeing how they look like and for playing with and testing. That would give the user a chance to evaluate the functionality before spending the time with installing.
- Is there a way to show a download/svn-update/checkout statistics counter for each plugin? This would also be something like a "judge".
- It would be cool if the Top 50 plugins are somehow installed (automatically with their latest [stable?] version) on a demo-site for seeing how they look like and for playing with and testing. That would give the user a chance to evaluate the functionality before spending the time with installing.
- Add site analytics.
- Tools to facilitate code reviews, such as the CodeReviewerPlugin or PeerReviewPlugin.
- Support for Git and Hg (#9831) in addition to SVN. Is it practical to have live mirrors, do we settle on a single DVCS or do we just give the user a choice of which to work with?
- Trac supports multiple repositories since Trac 0.12, so we no longer need to have a single repository for all of trac-hacks.org (though having a single repository can be an easy way to checkout all of the plugins at one time).
- Sync to BitBucket and GitHub when plugins are hosted externally: GitHubSyncPlugin, BitbucketSyncPlugin.
- Show ChangeLogs on trac-hacks wiki pages for plugins hosted externally (#7650).
- Support for translated wiki pages.
- BookmarkPlugin: ability to bookmark each page.
- WikiGoodiesPlugin: additional wiki formatting and macros.
- BadLinksPlugin or WantedPagesMacro: for cleaning out dead links to externally hosted plugins.
- AllAttachmentsMacro: list all attachments for housekeeping purposes.
- BackLinksMacro: list the wiki pages referring to the current page, which helps in keeping t.h. page referrals consistent.
- The TracHacksPlugin provides the NewHack page. More management features could be added, such as contacting authors of unmaintained plugins when there is no activity after a set amount of time.
- Support for development space for t-h.o plugins. (sandinak)
- We shouldn't do the work inside our 'deliverable' space (svn/{plugin}/) .. be nice to have say /svn/devel/{plugin} .. and we can merge across to our production environments.
- Mechanism for users to subscribe to notifications of new plugin releases, and for authors to control when new release notifications are sent out (#6476 is related).
- Allow authors to edit their own log messages.
- RepoSearchPlugin was previously enabled, as described on the TracHacks@43 page, and is a feature we'll want to keep in mind for the future.
- PyPI Integration: make it easier for authors to publish from the trac-hacks repository to PyPI, allow a PyPI location to be registered via the NewHack form, promote and encourage links from plugin pages to PyPI, documentation for plugin authors/maintainers on how to publish to PyPI.
- Automate registering and publishing projects to Transifex.
- Move all users wiki pages to
wiki/users/
orwiki/TracUsers
, to keep the TitleIndex more organized and hierarchical. - Authentication through external providers such as GitHub and BitBucket.
- Improve search functionality: the search functionality is currently rudimentary and requires an update to allow for more granular search, such as within attachments.
- Store more information about plugins, such as:
- Created timestamp
- Deleted timestamp
- List of maintainers and contributors
- Create a notification subscriber for "plugins that I maintain"
- This could be used to automatically generate the SVN authz permission policy configuration file.
- Timeline filter for Plugins created
- Allow users to subscribe to plugins that they use. Add an
IUseThis
macro for listing those plugins on a user page. - Create a trac-hacks group on BitBucket, like we've done on GitHub.
- GitHub integration
- Add a My Page entry on the navigation that links to the authenticated user's wiki page.
Tickets for TracHacks
Ticket | Summary | Status | Owner | Type | Priority | Severity |
---|---|---|---|---|---|---|
#10861 | Develop rules that govern code contributions | new | task | normal | normal | |
#13460 | Upgrade to Trac 1.4 | accepted | task | normal | normal | |
#13482 | Replace reports 9 and 10 with custom queries | new | enhancement | normal | normal | |
#13562 | Cannot change password for t-h.org | accepted | defect | normal | normal | |
#14246 | HackIndex page defaults to showing hacks for fersions 1.0 and 1.2 only | new | enhancement | normal | normal |
Tickets for TracHacksPlugin
Ticket | Summary | Status | Owner | Type | Priority | Severity |
---|---|---|---|---|---|---|
#7980 | Provide a rolling list of newest hacks | new | enhancement | normal | normal | |
#11467 | Add option "Hack is hosted externally" | new | enhancement | normal | normal | |
#11490 | Render username in comment field as a link | new | enhancement | normal | normal | |
#11660 | NewHack form should have a license selection | new | enhancement | normal | normal | |
#13098 | Append needsadoption tag to components with no owner | new | enhancement | normal | normal | |
#13182 | Display change log entries from GitHub | new | enhancement | normal | normal | |
#13286 | ListHacks macro should specify number of hacks for each category | new | enhancement | normal | normal | |
#13419 | Support renaming hacks | new | enhancement | normal | normal | |
#13766 | Update authz file when maintainer is changed | accepted | defect | normal | normal | |
#13822 | Convert templates to Jinja2 | new | task | normal | normal | |
#13830 | Close open tickets when deleting a plugin | new | enhancement | normal | normal |
Last modified 5 years ago
Last modified on May 14, 2020, 6:51:53 PM