Version 1.1.6 is not a bug fix release; it just provides enhanced exception reporting for those instances when a Task step fails to complete successfully. While the additional information provided in this new release is interesting, it is really only valuable to Task Developers and those attempting to determine the root cause of a failed Task. If you have already upgraded to version 1.1.5, there is really no compelling reason to uninstall and replace it with version 1.1.6. However, if you have not upgraded recently, or if you do not yet have your copy of the *form Local Agent running on your machine, then 1.1.6 is the version for you.
Whenever we discuss the wonders of *forms, we are usually focused on the back-end — the hundreds of Tasks available to deliver your *form data to a plethora of target destinations. But equally impressive is the number of different ways you can get your data into a *form so that you can send it on its way. Here’s a quick recap for those of you who are unfamiliar with the various ways in which you can populate a *form with your own data:
- Manual Entry – The simplest way to get data into a *form is to pull up the *form entry screen in a browser and fill it out using your mouse and keyboard. Filling out a *form the good, old-fashioned way might be the most straightforward way to get to all of those waiting back-end Tasks, but it’s certainly not the only way to get the job done.
- *form Loader: ST – The simplest of the bookmarklet *form Loaders, the *form Loader: ST uses the text that you have selected on any web page to populate a Text *form. Once you have installed the *form Loader: ST on your browser (by dragging it up to your browser’s bookmarklet tool bar), you simply select the text that you want, click on the bookmarklet and you are taken to a Text *form that has been filled out using your selected text.
- *form Loader: BM – The bookmarking *form Loader is another bookmarklet *form Loader, but this one grabs the title, URL, description, and keywords of the current web page loaded into your browser and uses that data to populate a Link *form.
- *form Loader: MF – The most sophisticated of the bookmarklet *form Loaders, the *form Loader: MF searches for Microformats on the current page, and then uses the data defined in those Microformats to populate a *form of the appropriate type based on the Microformat.
- *form Loader: BB – The “Splat This” button allows publishers to provide visitors to their site an easy method to populate a Link *form with details about the site or content that they are viewing. When a user clicks on the Splat This button, they are taken to their splatforms.com account to a Link *form that is prepopulated with the data about the content as specified by the publisher.
- *form Loader: WP – The WordPress plugin of *form Loaders allows blog owners to automatically submit a *form of their chosen type every time they publish a blog entry. Once they have the plugin installed and activated on their blog, the submission of the *form is an automated process that occurs every time they publish a new entry. (more)
- *form Loader: API – And if all of the above is not enough ways to fill out your *forms, there is an extensible API that allows anyone to develop any kind of *form Loader that they can think of, pulling data from any source that they can imagine. The *form Loader: API supports two distinctly different modes: Unattended and Interactive. In unattended mode, the *form is populated and then silently submitted without user intervention. In interactive mode, the user is taken to their splatforms.com account with a *form of the specified type filled out using the data provided. The user can then review, and optionally modify the data, as well as modify the list of Tasks to be executed before submitting the *form themselves.
That’s a quick overview of the *form Loaders that are currently available at today’s splatforms.com. To learn more, log on to splatforms.com and check things out for yourself. If you do not already have a free splatforms.com account, it’s fast and easy to sign up. Then you can really see what you can do with a *form!
It was just last year when were first spreading the word that you could auto submit your WordPress blog entries to over 100 sites by populating a Link *form with our *form Loader for WordPress. Then, before we knew it, we were able to bump that number up to over 200 sites. Then things kind of bogged down as we turned our attentions to other things, and for a while there, we did not think that we would ever make it to 300 sites, but now we have. Of course, that’s really over 300 sites from which to choose — many of these sites are specialty sites dedicated to a specific community and one would be hard-pressed to find a topic for a blog entry that would be relevant to every single one of them; you will, of course, only want to select those sites which would be appropriate for your content. Still, with over 300 to choose from, you should be able to find quite a number to fit your specific needs.
Granted, the individual account limit of 50 free successful submissions per day means that it would take nearly a week to submit over 300 items metered out at 50 each day, but that’s not completely a bad thing either. There are certain advantages to generating backlinks over an extended time period. One day will be providing a means to opt in for a higher limit, but that day has not quite arrived just yet. For now, you’ll have to live with the 50 items per day limitation.
If you want to see what some of these 300 sites might be, you can take a look at our list of Target Web Sites. This list seems to be constantly changing; failed sites die off and new sites pop up all of the time. It’s quite an effort to keep up with things at times, and it is probably already out of date as this is being typed. If you know something that we don’t about a site that should be on or off of the list, by all means, please let us know! We do our best to keep up, but miss things all of the time and any help is always appreciated.
If you want to actually see the whole thing in operation, we would encourage you to go through the quick and painless account sign-up process and get started using Splatforms. You don’t need to have a WordPress blog to take advantage of the power of Splatforms; there are many automated ways to populate a *form using one of our many other *form Loaders, or you can even do things the old fashioned way and just fill out the *form yourself and submit it via your web browser. But first things first — before you can do any of that, you need to go out and get that new account!
Yesterday we released the newest version of the *forms Local Agent, the component that processes your *forms and holds all of your credentials for the various sites to which the agent posts your *forms data. Version 1.1.5 resolves a minor, but crippling bug in the user authentication mechanism that would only occur if the Task Developer used Velocity variables in a URL that also relied on HTTP Basic Authentication.
Users of older version of the *forms Local Agent are encouraged to uninstall such version and install the new 1.1.5 version in its place. To download your copy of the *forms Local Agent, sign on to splaforms.com and navigate to the Tools page. We still have not resolved the open ticket that calls for the *forms Local Agent to check for updates on its own and install new versions automatically, so until that version has been deployed, new releases will have to be installed manually.
One of many open source products that has helped to make Splatforms.com what it is today is Apache Velocity. One of the most powerful features of Velocity is the ability to create reusable functions known as Velocimacros. The Splatforms Task specification provides a section in the Task definition where Task Developers can include any number of Velocimacros needed during the Task processing. To get an idea of the kinds of things that you can do with a Velocimacro, check out the Velocimacros section of the Velocity User’s Guide on the Apache Velocity web site.
Most of the web sites that serve as a destination target for the data found in a Link *form accept “tags” as one of their input fields, and most of those accept the tags input as a single, comma-delimited string. A single comma-delimited string is the expected input from a Link *form, so passing on the tags to most target destinations is simply matter of sending the user’s input as is. For those sites that has a field length limitation, a simple #crop Velocimacro will handle that requirement. But there are a few sites, such as Delicious and Trunk.ly, that expect their tag string input to be delimited by spaces, not commas. For that, we need little more sophisticated processing, but something that a Velocimacro can easily handle.
#macro(fixTags $tagString) #if ($tagString) #set ($separator = "") #set ($tagArray = $tagString.split(",")) #foreach ($tag in $tagArray) #set ($tag = $tag.trim()) #set ($tag = $tag.replace(" ","_")) $separator$tag #set($separator = " ") #end #end #end
The code fairly self-explanatory, but let’s break it down, just for fun:
This is the macro definition; the first argument inside of the parenthesis is the name of the macro, which is used to invoke it, and the second is the single argument that will be passed to the macro at execution time. To invoke the #fixTags macro, you would type:
The next line just verifies that there are, in fact, tags to be processed:
While this is not technically required, there is no point in going through the rest of the process if the tag string is empty, so this screens out all of the calls made where there are no tags.
The next couple of lines set up an empty string for the first tag separator, and split the comma-separated string in an array of strings:
#set ($separator = "") #set ($tagArray = $tagString.split(","))
Once we have an array, we can use a for loop to process each item in the array individually:
#foreach ($tag in $tagArray) #set ($tag = $tag.trim()) #set ($tag = $tag.replace(" ","_")) $separator$tag #set($separator = " ") #end
Inside the loop, for every tag, we trim off any excess white space, convert any spaces to underscores, and then output the separator and the cleaned-up tag. Once that’s done, we convert the separator to a single space for the next time through (the first time only, the separator is an empty string, as we do not want to start out with a space).
That’s about all there is to it. If you want to see another example of how Velocimacros can be used in a Splatform Task, check out the Spintax Velocimacro. And if you really want to have some fun, sign up as Task Developer and try it out for yourself!
Seems like it wasn’t that long ago that we were boasting that Splatforms reached out to over 100 sites. And then a short time later, that number more than doubled to over 200 sites. And at the rate that we kept adding more and more, it seemed as if it wouldn’t be too much longer before we were over 300 and beyond. Sadly, though, as we were building up our inventory of Tasks and potential target sites, others were preparing to shut there doors for good, and others just quietly disappeared into the night.
Faves is the latest to announce that they are calling it quits. We’ll miss them. Slinkset is another, and they will really be missed, as they had hosted a number of sites for which we had developed connectors. These, and many others, will now join our old friends Propellor, Spurl, and the rest of the gang that we have had to move into the “retired” category.
At the same time, though, new sites are popping up all of the time. Our little list will never be complete. We just hope that we can keep up!
The very first thing that we did when we first set out to cobble together Splatforms.com was to throw up some text on the home page to get the party started. That same old text has been there ever since, and while we’ve always known that we have needed to do something better, we’ve also managed to always keep busy doing other, more interesting things. Today we are finally trying something new, though. We’ll have to wait and see how long it lasts.
The main thing that we have always wanted to accomplish with the site’s home page is to accurately and succinctly describe just what it is that we do around here. It’s hard to describe the concept in short, little, catchy phrases like, “We post your stuff all over the Internet,” because, well, that’s kind of true, but it doesn’t really capture the essence of Splatforms.com. But the text that was out there was definitely not getting the point across, so it had to go. We may eventually come up with something that is absolutely perfect, but for now, this new content is definitely an improvement. So here’s to Better Than We Had Before!
Yesterday we released the latest version of the *forms Local Agent, the component that processes all of your *forms and holds all of your credentials for the various sites to which the agent posts your *forms data. Version 1.1.4 resolves a number of existing tickets, and cleans up some other minor issues for which no ticket was ever generated.
Users of older version of the *forms Local Agent are encouraged to uninstall such version and install the new 1.1.4 version in its place. To download your copy of the *forms Local Agent, sign on to splaforms.com and navigate to the Tools page. One of the tickets that has yet to be closed calls for the *forms Local Agent to check for updates on its own and install new versions automatically, but until that version has been deployed, new releases will have to be installed manually.
Our compilation of target sites and available Tasks continues to evolve. Recently, we have added support for VK, Identi.ca, Jaiku, Slashdot, Freelish.us, Xing, and a number of other target sites. We have also added even more sites for which we do not yet have any Tasks developed, so our total list of target web sites is growing even faster than our list of available Tasks.
At the same time, however, we have also had to retire a few Tasks that supported sites that are no longer in operation. Sometimes we wait to do that a little longer than we should, just in the hope that the operators of the site will resolve whatever the problem is and get the site back online, but eventually we have to concede that a particular site is not just down temporarily, but is no longer in operation, and so we move it over into the dead pile to join Propeller and so many others that came before it.
Still, more Tasks have been added than have been removed, so it has been a net positive as far as the total numbers go. Although we do not yet have specific Tasks developed for every single site on our list just yet, the total number of potential target web sites on our active list today stands well over 450, and continues to grow. As we have mentioned in the past, work on new Tasks does take time away from polishing up the site itself, but the world is constantly changing, and we do try our best keep up. One day, we will actually move the site out of beta mode and officially open the front doors, but regardless of when that day might come, we will continue to add and remove both sites and Tasks as the need and opportunities arise. We don’t always announce it when something gets added or removed from the list, but if you check back in every once in a while, you should be able to see how things are coming along.
About a month ago, we posted an entry on spintax, and how a little Velocity magic could enable spintax processing within a *form Task. A few days later, we posted another entry on how that initial entry ended up on the first page of Google search results for the word spintax, which we thought was pretty amazing at the time. We posted that second entry for two reasons: 1) just to tell the world what happened with that first entry, and 2) as an experiment to see if we could duplicate the results of the first. Now that over a month has gone by since that first entry was posted, the time has come to do another Google search on the word spintax and see how things turned out.
As of this morning, a direct link to the original article still appears on the first page, but it is the very last entry on the page, which is several notches down from where it originally appeared on that first day. However, the #1 entry on the page is one of the references to that page that was generated by *forms at the time the original entry was posted. So, technically, on the first page of Google search results, there are actually two references to the article, one direct and one indirect.
You won’t find any reference to second entry until the fourth page though, and just like the original, an indirect reference shows up at the top of the page, and the direct link to the article doesn’t appear until you get down to the bottom of the page. Earlier, the second article had shown up as high as page #2, but our little experiment to reproduce the original results never actually made it to page #1, and never pushed the first article off of page #1, even now, a month later. So, ultimately, we were able to come close to repeating the earlier results, but the second attempt was never able to eclipse the first. Page #2 is not bad, when you are actually trying, but page #1 was even better, particularly since we weren’t even giving that any thought at the time that we put it out.« go back — keep looking »