Topic: Drupal 6 and Teasers

I am having a problem MarsEdit related to Drupal 6 RC2 and its teasers. When I create a new post with MarsEdit (2.0.5 build 1186) and post it using Drupal's XML-RPC interface the post displays fine in Drupal. But the post is automatically split into two parts by Drupal - teaser and body. When MarsEdit retrieves the post from Drupal it does not retrieve the teaser portion, only the body. When I reopen the post to edit it in MarsEdit I am missing the part of the post that Drupal turned into the teaser. I tried setting the size of the teaser to unlimited as a workaround, but that had the effect of making the entire post the teaser and when I reopen the post in MarsEdit the entire post is blank, except for the title.

Does anyone know if this i a MarsEdit problem or a Drupal problem? Or have a suggestion for a workaround?

Re: Drupal 6 and Teasers

If you don't mind posting the content of your post, could you grab and paste in the Network Log:

Window -> Network Log

Clear it first and then try to do a new post. The log will contain the original content of the post, and show what Drupal is sending back afterward.

Since it's a new problem in Drupal 6 I'd have to guess it's a bug in Drupal. But this will confirm it.

It might be worth opening a dialogue with Drupal ASAP so they can fix it if it's something obvious.

Daniel

Re: Drupal 6 and Teasers

Wow, thanks for the quick response. I didn't know about the Network Log. That's a handy feature. Looking at the response I got from posting a new message I would say that it is definitely a Drupal issue.


Network message sent: 2008-01-20 16:00:01 -0900
URL: http://www.[domain].com/xmlrpc.php
Method name: metaWeblog.newPost
Network reply received: 2008-01-20 16:00:01 -0900
URL: http://www.[domain].com/xmlrpc.php
Method name: metaWeblog.newPost
Status code: 200
Succeeded: YES
Request text:
<?xml version="1.0" encoding="utf-8"?>
<methodCall>
    <methodName>metaWeblog.newPost</methodName>
    <params>
        <param>
            <value><string>1</string></value>
            </param>
        <param>
            <value><string>[user]</string></value>
            </param>
        <param>
            <value><string>[password]</string></value>
            </param>
        <param>
            <value>
            <struct>
            <member>
            <name>mt_allow_comments</name>
            <value><int>1</int></value>
            </member>
            <member>
            <name>mt_keywords</name>
            <value><string></string></value>
            </member>
            <member>
            <name>mt_convert_breaks</name>
            <value><string>0</string></value>
            </member>
            <member>
            <name>title</name>
            <value><string>Test Post</string></value>
            </member>
            <member>
            <name>mt_excerpt</name>
            <value><string></string></value>
            </member>
            <member>
            <name>description</name>
            <value><string>&lt;p>Test post to Drupal 6 RC2 with MarsEdit...&lt;/p></string></value>
            </member>
            <member>
            <name>mt_text_more</name>
            <value><string></string></value>
            </member>
            <member>
            <name>mt_allow_pings</name>
            <value><string>0</string></value>
            </member>
            </struct>
            </value>
            </param>
        <param>
            <value><boolean>0</boolean></value>
            </param>
        </params>
    </methodCall>

Response text:
<?xml version="1.0"?>

<methodResponse>
  <params>
  <param>
    <value><string>10</string></value>
  </param>
  </params>
</methodResponse>

Network message sent: 2008-01-20 16:00:01 -0900
URL: http://www.[domain].com/xmlrpc.php
Method name: metaWeblog.editPost
Network reply received: 2008-01-20 16:00:02 -0900
URL: http://www.[domain].com/xmlrpc.php
Method name: metaWeblog.editPost
Status code: 200
Succeeded: YES
Request text:
<?xml version="1.0" encoding="utf-8"?>
<methodCall>
    <methodName>metaWeblog.editPost</methodName>
    <params>
        <param>
            <value><string>10</string></value>
            </param>
        <param>
            <value><string>[user]</string></value>
            </param>
        <param>
            <value><string>[password]</string></value>
            </param>
        <param>
            <value>
            <struct>
            <member>
            <name>mt_allow_comments</name>
            <value><int>1</int></value>
            </member>
            <member>
            <name>mt_keywords</name>
            <value><string></string></value>
            </member>
            <member>
            <name>mt_convert_breaks</name>
            <value><string>0</string></value>
            </member>
            <member>
            <name>title</name>
            <value><string>Test Post</string></value>
            </member>
            <member>
            <name>mt_excerpt</name>
            <value><string></string></value>
            </member>
            <member>
            <name>description</name>
            <value><string>&lt;p>Test post to Drupal 6 RC2 with MarsEdit...&lt;/p></string></value>
            </member>
            <member>
            <name>mt_text_more</name>
            <value><string></string></value>
            </member>
            <member>
            <name>mt_allow_pings</name>
            <value><string>0</string></value>
            </member>
            </struct>
            </value>
            </param>
        <param>
            <value><boolean>1</boolean></value>
            </param>
        </params>
    </methodCall>

Response text:
<?xml version="1.0"?>

<methodResponse>
  <params>
  <param>
    <value><boolean>1</boolean></value>
  </param>
  </params>
</methodResponse>

