Archive for the 'WordPress' category
Wednesday, July 21st, 2010
New version of our plugin should cure the error message which was appearing on some hosts or sites with broken plugins:
"Toolbar set 'Foliovision' doesn’t exist"
We decided to not use that file anymore and moved all the configuration options for FCKEditor into inline JavaScript. That should fix the problem.
If you had this problem, download the latest version of our plugin (0.9.14) here. This new version fixes this problem and also some other bugs in file management.
We will be glad to hear any feedback on our Foliopress WYSIWYG plugin page.

By Martin
WordPress |
Thursday, July 15th, 2010
In new version (1.0.5), we fixed a bunch of bugs which came out when using Wordpress 3.0 some more.
We also added support for videos and splash images stored on HTTPS servers.
Summary:
- compatibility fixes for WP 3.0 and older plugin shortcodes
- compatibility fixes for IE 6
- HTTPS support
- plugin settings moved from file into Wordpress options table (this will provide easier updates and less configuration issues from now on)
Download the latest version of FV Wordpress Flowplayer plugin.
Older versions of the plugin can be found on the Wordpress plugin site.

By Zdenka
WordPress |
Friday, July 9th, 2010
The new release of FV Wordpress Flowplayer comes with lots of new features:
- Autoplay for single videos
- Show/hide the control bar
- Show/hide the full-screen button
- Uploads through WP Media Library
- Redirection option
We tested the plugin also under Wordpress 3.0, and all features were found compatible.
Download the latest version of FV Wordpress Flowplayer plugin.
Older versions of the plugin can be found on the Wordpress plugin site.

By Zdenka
WordPress |
Friday, July 9th, 2010
Foliopress WYSIWYG is our own Wordpress editor with SEO optimized image manager.
We released a new version (0.9.13) which will fix the annoying autosave glitch -
"The changes you made will be lost if you navigate away from this page."
This message was appearing even when there were no changes made to the post, since we added the autosave support in previous version.
Other fixes and features:
- Added language support
- Wordpress caption support (they will be put under the image into h5 tag)
- Image uploader permissions are now configurable
- Autosave glitch fixed

