The amazontools are awesome. Especially the amazon item import. It is so elegant and easy to use.
The only problem I have is that I can only create an amazon node with it. If I want to create an amazon item review, I have to:
1) Go to amazon and track down the book's ASIN and copy it
2) Create a new amazon item review and paste the ASIN into the ASIN field.
Most of the time I am going to want the title of my review to be the same as my book, so I would also have to:
3) Go back to amazon and copy the title of the book
4) Return to the amazon item review node and past it into the title.
I know I'm kind of exaggerating but this process has been cumbersome enough to keep me away from creating amazon item reviews.
I've been thinking it over and I have two ideas for making this easier:
1) In amazon item import, let me choose wether to import the item as either a node or a review(or both).
or (and I really think this would make everything easier to use and understand [but let me know if I'm wrong])...
2) Just have one amazon node and not distinguish between review and plain node. It seems like all this would really involve is adding a body field to the existing amazon node.
This would simplify my choices as a user(thereby reducing confusion over the difference between the different amazon node types). I can still choose to leave the node as purely product information - just leave the body blank. But I also have the option of using it for a story or review. It also allows me to take advantage of the awesome amazon item import tool for reviews or stories.
What do you guys think?
Comments
Comment #1
Prometheus6 commentedThough the biggie is PostgreSQL compatibility with the CVS version, the multiple node thing is addressed too. I'd rather not change the way the module works mid-Drupal version, but if's really important...
There's an update.sql file that upgraders will have to run.
http://drupal.org/node/28188
Comment #2
Prometheus6 commentedComment #3
Prometheus6 commentedfixed in cvs
Comment #4
freyquency commentedI'd like to see the amazon tools be used in any content type, like the event module.
administer>content>configure>content types and then check if you want that content type to have an amazon info field.
I say this because I would mostly use this on my blog where the only content types are blog and image and I would want to keep it simple and not introduce another content type. I could also go back to the reviews I have written and put in the Amazon code.
Comment #5
Prometheus6 commentedhttp://drupal.org/node/25713#comment-33862
Comment #6
drewish commentedso, just to clairify, you're open to the idea of using hook_nodeapi to allow other nodes to implement the amazon interface, you just don't have time to do it?
i'm asking because i'm working on updating the review module for 4.7. once that's done i'd like to be able to add a by now on amazon.com link if it's an album review. if you're open to the idea i'll spend the time on it, i just don't want to get started if you're opposed.
Comment #7
Prometheus6 commentedRight now you have two node types. One (amazon) is for reviews and such, and displays product info atthe start of the body and teaser of the node. One (amazon-item) that's just the product information. Using node/add/amazon and node/add/amazon-item you can add any item Amazon sells, one at a time. The limit is I wrote this to handle books pretty specifically so only book-relevant fields are saved.
You can also specify node types which get a "Related books" field at the end of their edit form.
If you want to call functions in amazon.module or the include files from another module, it's GPL so I'm really not clear on why you're asking.
I can tell you every function you see now will be there in 4.7, does that help?
Comment #8
drewish commentedWell, you didn't really answer my question. I'll put some code together and post a patch, if you like it you can apply it. Code being gold and all that.
Comment #9
eaton commentedI think one of the reasons amazontools works this way is efficiency. the 'amazon-item' node is used to store the basic cached data from amazon for each asin. when the 'related asins' feature is used, to attach an asin to any other node, it can simply point to the amazon-item node stored locally rather than retrieving data from amazon on each page load.
I've solved the problem by setting the amazon-item node type to be UNPUBLISHED by default, and removing its node-creation rights for all users. The caching mechanisms in the module can still use these nodes, but no one sees them.
Comment #10
Prometheus6 commentedI'm just not sure how using hook_nodeapi() in another module requires a change in this one. If you're talking about this:
I've already done this for use with 4.6 in preparation for 4.7 (which is taking a bit longer than I expected...unfortunately, it's not just a matter of swapping out form creation functions. The primary problem is the amazon-item node type has that hypen in its name which mean PHP will not accept then _validate and _execute hook names, which makes my version upgrade script much more annoying to write because I have to change the node type's name). That change has been committed to the 4.6 branch.
If it's something other than that, I just need to see what it is.
Incidentally, you're spot on with the reason for the amazon-item node type. But I can see the desire to get rid of it when all references to the item are deleted When I tag a 4.7 version, I'll commit an update to 4.6 that matches its capabilities.
Comment #11
Iron Rose commentedI'd like to see the original idea implemented in 5.12
All I need is for the user to import the item then have a blank textbox to write a review.
Also, if possible, a checkbox field indicating whether they would recommend the book.