yak

You are currently browsing the archive for the yak category.

I’ve decided to release 1.1.0 of YAK for Wordpress as an “experimental” version. It hasn’t been fully tested yet, but enough people are hanging out for some of the features that I hope a few early adopters might kindly help out with the process.

1.1.0-exp includes features from the not (publically) released 1.0.4:

  1. Add new non-unique order id
  2. Move javascript on cart off page and into separate script. split javascript into generic and admin specific files — to stop problems with (missing) jquery on the wp pages.
  3. Add warning message for people with session.auto_start turned on.
  4. Integrate YAK back into the WordPress menu structure. The top-level menu was a nice idea, but it’s inconsistent with all other plugins (plus isn’t recommended, according to the WP devs). You can now get to YAK’s options through Settings->Yak, and to Orders/Products/Sales Reports from the Manage menu.
  5. Fix PHP4 problem with the view products screen

Along with a few additional features:

  1. Add https support
  2. Add first cut of Google Checkout integration.
  3. Tidy up setting payment types (drop downs now rather than input boxes). Add setting of a credit card landing page.
  4. Add support for tags with square brackets [ ]. The html-comment version of tags will be removed in an upcoming release

Google support is minimal so far. It’s one-way integration at the moment (allowing customers to submit an order through Google Checkout) — with no automated return path for handling purchase. That will come with a later release.

These updates hopefully make configuration a lot more user-friendly — particularly the changes to the Payment Types. Note that if you decide to upgrade, please make sure you backup your installation, and you double-check all your configuration options after upgrading.

YAK version 1.1.0-experimental can be downloaded from the WordPress Extend site.

I’m now charging for support of YAK for WordPress. Basically for anything that can’t be handled via a few messages on the General Discussion page or on the Bugs page.

The main reason for this change is that I can’t justify (particularly to the family) the amount of time I spend both on development and bug fixing, AND on the volume of support requests I get (at times).

See the new Support page for more information.

As a matter of interest, just searched on Google for “wordpress shopping cart” to see how far down the list YAK turned up. Surprisingly, it’s on the first page. Well, the bottom of the first page, but it is the first page.

Google search results

Cool geek-out moment!

YAK 1.0.3d has been released (the WordPress plugin page hasn’t updated yet, but the files are currently available from Sourceforge).

Please backup your existing installation before upgrading. Deactivate, remove the current yak-for-wordpress directory, then copy the new version into the plugins dir and re-activate. You’ll need to double-check the configuration settings, because many input boxes have changed to drop-down selects (for category and page selection for example… see below). This upgrade will also require you to go through your products and set the price in the “YAK Product Details” tab (see point 5 in the changes below) — the custom fields are no longer required.

This release includes the following bug fixes:

  1. Problem with table creation.
  2. Country options not saving properly.
  3. Fix an odd problem with globals.
  4. The return URL appears to be broken with PayPal IPN. PDT works fine, but IPN seems to wind up back at the home page of the blog. Added a fix to cleanup the order from the shopping cart when this happens.

And the following changes:

  1. Frank Malina’s new look-and-feel.
  2. French translation (provided by Charles Dixon-Spain).
  3. Change money format and currency format to be simpler drop down boxes.
  4. Change the download url from the settings screen so it is now an override (i.e. optional).
  5. Add new data input on the post/page edit screen for yak price and title (replacing the old method of using custom fields).
  6. Remove the “Auto Set Price” option (doesn’t make a huge amount of sense now).
  7. Fix the Auto Set Quantity so it works with selected categories.
  8. Tidy up the stylesheet.
  9. Add a hidden link to the checkout and to the buy button form — vain hope that this might drive more search engine traffic to the YAK plugin page — if you don’t want the link included, it can be switched off on the Basic settings page.
  10. Change the product category (settings page) from an input box to a dropdown.
  11. Change the redirect on buy (setting page) from an input box to a dropdown.
  12. Change the return and cancel urls on the PayPal settings page to a dropdown so you can select a page rather than having to type a url.

The latest YAK release is slightly delayed because I’ve, thus far, been completely unable to test PayPal integration.

First problem: The return URL doesn’t appear to work (cancel return URL works fine). PayPal keeps sending me back to the index page of my test site.