By Martin
WordPress |
Friday, June 18th, 2010
Wordpress 3.0 is out, finally. No doubt, many good things under the hood. I particularly like that multiuser is now available. For once, the default theme is not visually embarrassing, although no doubt that will change once we've seen Twenty Ten a hundred times on splogs.
One bad thing, people's expectations that Wordpress 3.0 is:
- bug free
- compatible with current plugins
No way guys. There's no way that most popular plugins are ready for 3.0. So unless you are willing to go on a severe plugin and functionality diet, just forget about Wordpress 3.0 for a couple of months.
It's the same deal when Apple releases a new version of their OS (back in classic days or with OS X). You don't want 10.6.0 or 10.6.1 or even 10.6.2. Applications don't work and are incompatible. The sweet spot to move is the .4 or the .5 iteration.
Frankly, I'm still running 10.5.8 on my main computer and have had less headaches as a consequence. I'm about ready to move, as all my software now has Snow Leopard updates and all of the other workarounds have been published by those who love to live on the bleeding edge. Still I might skip 10.6 altogether though and move to 10.7 when it's ready. My girlfriend's Macbook is running 10.6 and the only thing I'm missing out on are the built-in scanner drivers (works great with our HP C3180, unlike HP's own software). Oh and Acorn 2, which is the best photo edit tool I've seen outside of Photoshop.
The crazy thing are greedy clients who want the latest and greatest before the paint is even dry. We just finished a huge Typepad to Wordpress move using our current plugin set (there's a fair amount of moving parts to make a T2WP conversion seamless) and one gentleman is clamouring for his free upgrade to Wordpress 3.0.
First we are not part of Wordpress incorporated (that's called Automattic). Second, he is running a media site and he needs all those plugins which haven't been even tested yet on Wordpress 3.0.
One step at a time.
Fortunately this time, Matt has promised to take some time off from developing core code and Wordpress will distribute their efforts to improving the Wordpress.org site and resources. A much better idea.
Normally this is where I’d say we’re about to start work on 3.1, but we’re actually not. We’re going to take a release cycle off to focus on all of the things around WordPress....so much of our effort has been focused on the core software it hasn’t left much time for anything else. Over the next three months we’re going to split into ninja/pirate teams focused on different areas of the around-WordPress experience, including the showcase, Codex, forums, profiles, update and compatibility APIs, theme directory, plugin directory, mailing lists, core plugins, wordcamp.org
We have more than enough functionality. Just keep the API's running clean and keep improving the invisible code.
Only one big disappointment: Foliovision is not yet on the list of contributors for core code. We'll have to settle for the best alternative WYSIWYG editor and best image publishing system on the Wordpress platform. We also have the best Wordpress comment moderation system and the best free Flash video player plugin for Wordpress. Well maybe that last is a dubious honour as Flash is on its last legs but lots of people love FV Flowplayer.
Thanks and congratulations to those who did make it and created the core of the latest Wordpress.
We'll be busy over the next couple of months getting all of our plugins up-to-date and compatible with 3.0. For our users, no worries, all of our current active plugins will be making the transition.
I thought it would be time to congratulate our former CTO John Godley but strangely John's not on the list yet either, despite having written the best set of plugins out there and now working for Automattic.

By Alec
WordPress |
Tuesday, June 15th, 2010
After some analysis of Wordpress Javascript code, we were finally able to add autosave to Foliopress WYSIWYG, our WYSIWYG editor for Wordpress.
The new version number is 0.9.11, you can download it from its Wordpress.org plugin page.
Full list of new features are:
- Wordpress autosave support
- better Wordpress MU support
- HTML entities are not processed by default - keeping your accented characters unchanged

By Martin
WordPress |
Wednesday, May 12th, 2010
If you work on a busy Wordpress sites in a shared hosting environment, you know how important is to keep the number of MySQL queries down as much as possible. Even if you are using some caching plugin, it's a matter of principle.
Today I was shocked to see that one of my Wordpress templates (it's based on Cutline template) is taking more than 100 queries on the index page. I was removing various parts of the template until I found that it's the the_tags() Wordpress template tag.
This is the important part of the template:
<div class="entry">
<?php the_excerpt(); ?>
</div>
<div class="postmetadata">
<p><?php the_tags( 'Tags: ', ', ', ' | ' ); ?></p>
</div>
And here's a number of queries going on on my test site right now with this code:
Total Time: 78 database queries run in 0.014724969863892 seconds.
Finally I discovered that if I replace the_excerpt() with the_content() (that means the full articles are displayed, not just first few sentences), the queries go down to around 50. Is the_tags() not working with database cache and global PHP object until the whole content is shown?
I found the exact line in the_content() function which makes this happen and put it into my code, right before the_excerpt:
<div class="entry">
<?php apply_filters('the_content', ''); ?>
<?php the_excerpt(); ?>
</div>
<div class="postmetadata">
<p><?php the_tags( 'Tags: ', ', ', ' | ' ); ?></p>
</div>
Now here's the number of SQL queries:
Total Time: 47 database queries run in 0.0041866302490234 seconds.
That means the_tags() won't take any extra queries now. Interesting! If you are developing templates, watch out for this.
The plugin I used to get the exact number of queries is WPDB Profiling.

By Martin
WordPress |
Tuesday, May 4th, 2010
WP Spam Free is a great antispam solution for Wordpress. But if you ever checked your site loading speed in any of the site speed loading tests (we like to use Web Inspector in Safari), you surely noticed that the WP Spam Free's wpsf-js.php JavaScript file is taking too long to load. And no caching plugin will stop that if you want to have working comments.

WP Spam Free Loading - check out the wpsf-js.php item
The reason is that this plugin uses a unique random cookie to protect your blog from spam. And to generate the cookie name and value in the JavaScript file it includes all the Wordpress code on every page load - thus slowing down the execution of your site's PHP code.
However there's a new experimental option in WP Spam Free which turns of this JavaScript while keeping the cookie anti-spam protection in. Here's how to turn it on
- Open your WP Spam Free Settings page.
- Add this to the location bar and press enter:
&showHiddenOptions=on
- This is what the location bar address will look like:
..../wp-admin/options-general.php?page=wp-spamfree/
wp-spamfree.php&showHiddenOptions=on
- You will have this extra option:

WP Spam Free - Hidden option
Now you will notice that the JavaScript for WP Spam Free is no longer loading. Let's give this option a try and find out how effective is WP Spam Free without the classic JavaScript cookie protection. Hopefully in new version of this plugin it will be tested and fully operational.
Right now, we are adding some anti-spam features to our comment moderation plugin Thoughtful Comments which will use zero extra resources and your server load won't be affected by it.

By Martin
WordPress |
Friday, April 23rd, 2010
One of our client recently had an annoying comment posted on his site. Even more annoyingly, the commenter had posted a fake email and clicked Subscribe to Comments. Now this client runs a pretty busy client section: 200 comments per post is not uncommon.
Result of the fake address passing: over 200 bounced emails in his inbox. Richard tried to remove the commenter's subscription in the admin section of Mark Jaquith's Subscribe to Comments (WP Plugins). It didn't work.
We tried to block the user from receiving any comments. Didn't work.
Clearly there is an issue between Wordpress Subscribe to Comments and Wordpress 2.9. Easy enough to fix. But we have about five popular plugins right now in active development and adopting another step-child would take us away from our existing work.
What did work for stopping the bounced emails, we simply removing the commenter's address from the email.

Wordpress Subscribe to Comments Admin options:
These are the ones which don't work in Wordpress 2.9
unsubscribe and block - they are still working in Gurken
After that we did a bit of looking around and a fellow by the name of Martin Spuetz has written a fork called Gurken Subscribe to Comments (WP Plugins). What's important is that Gurken Subcribe to Comments is fully compatible with Mark's version which means that installation is just a question of disabling one and enabling the other and at some future date it would be possible to switch back again.
Gurken Subscribe to Comments admin section does work, allowing commenters to be unsubscribed or blocked. It has another big advantage: which is double opt-in. A user has to accept being subscribed to comments.
How can double opt-in help?
- A fake email will only bounce once, not 200 times.
- A real email which is being routed into someone's spam bin will only go once.
- If someone subscribe's with someone else's email, s/he will only be disturbed once.
I don't know when Mark is planning to update Subscribe to Comments, but a big thank you to Martin Spuetz. As usual with German plugin authors, the code is excellent but the documentation is all in German. Fortunately Martin and I both speak German, so there is a whole new world of plugins out there waiting for us.
We're also trying Sergey Müller's Antispam Bee (WP Plugins) in place of WP Spam Free, as even with our custom modifications on a busy site WP Spam Free puts a heavy load on servers. Here's the excellent German documentation. Here's the English documentation. Wait, there isn't any.

By Alec
WordPress |
Friday, April 16th, 2010
Shared environments for hosting are more vulnerable then dedicated. Using web based file manager creates even more security issues. In Foliovision we allow SEO Images (our web based file manager) to access only one directory. Now there is a question which permissions you want to have on this directory.
Not using fast CGI on PHP (PHP is running as apache extension)
777:
| Pros |
Cons |
| Files and directories are manageable through FTP and SEO Images simultaneously |
This directory is even more vulnerable since any server user is able to write to it |
755:
| Pros |
Cons |
| Only apache user (usually named httpd) is able to write to this directory, which enhances the security |
Files are not manageable through FTP |
If you are using PHP in CGI mode (Installed as CGI binary) you can leave the permissions set to 755, because the CGI application is the same user as FTP. Also using a web based file manager that operates through FTP will solve permissions issues, but typing the FTP password over and over again is uncomfortable. Storing the FTP password on the server is a great security risk.

By Peter
WordPress |
Wednesday, April 7th, 2010
The biggest disadvantage of our WYSIWYG editor for Wordpress was the incompatibility of built-in image uploader/manager tool with Safari.
We are very happy to introduce the latest version - 0.9.10 - which contains a new version of KFM and thus works in Safari. That's a good news for all the fellow Mac users. If you experience any problems, just drop us a comment and we will try to fix it in next release.
Another features of the new version:
- Image management tool now allows multiple file uploads via built-in Flash uploader
- Plain text editing option for posts (if want to have a full control over the post HTML)
- Wpautop and wptexturize are disabled on posts edited with Foliopress WYSIWYG - makes sure your posts have the cleanest and untouched HTML possible

By Martin
WordPress |
Friday, March 26th, 2010
We want to have nice pictures in our posts. So do You. Good composition, colors and focus are by all means necessary. But there's at least one more step between picture in your camera and picture on your web - resizing. Either on your computer in your own image editor, or on the server using image processor designed for that purpose, or on both.
In this article we will look at the quality of the server-side processing of the pictures when they are being resized. There are two tools for image handling running under php. First is build-in php image processor called GD. Second tool is ImageMagick which needs to be additionally installed on the server.
Focus on Details
If you want really nice pictures, details matter. Details are the magic that makes the picture look extraordinary good. We examined how GD and ImageMagick behave when it comes to details. With GD we don't have many ways how to affect the result, but with ImageMagick we have the choice of filters and sharpening options. Look at the following portrait and notice the difference. You can see that the GD picture looks somehow blurry while the ImageMagick looks more sharp and preserves details.

GD, 32kB
|

ImageMagick, 63kB
|

Photoshop, 58kB
|
Details in the following example are even more disturbing in the case of GD. You can clearly see not even the blurriness, but also ugly artifacts around the windows - the set of lines formed by windows is really distracted in the GD case.

GD, 29kB
|

ImageMagick, 65kB
|

Photoshop, 56kB
|
As you probably already have noticed, the ImageMagick files are significantly bigger than the files produced by GD. This is the price we are paying for keeping the details. In comparison, Photoshop has slightly smaller files than ImageMagick.
The last example might be not so obvious. We resized the original picture only to 50% of it's size and cropped part of the face:
If you look very carefully you can see the small differences around eyebrows, eyelashes and in the center of the eye.
Sharpening
Another feature provided by ImageMagick is sharpening, while GD does not offer this option. Sharpening is applied during the resizing process, by default no sharpening is used. We already noticed that even this option is turned off, the pictures processed by ImageMagick look more sharp then the ones from GD. Here we offer a closer look at the effect of different sharpening values:

ImageMagick, no sharpening (=1)
|

ImageMagick, sharpening=0.9
|

ImageMagick, sharpening=0.8
|

ImageMagick, sharpening=0.5
|
We can see that slight sharpening (0.9) as used in the top left picture might be sometimes handy, but care should be taken to not use this parameter in extreme values as ugly artifacts come along this process - see the area around eyes or hair in the bottom left picture.
Conclusion
We care about how our pictures look, and so should You. In this comparison we showed that ImageMagick behaves much better when it comes to details and we think that ImageMagick should be used instead of GD whenever possible. We are willing to pay the price of bigger files in favor or preserving details.
Technical note
In this comparison we used the compression quality equal to 100% to not get any form of distraction from the compression algorithms. The filter used in ImageMagick for the resize was the Lanczos filter.
Wanna try it yourself? Here are our test images: building.jpg and girl.jpg

By Zdenka
WordPress |
Friday, March 19th, 2010
We use a Wordpress plugin called Amazon Showcase Wordpress Plugin to put books from Amazon on some of our client's sites. Well, we used to, until recently.
This plugin produces ridiculously long Amazon links for Amazon Affiliate Program (which let's you make money advertising Amazon products):
http://www.amazon.com/Sleep-Over-Artist-Fiction-Thomas-Beller/dp/0393321711%3FSubscriptionId%3D(Access-Key-ID-here)%26tag%3Dfoliovision-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0393321711
There are parts of this long URL which seem to be pretty easy to understand and they seem important and there are some part which seem to be redundant.
After reading some articles on this topic we decided to create a quick tool to generating these Amazon Affiliate Links. The basic idea comes from this nice article from 2008 and even nicer from 2009.
Check out our tool here:
http://foliovision.com/seo-tools/marketing/amazon-affiliate-link-generator
Other thing which bugs us about the Amazon Showcase Wordpress Plugin is that it's not caching the images. The images are always loading from Amazon servers - slowing down your page load.
That's why we are working on our own Amazon plugin which we may release on wordpress.com when it's ready (it will have nice URLs and will store the images locally, among other cool features).

By Martin
Internet Marketing, WordPress |
Monday, February 15th, 2010
- WYSIWYG style configuration now resides in plugin options.
Easier configuration - no need to edit your CSS file to make your editor true WYSIWYG. Don't worry, your old configuration will still work.
- Image management tool now appears with the right year/month/ directory opened.
Your blog contributors won't upload images into your root image directory anymore.
- All uploaded images above certain height and width (check out plugin options) are sized down to fit into it.
Well, this won't handle those insane 5000 x 3000 px images some people try to put into their posts (as it's just too big for the PHP memory), but at least it takes care of the oversized 2000 px wide images which won't fit on your screen when opened. The default setting is 960 px of either width or height.
- Works on sites with secured wp-config.
- Insert FV Wordpress Flowplayer button added.
Let's you use our popular video plugin with ease.
- Pasting dialog receives focus when it appears.
- Dreamhost JSON glitch fixed.
Head on to our Foliopress WYSIWYG plugin page or Wordpress.org.

By Martin
WordPress |
Saturday, February 6th, 2010
A lot of our plugins use embedded shortcodes inside square brackets.
Our embedded shortcodes look something like this:
[command parameter=something value=number]
The reason we use square brackets is that square brackets parse just fine in WYSIWYG editors including our own Foliopress WYSIWYG.
We've had a lot of simple questions about how to use our FV Wordpress Flowplayer. I couldn't understand why. The instructions are pretty straightforward.
It turns out that the shortcodes were being parsed and showing the result instead of the code people should be using. How anybody managed to get the plugin working without the short codes is a bit of mystery to me. But they did. Wow can people be ingenious sometimes.
So once I'd found the error, we weren't much better off. I couldn't get the square brackets to stop parsing. With angled brackets it's not so difficult. One just escapes them like this:
< >
But there is no such escape for square brackets (or rather the escape still gets parsed by our plugins).
It turns out that the shortcode won't trigger even if there is a non-breaking space: .
But that is no real solution as it means that we are telling our users to insert a space or weird character where there is none. No, we needed a real invisible character to disable execution of the shortcode but leave no visible trace in the html.
After much poking around, I finally found one: ­ That's the soft hyphen character.
So I can boldly post commands like this:
[flowplayer src=example.flv, width=400, height=300]
Which would otherwise result in this:
Clearly showing an empty movie box isn't going to teach a visitor much about how to place an flv in his or her own post.
The long term solution is to code our plugins not to parse what is inside code tags. But in the meantime, soft hyphens can save you in a pinch from having embedded shortcodes execute when they shouldn't.
Alternate techniques (all in use on this site)
- use javascript to write the opening square bracket): not bad but I'd rather put in an invisible character than face fragile javascript in half a dozen tutorials
- use sniplets to hold the documentation (as sniplets don't get parsed a second time but just inserted).
Downsides: unwieldy as you have to go over to sniplets to edit or change tutorials each time. Not easily moved between CMS's or even sites. Plugin dependent.
More readable source code without a javascript code parser
While I was at it, I decided to turn all code into a nice dark green to be more readable and made it a few pixels larger too. Previously code on Foliovision was an elegant but slightly difficult to read medium gray.

By Alec
WordPress |