Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
although cvs has blogapi working again to the point that i can use Ecto to post messages,
categories don't work anymore. they appear in ecto, i can choose them, but they won't upload to the site.
Comment | File | Size | Author |
---|---|---|---|
#20 | taxonomy-node-save.patch | 636 bytes | walkah |
#19 | blogapi_3.diff | 920 bytes | thumb |
#15 | blogapi_2.diff | 846 bytes | thumb |
Comments
Comment #1
chx CreditAttribution: chx commentedComment #2
kvarnelis CreditAttribution: kvarnelis commentedreverting back to 1.71 eliminates this problem. upgrading to 1.72 introduces it.
Comment #3
moshe weitzman CreditAttribution: moshe weitzman commentedset to critical since blogapi is holding up the release candidate. here is our xmlrpc call and response as seen from ecto console. i can't spot the problem. can anyone else?
http://drupal.pastebin.com/629547
Comment #4
moshe weitzman CreditAttribution: moshe weitzman commentedin ecto, i don't even get the list of categiries back from the server. this works fine in performancing though. upon submi of new post or edit, categories are indeed not recorded.
Comment #5
alliax CreditAttribution: alliax commentedI'm sorry if this is stupid but I'm really not good at anything so please bear with me, the only thing I can see is :
categoryNameUnited States of America
categoryId2
in the categoryID the number 2 may be a numeric value instead of a string, so that may be that, MAYBE.
Otherwise I checked all your xml call and there's no problem with opening and closing tags.
Comment #6
moshe weitzman CreditAttribution: moshe weitzman commentedcategories actually worked for me using performancing blog client for firefox so this may be an ecto thing. needs investigation. downgrading.
Comment #7
samc CreditAttribution: samc commentedI've had problems using categories and w.bloggar. The w.bloggar client can pull my category list, and I can select categories, but the categories are applied incorrectly. More precisely, the categories that are applied to the node in Drupal are not the ones I chose in w.bloggar.
I have no idea where the problem is, and don't think w.bloggar has any kind of console as far as I've seen.
Comment #8
thumb CreditAttribution: thumb commentedI'm seeing this issue also and have posted to the Ecto support forum. I've reverted back to 1.71 as noted above, and it does fix the problem.
Looking at the diff shows a block removed, is the fix as simple as putting that block back in?
http://cvs.drupal.org/viewcvs/drupal/drupal/modules/blogapi.module?r1=1....
Comment #9
thumb CreditAttribution: thumb commentedSilly me, of course it's not that easy :( Hope someone has some time to look at this.
Comment #10
thumb CreditAttribution: thumb commentedActually, reverting back to 1.71 borks Ecto's ability to retrieve posts :(
I'll try to take a look at this and see if I can figure it out, but I have no expience with Drupal, let alone the blogapi.module.
Comment #11
dmitrig01 CreditAttribution: dmitrig01 commentedI think the problem might have something to do with the
line of code removed in the diff
Comment #12
thumb CreditAttribution: thumb commentedOkay, here's a patch. Seems to have fixed things for Ecto, but I have no idea about other clients.
Index: blogapi.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/blogapi.module,v
retrieving revision 1.80
diff -u -u -r1.80 blogapi.module
--- blogapi.module 30 Mar 2006 21:30:25 -0000 1.80
+++ blogapi.module 9 Apr 2006 05:26:49 -0000
@@ -282,6 +282,12 @@
$node->date = format_date($node->created, 'custom', 'Y-m-d H:i:s O');
}
$node = node_submit($node);
+
+ $terms = module_invoke('taxonomy', 'node_get_terms', $node->nid, 'tid');
+ foreach ($terms as $term) {
+ $node->taxonomy[] = $term->tid;
+ }
+
node_save($node);
if ($node->nid) {
watchdog('content', t('%type: updated %title using blog API.', array('%type' => ''. t($node->type) .'', '%title' => theme('placeholder', $node->title))), WATCHDOG_NOTICE, l(t('view'), "node/$node->nid"));
Comment #13
killes@www.drop.org CreditAttribution: killes@www.drop.org commentedI want this addressed in 4.7. I am no blogger though, so somebody else has to test this.
Comment #14
Zen CreditAttribution: Zen commentedPlease submit patches as a patch file.
-K
Comment #15
thumb CreditAttribution: thumb commentedWhoops, here ya go.
Comment #16
moshe weitzman CreditAttribution: moshe weitzman commentedis this patch in edit_post()?, if so, this strikes me as attacking a symtom and not addressing root cause. why would node_load() not return $node->taxonomy for us? that was added a long time ago in HEAD.
ps - if possible use the -F flag in your diffs as recommended at http://drupal.org/diffandpatch
Comment #17
dmitrig01 CreditAttribution: dmitrig01 commentedi changed it because there is a good patch ready to be commited.
Comment #18
moshe weitzman CreditAttribution: moshe weitzman commenteda patch is ready after several people read it and test it. that hasn't happenned for this patch, or at least noone has said that they tested it.
Comment #19
thumb CreditAttribution: thumb commentedmoshe, yeah, I'm definitely attacking a symptom and looking for a quick fix. I'll do a bit more to get familiar with this, but if a core developer has time, they'd probably be able to diagnose what's going on much quicker than I.
I'm wondering how changes to this module are tested. Obviously, ecto/drupal wasn't tested for 1.72. Is there a test matrix around for this module? I'm only familiar with a few Mac-based desktop blog clients that I imagine aren't that large of portion of what needs to be tested.
Thanks for the link on diff, I'll be sure to follow your advice in the future.
Comment #20
walkah CreditAttribution: walkah commentedin the interest of fixing the cause instead of addressing the symptom... here's the story:
yes, node_load() absolutely prefills $node->taxonomy ... as an array of $term *objects*. the issue here is that taxonomy_node_save doesn't actually account for when it's $terms are an array of object... it either expects an array of arrays (i.e. from a form submission) or an array of tids.
I've attached a small patch that should make this silent node_load -> node_save() scenario work better.
Comment #21
moshe weitzman CreditAttribution: moshe weitzman commentedlooks good to me ... lets not turn this into a big project to standardize object vs.array.
Comment #22
killes@www.drop.org CreditAttribution: killes@www.drop.org commentedI am not particularly happy with it, but I comiitted it.
Comment #23
(not verified) CreditAttribution: commented