Second problem: When trying to save the Website Payment Preferences (in PayPal Profile) I get a “Page Not Found” error. So there’s no way to change between IPN and PDT. This has been broken now for at least 5 days.

If anyone is using YAK and PayPal and is willing (and able) to test both IPN and PDT integration, please let me know. Worst case scenario, I’ll release this version as unstable, and wait for PayPal to fix their problems…

UPDATE: Problem solved. PayPal have updated their site, but this has somehow corrupted old test accounts. Deleting the old account and creating a new one fixes the problem.

Interestingly, there doesn’t seem to be a WordPress Community group on LinkedIn.

Or, possibly, there are dozens. There’s no way to tell since LinkedIn’s Group directory isn’t open and also isn’t searchable. Unless you’re lucky enough to find the relevant group on someone’s profile, you’re stuck with creating your own.

So that’s what I’ve done. If anyone is interested in joining, the invitation link is in the groups section of my profile.

And let’s hope LinkedIn develops a really good ratification process for merging millions of one-member groups… ;-)

It’s been over 2 years since I released YAK for WordPress (6th of March, 2006 according to Sourceforge), and the forthcoming release finally starts to tidy up a few loose ends. It was always a bit hacky — from a user interface perspective, that is — and 1.0.3 sorts out a few of the most obvious problems (this is not to say it’ll be perfect, of course).

YAK has always represented a reasonably significant investment in time. I don’t put a huge amount of effort into development now that it’s hit the 1.0 release, but popularity brings an inevitable increase in the number of calls for support.
Family commitments mean that I have less time available — or at the very least, it’s harder to justify spending the time. The obvious answer, suggested by a couple of people, is to commercialise (at least in part) the plugin.

There are plenty of open source projects which have at least a small commercial component. And plenty more which are mainly commercial, but release unsupported open source versions. An example of the former are projects which have paid-for documentation. An example of the latter would be something like JBoss or MySQL, which release community and enterprise versions of their apps — the enterprise version, rather obviously, providing commercial support.

So this brings me to a question: where to, with a semi-commercial version of YAK?

There are a few options on the table:

  1. Reduce the detail of the online documentation and release a paid-for installation manual.
  2. Release a supported, commercial version of the plugin with the latest features, and the open source version (with those features) would follow a few months later (only the commercial version would be supported).
  3. Per-request charge for support, perhaps based upon the time taken.

What do you think? Any better ideas?

If anyone is interested in previewing YAK 1.0.3, please get in contact. This release adds a new (admin) UI design (provided by Frank Malina), and fixes a couple of nasty bugs that emerged with the latest version of WP (tables not being created, globals not working as they used to, etc).

Apart from the new UI, there are no major feature improvements in this release, however there are a couple of “big ticket items” I’m thinking about adding in version 1.0.4.

YAK 1.0.2a

Yet another release of YAK — this one fixes a problem with activation. Basically the db tables weren’t being created on a new activation (i.e. the first time it’s installed). This wouldn’t have affected upgraders.

Apologies to anyone who had problems, and hopefully this release will work better.

YAK 1.0.2

Version 1.0.2 of YAK has been released.

This version is a slightly more involved upgrade than previous editions. Because WordPress’s automated build system creates a distribution from the subversion repository, the directory in the filename isn’t just “yak” — it’s “yak-for-wordpress”. This appears to cause problems when I’ve named my main plugin file: “yak.php”. As a consequence, the new name is “yak-for-wordpress.php”.

Thus, before upgrading, you should backup your wordpress installation, then deactivate and remove the old yak directory. Extract the contents of the new distribution and re-activate.

Changes in this release are included in the release notes here, but to summarise:

  1. order status is automatically set to STOCK SENT when all funds have been received for a PayPal order, if the order contains only downloadable items
  2. the ‘default’ category has been removed from the products drop down. This means you can still turn the drop-down on by default for products with more than one option, and the products that are tagged as ‘default’, won’t include the dropdown.
  3. fixed a problem with apostrophes in yak title, download and confirmation email
  4. fixed a problem with PayPal shipping with multiple items
  5. fixed a problem with PayPal verification (item names need to be properly encoded)
  6. tidied up the confirmation email and code

Any problems with this release, please let me know.

