As a part of my Google Summer of Code project Development Activity logging, Activity Streams and Development Statistics I wrote code to integrate Project and Project Release with the Activity project. I've also did the same for Project Issues and the Versioncontrol API. Next to that, I rewrote and bugfixed some parts of Activity, did some extensive work on the Versioncontrol API and its Git backend and wrote the Activity Charts module.
GSoC is coming to an end, and therefor I opened this issue to get my freshly developed code into the Project repository. Attached to this issue are a couple of patches, namely:
- Four bugfix-e_notice-check-X.patch patches that enable some more checking on whether variables exist to avoid PHP to throw E_NOTICE's
- bugfix-impossible-to-promote-sandboxes.patch patch that fixes the problem that sandboxes can't be promoted unless the Project Release and/or Project Package modules are enabled.
- hook_project_maintainer_new.patch patch that adds Views support for the maintainer's table, you can do some cool stuff with it. With Activity, for example, it allows you to create a View with all the Activity for projects you're a maintainer of.
- hook_project_maintainer_new.patch patch that adds a new hook hook_maintainer_new to Project and that's called everytime a completly new maintainer is added to a project. This hook is needed for my Activity integration to fully operate.
- And finally project_issues-activity.patch which contains the actual integration with the Activity module.
Why? We want this on drupal.org, or atleast ... there has been a certain interest. Take a look at #1227158: Define what should be displayed on the user's Activity tab and #1227032: Output from Activity stream needs design to see what I mean.
Wanna see it in action? You sure can, have a look at my drupal.org sandbox that's running an older version of the code I posted here: http://dev_activity-drupal.redesign.devdrupal.org/node/3281/activity (drupal/drupal). It needs some theming, but it's surely something cool and handy to have.
Does it work? I did my best to provide tests for all written functionality and in the process I got completely frustrated with EvilSimpleTests.
So that's that, discuss!
| Comment | File | Size | Author |
|---|---|---|---|
| #3 | project-activity-2.patch | 46.63 KB | cvangysel |
| bugfix-e_notice-check-4.patch | 874 bytes | cvangysel | |
| bugfix-e_notice-check-3.patch | 656 bytes | cvangysel | |
| bugfix-e_notice-check-2.patch | 1.98 KB | cvangysel | |
| bugfix-e_notice-check-1.patch | 930 bytes | cvangysel |
Comments
Comment #1
dwwSlick, thanks!
However, instead of a big issue with lots of small patches doing many different things, it's a lot easier to manage stuff in discrete issues with smaller scopes and smaller patches. E.g. all the E_NOTICE stuff could be a separate issue. Ditto the bug about impossible-to-promote-sandboxes. Ditto adding the new hook invocation. Etc, etc. Is it too much to ask for you to split those off into separate issues so they can be reviewed and resolved independently? It's going to be really confusing trying to handle all of this in one big soup of an issue. I'd rather this was just about "add the activity stuff to project and project_release", and there can be a section in the summary about "other issues that are requirement for getting this done" which links to all these related but separate issues. That way, I can quickly make progress on the smaller issues and get those done while we iterate on the activity support itself.
Let me know what you think.
Thanks!
-Derek
Comment #2
cvangysel commentedI created some issues for them in the past but never got any feedback on them, the most important one for my code to actually run is #1171828: Let other modules know when a new maintainer is added. The other ones are just errors I encountered during my tests:
#1245602: Add project_maintainers table to Views integration is just something small I played with.
Comment #3
cvangysel commentedNew patch to follow changes in Project API through #1171828: Let other modules know when a new maintainer is added.