Updated: Comment #0
Problem/Motivation
As it is currently, there is no way for people to know when a project's page or its meta-data are updated. What people seem to be most interested to know is:
- Something changed to the projects page text. This could be announcements like new core pledges, documentation/screencast added, serious know issues etc.
- If a sandbox project was promoted to a full project. Personally, whenever I'm interested in a sandbox, I have no other way but to file "are we there yet?" issues in their queues. So I hate myself for adding "noise" to the queue - same way I hated myself for adding "subscribe" comments to issues pre-follow-button era.
- If a new (stable) release is created. How many times have you come across a "when will you create a stable release" or a "will there be a D7 version" issue?
- If maintainers were added/retired to/from the project.
- If the project's maintenance and/or development status has changed.
Proposed resolution
1. Add a "follow this project/sandbox" button to their pages that "subscribes" people to any changes.
2. Add a "new" or "updated" label wherever these projects are listed (the user dashboard for example) that perhaps links to some nodechange comment or revision diff so that people know what has changed.
3. Notify people through emails:
"project status promoted/denoted to [current-status] from [previous-status]"
"new maintainer added for the 7.x branch: [user-name]"
...so on...
Remaining tasks
...
User interface changes
1. There will be a new "Follow" button added to the projects and sandboxes nodes in d.o
2. The "Your projects" tab will become more like the "Your issues tab", listing projects that got recently updated at the top.
3. There will be a new "Your projects" block available for the user dashboard.
API changes
???
Original report by luco
hey there,
not sure if that's the right place to be asking, so please bear with me.
I'v been thinking for a while now that it'd be handy if we could follow projects like we follow issues. I mean, everyone has a couple of modules they always use, and it would be a real help being able to mark them on our user dashboard for quicker access.
also, sometimes you see a module and think, "I'll use that, but not yet".
further, it'd be great if we could package such collections to make deploys easier. maybe integrating with profile installs? some interface where we could check all modules we need for a given project and download them all at once.
anyway, what do you think? feasible? worthwile?
cheers,
Luciano
| Comment | File | Size | Author |
|---|---|---|---|
| #15 | Selection_175.png | 107.12 KB | frederickjh |
| #15 | Selection_174.png | 53.53 KB | frederickjh |
| #15 | Selection_173.png | 137.66 KB | frederickjh |
| #15 | Selection_172.png | 2.28 KB | frederickjh |
| #15 | Selection_171.png | 20.33 KB | frederickjh |
Comments
Comment #1
dwwIt'd be really nice to decide what "following" a module means. ;) See http://drupal.org/node/1080494 for more. In particular:
#101341-36: 'My projects' should also display projects that are being co-maintained
There was also some discussion of this over at #397458: Revamp mailing logic to leverage flag module
...
Anyway, those are the places to start. Having a "Follow" button on project page doesn't help unless it's clear what that would actually mean.
For packaging, that's totally out of scope here. If you have stuff you always use, you should put it into a drush .make file and use drush make. Or, create a quick-start distribution that gets packaged automatically. But, we're not going to be randomly packaging "releases" of things based on projects that a user flags like this.
Comment #2
luco commentedhello dww, thanks for the reply.
by "following" a set of modules I mean "creating a neat list of modules in my D.O. account, that I use regularly or plan to use, for future reference".
drush make is a great suggestion and I'll gladly study it when I get a chance. but I'm always thinking "what would a noob do?" - and using drush is not noob-friendly ;)
also I didn't mean that D.O. should start creating install profiles (sorry if I sounded like i did); but rather a tool for users to create profiles themselves.
lastly, these issues refer to, well, issue queues and/or maintaining modules. do you think my suggestion fits there?
cheers,
Luciano
Comment #3
klonosI'd love to have a way to also know what has changed in the project page of each project I "follow". This means to be notified for such updates the same convenient way we do in the issue queue (with a "new" link) or on the dashboard somehow. One such change I am particularly interested to know for projects is when a sandbox is updated to a full project, but it could be other notifications too such as:
"project status promoted/denoted to [current-status] from [previous-status]"
"new maintainer added for the 7.x branch: [user-name]"
...so on...
Comment #4
klonosMaybe now that we are on D7 this can be done?
Comment #5
klonosComment #6
klonos...minor typo ;)
@luco: this was a first attempt to update the issue summary and make it conform to the Issue Summary Template standards. If I missed something, feel free to add/change as you see fit.
Comment #7
mgiffordThis would be great if it could tie into drush. Might not be a way to do that, but it would be just nice to follow all the modules you're using.
Comment #8
klonosYeah, I also saw your comment in #2186377-11: Highlight projects that follow Best Practices about this:
The idea behind this feature request is that people will be notified about if the project's page was edited and then be pointed to a revision diff so they can see what was added/edited/removed (the way we do it in issues with nodechange comments and "View changes" links when the issue summary is updated). They could also be notified about things such as new screenshots added (for example to reflect the new UI of a module under D8) or new documentation/screencasts etc.
The way I imagine these updates would be presented to followers would be through notification emails of course as well as a list in the "Your projects" page (in each user's profile). This page currently is useful only to those that own/maintain projects and sandboxes in d.o. For the rest of us this tab is blank. We could have it be filled with the issues a user is following (once we implement this feature here) and have the issues that got recently updated bubble up the list with an "updated" tag that would also serve as a link to the revision diff of the project node between the version that the user last viewed vs the most current version of the node.
The way this could help #2192181: Allow users to review and vote on various aspects of projects. is that users can revisit these project pages and revise the rating they gave to the project. If there is something missing from these pages, users can file issues in the project queue (things like "Add module x as an alternative for D8" or "Add issue #xyz to the list of known issues" or "Add a link to this screencast/tutorial I made for this module"). This will in turn motivate project maintainers to update their project pages and eventually improve the automatic "Health indicator" assigned to their project (#2186377: Highlight projects that follow Best Practices).
What end users gain by this is that they are engaged in "pushing" for a project to be improved but in a constructive way (don't simply complain about the project description and walk away - help improve it by suggesting things). They also don't miss things such as known issues. So we avoid them turning to the issue queue filling duplicate bugs. Furthermore, as new screencasts/documentation is created, they are made aware of it (less "How do I?" support requests in the queue).
When I initially started following this issue here back in 2012 I did it mainly because I was so annoyed that there wasn't any way for me to know when a sandbox I was interested in got promoted to a full project. The way I work around this till this day is by creating more and more "Initial release of project x???" issues. I hate myself for adding such noise to issue queues as much as I did when the only way to follow an issue was to add "subscribe" comments. We can do better than that - especially now that we run on D7.
Comment #9
mgiffordThanks @klonos to your well thought out response.
I think it would be worth while looking not only at when a project's page was edited, but when the metadata around that module changed too.
So if a new release is made, if a project's maintenance status changes.
If we do end up implementing #1134450: Automatically degrade maintenance and development status of projects over time it would be particularly useful. Right now if a maintainer changes the status how does anyone know it's changed?
Comment #10
deggertsen commentedI like where things are going here. I would like to "follow" modules so that I have a list of modules I'm following somewhere. It's frustrating at times trying to find a module when you can't quite remember what it was called, but you remember there being one that does what you need...
Just thought I would add my 2 cents.
Thanks!
Comment #11
MixologicMoving to the drupal.org queue.
Comment #12
phKU commentedI am really so surprised you have to use a third party web site or browser extension to get notified on Drupal projects update… really unbelievable in our modern web!
I would say that a project update follow up option should be a priority for keeping a strong Drupal community.
By the way, I use AlertBox Firefox extension to overcome this lack :)
Comment #13
Bojhan commentedThis is a very valid idea, we sadly do not have a whole lot of "follow" functionality available to us.
Comment #14
drummThis could build on #1973934: Allow users to "Star"/"Bookmark"/"Like" their "Favorites" on Drupal.org. I think it’ll work to have that issue get the basic UI done, and use this issue for followups.
If I were to dig into the details, I have a lot of questions. From this issue summary:
What exactly is a project update? Maintainers change, project node edited, new release created, issue updated?
Comment #15
frederickjh@drumm Thanks for implementing and deploying the Star functionality for projects on Drupal.org. I am not sure what you mean by build on, however I would not like to see that just because I star a project that I start to get project updates. On Github there is a separate button to watch a project. For reference here is a screenshot of the three buttons on every Github project, Watch, Star, and Fork. I have also included the Watch dropdown.
On Github to see your notifications and the projects you are following you can look to the bell at the top. If it has a blue dot you have notifications.
Click the bell and you see your unread notifications.
At the top you can select the Watching tab to see the projects you are watching.
On Github under Settings > Notifications you see:
I hope that these screenshots from Github will help inspire good ideas as you work on notifications for projects on Drupal.org.
Comment #16
marcelovaniI always wonder... if we used github we would get all of these for free
But that is a long shot I guess
Comment #17
drummI snuck in moving the email notification status next to the star widget to follow GitLab and GitHub’s lead. While the UI may not be as polished as others, we have had the ability to get notifications for all, or only followed, issues on a project for a long time.
Comment #18
ressaThanks for adding the email notification option for projects, it works really well.
Another great feature would be to be able to subscribe to individual Drupal core component issues, like the migration system. For example, I follow along in the issues related to Automatic Updates, which is possible, since it is still a separate project, and not part of Drupal core. Since the Migration system is part of Drupal core, following this bit individually is not possible.
Perhaps it is better handled in a new issue?
Comment #19
drumm#2495111: Follow (subscribe / get notifications) about issues in certain components, or with certain tags for following components. The best stopgap for now is to subscribe to the project’s issues, and use email filters to discard everything but the component you are interested in.
Comment #20
ressaThanks for the link and suggested solution @drumm, I'll pursue it in the issue you mention. Is the issue here of following a project more or less resolved?
Comment #21
ressaAdding related issue.
Comment #22
ressaComment #23
ressaOh, and this suggestion is also great:
A new release is not a new issue, but I would argue it is as important, or can be even more important than a new issue.
Perhaps an option of also notifying when a new version has been released under "Manage e-mail notifications for MODULE issues" by adding an "All issues and new releases" option below "All issues"?
Comment #24
feyp commentedI'd immediately subscribe to email notifications for new releases for a lot of projects, if it was possible, but in most cases I'm not interested in getting notifications for all issues. So it would be great, if we could add that option, but please don't combine it with notifications for all issues.
Comment #25
ressaMaybe add an extra checkbox?
Comment #26
feyp commentedYes, I think a separate checkbox to manage release notifications would work.
By the way, it looks like GitLab already has this feature. As far as I know, the idea is that issues will be migrated there, while the project pages should remain on d.o. I'm not sure about release management. Given that the project pages should remain on d.o, the releases might remain there as well? If GitLab was used to manage releases and d.o would only access the GitLab API to show the latest releases on project pages, we might get those release notifications for free.
Comment #27
ressaAll relevant questions @FeyP. If the feature exists on Gitlab, and we can use that instead for new release alerts, great!
Case in point: The long awaited Mercury Editor module was finally released, more than three months ago, 10 January 2023.
I discovered it by chance, after visiting https://www.youtube.com/@AtenDesign/videos while looking for more Drupal Cypress videos.
There was a video by the creator, Aten's CEO Justin Toupin: Made for Marketers: Drag-and-drop Drupal Publishing with Mercury Editor.
Many people are waiting for this module, as can be seen in #3307862: When is a release planned?. ... I'll alert them shortly :)
Imagine if all these people could have subscribed for "New releases"? Then potentially 16 people could have had tried it already in January 2023, and more users in the following months, when the buzz was spreading ...
Comment #28
ressaComment #29
hansfn commentedYes, using existing notifications on GitLab would be great, but currently releases on drupal.org are disconnected from GitLab - it seems. @drumm probably knows what is easiest - sync releases between drupal.org and GitLab or creating this entirely in Drupal. Since we don't use GitLab for issue notifications, it would be most consistent to handle this on drupal.org, I guess.
Anyway, following new releases is very useful feature that I hope we can add shortly. The extra checkbox that ressa mentioned in comment 25 (one year ago) looks sufficient.