I’ve partly changed my mind about the addition of WPForum. I’m leaving it there for YAK, but have decided that it’s not necessarily useful for the other projects (such as SWFK). Instead, I’m giving the wp-thread-comments plugin a try. At least you won’t necessarily have to register in order to comment.

Unless, of course, someone has a better idea…?

I’ve just added WP-Forum to my site, currently for YAK and SWFK. At 200+ comments, the YAK discussion is already too unwieldy to be useful, and the comments list on the SWFK page could probably use something a bit more ‘threadable’.

The URL can be found here. I’ll keep comments open on both pages, until any kinks have been ironed out. Here’s hoping it’s useful…

YAK 1.0.1

YAK version 1.0.1 has now been released. Downloadable from either the WordPress plugins page, or from Sourceforge. This updates YAK to be compatible with WordPress 2.3, but unfortunately breaks backwards compatibility with prior versions of WP. If you’re using an older WordPress, I’m afraid you’ll have to stick with 1.0.

As well as WP2.3 compatibility, 1.0.1 adds paging to the “products” page, adds a facility to select the countries you support (see the options page), and adds a new quantity tag () to display product availability to your customers.

Disappointingly, but perhaps unsurprisingly, there are no plugins for WordPress which provide bug-tracking capabilities. Well, at least none that I’ve been able to find. I did consider the possibility of developing one myself, but I have enough to do in my spare time as it is. The family would probably kick me out of the house, if I started another project…

However, I did want a basic bug tracking system for Do My Invoice, and it makes sense to also use it for YAK (and perhaps some of my other low volume projects).

After a bit of searching, I came across Mantis, a PHP bug tracking system which looks simple enough for my needs, and perhaps approachable enough for other users to easily post their issues and feature requests. It was certainly easy to install, which makes it one of the more attractive candidates… (that said, I wouldn’t have minded using FogBugz, but don’t have the budget for the moment).

So if you have features or bugs for Do My Invoice, or for the YAK shopping cart plugin, please sign up for a new account at:

http://www.briggs.net.nz/bugtrack/

In the case of YAK, the comments on the project page is still the place for support issues and, in the case of DMI, the email for support requests can be found on the dashboard after you’ve logged in.

YAK, for Wordpress 2.3, is on its way.

There are structural database changes required for WP2.3, and while I don’t necessarily need to change the YAK tables as a consequence, I do need to change a few (relatively complicated) SQL statements. So if anyone has a test environment and would like to help, it would be great if someone (other than me) can check whether or not the changes have been completely successful.
I can package up the current tip of the repository and email out to those interested.

Please note that I’ve made the decision not to support older versions of WP (i.e. versions less than 2.3) from this point on, as supporting different versions of a database makes development inordinately complicated. That said, if you won’t (or can’t) upgrade to the latest version of Wordpress, and have some essential feature that you want in YAK, feel free to cross my palms with (quantities of) silver and I’d be happy to help. ;-)

The only other change that goes into this release is the support for paging in the YAK products page. This is the product list page (using the tag <!–yak_product_page–> tag) where your users can see all your current products (in order of newest to oldest). I’m only aware of one person actually using this feature, so for most, the only thing of interest in this coming release is the 2.3 support. More to come when I have the time.

Well, I haven’t had much time to work on YAK lately, but still have a list of things I want to add when I get a chance.

However, in the meantime, I have decided I like Mercurial enough to shift YAK off subversion at SourceForge, and into its own mercurial repository hosted on my website. The subversion repository won’t go away, since I haven’t bothered to replay the tags into the Hg repos (just the individual revisions).

So if you want access to YAK from source control, the new checkout command is:

hg clone http://www.briggs.net.nz/hg/yak yak

…and then…

hg update

to keep it up to date.

You will, of course, need to install both Python and Mercurial to do so — but the repository itself is also directly accessible from the URL: http://www.briggs.net.nz/hg/yak.

Spent the best part of a couple of hours investigating the possibility of Google Checkout integration in YAK.

It’s not looking positive, to put it politely.

Google Checkout only accepts POSTed content, which means I can’t just add a simple function to include the functionality (like I did with PayPal). I’ll have to modify the final confirmation page in YAK’s checkout to include the google parameters, and then (because I use a Location header to perform the redirect to the final payment page) I have to send an HTTP 307 before redirecting to Google, to stop PHP from converting the HTTP POST to an HTTP GET. Result –> an ugly confirmation dialog (at least from Firefox), to let the user know they’re about to be redirected.

