I am a new convert to Serendipity. I was using Wordpress before, but I was forced to use wordpress-PG because I am a PostgreSQL man. Well, I finally got tired of it being out of date, etc.
I moved over to Serendipity. I really like it so far. However, I am having an issue with the XML-RPC functionality. I mainly want to be able to post new items from my desktop. Logging in, etc. to create a quick entry gets old...
Anyways, when I publish via Ecto (latest version), I get a response of "Entries were not successfully inserted!"
Viewing the console, I see the following errors:
--- START ---
<br />
<b>Warning</b>: Cannot modify header information - headers already sent in <b>/home/pjs/public_html/plugins/serendipity_event_xmlrpc/PEAR/XML/RPC/Server.php</b> on line <b>399</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent in <b>/home/pjs/public_html/plugins/serendipity_event_xmlrpc/PEAR/XML/RPC/Server.php</b> on line <b>399</b><br />
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<params>
<param>
<value><boolean>1</boolean></value>
</param>
</params>
</methodResponse>
--- END ---
Now, the post DOES show up in the admin interface, under "Edit Entries." It shows as not published yet. So even if I try to edit that entry and publish it, it never shows up on the main page. Also, clicking with the saved URL given to me, says its an invalid page.
When I edit the entry, everything is correct. Same post, correct formatting, etc. I just cant publish it, even from the admin interface.
Anyone know what I am doing wrong? Is there something in Ecto I need to be doing special? I chose the MoveableType API. Should I be using something else?
Not sure if it matters, but I use OS X. Maybe there is something fishy with OS X copy of Ecto.
Thanks in advance for all help!
Ecto and latest Serendipity
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: Ecto and latest Serendipity
Hi!
There are two things going on, which we need to differentiate.
The first thing is about ecto returning a failure. The log snippet you gave is very informative. It shows PHP warning messages, which are sent to ecto and which lead to invalid XML. The XML itself is correct, so simply the warning message makes ecto belief that the insertion failed.
Errors like the one shown (Cannot send header information) typically come from any PHP script making output to the browser accidentaly. That often is the case when any of the PHP files you might have edited contain extra linebreaks or spaces before the first <?php or after the last ?>.
Also, your templates config.inc.php file or any lang_*.inc.php files could contain those characters. Which language are you using for serendipity? And did you edit any of the PHP files and might have accidentaly introduced linebreaks when saving them? Or when you save files in UTF-8 Format it might be that 3 UTF-8 HEader characters (the so called "BOM") got saved to the file - this also causes the trouble!
Now once we find that extra blank output, we should be able to deliver the proper XML to ecto.
Now on to the second problem, which is that entries you sent to you blog do not get displayed. Entries not getting display usually only can have two causes: Either the timestamp is in the future (and entries in the future are not displayed!) or the dropdown which indicates "Publish/Draft" is not set to "Publish".
You ensure the latter one, so it might be the timestamp that's being wrong?
The only other option that comes to my mind for not showing an entry might be settings of the entryproperties plugin. Maybe you could make a screenshot of the editing panel of that entry that I could have a look at?
Best regards,
Garvin
There are two things going on, which we need to differentiate.
The first thing is about ecto returning a failure. The log snippet you gave is very informative. It shows PHP warning messages, which are sent to ecto and which lead to invalid XML. The XML itself is correct, so simply the warning message makes ecto belief that the insertion failed.
Errors like the one shown (Cannot send header information) typically come from any PHP script making output to the browser accidentaly. That often is the case when any of the PHP files you might have edited contain extra linebreaks or spaces before the first <?php or after the last ?>.
Also, your templates config.inc.php file or any lang_*.inc.php files could contain those characters. Which language are you using for serendipity? And did you edit any of the PHP files and might have accidentaly introduced linebreaks when saving them? Or when you save files in UTF-8 Format it might be that 3 UTF-8 HEader characters (the so called "BOM") got saved to the file - this also causes the trouble!
Now once we find that extra blank output, we should be able to deliver the proper XML to ecto.
Now on to the second problem, which is that entries you sent to you blog do not get displayed. Entries not getting display usually only can have two causes: Either the timestamp is in the future (and entries in the future are not displayed!) or the dropdown which indicates "Publish/Draft" is not set to "Publish".
You ensure the latter one, so it might be the timestamp that's being wrong?
The only other option that comes to my mind for not showing an entry might be settings of the entryproperties plugin. Maybe you could make a screenshot of the editing panel of that entry that I could have a look at?
Best regards,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Thanks for taking the time to answer me!
As for the first issue, I found a lot of the serendipity php files did not have the ending "?>" at the end of the files. Not sure if thats needed or not, but I added them in case. Not all of them had this missing, but some did. Including xmlrpc.php. That said, the issue (about the headers) still exists. I didn't do any editing of the php files by hand (that I remember) but I did check the files for any spaces, new lines, etc. Couldn't find anything. Not sure where else to check, but I will keep looking. Any suggestions?
As for the posts not showing up, you were 100% right. It was a timestamp issue. The servers ntpd stopped running. Sync'd the time, still had the same issue, but I think its related to ecto, as I verified the time on my machine and the server are completely in sync. Just when saved in Serendipity, it is about 10 hours ahead. I am sure it is a time zone setting somewhere in ecto I need to uncover.
Thanks again for the help!
As for the first issue, I found a lot of the serendipity php files did not have the ending "?>" at the end of the files. Not sure if thats needed or not, but I added them in case. Not all of them had this missing, but some did. Including xmlrpc.php. That said, the issue (about the headers) still exists. I didn't do any editing of the php files by hand (that I remember) but I did check the files for any spaces, new lines, etc. Couldn't find anything. Not sure where else to check, but I will keep looking. Any suggestions?
As for the posts not showing up, you were 100% right. It was a timestamp issue. The servers ntpd stopped running. Sync'd the time, still had the same issue, but I think its related to ecto, as I verified the time on my machine and the server are completely in sync. Just when saved in Serendipity, it is about 10 hours ahead. I am sure it is a time zone setting somewhere in ecto I need to uncover.
Thanks again for the help!
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Actually the missing "?>" at the end is the best way to ensure that there are no end spaces in a PHP file. So leaving it will prevent you from 50% of the possible "cannot send header" errors
Before this error happened, did you edit any PHP files on your server?
Which language did you configure for your serendipity?
Sadly I don't use ecto so I can'T exactly tell where or how to configure a timezone, but I agree that there must be a setting there somehow...
Best regards,
Garvin
Actually the missing "?>" at the end is the best way to ensure that there are no end spaces in a PHP file. So leaving it will prevent you from 50% of the possible "cannot send header" errors
Before this error happened, did you edit any PHP files on your server?
Which language did you configure for your serendipity?
Sadly I don't use ecto so I can'T exactly tell where or how to configure a timezone, but I agree that there must be a setting there somehow...
Best regards,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
-
gibtsNicht
- Regular
- Posts: 11
- Joined: Tue May 16, 2006 11:06 am
- Location: Berlin, Germany
- Contact:
same problem
Hello Garvin,
I've got exactly the same problem using ecto under Windows XP. My S9y is version 1.2 and all plugins including the one for XML-RPC are on the newest available versions from Spartacus.
I had a look at the inculded language files for XML-RPC (I'm using a german setup with UTF-8) and there the first characters are <?php as needed.
I checked the version of Server.php in my installation and saw that it is already a newer than new version (1.51 is actual release, included is a CVS-version of 1.6) - maybe there is an even newer version in the CVS for this file?
Grretings from Augsburg
Sven
I've got exactly the same problem using ecto under Windows XP. My S9y is version 1.2 and all plugins including the one for XML-RPC are on the newest available versions from Spartacus.
I had a look at the inculded language files for XML-RPC (I'm using a german setup with UTF-8) and there the first characters are <?php as needed.
I checked the version of Server.php in my installation and saw that it is already a newer than new version (1.51 is actual release, included is a CVS-version of 1.6) - maybe there is an even newer version in the CVS for this file?
Grretings from Augsburg
Sven