Network message sent: 2008-01-20 16:00:03 -0900
URL: http://www.[domain].com/xmlrpc.php
Method name: metaWeblog.getPost
Network reply received: 2008-01-20 16:00:03 -0900
URL: http://www.[domain].com/xmlrpc.php
Method name: metaWeblog.getPost
Status code: 200
Succeeded: YES
Request text:
<?xml version="1.0" encoding="utf-8"?>
<methodCall>
    <methodName>metaWeblog.getPost</methodName>
    <params>
        <param>
            <value><string>10</string></value>
            </param>
        <param>
            <value><string>[user]</string></value>
            </param>
        <param>
            <value><string>[password]</string></value>
            </param>
        </params>
    </methodCall>

Response text:
<?xml version="1.0"?>

<methodResponse>
  <params>
  <param>
    <value><struct>
  <member><name>userid</name><value><string>[user]</string></value></member>
  <member><name>dateCreated</name><value><dateTime.iso8601>20080120T20:00:01</dateTime.iso8601></value></member>
  <member><name>title</name><value><string>Test Post</string></value></member>
  <member><name>postid</name><value><string>10</string></value></member>
  <member><name>link</name><value><string>http://www.[domain].com/node/10</string></value></member>
  <member><name>permaLink</name><value><string>http://www.[domain].com/node/10</string></value></member>
  <member><name>content</name><value><string>&lt;title&gt;Test Post&lt;/title&gt;</string></value></member>
  <member><name>description</name><value><string></string></value></member>
  <member><name>mt_allow_comments</name><value><int>1</int></value></member>
  <member><name>mt_convert_breaks</name><value><string>0</string></value></member>
</struct></value>
  </param>
  </params>
</methodResponse>

Network message sent: 2008-01-20 16:00:03 -0900
URL: http://www.[domain].com/xmlrpc.php
Method name: mt.getPostCategories
Network reply received: 2008-01-20 16:00:04 -0900
URL: http://www.[domain].com/xmlrpc.php
Method name: mt.getPostCategories
Status code: 200
Succeeded: YES
Request text:
<?xml version="1.0" encoding="utf-8"?>
<methodCall>
    <methodName>mt.getPostCategories</methodName>
    <params>
        <param>
            <value><string>10</string></value>
            </param>
        <param>
            <value><string>[user]</string></value>
            </param>
        <param>
            <value><string>[password]</string></value>
            </param>
        </params>
    </methodCall>

Response text:
<?xml version="1.0"?>

<methodResponse>
  <params>
  <param>
    <value><array><data>
</data></array></value>
  </param>
  </params>
</methodResponse>

Re: Drupal 6 and Teasers

Indeed - it looks like Drupal is stuffing the description into the "content" field on response. That's a Blogger API attribute, and they should probably be sticking with "description". Don't know if that's the only problem.

Daniel

Re: Drupal 6 and Teasers

I get the same behavior whether I choose Drupal or Other Blogger-compatible in the weblog settings. I'll open an issue with Drupal. Thanks again for your amazingly fast assistance.

Re: Drupal 6 and Teasers

MarsEdit 2.1 and Drupal 6.0 RC3 just came out in the past 48 hours, so now's a good time to update this thread.  I've installed both MarsEdit 2.1 and Drupal 6.0 RC3, and I was hoping the bug discussed in this thread would vanish, but it's still here.

I love MarsEdit but until this bug is fixed it looks like I'll be stuck using Drupal's web interface to add content to my Drupal site.

I checked the Drupal bug tracker and it doesn't seem that jdfrankl or anyone else has entered the bug discussed in this thread into Drupal's bug tracker.  Apologies if I'm mistaken.

Unfortunately, since I'm new to both Drupal and MarsEdit, I lack the technical aptitude to be comfortable filing a bug report on this issue.  I feel like I'd inevitably file it in the wrong place, describe it incorrectly, or file a duplicate report.  I'd love it if somebody check to see if this bug has been reported to Drupal, file a report if it hasn't, and post a link to the bug report here so people following this thread could track its resolution.

Re: Drupal 6 and Teasers

I'm normally pretty proactive about getting in touch with the developers of various blogging systems, and trying to iron out the details of how we can work better together. But at the moment I'm really swamped with 2.1 related work. I have a bunch of minor bugs that I need to get fixed ASAP. It will be a real shame if Drupal ships 6.0 with broken XMLRPC support, because it will break not just MarsEdit but a bunch of other clients.

To be honest with you I don't think you need to be any more sophisticated in your bug reporting than to say "this worked in Drupal 5, and it's broken in Drupal 6" if that is in fact the case.

Daniel

Re: Drupal 6 and Teasers

OK, Daniel.  I'll go ahead and file the report right now, and update this thread when I learn of any progress.  Thanks for the response!

Re: Drupal 6 and Teasers

I posted my bug report here, if anyone wants to see what's going on.

http://drupal.org/node/216608

Re: Drupal 6 and Teasers

Thank erikmarcus - you made it easy for me to have a place to also add my comments.

Re: Drupal 6 and Teasers

The good news is that this is fixed in RC4. The bad news is that they broke something else but it is pretty trivial to work around. I opened a new forum topic on this new problem - http://www.red-sweater.com/forums/viewt … 3371#p3371 - and I opened a Drupal issue report - http://drupal.org/node/219818.

Last edited by jdfrankl (February 09, 2008 08:20:23 PM)