More problems: Checkout only appears to support GBP and USD. I can’t figure out how to configure it to allow shipping to other countries, so I couldn’t even submit the order for my initial request. In addition, I couldn’t even get the shipping to appear in the checkout screen. No clue as to why that was happening.

Next problem: Checkout only allows confirmation of orders to a site supporting https. That’s fine for production, but no good for my development efforts (particularly since I can’t be bothered setting up SSL on my test apache server).

So I’m putting Google Checkout on the backburner for a few days. Things might start to work if I come back to it fresh… My worry is, that it’ll require a complete rework of the process in order to support it. Considering I have precious little time to waste at the moment, I’m not convinced the outcome is worth the effort.

I know!! Google should pay me a few hundred thousand dollars to sort it out…. ;-)

On a related (YAK) note, thanks to habibbijan for the pointer to a blog article about YAK, at InterestingMoney.com.

YAK 1.0 final

The final version of YAK for WordPress 1.0 has just been released.

This is a fairly minimal update, adding a delete button to the checkout (simplifying the removal of an item from an order), changing cart buttons to use an html <button> tag, rather than <input type=”image”> (which means you don’t need to use images to style the buttons — although you still can), and adding German translation files provided by MK.

A couple of bug fixes have gone in this release, including fixing the download filename in Internet Explorer, fixing a problem with download emails not being sent, and a recent (i.e. today) issue with the shipping cost being zeroed.

Check the release notes for more information and, as usual, download YAK from Sourceforge.

Release Candidate 3 of the YAK shopping cart for WordPress is now available.

This release includes the following:

