Croissanga is no longer under active development. Xanga is dead.
Croissanga is a WordPress plugin that re-posts your published-status posts to your Xanga site. It also edits and deletes Xanga posts you initially created through WordPress. It is at version 1.3.1 and licensed under a BSD license. Croissanga 1.3.1 is compatible with WordPress 2.0 and 2.2 branches. It has not been tested with any 1.5 branches yet. Croissanga 1.1.1 is compatible with WordPress 1.2 (and has been reported to work with WordPress 2.0...) but is no longer under active development.
You can view the source or download the zipfile. The general WordPress instructions for installing a plugin are sufficient for installing Croissanga, though there is an INSTALL file included. Those of you upgrading from any prior version to Croissanga 1.3.1 should keep your old croissanga.php file around to move the file-based options into the new integrated option system, accessed in the administrative view.
The home for Croissanga is
http://ryanlee.org/software/wp/croissanga/. Development is, along with several other WordPress plugins, coordinated at WP Plugins; see also the public Subversion repository.
If you have something to report, please include, as completely as you can, the versions of WP, Croissanga, PHP, CURL, MySQL, and Apache involved. Explain clearly what you're expecting and why your expectations have not been met. While I will reply to all inquiries as time allows, I can't help with poorly framed questions.
- In 1.3.1: Xanga made changes to login. Again.
- In 1.3: Completely redid installation and options management. You don't need to load anything into MySQL now, and options are now maintained via WP options instead of in the plugin file. You should keep your old croissanga.php file around until you've moved the options over to the new integrated options system. Also, future posting in versions prior to 2.1 will not work; you're given the option to either ignore post dates and post anyways or not post at all (sorry, but this isn't an issue in later WP issues - consider upgrading if this is important to you). Thanks to Steve for pointing out the problem.
- In 1.2.10: Xanga made changes, updates to track with them
- In 1.2.9: Thanks to suggestions from Danny Park, Croissanga will respect the pagination and more tokens.
- In 1.2.8: Thanks to Bryan Li for pointing out an issue with Xanga Premium cross posting and suggesting a fix (posts were being duplicated). Thanks also to Dennis for pointing out a mistake on my part in variable usage and suggesting the correction.
- In 1.2.7: Thanks to Yenly for suggesting that Croissanga be able to post password-protected WP posts to protected Xanga posts (subject to the option being toggled). To make this work, you must use the same password across all your protected posts. I won't be investing much time in trying to make this feature perfect, but the gist of it is that your own password-protection cookie must be set in order for the cross post to contain content instead of the 'enter your password' form. The easiest way to do it is to write up a password-protected post, login to it, then write your real post with the same password-protection during the same session.
- In 1.2.6: Thanks to Trevor for suggesting the option of using Xanga's title field instead of including it as part of the entry body. Now a configurable option.
- In 1.2.5: Thanks to Ted Pearson for pointing out a minor change in Xanga's setup
- In 1.2.4: Editing is more intelligent; if the post's status changes from published to anything else, it's deleted from Xanga. I attempted to address the post duplication problem, but having never seen it (still!), I can't speak for whether my attempts to align closer to Xanga's present functioning resolved that issue. But it is closer to Xanga's present functioning. I guess that counts for something.
- In 1.2.3: Thanks to Ian Cooper for submitting a quick patch to prevent password protected posts from making their way to Xanga (just don't switch from unprotected to protected without doing your own due diligence; that's beyond Croissanga's synchronization ability right now). Also, by request, Croissanga can now be configured to add the author's name (according to their WP name display preferences) to the head of the post.
- In 1.2.2: Also posts to Xanga Premium service thanks to the watchful eye of Conor.
- In 1.2.1: Using get_permalink() instead of manufacturing the permalink. Thanks to Jonathan for pointing out the issues resolved in 1.2 and 1.2.1!
- In 1.2: Switched to WordPress 1.5 API
- In 1.1.1: Minor configuration option to turn on Xanga comments; turns off bottom link to commenting on WordPress installation.
- In 1.1: Editing and deleting functions added; exposes a typo-bug in WordPress. Install method has changed.
- In 1.0.2: Better formatting based on WordPress functions and filters as well as suggestions from Danny Park. Thanks also to Kawika Uechi for playing the role of alpha tester.
- In 1.0.1: Fixed ID posting problem
I don't use WordPress personally, but I tend to install it for darkclan folk consistently. So I'm having a little trouble finding a good way to test my WordPress / Xanga plugin easily - I suppose I could pick up another Xanga username and do a lame install of Wordpress somewhere.
The larger issue is interacting with WordPress in a flexible way. Is there an API for retrieving posts? Can I use the
get_setting API functions inside a plugin? I think those are the only blocks at the moment. I tire of trying to hunt down Wordpress information or develop for it. It's ok as a fire-and-forget program for the non-developer users, but it does a lot of things wrong, such as stitching together SQL queries in PHP files. Mixing code is never wise, not to mention totally unfriendly to developers. But I'm probably just cranky from having to write PHP. PHP is stupid.
I'll add to this entry to point to the plugin when I figure the rest of this out (if you want to get the plugin faster, answer my questions above).
You can use
get_setting but not
bloginfo in plugin code. There is no API call for retrieving one post, requiring you to use your own SQL, or abstract some of your own API for doing the same. I was using the
add_action('publish_post', 'yourfunction', priority) hook; it required a priority of 9 to work.