Posted by SocialNicheGuru on August 10, 2008 at 4:04pm
| Project: | Feedback |
| Version: | 7.x-2.x-dev |
| Component: | Code |
| Category: | feature request |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | needs work |
Issue Summary
Will Feedback 2.0 intergrate with either Project or Case Tracker? It would be great if it did. I could filter Feedback 2.0 Ajax output into a casetrcker or project content type and use the functionality of those modules.
Please let me know.
Thanks,
chris
Comments
#1
Yes, I already thought about this, too. However, the goal must be to abstract the current logic in a way that any issue tracking system can be used as back-end.
The one who will work on this issue should assign it to herself in front of doing so.
#2
This project integrates (sans API, natch) with Unfuddle via Jody @ Zivtech's Unfuddle/Feedback module: http://drupal.org/project/unfuddle_feedback
#3
I think I will be doing a part of this this week. I intend to create a patch for this module allowing administrators to extend/edit the feedback fields which, in turn, will go some way towards allowing integration with other systems. Here's the plan:
I was going to create a new table called feedback_fields, containing the following columns:
And also extend the feedback table with an additional field_id column storing which "message" belongs to which "field".
So, for example, if someone creates three feedback fields and a user enters data in all three fields, there will be three rows in the feedback table - one for each field. Each of these three rows will have the same values *except* message and field_id, which will be different for each row.
In Drupal 6 I doubt there's a huge amount of point in going much further than this, as when we hit Drupal 7 with this all the data will be able to be stored in the FieldAPI and the feedback_fields table will probably be immediately obsolete. So I'm doing this now to start the ball rolling and satisfy a client need, but it will be all change as soon as I start to play with the Drupal 7 version. =)
#4
Made a start on this. See attached screenshot. Timely feedback welcome. =)
#5
Thanks for working on this!
A couple of notes:
I hope I make sense, as I didn't think too long about this and related issues (yet). So feel free to argue for or against. ;)
#6
Hi,
You're welcome!
Hope that helps, sorry I can't start on anything new in Drupal 7 until we have a Drupal 7 point release and we're doing client work with it. (Sadly I have too much "spare" time Drupal 7 work to do on the modules I already maintain to take on any more.) I'll have to continue on the Drupal 6 route for now. Do you want me to start a separate issue, or are you not interested in a patch at all? It seems to me it could work as a prototype for people to argue over, if nothing else. =)
#7
I see your situation and know that very well. I'm not entirely sure what exactly you need for your site, but it sounds like you need Feedback to store its data in a configurable and extensible entity, so as to allow to add further fields to its form/UI. If that is the case, the common denominator for this project and your site's use-case, already for D6, would be to
I'm still not sure whether we need the additional abstraction + field mapping. One one hand, it sounds convoluted and unnecessary, as Feedback could merely expose a UI for entering/sending feedback, regardless of entity. OTOH, I'm not sure whether we will loose possibilities if the entity form + storage is completely detached and unknown/uncertain for Feedback (e.g. what about BrowsCap integration; what title to store for nodes; etc).
#8
Ok, that all sounds sensible.
Re: field mapping, I still need to have a wider discussion with Alex Barth about that, as it keeps coming up and it's something I started to talk to him about a few weeks ago but needed to go away and collect my thoughts. In short, you may remember there was a sub-module of FeedAPI for mapping feed elements to CCK fields - this is now rolled in to Feeds. Which is a real shame, IMHO, as if it were a generic module it could be used in loads of instances, including this. So I think the abstraction of field mapping, both in and out of Drupal, should be managed by a separate module or modules, thus should be parked for now until I work out where I'm going with that!
#9
Just looking at the Unfuddle Feedback module NikLP posted above:
http://drupal.org/project/unfuddle_feedback
It just adds a submit function to feedback_form() - that seems like a good approach - just set the submit function according to the selected/available storage option(s).
Edit: Looking deeper, feedback_add_entry() is a far better place to do this. We could make a hook here.
#10
Here's an initial patch for adding the necessary hooks and admin pages to the Feedback module to allow other modules to provide storage mechanisms. Here's what I've done so far:
I've also made a start on the feedback_node module too, but it's not usable yet, so no point in including it just yet.
#11
Ok, this patch really does need review. This is an "alpha" version of the storage mechanism totally detached from the module. Changes from the last patch:
Look forward to getting your feedback on this.
Edit: Next task is to work on the feedback_node module, which will have its own implementation of hook_feedback_storage() and will also form_alter the feedback entry form to show any CCK fields on the feedback form. Also need to work out where we'll store the additional information - may continue to use the 'basic storage' mechanism from the main feedback module for user agent, page, etc. and store *additional* fields in a node.
(Btw, just realised, I've made a mistake and made this against 6.x-2.1. I don't know how much difference there is between that version and 6.x-2.x-dev at the moment, but I'll re-roll a patch against dev once this is all reviewed, if that's ok with you?)
#12
Working on feedback_node.module is throwing up other issues, so there is a new patch coming. Just thought I'd let people know, in case they're reviewing. Feedback on #11 still valid though. A lot remains.
#13
Oh please do not roll patches against downloaded packages. We need a patch based on the CVS DRUPAL-6--2 branch.
Initial review:
hook_feedback_info() (ex. type)
hook_feedback_form()
hook_feedback_load()
hook_feedback_save()
hook_feedback_view()
hook_feedback_delete() (later)
#14
Thanks for the review! =)
Will split the hook out in to separate hooks, remove the actions stuff (dur, I wasn't thinking there!) and tidy up white space. On the white space thing, do you mean where an empty line has a double-space on it instead of being truly empty? That's Eclipse... will tidy up after it.
Next patch will be against a CVS checkout. Sorry about that. Good job it's a work in progress. =)
#15
As luck would have it it seems there's no difference right now between 6.x-2.1 and the CVS DRUPAL-6--2 branch, so I was able to just re-apply my code there as a patch. Here's a re-rolled patch again CVS.
hook_feedback_storage() <- returns name and module for admin
hook_feedback_storage_fields() <- add fields in to feedback_form()
hook_feedback_storage_view() <- get feedback to display on the admin report
hook_feedback_storage_load() <- get feedback to display in context in feedback_form()
hook_feedback_storage_insert() <- save a piece of feedback
Didn't bother with a delete hook yet. Current UI doesn't need it, as you can't delete feedback.
Are the hook names you propose in #13 suggestions or instructions? If they're instructions, I'll use exactly your hook names. ;-)
Edit: Aside from potential hook renaming to apply conventions from elsewhere in core/contrib, this is probably nearly ready for commit. I think I will move over to #351698: Use entities for Feedback messages to post a patch adding the feedback_node module to the package. Otherwise this patch will become too big.
This patch should apply cleanly to DRUPAL-6--2.
#16
Thanks!
#17
#18
Ok, another new patch for review. Getting there!
hook_feedback_info() (ex. type)
hook_feedback_form()
hook_feedback_load()
hook_feedback_save()
Problems/considerations
Anyway, please review! I think we're really close this time. =)
#19
Any further thoughts on this? Is the patch good to go, or is there a little more to do?
I'm running out of the window of time I'm able to work on this for, so it would be good to finish my work if someone has time to review. I'd like to write the feedback_node module next week, but want to make sure the API is accepted first! =)
#20
Can I use this to specify casetracker_basic_case as a node type?
I see only "basic storage" as an option. Is that true?
#21
Dang. I really need to get back to this issue and patch.
Actually looks pretty solid from a quick peek. Didn't test it and didn't totally think through the entire design though, and that's what takes a serious amount of time and/or confidence :)
Sorry, greg!
#22
Np, just let me know if you want me to do some more work on this. It's a pretty big patch/departure from the past, so appreciate you'll need the time to sit down and really work through things.
@SocialNicheGuru: I have started the "node storage" option, but have stopped working on it until this patch is in, because without this patch it cannot work. There will be a separate "node storage" module eventually, if this patch is accepted. Whether it forms a part of the Feedback project or has its own project page remains to be seen.
#23
#24
At this point new features need to go into 7.x and we have new hooks now in 7.x that cover a lot of this work.
#25
Unassigning, I can't see me getting time to work on this any time soon.