Changes

  1. added traditional Chinese message file (provided by Ronny).
  2. added new about page
  3. new special options — use for offers of free gifts with certain products
  4. configurable shipping address (turn on/off name, phone number, address and separate billing address)
  5. http proxy for curl backend requests (such as PayPal). Useful for hosts such as GoDaddy (for which the proxy address should apparently be set to: “http://proxy.shr.secureserver.net:3128″)
  6. update to the Thai language file
  7. change all syslog references to error_log (so debugging messages end up in the apache log file)
  8. added Slovak translation file (provided by FrantiĊĦek Malina)

Bug Fixes

  1. fix reports to show figures for stock sent orders (instead of everything)
  2. fix a problem using a page as a product
  3. fix problems with sending email confirmations (was using the wrong email address for download notifications)
  4. fix problem with products having a quantity of null (causes weird issues if a customer already has that product in their basket and the quantity is set to an empty value)

As usual, release files can be downloaded from here.

I’ve received a couple of donations for YAK over the last couple of weeks. Meant to mention it, and then completely forgot.

So apologies, and many thanks to Luke Chao, and 2 anonymous donors.

I’ve finally gotten around to updating the installation instructions for YAK — including some screenshots of the process.

This is the first update in a while, to reflect some of the recent admin changes I’ve made to the plugin (new screens and so on). The problem with documentation for something like this, is that you’re rather too close to the product to be objective about what you’re writing. So hopefully I haven’t missed some important steps along the way…

Had a question from a YAK user wondering if anyone is using it with a credit-card payment service like DPS?

I didn’t think so, figuring if someone had hacked an additional payment option, they would’ve probably let me know already… but just in case, if you are, please tell me and I can put you in contact.

I’ve just (last night) uploaded the first release candidate for yak 1.0.

Quite a few changes going into this release. All the yak admin screens are merged into a single access point off the Manage->yak menu option (big-ups to Spam Karma 2, for that idea!), and some new (very basic) reports have been added. I’ve tried to tidy up the settings (formerly options) screen according to what they do in SK2 as well, because it’s much easier to distinguish between the major sections.

Payment types are now completely configurable, where before there was a fixed list of “Deposit, Cheque, Credit Card and Paypal”. The negative side effect of this change is that before upgrading you should go to the yak options screen, and write down the redirect urls for each of these payment types, and then you have to go back after upgrading and re-add them all. The postive effect is that you can now add more Payment types that redirect to different pages, and you can enter them in your own language.

On the internationalisation side, I’ve removed i18n code from the admin screens, because the amount of text was a barrier to translators. So now the front end pages can be localised, whereas the backend won’t be. There’s now a japanese message file for yak as well (thanks to Ronny from mobitemple), but I think the Thai one is now out of date, so I’ll get that fixed before the final release of 1.0. Anyone else wanting to provide translations for other languages, please let me know.

Other changes are the new shipping options (don’t remember if that was included in the previous ‘experimental’ releases or not… and can’t be bothered looking), WP2.1 compatibility changes, the ability to add notes to an order (writing to the order log table), and a few minor bug fixes. There’s more, so take a look at the release notes in the distribution if you’re interested.

DISCLAIMER: This is the first release candidate, so your mileage may vary. Anyone testing, please get back to me as soon as possible with any problems you might experience, because I’d like to release the final of 1.0 within the next couple of weeks.

I’m just in the process of releasing an experimental version (0.9) of YAK which showcases the latest features, such as product options, removing the need for exec-php, a credit card payment form, and a few other requested changes.

This release should be viewed as -highly- experimental. If you release it into a production system, you are, quite frankly, raving bonkers and should be committed to the nearest psychiatric institution.

That said, hopefully someone will have a test system that they don’t mind trashing, and get back to me with some feedback. Check the main YAK page and you’ll note that the way you use the plugin has changed (using html comment placeholders instead of php function calls using exec-php), so upgrading will unfortunately be a time-consuming process. WARNING: documentation may not be quite as comprehensive as I’d like.

The next stable release of YAK to include this functionality will be the 1.0 release, but is unlikely to be out before Christmas, because I need more time to fully test the new features.

I’ve been doing a bit of work on YAK recently. A couple of bug fixes — one major fix to support people who don’t have curl installed (uses fsockopen instead). The major changes on their way are:

  • order cancellation — reversing the quantity decrement that takes place during ordering
  • new order page with summary info and then a detail button to display more data
  • credit card payment page — for shops who are processing their own credit card payments (this also blanks out the credit card number when an order is cancelled or stock is sent, reducing the security risk)
  • product options — in other words, styles/colours and/or sizes. I’m currently investigating this and haven’t quite come up with a way that keeps things simple enough. Obviously quantities for the options will have to be kept in sync which makes the products page more complicated, not to mention the ordering process.

Everything except for product options is currently in subversion (use the repository version at your own risk since I haven’t done enough testing yet).

Not posting too much lately because I’ve been busy with a couple of personal projects. Just thought I’d mention that YAK has hit the big 1000 downloads. Sure, doesn’t seem like a huge amount (microscopic compared to some OSS projects), but it’s my most successful open source project to date, so I’m quite pleased.

I’ve just released v0.7 of my shopping cart plugin for WordPress. Notable inclusions in this release are automatic setup of product info (such as quantity and price), and the ability to have downloadable products — which is in the ‘experimental stage’ (see here for more information).

Currently in source control for YAK (but not released yet), is the ability to automatically set price and quantity for all new posts — meaning one has to explicity remove the custom fields to stop a post being considered as a product. This is optional behaviour, of course.

Also added is default titles for products (picking up the post title, rather than having to explicity enter it). Which is one less custom field to enter.

I’ve had a couple of requests to support downloadable content. There are a few ways I could go about adding this feature — none of which are particularly straightforward. I don’t want to overly complicate the shopping cart, and a couple of methods would definitely result in overcomplication. At the moment my favoured approach would be when a user purchases downloadable content, an email is sent out with links for the downloads once payment is confirmed (either thru PayPal, or manually in the manage-orders screen). The link for the download would (potentially) be created using a combination of the product id, a uniquely generated id, and a passcode created specifically for the product… with the number of downloads allowed configurable from within YAK. This is perhaps not as user-friendly as providing download access from within the cart itself (i.e. payment confirmation redirects to a page which contains your download links) — but has the least (developmental) impact on the plugin.
I’d also like to add the ability to upload the content from within the plugin as well — but I think the initial version will just be via an .htpasswd/.htaccess secured directory.

So, comments welcome. Should this facility go into YAK now, or are there other features which you’d like to give a higher priority…?