<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
         <channel>
         <title>PostAlmostAnything.com RSS Feed</title>
         <link>https://postalmostanything.com</link>
         <description>Post Almost Anything: Free Speech Platform</description> 
<item>         <title>Artisteer 3 Function Name Change Broke My SEO Code</title>
         <description>&lt;a href=&quot;https://postalmostanything.com/723/artisteer-3-function-name-change-broke-my-seo-code&quot;&gt;&lt;img src=&quot;https://postalmostanything.com/images/artisteer.jpg&quot; alt=&quot;Artisteer&quot;&gt;&lt;/a&gt;If you use a pre-Artisteer 3 version of Artisteer then don&#x27;t upgrade to Artisteer 3 unless you don&#x27;t need to change the functions in your themes to make up of the failure of Artisteer developers to provide basic search engine optimization (SEO)  features. Features like meta descriptions and canonical link tags that should be a no brainer to any competent developer, but seem lost to the Artisteer people require improvements to be made by the customer. Those changes can be made in Artisteer themes themselves by adding new functions to and tweaking out of the box functions in functions.php or by changing header.php using just default Wordpress functions. In my case I changed Artisteer functions that all had the prefix &quot;art_&quot; in the function names, but are all &quot;theme_&quot; now and in some cases entire function names have been changed or removed completely.&#xD;&#xA;&#xD;&#xA;In addition I cannot use custom code I built to strip some types of HTML tags from posts because art_get_post_content() is no longer a function. Now I must re-do all my work because some idiot decided to change all the function names.&#xD;&#xA;&#xD;&#xA;To make matters worse I could not post a question about this in the Artisteer help forum because I got a XML parsing error whenever submitting my thread. As a result I had to start writing this before losing all my progress due to a power surge and having to write this now all over again. As a result what should have been a simple copy and paste has cost me a half hour of my life due to the forum mishap and power surge alone. Thanks a lot Artisteer. &lt;br&gt; Learn more: &lt;a href=&quot;https://postalmostanything.com/723/artisteer-3-function-name-change-broke-my-seo-code&quot;&gt;Artisteer 3 Function Name Change Broke My SEO Code&lt;/a&gt;</description>
<image>             <url>https://postalmostanything.com/images/artisteer.jpg</url>
             <title>Artisteer</title>
<link>https://postalmostanything.com/723/artisteer-3-function-name-change-broke-my-seo-code</link></image>         <category>Rant &amp; Rave</category>
         <category>Business</category>
         <category>Software</category>
         <category>Seattle</category>
         <category>Washington</category>
         <category>United States</category>
         <pubDate>Sun, 26 Feb 2012 23:53:23 -08:00</pubDate>
<link>https://postalmostanything.com/723/artisteer-3-function-name-change-broke-my-seo-code</link>         <guid>https://postalmostanything.com/723/artisteer-3-function-name-change-broke-my-seo-code</guid>
         <author>ThanksALotArtisteer</author>
         <language>en-us</language>
</item><item>         <title>ASP.Net AJAX Rating Control is a Disappointment</title>
         <description>&lt;a href=&quot;https://postalmostanything.com/568/asp-net-ajax-rating-control-is-a-disappointment&quot;&gt;&lt;img src=&quot;https://postalmostanything.com/images/microsoft-aspnet-ajax.png&quot; alt=&quot;Microsoft AJAX for ASP.Net&quot;&gt;&lt;/a&gt;The AJAX Rating Control from Microsoft&#x27;s AJAX Control ToolKit for the ASP.Net framework currently in use on this website has been a bit of a disappointment so far. It performed quite well at first because it made adding a graphic user interface for users to rate posts and binding its CurrentRating property to a SQL Insert Statement quite easy, but after that problems arose that proved inconvenient to fix and could have been hard for a less experienced developer to address.&#xD;&#xA;&#xD;&#xA;The first problem occurs when trying to display average ratings for which the value is about halfway between two whole numbers (ex: 3.5) because it can only display whole numbers (ex: 3 or 4). This problem could easily be fixed down the road by using a jQuery plugin with images for half stars.&#xD;&#xA;&#xD;&#xA;The second problem is that the CurrentRating property only supports integer values. As a result any non whole number such as a decimal (ex: 3.5) or a null value will result in a runtime error. The decimal bug rules out using it to display accurate averages visually and the null values rules out using it for anything in which a post can have no ratings unless fixed by the developer. The best way to fix this that we have found so far is to convert the text values for the average rating label control in each row to a string, convert that string to a decimal, round the decimal to the nearest whole number, convert the result to an integer, and set the CurrentRating property to the integer value using the RowDataBound event of the GridView.&#xD;&#xA;&#xD;&#xA;Sanitized Code Used for Integer Conversion:&#xD;&#xA;&#xD;&#xA;AjaxControlToolkit.Rating ratingcontrol = (AjaxControlToolkit.Rating)e.Row.FindControl(&quot;Rate&quot;);&#xD;&#xA;            Label rateavglabel = (Label)e.Row.FindControl(&quot;RateAVG&quot;);     &#xD;&#xA;string rateavg = rateavglabel.Text.ToString();&#xD;&#xA;Decimal exactrating = (Decimal)Decimal.Parse(rateavg);&#xD;&#xA;Math.Round(exactrating);&#xD;&#xA;ratingcontrol.CurrentRating = Convert.ToInt32(exactrating);&#xD;&#xA;        &#xD;&#xA;&#xD;&#xA;We would post more code, but for security reasons we don&#x27;t allow some characters that are necessary to render C# scripts server side in our input forms on this site. At present it is necessary to prevent cross site scripting (XSS) attacks. The use of e.Row.FindControl is being used because it is inside of an &quot;if (e.Row.RowType == DataControlRowType.DataRow)&quot; if statement inside of the GridView RowDataBound event (ex: protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)). There is a little bit more to our code than that, but its mostly for customizing labels. All of this was done with the CurrentRating set to 0 by default.&#xD;&#xA;     &lt;br&gt; Learn more: &lt;a href=&quot;https://postalmostanything.com/568/asp-net-ajax-rating-control-is-a-disappointment&quot;&gt;ASP.Net AJAX Rating Control is a Disappointment&lt;/a&gt;</description>
<image>             <url>https://postalmostanything.com/images/microsoft-aspnet-ajax.png</url>
             <title>Microsoft AJAX for ASP.Net</title>
<link>https://postalmostanything.com/568/asp-net-ajax-rating-control-is-a-disappointment</link></image>         <category>Rant &amp; Rave</category>
         <category>Business</category>
         <category>Software</category>
         <category>Seattle</category>
         <category>Washington</category>
         <category>United States</category>
         <pubDate>Thu, 17 Nov 2011 13:38:09 -08:00</pubDate>
<link>https://postalmostanything.com/568/asp-net-ajax-rating-control-is-a-disappointment</link>         <guid>https://postalmostanything.com/568/asp-net-ajax-rating-control-is-a-disappointment</guid>
         <author>NoLimitList.com</author>
         <language>en-us</language>
</item>         </channel>
         </rss>