<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Books-Software.com</title>
	<atom:link href="http://books-software.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://books-software.com</link>
	<description>Computer Books and Software</description>
	<lastBuildDate>Thu, 17 May 2012 11:27:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>BCD Application Development Products for the IBM iSeries</title>
		<link>http://books-software.com/bcd-application-development-products-for-the-ibm-iseries/</link>
		<comments>http://books-software.com/bcd-application-development-products-for-the-ibm-iseries/#comments</comments>
		<pubDate>Thu, 17 May 2012 11:27:44 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[BCD]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://books-software.com/?p=185</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<h2>BCD Application Development</h2>
<p>Recently I noticed an interesting article about <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.itjungle.com/fhs/fhs051512-story04.html"  target="_blank">BCD Application Developmen</a>t Products for the IBM iSeries published by the ITJungle website and I have re-published it below for your convenience.</p>
<p>&nbsp;</p>
<h3>Modernization and Mobile Lead BCD Development Efforts</h3>
<p>Published: May 15, 2012</p>
<p>by Dan Burger</p>
<div class="wp-caption alignright" style="width: 310px"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://commons.wikipedia.org/wiki/File:AS400.jpg"  target="_blank"><img class="zemanta-img-inserted" title="IBM AS400 Fotografiert von pom albisser" src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/AS400.jpg/300px-AS400.jpg" alt="300px AS400 BCD Application Development Products for the IBM iSeries " width="300" height="569" /></a><p class="wp-caption-text">IBM AS400 Fotografiert von pom albisser (Photo credit: Wikipedia)</p></div>
<p>Whether working from ground zero or building on existing investments, <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.bcdsoftware.com/"  target="new">BCD</a>&#8216;s application development products have long been used by <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.ibm.com/"  target="new">IBM</a> midrange shops. One of the reasons is BCD&#8217;s continual investment in developing its product lineup, which handles everything from quick green-screen Web-enablement to multi-platform Web development. And for companies unfamiliar with BCD, here&#8217;s a surprise&#8211;the company has a newly enhanced business intelligence tool as well.</p>
<p>Most IBM i shops are talking about application modernization projects. And each year there are more of these projects deployed. The majority are quick and simple transformations of green-screen apps to Web apps. And it&#8217;s clear that mobile apps are becoming a priority.</p>
<p><strong>Quick Green-Screen Conversions</strong></p>
<p>BCD created a product called Presto more than three years ago that has demonstrated green-screen-to-Web capabilities satisfying shops that realized the difference a GUI makes. Last week, at the <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.common.org/"  target="new">COMMON</a> Annual Conference and Expo, BCD showed off the latest round of Presto enhancements.</p>
<p>The biggest benefit Presto has delivered from the beginning is its deployment speed. Shops that are under heavy pressure to modernize quickly need results fast. BCD says that Presto does this by avoiding code changes or access to source code.</p>
<p>With the introduction of Presto 4, the importance of mobile devices was clear. Because of the variety of devices, screen sizes, operating systems, and browser choices, Web applications need to cover a lot of bases. BCD&#8217;s approach to this is to build in the capability to detect the device receiving the application and adjust the layout accordingly.</p>
<p>For mobile device users who depend on function keys to get their work done, Presto now includes a custom virtual keyboard. Many users would be lost without this, which goes to show that keeping the end users in mind should always be a priority. Even those who wouldn&#8217;t be &#8220;lost&#8221; would probably be less productive, which is not an intended consequence of a modernization project.</p>
<p>Also added to the new feature list is the capability to view and save DB2 data as CSV spreadsheets or HTML pages. Thanks to an Export Data element, spreadsheets can be opened in <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.microsoft.com/"  target="new">Microsoft</a> Excel without copying and pasting data and without requiring macros. HTML-rendered spreadsheets, drop-down lists, and charts are populated with the results of an SQL query defined in Presto. The functionality can be displayed in the form of a button, link or image. Transforming menus into links is one of the fastest ways to improve navigation, which relates to improved user experiences.</p>
<p>During the BCD press conference at the COMMON conference last week, Eric Figura, BCD&#8217;s director of marketing and sales, made a point of emphasizing the importance of integration and mobility with the long-term success of the IBM i platform. Figura says Presto has been used to deliver modernized versions of green-screen applications on tablets to replace paper by rekeying inventory and ordering processes and used by teachers to take attendance in classrooms. He calls presto &#8220;a cost-effective modernization solution that quickly bridges the gap between 5250 applications and mobile devices.&#8221;</p>
<p><strong>PHP and Multi-Platform Roadmaps</strong></p>
<p>Even though green-screen conversions are a great place to start an application modernization project, there are many ways to extend existing applications and build composite applications while introducing advantages like multi-platform compatibility and multiple database access. BCD&#8217;s WebSmart PHP was designed for this duty, and additional features were just released last week with version 4.4.</p>
<p>Version 4.4 enhancements include an interactive debugger, a new licensing option for organizations that don&#8217;t have an IBM i server, improved validation of any PHP file, and an enhancement to SmartCharts for non-Flash devices like iPads.</p>
<p>The debugger has been slipped into the WebSmart development environment, which means less time is spent testing code to find problems compared to using a debugger outside the IDE. The debugger was designed for easily adding breakpoints, step-through programs, and investigating and changing variables on the fly.</p>
<p>The validation process for PHP files, including those from open source solutions, has been improved with the addition of syntax-checking features.</p>
<p>A set of standalone PC license keys have been added with this latest release. This allows PHP development without an IBM i. In the past, an IBM i server wasn&#8217;t necessary to run WebSmart PHP programs&#8211;they are open source and can run on multiple platforms. However, the IBM i server was needed to authenticate the license key for developing PHP applications with the WebSmart IDE. A standalone PC license key is particularly relevant to ISVs that use WebSmart PHP.</p>
<p>Because the hugely popular <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.apple.com/"  target="new">Apple</a> iPads are not compatible with Flash animation, BCD updated its SmartCharts feature that was introduced in 2011 to support non-Flash devices. WebSmart PHP 4.4 allows iPad users to design and integrate real-time animated two- and three-dimensional bar charts, pie charts, and executive dashboards to the same degree that Flash-compatible devices offer.</p>
<p>Other enhancements include the capability to retrieve query string parameters in one function instead of needing a separate line for each individual parameter, cross-site scripting protection, and improvements to the user interface file-browsing features. WebSmart PHP has also added functions that make it easier to retrieve information from BCD&#8217;s Web portal product, Nexus. The portal provides a single point of access to enterprise information including WebSmart and other Web applications, Web pages, documents, dashboards, and productivity tools.</p>
<p><strong>Portal and BI Technology, Too</strong></p>
<p>The latest release of Nexus Portal includes support for LDAP, cross browser support, restructuring of the underlying CSS and JavaScript code, and improvements to password handling and the install process.</p>
<p>LDAP is a cross-platform client server protocol used to store and authenticate user IDs and passwords, as well to query and modify information. The addition of LDAP authentication can be added to IBM i and Nexus user profiles to bolster security. Site administrators who use LDAP no longer need to manage separate LDAP and Nexus profiles.</p>
<p>By the way, BCD does not charge a license fee for the Nexus portal. It does require a maintenance contract, however.</p>
<p>Development on the business intelligence side of BCD has resulted in enhancements to the company&#8217;s Clover Query software. Now at version 3.6, Clover has expanded its access to SQL Server and MySQL via Web-based reporting using a template format.</p>
<p>There&#8217;s also a PDF template to produce reports in that popular format and the SmartCharts capability that allows the creation of graphs for non-Flash devices as was mentioned in the WebSmart PHP section is also available in Clover.</p>
<p>&nbsp;</p>
<p>RELATED STORIES</p>
<p><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.itjungle.com/fhs/fhs112911-story02.html"  target="new">BCD Jazzes Up Presto Web Enablement Tool with Version 3.5</a></p>
<p><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.itjungle.com/fhs/fhs051011-story07.html"  target="new">Customized Green Screens Key to BCD&#8217;s Web Enablement</a></p>
<p><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.itjungle.com/fhs/fhs011811-story03.html"  target="new">BCD Updates Web Development Tools</a></p>
<p><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.itjungle.com/fhs/fhs051810-story03.html"  target="new">BCD Invigorates Software for Application Development, Portal, and Query</a></p>
<p><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.itjungle.com/tfh/tfh042610-story02.html"  target="new">RPG Open Access Is No Panacea, Say BCD and LANSA</a></p>
<p><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.itjungle.com/fhs/fhs062309-story04.html"  target="new">Companies Put PHP to Work with BCD&#8217;s WebSmart</a></p>
<p><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.itjungle.com/fhs/fhs042809-story03.html"  target="new">BCD Adds Features Throughout App Modernization Suite</a></p>
<p>&nbsp;</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.zemanta.com/?px" class="zemanta-pixie-a" title="Enhanced by Zemanta" ><img class="zemanta-pixie-img" style="float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=fc2ef2ac-ca6a-4f09-ba69-619597c5fec8" alt=" BCD Application Development Products for the IBM iSeries "  title="BCD Application Development Products for the IBM iSeries " /></a></div>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://books-software.com/bcd-application-development-products-for-the-ibm-iseries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP &amp; MYSQL: Novice to Ninja</title>
		<link>http://books-software.com/php-mysql-novice-to-ninja/</link>
		<comments>http://books-software.com/php-mysql-novice-to-ninja/#comments</comments>
		<pubDate>Mon, 07 May 2012 14:30:50 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Computer Books]]></category>
		<category><![CDATA[Object Oriented Programming]]></category>
		<category><![CDATA[PHP & MYSQL]]></category>

		<guid isPermaLink="false">http://books-software.com/?p=170</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<h2>PHP &amp; MYSQL</h2>
<p>I recently noticed an interesting book on PHP &amp; MYSQL written by Kevin Yank. I found also a good <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sitepoint.com/sneak-peek-of-kevin-yanks-new-php-mysql-book/?gclid=CKrrr72s7q8CFUFO3wodoDG68A"  target="_blank">review</a> on the Sitepoint website and I have re-published it below for your convenience.</p>
<div>
<h3>Sneak Peek at Kevin Yank’s New Book ‘PHP &amp; MYSQL: Novice to Ninja’</h3>
<p><strong>By</strong> <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sitepoint.com/author/mgibson/" title="Posts by Mick Gibson"  rel="author">Mick Gibson</a> | April 25, 2012 | <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sitepoint.com/category/tech/php/" title="View all posts in PHP"  rel="category tag">PHP</a> | <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sitepoint.com/category/server-side-coding/php-news/" title="View all posts in PHP &amp; MySQL News &amp; Interviews"  rel="category tag">PHP &amp; MySQL News &amp; Interviews</a> | <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sitepoint.com/category/server-side-coding/php-reviews/" title="View all posts in PHP &amp; MySQL Reviews and Apps"  rel="category tag">PHP &amp; MySQL Reviews and Apps</a> | <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sitepoint.com/category/server-side-coding/php-tutorials/" title="View all posts in PHP &amp; MySQL Tutorials"  rel="category tag">PHP &amp; MySQL Tutorials</a> | <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sitepoint.com/category/server-side-coding/" title="View all posts in Server Side Coding"  rel="category tag">Server Side Coding</a> | <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sitepoint.com/category/server-side-coding/server-side/" title="View all posts in Server Side Essentials"  rel="category tag">Server Side Essentials</a> | <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sitepoint.com/category/tutorial-2/" title="View all posts in Tutorial"  rel="category tag">Tutorial</a> | <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sitepoint.com/category/tutorials/" title="View all posts in Tutorials"  rel="category tag">Tutorials</a> | <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sitepoint.com/category/tech/webtech/" title="View all posts in Web Tech"  rel="category tag">Web Tech</a></p>
<p><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sitepoint.com/sneak-peek-of-kevin-yanks-new-php-mysql-book/#comments" ><img title="phpmysql5-cover" src="http://www.sitepoint.com/wp-content/uploads/1/files/2012/04/phpmysql5-cover.jpg" alt="phpmysql5 cover PHP & MYSQL: Novice to Ninja" width="200" height="267" align="left" /></a>Kevin Yank’s done it again! He’s just completed a new 2012 edition of his best-selling book (<em>Build Your Own Database Driven Web Site, 4th Edition</em>) which is now titled - <em>PHP &amp; MySQL: Novice to Ninja. </em>And, today you can:</p>
</div>
<ul>
<li><strong>Take a sneak peek inside the book</strong> (with an excerpt from the Chapter 3 -<em>Introducing PHP</em>)</li>
<li><strong><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sitepoint.com/sneak-peek-of-kevin-yanks-new-php-mysql-book/#pre-order" >Order the book</a></strong>, and SAVE up to 50%</li>
</ul>
<div>Now let’s jump into the excerpt from the book. Over to you Kev …</div>
<h2>Introducing PHP</h2>
<p>PHP is a <strong>server-side language</strong>. This concept may be a little difficult to grasp, especially if you’ve only ever designed websites using client-side languages like HTML, CSS, and JavaScript.</p>
<p>A server-side language is similar to JavaScript in that it allows you to embed little</p>
<p>programs (scripts) into the HTML code of a web page. When executed, these programs give you greater control over what appears in the browser window than HTML alone can provide. The key difference between JavaScript and PHP is the stage of loading the web page at which these embedded programs are executed.</p>
<p>Client-side languages like JavaScript are read and executed by the web browser after downloading the web page (embedded programs and all) from the web server. In contrast, server-side languages like PHP are run by the web <em>server</em>, before sending the web page to the browser. Whereas client-side languages give you control over how a page behaves once it’s displayed by the browser, server-side languages let you generate customized pages on the fly before they’re even sent to the browser.</p>
<p>Once the web server has executed the PHP code embedded in a web page, the result takes the place of the PHP code in the page. All the browser sees is standard HTML code when it receives the page, hence the name “server-side language.” Let’s look back at the today.php example presented in Chapter 1:</p>
<pre>&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
&lt;meta charset="utf-8"&gt;
&lt;title&gt;Today&amp;rsquo;s Date&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p&gt;Today&amp;rsquo;s date (according to this web server) is
<strong>&lt;?php </strong>
<strong>echo date('l, F jS Y.'); </strong>
<strong>?&gt; </strong>
&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Most of this is plain HTML except the line between &lt;?php and ?&gt; is PHP code. &lt;?php marks the start of an embedded PHP script and ?&gt; marks its end. The web server is asked to interpret everything between these two delimiters and convert it to regular HTML code before it sends the web page to the requesting browser. The browser is presented with the following:</p>
<p>Notice that all signs of the PHP code have disappeared. In its place the output of the script has appeared, and it looks just like standard HTML. This example demonstrates several advantages of server-side scripting:</p>
<pre>&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
&lt;meta charset="utf-8"&gt;
&lt;title&gt;Today&amp;rsquo;s Date&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p&gt;Today&amp;rsquo;s date (according to this web server) is
<strong>Sunday, April 1st 2012. </strong>&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Notice that all signs of the PHP code have disappeared. In its place the output of the script has appeared, and it looks just like standard HTML. This example demonstrates several advantages of server-side scripting:</p>
<h3>No browser compatibility issues</h3>
<p>PHP scripts are interpreted by the web server alone, so there’s no need to worry about whether the language features you’re using are supported by the visitor’s browser.</p>
<h3>Access to server-side resources</h3>
<p>In the above example, we placed the date according to the web server into the web page. If we had inserted the date using JavaScript, we’d only be able to display the date according to the computer on which the web browser was running. Granted, there are more impressive examples of the exploitation of server-side resources, such as inserting content pulled out of a MySQL database (<em>hint, hint …</em>).</p>
<h3>Reduced load on the client</h3>
<p>JavaScript can delay the display of a web page significantly (especially on mobile devices!), as the browser must run the script before it can display the web page. With server-side code this burden is passed to the web server, which you can make as beefy as your application requires (and your wallet can afford).</p>
<h2>Basic Syntax and Statements</h2>
<p>PHP syntax will be very familiar to anyone with an understanding of JavaScript, C, C++, C#, Objective-C, Java, Perl, or any other C-derived language. But if these languages are unfamiliar to you, or if you’re new to programming in general, there’s no need to worry about it.</p>
<p>A PHP script consists of a series of commands, or <strong>statements</strong>. Each statement is an instruction that must be followed by the web server before it can proceed to the next instruction. PHP statements, like those in the aforementioned languages, are always terminated by a semicolon (;).</p>
<p>This is a typical PHP statement:</p>
<pre>echo 'This is a &lt;strong&gt;test&lt;/strong&gt;!';</pre>
<p>This is an echo statement, which is used to generate content (usually HTML code) to send to the browser. An echo statement simply takes the text it’s given and inserts it into the page’s HTML code at the position of the PHP script where it was contained.</p>
<p>In this case, we’ve supplied a string of text to be output: ‘This is a &lt;strong&gt;test&lt;/strong&gt;!’. Notice that the string of text contains HTML tags (&lt;strong&gt; and &lt;/strong&gt;), which is perfectly acceptable. So, if we take this statement and put it into a complete web page, here’s the resulting code:</p>
<pre>&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
&lt;meta charset="utf-8"&gt;
&lt;title&gt;Today&amp;rsquo;s Date&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p&gt;<strong>&lt;?php echo 'This is a &lt;strong&gt;test&lt;/strong&gt;!'; ?&gt;</strong>&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>If you place this file on your web server and then request it using a web browser, your browser will receive this HTML code:</p>
<pre>&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
&lt;meta charset="utf-8"&gt;
&lt;title&gt;Today&amp;rsquo;s Date&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p&gt;<strong>This is a &lt;strong&gt;test&lt;/strong&gt;!</strong>&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>The today.php example we looked at earlier contained a slightly more complex echo statement:</p>
<pre>echo date('l, F jS Y.');</pre>
<p>Instead of giving echo a simple string of text to output, this statement invokes a <strong>built-in function </strong>called date and passes <em>it </em>a string of text: ‘l, F jS Y.’. You can think of built-in functions as tasks that PHP knows how to do without you needing to spell out the details. PHP has many built-in functions that let you do everything, from sending email to working with information stored in various types of databases.</p>
<p>When you invoke a function in PHP—that is, ask it to do its job—you’re said to be <strong>calling </strong>that function. Most functions <strong>return </strong>a value when they’re called; PHP then behaves as if you’d actually just typed that returned value instead in your code. In this case, our echo statement contains a call to the date function, which returns the current date as a string of text (the format of which is specified by the text string in the function call). The echo statement therefore outputs the value returned by the function call.</p>
<p>You may wonder why we need to surround the string of text with both parentheses ((…)) and single quotes (‘…’). As in SQL, quotes are used in PHP to mark the beginning and end of strings of text, so it makes sense for them to be there. The parentheses serve two purposes. First, they indicate that date is a function that you want to call. Second, they mark the beginning and end of a list of <strong>arguments </strong>that you wish to provide, in order to tell the function what you want it to do.</p>
<p>In the case of the date function, you need to provide a string of text that describes the format in which you want the date to appear. Later on, we’ll look at functions that take more than one argument, and we’ll separate those arguments with commas. We’ll also consider functions that take no arguments at all. These functions will still need the parentheses, even though there will be nothing to type between them.</p>
<p>—</p>
<p>Fantastic, thanks Kevin for sharing that!<a href="http://books-software.com/?attachment_id=53914"  rel="attachment wp-att-53914"><img title="phpmysql5-whats-inside" src="http://www.sitepoint.com/wp-content/uploads/1/files/2012/04/phpmysql5-whats-inside.jpg" alt="phpmysql5 whats inside PHP & MYSQL: Novice to Ninja" width="165" height="450" align="right" /></a></p>
<p>The good news is there’s loads more practical and hands-on examples just like this in the 500+ pages of the book. Which covers:</p>
<ul>
<li><strong>Tutorials</strong>: Easy-to-follow tutorials with downloadable code examples</li>
<li><strong>Installation:</strong> Instructions for PHP &amp; MySQL on Windows, Mac OS X, and Linux</li>
<li><strong>PHP coding</strong>: Learning the correct PHP syntax</li>
<li><strong>Database design</strong>: Mastering SQL database design</li>
<li><strong>Object Oriented Programming</strong> (OOP): Crash course in OOP principles.</li>
<li><strong>Building a CMS</strong>: Step-by-step guide to creating a CMS.</li>
<li><strong>Shopping Carts</strong>: Developing an e-commerce cart from scratch.</li>
<li><strong>Latest technologies</strong>: Updated for Windows 7, Mac OS X Lion, and the latest versions of PHP, MySQL, phpMyAdmin, XAMPP, MAMP, and HTML5.</li>
</ul>
<p>Order your copy now:</p>
<ul>
<li><strong><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sitepoint.com/launch/d724a6"  target="_blank">PRINT Book + Digital EPACK Bundle – for $34</a></strong>  <strong>(SAVE 50%)</strong></li>
<li><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sitepoint.com/launch/d724a6"  target="_blank">Digital EPACK (pdf, epub, mobi) – for $17</a>  <strong>(SAVE 42%)</strong></li>
</ul>
<p>&nbsp;</p>
<p>The book is on sale also at Amazon</p>
<p><span style="font-size: large;"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.amazon.it/gp/product/B007ZR2T64/ref=as_li_ss_tl?ie=UTF8&amp;tag=netbosamsu-21&amp;linkCode=as2&amp;camp=3370&amp;creative=24114&amp;creativeASIN=B007ZR2T64"  target="_blank">Click here for the PHP &amp; MYSQL book at Amazon Italy</a></span></p>
<p><span style="font-size: large;"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.amazon.co.uk/gp/product/0987153080/ref=as_li_ss_tl?ie=UTF8&amp;tag=dtmsoftware-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0987153080"  target="_blank">Click here for the PHP &amp; MYSQL book at Amazon UK</a></span></p>
<p><span style="font-size: large;"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.amazon.com/gp/product/0987153080/ref=as_li_ss_tl?ie=UTF8&amp;tag=software_store_us-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0987153080"  target="_blank">Click here for the PHP &amp; MYSQL book at Amazon US</a></span></p>
<h4>Incoming search terms:</h4><ul><li>PHP &amp; Mysql novice to ninja</li><li>php &amp; mysql from novice to ninja pdf</li><li>php &amp; mysql novice to ninja pdf</li><li>php &amp; mysql: novice to ninja</li><li>php &amp; mysql: novice to ninja download</li><li>php &amp; mysql: novice to ninja pdf</li><li>php novice to ninja pdf</li></ul><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://books-software.com/php-mysql-novice-to-ninja/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some Computer Books Suggestions</title>
		<link>http://books-software.com/some-computer-books-suggestions/</link>
		<comments>http://books-software.com/some-computer-books-suggestions/#comments</comments>
		<pubDate>Thu, 03 May 2012 13:09:48 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Computer Books]]></category>
		<category><![CDATA[RPG]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Websphere Studio]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://books-software.com/?p=154</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<h3>Some Books Suggestions</h3>
<p>Some good books that we have read recently are the following:</p>
<p><strong>An Introduction to Web Application Development with IBM Websphere Studio</strong> <em>It has been written by Gary Craig and Peter Jakab Mauny and provides all the information needed to learn Websphere Studio and pass the IBM Certified Associate Developer exam. The book includes also a CD-ROM with IBM Wesphere software. The book is published by <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.mcpressonline.com/ibmpress"  target="_blank">IBM Press</a>.</em></p>
<p><strong>Java for S/390 and AS/400 COBOL Programmers</strong> <em> by Phil Coulthard and George Farr. The Java syntax and JDK functionality is explained through comparaison with COBOL. The book introduces applets, Java Native Interface (JNI), Remote Method Invocation (RMI), Java Beans, Enterprise Java Beans (EJB), servlets, JSP, XML etc. It includes also an introduction to Visual Age for Java which is included in a CD-ROM. The book is published by <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.wiley.com/compbooks"  target="_blank">IBM Press</a>.</em></p>
<p><strong>The Data Warehouse Toolkit</strong> <em>It has been written by Ralph Kimball, who has designed data warehouses for many years (in addition to teaching and consulting). The book compares and contrasts the techniques used for developping on-line transaction processing (OLTP) with those required for data warehouses and demonstrates that they are often quite different. The book is published by <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.wiley.com/compbooks"  target="_blank">John Wiley &amp; Sons, Inc</a> and includes a useful CD.</em></p>
<p><strong>A complete guide to DB2 Universal Database</strong> <em>One very good book written by Don Chamberlin (one of the co-inventors of the original SQL database language). The book supplies detailed and updated information without assuming prior knowledge of DB2 and SQL. You will find dozens of practical tips to save you hours of work in developing database applications. </em><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.mkp.com/"  target="_blank">Morgan Kaufmann Publishers Inc.</a></p>
<p><strong>e-RPG</strong> <em>One very good book on the development of Web applications on the AS400 with RPG programming language is &#8220;e-RPG&#8221; by Bradley V.Stone &#8211; </em><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.midrangecomputing.com/"  target="_blank">MC Press.</a></p>
<p><strong>JAVA Programming &#8211; Advanced Topics</strong><em> A very good book by Joe Wigglesworth and Paula Lumby (both of the IBM Toronto Lab) -</em><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.course.com/"  target="_blank">Thomson Learning</a>.<em> The book includes a CD full of sotware (e.g. IBM Visual Age for Java, Borland Jbuilder 3 and IBM DB2 UDP Personal Edition)</em></p>
<p><strong>Enterprise JAVABEANS by Example</strong><em> This excellent book has been written by Henri Jubin, Jurgen Friedrichs and a team of specialists in IBM International Technical Support Organisation. It provides all the information insight and resources you need to begin building tomorrow&#8217;s Enterprise Javabeans applications &#8211; today.</em> <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.phptr.com/"  target="_blank">Prentice Hall</a>.</p>
<p><strong>XML and JAVA</strong><em> One very good book on the subject, that includes also good information on Servlets and three tier applications is &#8220;Professional Java XML Programming&#8221; by Alexander Nakhimovsky and Tom Myers</em> -<a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.wrox.com/"  target="_blank"> Wrox Press</a></p>
<p><strong>The Linux A-Z</strong><em> by Phil Cornes. It is a unique publication that guides the student up to the Linux learning ladder to gain a good understanding of the Operating System. It includes different parts on Basics, Administration, System Programming, Device Drivers and Internals. It is published by </em><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.phptr.com/" >Prentice Hall</a>.</p>
<p><strong>Beginning Linux Programming</strong><em> by Neil Matthew and Richard Stones. One very good book that is an achievement in terms of its subjet coverage as well as its surprising depth. Published by</em> -<a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.wrox.com/" > Wrox Press</a></p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://books-software.com/some-computer-books-suggestions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Store Your Website Backups And WordPress Backups In Amazon S3 And Dropbox</title>
		<link>http://books-software.com/store-your-website-backups-and-wordpress-backups-in-amazon-s3-and-dropbox/</link>
		<comments>http://books-software.com/store-your-website-backups-and-wordpress-backups-in-amazon-s3-and-dropbox/#comments</comments>
		<pubDate>Thu, 03 May 2012 11:54:28 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Computer Software]]></category>
		<category><![CDATA[Amazon S3]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Backup Creator Plugin]]></category>

		<guid isPermaLink="false">http://books-software.com/?p=144</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<h2>WordPress Backups</h2>
<div class="wp-caption alignright" style="width: 266px"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://en.wikipedia.org/wiki/File:Backup_center_icon.png"  target="_blank"><img class="zemanta-img-inserted" title="Backup and Restore" src="http://upload.wikimedia.org/wikipedia/en/5/51/Backup_center_icon.png" alt="Backup center icon Store Your Website Backups And WordPress Backups In Amazon S3 And Dropbox" width="256" height="256" /></a><p class="wp-caption-text">Backup and Restore (Photo credit: Wikipedia)</p></div>
<p>Have you ever heard of these services called Amazon S3 and Dropbox? They are file storage services that are much more reliable than your computer&#8217;s local hard drive. When you make a backup of your site you don&#8217;t ever want to lose that backup. The real question is if your computer&#8217;s hard drive crashes tomorrow will you lose anything? Will you lose months or years of old websites backups. The question should hopefully be no because hard drives crash, websites get bigger and you can easily restore from anywhere as long as you make sure to backup using one of these services.</p>
<p>Hard drives crash and if you are using an external hard drive you still aren&#8217;t safe. Your hard drive will probably crash at some point. If not in a year from now, ten or twenty years from now. What you should do is when you have a backup of your site, get an account at Dropbox.com or at AWS.amazon.com. These are both great file storage services that are very cheap to put files on. All you have to do is just get an account, browse to it and then upload your file and wait for it to finish. Once the file is done now a permanent copy is stored online that will probably never go anywhere. Just on the fact that your hard drive might crash is an excellent reason for you to put another copy of your backup up in S3 or in Dropbox.</p>
<p>The other problem is that your websites get bigger and bigger over time as you add more content. If you have, let&#8217;s say, a 1 gigabyte website the size of your backup is going to be 1 gigabyte. If you backup every week your site will grow to 1 gigabyte, 2 gigabytes, 3 gigabytes, 4 gigabytes and so on every single week. It&#8217;s important for you that once you backup your site to take that backup off your site so it&#8217;s not wasting space. Instead put it on one of these file storage sites that are meant to hold lots of files, that are meant to hold large files. That way you are moving it away from your website and your website can hold the actual content, not all of your backups.</p>
<p>Finally, when you put your backups in Dropbox or in S3 you can now restore them from anywhere. This means that if you lose your computer, if your computer is stolen, your computer crashes or you simply are not at your computer, you can still restore that backup from anywhere. Download it from Amazon S3, put it on your website, click the button and now your backup has been restored. Store your backups in S3 or in Dropbox because hard drives tend to crash, websites do get bigger over time and now you can restore your information from anywhere.</p>
<p>Claim your WordPress backup plugin right now at</p>
<p><span style="font-size: large;">==&gt; <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://backupcreator.com/bc/?e=dtmission" >Backup Creator Plugin</a></span></p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.zemanta.com/" class="zemanta-pixie-a" title="Enhanced by Zemanta" ><img class="zemanta-pixie-img" style="float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=0f388d8a-3fd6-4822-86e5-b3b0494065de" alt=" Store Your Website Backups And WordPress Backups In Amazon S3 And Dropbox"  title="Store Your Website Backups And WordPress Backups In Amazon S3 And Dropbox" /></a></div>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://books-software.com/store-your-website-backups-and-wordpress-backups-in-amazon-s3-and-dropbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenBravo &#8211; An Open Source ERP</title>
		<link>http://books-software.com/openbravo-an-open-source-erp/</link>
		<comments>http://books-software.com/openbravo-an-open-source-erp/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 14:00:36 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Computer Software]]></category>
		<category><![CDATA[Linux Sofware]]></category>
		<category><![CDATA[Open Source ERP]]></category>
		<category><![CDATA[OpenBravo]]></category>

		<guid isPermaLink="false">http://books-software.com/?p=123</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<h2>OpenBravo ERP</h2>
<p>&nbsp;</p>
<div class="wp-caption alignright" style="width: 230px"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.crunchbase.com/company/openbravo"  target="_blank"><img class="zemanta-img-inserted" title="Image representing Openbravo as depicted in Cr..." src="http://www.crunchbase.com/assets/images/resized/0004/0236/40236v2-max-450x450.png" alt="40236v2 max 450x450 OpenBravo   An Open Source ERP" width="220" height="60" /></a><p class="wp-caption-text">Image via CrunchBase</p></div>
<p><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://en.wikipedia.org/wiki/Openbravo"  target="_blank">OpenBravo</a> is a commercial open source software company which is is responsible for the development of two products: Openbravo ERP and Openbravo POS.</p>
<p>It is a web based system with many modules including sales, CRM, manufacturing and more. It does not require any client special software and the server software is based on Java 2 SE and use either the PostgreSQL or Oracle. It can be installed on either Windows or Linux servers.</p>
<p>Recently I noticed an interesting  article about <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.zdnet.com/blog/howlett/can-openbravo-challenge-incumbent-erp-with-open-source/2928"  target="_blank">OpenBravo</a> on ZNet and I have re-published it below for your convenience:</p>
<p>&nbsp;</p>
<h3>Can OpenBravo challenge incumbent ERP with open source?</h3>
<p>By <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.zdnet.com/search?q=dennis+howlett"  rel="author">Dennis Howlett</a> | March 7, 2011, 6:00am PST</p>
<p>Summary: Can OpenBravo open source ERP compete with the established, proprietary vendors? The absolute numbers would suggest no but a deeper dive suggests otherwise. What then of the future?</p>
<div>
<article>There’s a paradox operating in the enterprise apps world. On the one hand we have the mega vendors with proprietary technology. On the other hand we have millions of developers who love open source. In the business world, buyers of enterprise software like the idea of a single throat to choke, or at least a few throats. They don’t like the notion of having to find a throat that can be choked. Millions of developers will likely say that open source provides the best way of ensuring that new software releases really are up to snuff, have been destruction tested and contain the best features possible.The real paradox lays in the fact the Internet (mostly) runs on the open source LAMP stack (Linux, Apache, MySQL and PHP.) Purists will argue that MySQL no longer qualifies since it was taken under Oracle’s umbrella but that’s another story. Surprise surprise &#8211; when it suits them, software vendors are not shy of taking open source and using it where it makes sense. Not that you’ll get too many of them crowing about it. But at heart, the proprietary software vendors want to corral customers. It keeps customers tied to a long tail of maintenance revenue.Then we have <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.openbravo.com/" >OpenBravo</a>, an open source ERP trying to make a name for itself. Originating in Spain but now having a presence in the US, OpenBravo recently launched version 3 of its ERP solution aimed at the SMB market. OK &#8211; advert over.</p>
<p>Last week when I spoke with the company, I wanted to get a sense of where OSS ERP fits. But first a few facts:</p>
<ol>
<li>Two million downloads</li>
<li>Estimated abandonment rate 90%</li>
<li>200 paying customers</li>
<li>In use at somewhere between 1,500 and 4,000 customers in 27 countries</li>
</ol>
<p>Two million downloads is impressive by any standards. Any vendor getting that level of initial attention should be applauded. The problem is that being a small company, OpenBravo cannot realistically service all those potential customers without blowing itself up, hence (in part) the high abandonment rate.</p>
<p>There is another way to look at that number. I wonder how many companies have invested in commercial ERP only to find that it wasn’t what they needed or hopelessly flawed for their purposes? How many of those ground out the implementation rather than cut their losses? I don’t know of any statistics that provide answers to those questions other than the generally accepted 85% maintenance renewal rate most vendors regard as the lower end of the benchmark scale.</p>
<p>Of the 10% that didn’t abandon OpenBravo, 0.1% have converted to paying customers. That suggests the other 99.9% have found they can survive with OpenBravo without the need for technical support or other services. That conversion rate seems very low when compared to commercial ‘try before you buy’ SaaS offerings. But does that matter? I’m not so sure. Despite the tiny numbers, it says much more about how well the OpenBravo community of 12,356 registered members and their 522 projects are getting along.</p>
<p>Viewed another way, how many vendors catering to the SME ERP market would give their eye teeth to have 1,200 developers let alone 12,000+ in their community? So how does OpenBravo gain revenue traction beyond the few hundred customers it already has?</p>
<p>It’s something of a chicken and egg problem in the sense that marketing works when you’ve got the marketing funds. But for that you need a combination of deep investor pockets and/or a strong pipeline of paying customers. There is a precedent.</p>
<p>SugarCRM seemed to take forever in becoming accepted as a viable CRM solution. Today it claims <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sugarcrm.com/crm/about/press-releases/20110201q4momentum.html" >seven million downloads of Sugar apps with 7,000 customers.</a> 2010 was a record year for the company which <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.sugarcrm.com/crm/about/press-releases/20110201q4momentum.html" >it attributes to fast growth in its channel</a>.</p>
<p>OpenBravo is a different animal. Rather than being a point functional solution, it is trying to go toe to toe with the likes of Microsoft Dynamics as the first ERP once a company has outgrown QuickBooks or as a replacement for an overly expensive solution. Commercial competitors can sow seeds of FUD: (to the sounds of a sharp intake of breath) “Open source…I dunno…who supports it?’ It’s a problem that all too easily blinds customers from digging into open source solutions without undertaking a thorough test or understanding what OpenBravo offers.</p>
<p>Beyond the base solution, OpenBravo offers a catalog of 275 extensions of which 75% are open source. OpenBravo was developed from the get go as a web based solution with a modular approach that is easily extended. Unlike other web based solutions, OpenBravo offers a multi-tabbed interface. Users are not stuck in single functions that have to be completed but can flip between tabs while completing a transaction. Why would you care? An example might be incomplete customer information that has to be amended at the master record level. Flip over to the appropriate tab, update and your done. With the latest release, OpenBravo introduced the notion of ‘agile ERP’ where time to value is collapsed and where end users can quickly become productive. Integration to services like GoogleDocs and Twitter is available. It is possible to establish roles that allow organisations to extend access to suppliers and customers. These are top line features that distinguish OpenBravo and should encourage a deeper look.</p>
<p>In talking to the company I got the sense that Spain remains both its spiritual and operational home. Open source solutions generally have done well in Spain and France the last few years, largely because of the cost/benefit compared to commercial software. The <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.solidoffice.com/2010/11/frances-gendarmerie-ubuntu-case-study/" >French Gendarmerie’s foray into open source</a> for example has been well documented. OpenBravo has snagged customers in Spain that are familiar locally like <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.openbravo.com/customers/" >Eroski</a> and <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.weblogssl.com/" >Weblogs SL</a>. When you look more closely at the customer lists the references are far from shabby. One reading suggests OpenBravo is attractive in retail at exactly the time that market segment is under severe pressure.</p>
<p>Having made a move into the US, will 2011 be the year it starts to break through and ramp up customer numbers? If extension additions are a leading indicator then the answer is ‘maybe.’ According to the company, extensions are being added at a rate of around 10% per month.</p>
<p>Open source ERP is a relatively new concept. It is not without risk given the size of the OpenBravo customer base or the modest number of partners but it should not be dismissed. All vendors have to start somewhere. The relatively small number of paying customers should be set against the ability to rapidly deploy, take advantage of an active developer community along with an ROI and TCO that compares very favourably to proprietary offerings.</p>
<p><strong>UPDATE</strong>: Colleague Frank Scavo reminded me that open source ERP is not just about cost but about buyer organisations being in control. It’s a an excellent point. For more in this, see <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.computereconomics.com/article.cfm?id=1043" >Frank’s research from 2005</a>.</p>
</article>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2></h2>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.zemanta.com/" class="zemanta-pixie-a" title="Enhanced by Zemanta" ><img class="zemanta-pixie-img" style="float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=c9f4395b-b67b-472f-96e5-c04226aba02f" alt=" OpenBravo   An Open Source ERP"  title="OpenBravo   An Open Source ERP" /></a></div>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://books-software.com/openbravo-an-open-source-erp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proxy Server Configuration for Windows XP</title>
		<link>http://books-software.com/proxy-server-configuration-for-windows-xp/</link>
		<comments>http://books-software.com/proxy-server-configuration-for-windows-xp/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 11:40:40 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Computer Books]]></category>
		<category><![CDATA[Internet Protocol]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[Proxy Server]]></category>
		<category><![CDATA[Proxy Server Configuration]]></category>

		<guid isPermaLink="false">http://books-software.com/?p=115</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<h2>Proxy Server Configuration</h2>
<p>I found an interesting article about a<a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.ehow.com/how_4884870_configure-proxy-server-windows-xp.html#page=0"  target="_blank"> proxy server configuration</a> on the eHow website and I have re-published it below for your convenience.</p>
<p>&nbsp;</p>
<h3 id="nointelliTXT">How to Configure a Proxy Server for Windows XP</h3>
<p>&nbsp;</p>
<footer>
<div data-profile="AuthorProfileContainer">
<footer>
<div>
<div>By Randall Shatto, eHow Contributor | updated March 25, 2012</div>
</div>
</footer>
</div>
</footer>
<p>&nbsp;</p>
<div>
<figure> <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://test5-img.ehowcdn.com/article-new-intro-modal/ds-photo/getty/article/178/254/90284984_XS.jpg" data- data-type="modal" data-modal-content="Ryan McVay/Photodisc/Getty Images "> <img title="" src="http://test5-img.ehowcdn.com/article-new/ds-photo/getty/article/178/254/90284984_XS.jpg" alt="90284984 XS Proxy Server Configuration for Windows XP" longdesc="http://photos.demandstudios.com/getty/article/178/254/90284984_XS.jpg" /> </a> </figure>
<figcaption> You can configure a proxy server in Windows XP. </figcaption>
<p>Your IP, or Internet Protocol, address sends information from your computer to the Internet. When you surf the Internet, you expose your information. You may have wondered why certain sites know where you are. This is because your IP address is traceable. Most of the websites that you visit are safe and there is no need for worry. Usually, companies track your IP address for advertisement purposes. A proxy server is another computer that you can use to mask or hide your real IP address from the Internet. It works as a gateway between your computer and the Internet. Using a proxy server will protect your IP address so it is not traceable.</p>
</div>
<h2>Proxy Server Configuration Instructions</h2>
<p>&nbsp;</p>
<section>
<ol id="intelliTxt">
<li>Click on the “Start&#8221; button and select “Control Panel,” then scroll to “Internet Options.”</li>
<li>Select the “Connections” tab. Under the “Local Area Network (LAN) Settings,” click the “LAN Settings” button.</li>
<li>Click the box under “Proxy Server.” Select the box next to “Bypass Proxy Server for Local Addresses.”</li>
<li>Open your Internet browser and go to a proxy server website, such as Public Proxy Servers. Decide on a proxy server address.</li>
<li>Click on the “Address:” box in the “Local Area Network (LAN) Settings” window. Type in or paste the address from Step 4. Next to the proxy server listing, there is a port number. Insert that into the “Port:” option.</li>
<li>Click the “Advanced” button to change the proxy server for various Internet features. Insert the address and port of the proxy server in each box. Skip this step if you want to use one proxy server for your Internet browsing. Press “OK” three times to save changes.</li>
</ol>
</section>
<h2>Tips &amp; Warnings</h2>
<ul>
<li>Proxy servers can have harmful spyware and adware. Most proxy servers are safe, but use them at your own risk.</li>
</ul>
<h2>Notes</h2>
<p>An interesting program for Proxy Server Configuration is the <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.eliteproxyswitcher.com/"  target="_blank">Elite Proxy Switcher</a> that changes your IP using a proxy so that the website regards the proxy&#8217;s IP as your IP</p>
<h4>Incoming search terms:</h4><ul><li>ebooks on computer proxy server</li><li>google proxy for windows xp</li><li>proxy software windows</li><li>윈도 프록시 서버</li></ul><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://books-software.com/proxy-server-configuration-for-windows-xp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The New PHP Toolkit from Zend and IBM</title>
		<link>http://books-software.com/the-new-php-toolkit-from-zend-and-ibm/</link>
		<comments>http://books-software.com/the-new-php-toolkit-from-zend-and-ibm/#comments</comments>
		<pubDate>Sat, 31 Mar 2012 14:47:47 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Computer Software]]></category>
		<category><![CDATA[New PHP Toolkit]]></category>

		<guid isPermaLink="false">http://books-software.com/?p=110</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<h2>New PHP Toolkit</h2>
<p>Today I have noticed another interesting online presentation about PHP organized by the iSEries Network and I have copied it below for your convenience.</p>
<p>&nbsp;</p>
<p><span style="font-size: medium;"><strong><span style="color: #c04041; font-family: Arial,Helvetica,sans-serif;"><span style="color: #c52227; font-size: small;">Join Alan Seiden to learn how to use the new PHP toolkit from Zend and IBM</span></span></strong></span></p>
<div class="wp-caption alignright" style="width: 310px"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://commons.wikipedia.org/wiki/File:Zend_Studio7.png"  target="_blank"><img class="zemanta-img-inserted" title="New PHP Toolkit" src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Zend_Studio7.png/300px-Zend_Studio7.png" alt="300px Zend Studio7 The New PHP Toolkit from Zend and IBM" width="300" height="206" /></a><p class="wp-caption-text">Zend Studio 7 screenshot (Photo credit: Wikipedia)</p></div>
<p><span style="font-family: Arial,Helvetica,sans-serif; font-size: x-small;">PHP</span><span style="font-family: Arial,Helvetica,sans-serif; font-size: x-small;"> developers on IBM i now have a new way to access resources such as RPG and COBOL programs, system commands, data areas, and more using a <strong>new, free, flexible, open source toolkit supported by Zend.</strong> </span></p>
<p><span style="font-family: Arial,Helvetica,sans-serif; font-size: x-small;">With IBM&#8217;s XMLSERVICE toolkit on the back end, <strong>it&#8217;s all open source</strong>, and can be kept to a very high level of quality and functionality by not<strong> only Zend and IBM, but IBM i community members who take the initiative</strong>. </span></p>
<p><span style="font-family: Arial,Helvetica,sans-serif; font-size: x-small;">In this session, presented by<strong> Alan Seiden</strong>, you’ll learn</span></p>
<ul>
<li><span style="font-family: Arial,Helvetica,sans-serif; font-size: x-small;">use the new toolkit with your older PHP applications with minimal changes</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif; font-size: x-small;">optimize performance</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif; font-size: x-small;">develop PHP on your laptop (Windows, Linux) or in the cloud and deploy to the IBM</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif; font-size: x-small;">connect to IBM i through a variety of transports </span></li>
</ul>
<p><span style="font-family: Arial,Helvetica,sans-serif; font-size: x-small;">Sign up now to reserve your entry. Once in the Virtual Event, you’ll have access to all sessions, resources and virtual trade show booths.<em><br />
</em></span></p>
<p align="center"><span style="color: #c52227; font-family: Arial,Helvetica,sans-serif; font-size: medium;"><strong><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://app.tech.systeminetwork.com/e/er?s=2090&amp;lid=3454&amp;elq=7b0b7a69233044c4beabf738cbf811ad" >REGISTER NOW</a></strong></span></p>
<p align="left"><span style="font-family: Arial,Helvetica,sans-serif; font-size: x-small;"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://app.tech.systeminetwork.com/e/er?s=2090&amp;lid=3454&amp;elq=7b0b7a69233044c4beabf738cbf811ad" >Click here</a> to learn more about the 2012 IBM i Essentials Virtual Conference. Sign up for sessions covering critical topics like mobile strategy and RPG-OA basics, access free resources, visit sponsor booths and win prizes. </span></p>
<p align="left"><span style="font-family: Arial,Helvetica,sans-serif; font-size: x-small;"><em>Platinum sponsors of this event are BCD and Connectria Hosting. Gold sponsor is Enforcive.</em></span></p>
<table width="429" border="0" cellspacing="1">
<tbody>
<tr>
<td width="154"></td>
<td width="87"></td>
<td width="87"></td>
<td width="88"></td>
</tr>
</tbody>
</table>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.zemanta.com/" class="zemanta-pixie-a" title="Enhanced by Zemanta" ><img class="zemanta-pixie-img" style="float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=3138a814-ef10-4b88-bd1e-e8be0582df50" alt=" The New PHP Toolkit from Zend and IBM"  title="The New PHP Toolkit from Zend and IBM" /></a></div>
<h4>Incoming search terms:</h4><ul><li>the new PHP toolkit from Zend</li><li>zend</li></ul><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://books-software.com/the-new-php-toolkit-from-zend-and-ibm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP on IBM i is an Excellent Strategic Choice</title>
		<link>http://books-software.com/php-on-ibm-i-is-an-excellent-strategic-choice/</link>
		<comments>http://books-software.com/php-on-ibm-i-is-an-excellent-strategic-choice/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 13:32:02 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Computer Software]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://books-software.com/?p=106</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<h2>PHP on IBM i</h2>
<p>&nbsp;</p>
<div class="wp-caption alignright" style="width: 310px"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://commons.wikipedia.org/wiki/File:PHP-logo.svg"  target="_blank"><img class="zemanta-img-inserted" title="The PHP logo displaying the Handel Gothic font." src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/27/PHP-logo.svg/300px-PHP-logo.svg.png" alt="300px PHP logo.svg PHP on IBM i is an Excellent Strategic Choice" width="300" height="159" /></a><p class="wp-caption-text">The PHP logo displaying the Handel Gothic font. (Photo credit: Wikipedia)</p></div>
<p>I have been invited to attend a virtual conference on PHP on IBM i  and I have copied below some information for your convenience.</p>
<p>&nbsp;</p>
<h3>5 Reasons Why PHP on IBM i is an Excellent Strategic Choice &#8211; Jon Paris</h3>
<p>(Part of the IBM i Essentials Virtual Conference)</p>
<p align="left"><span style="font-family: Calibri; font-size: small;">Many IBM i shops still haven&#8217;t made web applications or modernization a significant part of their IT strategy. It&#8217;s not due to a lack of options and for some it&#8217;s not due to a lack of trying. Most of those shops have not tried PHP, one of the most popular and widely used languages to develop web applications.</span></p>
<p>In this session, Jon Paris will discuss the following 5 top reasons he feels that PHP is a great choice for IBM i shops:</p>
<table width="87%" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr align="left" valign="top">
<td valign="top" width="11"><span style="font-size: small;">•</span></td>
<td valign="top" width="95%"><span style="font-family: Calibri; font-size: small;">Easier for RPG programmers to learn</span></td>
</tr>
<tr align="left" valign="top">
<td valign="top">•</td>
<td valign="top"><span style="font-family: Calibri; font-size: small;">Backed by IBM, Zend and other leading vendors like BCD</span></td>
</tr>
<tr align="left" valign="top">
<td valign="top">•</td>
<td valign="top"><span style="font-family: Calibri; font-size: small;">Lots of free or low-cost software</span></td>
</tr>
<tr align="left" valign="top">
<td valign="top">•</td>
<td valign="top"><span style="font-family: Calibri; font-size: small;">Ease of finding development staff</span></td>
</tr>
<tr align="left" valign="top">
<td valign="top">•</td>
<td valign="top">Support for multiple platforms and databases</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p align="left"><span style="font-family: Calibri; font-size: small;">Even the right programming language may not be enough for some IBM i shops to succeed in developing web applications. Many shops also need the right tools and technical support to speed up the entire development process and learning curve. </span></p>
<p align="left"><span style="font-family: Calibri; font-size: small;">In the second half of this session, <strong>Marcel Sarrasin</strong>, BCD&#8217;s Product Manager, will show you why WebSmart PHP has become the fastest way for IBM i programmers to develop PHP web apps both on and off the IBM i. </span></p>
<p align="center"><span style="font-family: Calibri; font-size: large;"><a href="http://click.icptrack.com/icp/relay.php?r=20527478&amp;msgid=123996&amp;act=D9U0&amp;c=1078553&amp;destination=http%3A%2F%2Fwww.bcdsoftware.com%2Fbcdtracks%2Fwebinars%2Fondemand%2Fvirtualcon2012.htm%3Futm_source%3Dbcd%26utm_medium%3Demail%26utm_term%3Dparis%2Bvconference%2B2012%26utm_content%3Dregister-link%26utm_campaign%3D20120328bcdemail" target="_blank"><strong>Register for this Session<br />
and Virtual Conference</strong></a> </span></p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.zemanta.com/" class="zemanta-pixie-a" title="Enhanced by Zemanta" ><img class="zemanta-pixie-img" style="float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=caafa028-ba8a-439d-83e1-19e9b99fff8f" alt=" PHP on IBM i is an Excellent Strategic Choice"  title="PHP on IBM i is an Excellent Strategic Choice" /></a></div>
<h4>Incoming search terms:</h4><ul><li>ibm i php</li><li>PHP on IBM i and</li></ul><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://books-software.com/php-on-ibm-i-is-an-excellent-strategic-choice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Create A WordPress Plugin &#8211; WordPress Plugin Development</title>
		<link>http://books-software.com/how-to-create-a-wordpress-plugin-wordpress-plugin-decelopment/</link>
		<comments>http://books-software.com/how-to-create-a-wordpress-plugin-wordpress-plugin-decelopment/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 15:45:31 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Computer Software]]></category>
		<category><![CDATA[Wordpress Plugin Development]]></category>

		<guid isPermaLink="false">http://books-software.com/?p=97</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<h2>WordPress Plugin Development</h2>
<p>I found an interesting article on  WordPress Plugin Development from the <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://phpmaster.com/wordpress-plugin-development/?utm_medium=email&amp;utm_campaign=PHPMaster+Newsletter+-+28+February+2012&amp;utm_content=PHPMaster+Newsletter+-+28+February+2012+CID_0be710c4bf6a54d76c7e777bd9bd15f0&amp;utm_source=Newsletter&amp;utm_term=More"  target="_blank">PHP Master Newsletter</a> and I have re-published it below for your convenience</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<section id="splash">
<h3>WordPress Plugin Development</h3>
</section>
<p><img title="plug in wall of outlets" src="http://cdn.phpmaster.com/files/2012/01/30286036-616x190.jpg" alt="30286036 616x190 How to Create A Wordpress Plugin   Wordpress Plugin Development" width="616" height="190" /></p>
<p>&nbsp;</p>
<div><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://phpmaster.com/wordpress-plugin-development/#comments" title="Comment on WordPress Plugin Development" >9</a> | By: <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://phpmaster.com/author/tsmith/" title="Posts by Tim Smith"  rel="author">Tim Smith</a> | Posted: <abbr title="">February 17, 2012</abbr> | <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://phpmaster.com/category/php-tutorials/" title="View all posts in PHP Tutorials"  rel="category tag">PHP Tutorials</a></div>
<div>If you’ve ever used WordPress to build a site quickly, chances are you’ve used one of the many plugins that are offered to extend the functionality of this popular blogging software. Plugins are one of the many things that make WordPress so attractive. If you need an image gallery or a contact form, there’s probably a plugin already available that you can download and use. There are times, however, when you can’t quite find what you need from existing plugins. This article will show you how to create your own WordPress plugins by walking you through an example to display some text using a widget in a the sidebar.</div>
<div>
<h2>The Main Plugin File</h2>
<p>Plugins are detected automatically from the <code>wp-content/plugins</code> directory within your WordPress installation directory. When creating a new plugin, you should create a new subdirectory there. The name of the subdirectory can be anything you want; a sensible option would be to call it the name of your plugin. Try to avoid generic names such as “textwidget” or “shoppingcart” as this may have already been used with another plugin and will cause problems should you wish to distribute it to other users of WordPress. For this example, create a subdirectory named <code>phpmaster_examplewidget</code>.</p>
<p>WordPress detects that a plugin is available from a descriptor placed in the comments of a PHP file. The descriptor must provide the basic information about what the plugin does, who created it, and its license information. This is what WordPress uses to identify that a plugin is present and ready to be activated. This example plugin will contain the definition at the top a file placed in your newly created <code>phpmaster_examplewidget</code> directory. The name of the file is also arbitrary but it’s advisable to provide a meaning name. This example will call the file <code>widget_init.php</code>.</p>
<div id="highlighter_276790">
<div>
<div>
<table>
<tbody>
<tr>
<td><code>01</code></td>
<td><code>&lt;?php</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>02</code></td>
<td><code>/*</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>03</code></td>
<td><code>Plugin Name: Simple Text Plugin</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>04</code></td>
<td><code>Plugin URI: <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.example.com/textwidget" >http://www.example.com/textwidget</a></code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>05</code></td>
<td><code>Description: An example plugin to demonstrate the basics of putting together a plugin in WordPress</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>06</code></td>
<td><code>Version: 0.1</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>07</code></td>
<td><code>Author: Tim Smith</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>08</code></td>
<td><code>Author URI: <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.example.com/" >http://www.example.com</a></code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>09</code></td>
<td><code>License: GPL2 </code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>10</code></td>
<td></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>11</code></td>
<td><code>    </code><code>Copyright 2011  Tim Smith</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>12</code></td>
<td></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>13</code></td>
<td><code>    </code><code>This program is free software; you can redistribute it and/or</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>14</code></td>
<td><code>    </code><code>modify it under the terms of the GNU General Public License,</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>15</code></td>
<td><code>    </code><code>version 2, as published by the Free Software Foundation. </code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>16</code></td>
<td></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>17</code></td>
<td><code>    </code><code>This program is distributed in the hope that it will be useful,</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>18</code></td>
<td><code>    </code><code>but WITHOUT ANY WARRANTY; without even the implied warranty of</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>19</code></td>
<td><code>    </code><code>MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>20</code></td>
<td><code>    </code><code>GNU General Public License for more details. </code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>21</code></td>
<td></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>22</code></td>
<td><code>    </code><code>You should have received a copy of the GNU General Public License</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>23</code></td>
<td><code>    </code><code>along with this program; if not, write to the Free Software</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>24</code></td>
<td><code>    </code><code>Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>25</code></td>
<td><code>    </code><code>02110-1301  USA</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>26</code></td>
<td><code>*/</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p>This is the required structure for any plugin you’ll create for WordPress. Now when you log in and look at the plugin administration screen in WordPress you’ll see the new plugin is ready for activation.</p>
<p><img title="WordPress plugin is registered" src="http://cdn.phpmaster.com/files/2012/01/wp-plugin-01.png" alt="wp plugin 01 How to Create A Wordpress Plugin   Wordpress Plugin Development" width="600" height="53" /></p>
<p>You can see all of the information you entered in the comments section describing the plugin is displayed here. You can activate it now if you wish, but you still need to add some functionality before it does anything.</p>
<p>The file that has this definition is now considered to be the starting point for any code associated with the plugin. The code that appears after the definition comments will be executed giving you the opportunity to initialize the plugin and its features.</p>
<h2>WordPress Widgets</h2>
<p>WordPress provides a class which you can extend named <code>WP_Widget</code>. When you extend it, your own widget will be available to any sidebar that your theme offers. WordPress ships with a number of default widgets such as “Recent Posts” and “Archives” which extend <code>WP_Widget</code>.</p>
<p>The <code>WP_Widget</code> class provides four methods which should be overridden:</p>
<ul>
<li><code>__construct()</code> – call the parent constructor and initialize any class variables</li>
<li><code>form()</code> – display a form for the widget in the admin view to customize the widget’s properties</li>
<li><code>update()</code> – update the widget’s properties specified in the form in the admin view</li>
<li><code>widget()</code> – display the widget on the blog</li>
</ul>
<h3>The Constructor</h3>
<p>The constructor is like any other constructor you’ve probably written. The important thing to remember here is to call the parent constructor which can take three arguments: an identifier for the widget, the friendly name of the widget (this will appear as the title of the widget in the admin widget screen), and an array detailing the properties of the widget (which only needs a “description” value).</p>
<div id="highlighter_592863">
<div>
<div>
<table>
<tbody>
<tr>
<td><code>1</code></td>
<td><code>&lt;?php</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>2</code></td>
<td><code>class</code> <code>TextWidget </code><code>extends</code> <code>WP_Widget</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>3</code></td>
<td><code>{</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>4</code></td>
<td><code>    </code><code>public</code> <code>function</code> <code>__construct() {</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>5</code></td>
<td><code>        </code><code>parent::__construct(</code><code>"text_widget"</code><code>, </code><code>"Simple Text Widget"</code><code>,</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>6</code></td>
<td><code>            </code><code>array</code><code>(</code><code>"description"</code> <code>=&gt; </code><code>"A simple widget to show how WP Plugins work"</code><code>));</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>7</code></td>
<td><code>    </code><code>}</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>8</code></td>
<td><code>}</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p>With the basic widget structure in place, you’ll want to register the widget and make sure this is done at a time when all the other widgets are being initialized. Registering a widget is done through the <code>register_widget()</code> function which takes a single argument, the name of the class which extends <code>WP_Widget</code>. This call to register the widget must be called at an appropriate time, so the particular WordPress hook you’ll want to use is called “widgets_init”. To associate registering the widget with the hook, you use <code>add_action()</code> which takes the name of the hook as the first argument and a function to execute as the second. (The second argument can either be the string name of a function or closure.) This code should go directly under the descriptor of the plugin that was created in widget_init.php.</p>
<div id="highlighter_932143">
<div>
<div>
<table>
<tbody>
<tr>
<td><code>1</code></td>
<td><code>&lt;?php</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>2</code></td>
<td><code>add_action(</code><code>"widgets_init"</code><code>,</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>3</code></td>
<td><code>    </code><code>function</code> <code>() { register_widget(</code><code>"TextWidget"</code><code>); });</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>4</code></td>
<td><code>?&gt;</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p>Now that it has been registered and initialized, you&#8217;ll be able to see your widget available for use.</p>
<h3>The form() method</h3>
<p>The example widget here should let you enter a title and some text to be displayed when viewed on the blog, so in order to be able to amend these two aspects of the widget you need to create a form to prompt for these values. The <code>form()</code> method is used in the widget administration screen to display fields which you can later use to alter the functionality of the widget on the site itself. The method takes one argument, an <code>$instance</code> array of variables associated with the widget. When the form is submitted, the widget will call the <code>update()</code> method which allows you to update the fields in <code>$instance</code> with new values. Later, <code>widget()</code> will be called and will make use of <code>$instance</code> to display the values.</p>
<div id="highlighter_552911">
<div>
<div>
<table>
<tbody>
<tr>
<td><code>01</code></td>
<td><code>&lt;?php</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>02</code></td>
<td><code>public</code> <code>function</code> <code>form(</code><code>$instance</code><code>) {</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>03</code></td>
<td><code>    </code><code>$title</code> <code>= </code><code>""</code><code>;</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>04</code></td>
<td><code>    </code><code>$text</code> <code>= </code><code>""</code><code>;</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>05</code></td>
<td><code>    </code><code>// if instance is defined, populate the fields</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>06</code></td>
<td><code>    </code><code>if</code> <code>(!</code><code>empty</code><code>(</code><code>$instance</code><code>)) {</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>07</code></td>
<td><code>        </code><code>$title</code> <code>= </code><code>$instance</code><code>[</code><code>"title"</code><code>];</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>08</code></td>
<td><code>        </code><code>$text</code> <code>= </code><code>$instance</code><code>[</code><code>"text"</code><code>];</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>09</code></td>
<td><code>    </code><code>}</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>10</code></td>
<td></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>11</code></td>
<td><code>    </code><code>$tableId</code> <code>= </code><code>$this</code><code>-&gt;get_field_id(</code><code>"title"</code><code>);</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>12</code></td>
<td><code>    </code><code>$tableName</code> <code>= </code><code>$this</code><code>-&gt;get_field_name(</code><code>"title"</code><code>);</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>13</code></td>
<td><code>    </code><code>echo</code> <code>'&lt;label for="'</code> <code>. </code><code>$tableId</code> <code>. </code><code>'"&gt;Title&lt;/label&gt;&lt;br&gt;'</code><code>;</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>14</code></td>
<td><code>    </code><code>echo</code> <code>'&lt;input id="'</code> <code>. </code><code>$tableId</code> <code>. </code><code>'" type="text" name="'</code> <code>.</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>15</code></td>
<td><code>        </code><code>$tableName</code> <code>. </code><code>'" value="'</code> <code>. </code><code>$title</code> <code>. </code><code>'"&gt;&lt;br&gt;'</code><code>;</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>16</code></td>
<td></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>17</code></td>
<td><code>    </code><code>$textId</code> <code>= </code><code>$this</code><code>-&gt;get_field_id(</code><code>"text"</code><code>);</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>18</code></td>
<td><code>    </code><code>$textName</code> <code>= </code><code>$this</code><code>-&gt;get_field_name(</code><code>"text"</code><code>);</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>19</code></td>
<td><code>    </code><code>echo</code> <code>'&lt;label for="'</code> <code>. </code><code>$textId</code> <code>. </code><code>'"&gt;Text&lt;/label&gt;&lt;br&gt;'</code><code>;</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>20</code></td>
<td><code>    </code><code>echo</code> <code>'&lt;textarea id="'</code> <code>. </code><code>$textId</code> <code>. </code><code>'" name="'</code> <code>. </code><code>$textName</code> <code>.</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>21</code></td>
<td><code>        </code><code>'"&gt;'</code> <code>. </code><code>$text</code> <code>. </code><code>'&lt;/textarea&gt;'</code><code>;</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>22</code></td>
<td><code>}</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p>You use <code>WP_Widget</code>&#8216;s <code>get_field_id()</code> method and <code>get_field_name()</code> method to create IDs and names for the form fields respectively. WordPress will generate unique identifiers for you so as not to clash with other widgets in use, and when the form is submitted the values will update the relevant <code>$instance</code> array items. You can use the passed <code>$instance</code> argument to populate the form fields with values should they already be set.</p>
<p>This is what the form looks like in the admin view:</p>
<p><img title="The example plugin's admin" src="http://cdn.phpmaster.com/files/2012/01/wp-plugin-02.png" alt="wp plugin 02 How to Create A Wordpress Plugin   Wordpress Plugin Development" width="263" height="203" /></p>
<p>The parent <code>&lt;form&gt;</code> element itself, the Save button, and the Delete and Close links are generated for you automatically by WordPress so there is no need to explicitly code them. The form will post the variables and call the <code>update()</code> method so the new values can be inserted into <code>$instance.</code></p>
<h3>The update() Method</h3>
<p><code>update()</code> gives you an opportunity to validate and sanitize the instance variables before they are used by the widget. Here you can make decisions based on the old values and update the new values accordingly. <code>update()</code> must return an array which contains the items you expect to use when displaying the widget. WordPress passes two arguments to it, an array with the new instance values from the form, and an array with the original instance values.</p>
<div id="highlighter_467383">
<div>
<div>
<table>
<tbody>
<tr>
<td><code>1</code></td>
<td><code>&lt;?php</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>2</code></td>
<td><code>public</code> <code>function</code> <code>update(</code><code>$newInstance</code><code>, </code><code>$oldInstance</code><code>) {</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>3</code></td>
<td><code>    </code><code>$values</code> <code>= </code><code>array</code><code>();</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>4</code></td>
<td><code>    </code><code>$values</code><code>[</code><code>"title"</code><code>] = htmlentities(</code><code>$newInstance</code><code>[</code><code>"title"</code><code>]);</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>5</code></td>
<td><code>    </code><code>$values</code><code>[</code><code>"text"</code><code>] = htmlentities(</code><code>$newInstance</code><code>[</code><code>"text"</code><code>]);</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>6</code></td>
<td><code>    </code><code>return</code> <code>$values</code><code>;</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>7</code></td>
<td><code>}</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p>WordPress will persist these values for you so there is no need to implement that functionality.</p>
<h2>The widget() Method</h2>
<p>The <code>widget()</code> method is used to display content within the widget when it appears in the sidebar on your blog. Output from the method will render the blog page. WordPress passes the <code>widget()</code> method two arguments: the first is <code>$args</code> which is an array detailing information about the widget, and the second is the <code>$instance</code> which you can use to get the output the data associated with the widget. <code>$args</code> really won&#8217;t affect this example so I won&#8217;t go into it; just remember <code>$instance</code> is the second argument.</p>
<div id="highlighter_831035">
<div>
<div>
<table>
<tbody>
<tr>
<td><code>1</code></td>
<td><code>&lt;?php</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>2</code></td>
<td><code>public</code> <code>function</code> <code>widget(</code><code>$args</code><code>, </code><code>$instance</code><code>) {</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>3</code></td>
<td><code>    </code><code>$title</code> <code>= </code><code>$instance</code><code>[</code><code>"title"</code><code>];</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>4</code></td>
<td><code>    </code><code>$text</code> <code>= </code><code>$instance</code><code>[</code><code>"text"</code><code>];</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>5</code></td>
<td></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>6</code></td>
<td><code>    </code><code>echo</code> <code>"&lt;h2&gt;$title&lt;/h2&gt;"</code><code>;</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>7</code></td>
<td><code>    </code><code>echo</code> <code>"&lt;p&gt;$text&lt;/p&gt;"</code><code>;</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>8</code></td>
<td><code>}</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p>This will produce the following possible output on the site:</p>
<p><img title="the example plugin displayed" src="http://cdn.phpmaster.com/files/2012/01/wp-plugin-03.png" alt="wp plugin 03 How to Create A Wordpress Plugin   Wordpress Plugin Development" width="252" height="144" /></p>
<p>And that&#8217;s it! Putting all this together will give you a very simple widget to display text on the blog side of a WordPress installation.</p>
<h2>Summary</h2>
<p>You&#8217;re now familiar with the necessary groundwork for a WordPress plugin that ensures WordPress can detect and activate it, and extending the <code>WP_Widget</code> class to create your own widgets. The example widget presented in this article demonstrated the ability customize the widget&#8217;s display through an admin-provided configuration form. Though simple, it highlighted the basic <code>WP_Widget</code> methods you&#8217;ll use and you&#8217;ll easily be able to move on from this example and create greater functionality for your own WordPress driven sites. The code for this example is available under <a target="_blank" rel="nofollow" href="http://books-software.com/goto/https://github.com/phpmasterdotcom/WordPressPluginDevelopment" >PHPMasterdotcom&#8217;s GitHub account</a> so you can have a look at the code in it&#8217;s entirety.</p>
<p><small>Image via <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.shutterstock.com/gallery-144271p1.html" >bioraven</a> / <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.shutterstock.com/" >Shutterstock</a></small></p>
<p>&nbsp;</p>
<h2>Note</h2>
<p>&nbsp;</p>
<p>There are good books on WordPress Plugin Development and Amazon has many good offers.</p>
<p>&nbsp;</p>
<p><span style="font-size: large;"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/&quot;http://www.amazon.co.uk/mn/search/?_encoding=UTF8&amp;x=11&amp;tag=datamissltd&amp;linkCode=ur2&amp;y=18&amp;camp=1634&amp;creative=19450&amp;field-keywords=reincarnation&amp;url=search-alias%3Dstripbooks#/ref=nb_sb_ss_i_1_16?url=search-alias=stripbooks"  target="_blank">Click here for the WordPress Plugin Development books at Amazon UK</a></span></p>
<p><span style="font-size: large;"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.amazon.com/mn/search/?_encoding=UTF8&amp;tag=mario07a-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=390957&amp;field-keywords=wordpress%20plugin%20development&amp;url=search-alias%3Dstripbooks&amp;sprefix=Wordpress%20Plu%2Cstripbooks%2C291"  target="_blank">Click here for the WordPress Plugin Development books at Amazon US</a></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
<h4>Incoming search terms:</h4><ul><li>how to create a wordpress plugin</li><li>wordpress´development book</li></ul><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://books-software.com/how-to-create-a-wordpress-plugin-wordpress-plugin-decelopment/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Upgrading to OpenSuSE 12.1</title>
		<link>http://books-software.com/upgrading-to-opensuse-12-1/</link>
		<comments>http://books-software.com/upgrading-to-opensuse-12-1/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 12:27:59 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Linux Sofware]]></category>

		<guid isPermaLink="false">http://books-software.com/?p=92</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<h2>Upgrading to OpenSuSE 12.1 &#8211; My Experience</h2>
<p>After using OpenSuSE Linux 11.4 for quite a while, I decided that it was time to u<span class="zemanta-img separator zemanta-action-dragged" style="clear: right;"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.flickr.com/photos/7874994@N08/1604500167"  style="margin-left: 1em; margin-right: 1em; display: block; float:right; clear: right;"><img src="http://farm3.static.flickr.com/2419/1604500167_1f0b9c36a4_m.jpg" alt="1604500167 1f0b9c36a4 m Upgrading to OpenSuSE 12.1" style="font-size:0.8em;border:none;" title="Upgrading to OpenSuSE 12.1" /></a><span class="zemanta-img-attribution" style="margin-left: 1em; margin-right: 1em; clear: both; float: right;">Image by <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.flickr.com/photos/7874994@N08/1604500167" >MethodDan</a> via Flickr</span></span>pgrade to the latest OpenSuSE 12.1 and I have recently completed the task.</p>
<p>This article contains a descriptions of my experience and how I solved some of the problems that I met.</p>
<h3>Upgrading to OpenSuSE 12.1 with zypper</h3>
<p>I performed the upgrade by using <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://en.wikipedia.org/wiki/Zypper"  target="_blank">zypper</a> as described very well in the article published by <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.howtoforge.com/how-to-upgrade-opensuse-11.4-to-12.1-desktop-and-server"  target="_blank">http://www.howtoforge.com</a></p>
<p>I had some difficulty to complete the first boot because I use an external usb disk that was not mounted correctly. I fixed the problem by logging in as superuser and by adding the correct information in the file /etc/fstab.</p>
<p>The system worked immediately after that, but I noticed that I had lost some applications that previously had been installed by using Adobe AIR.</p>
<h3>Installing Adobe AIR applications</h3>
<p>I tried to re-install Adobe AIR by using the rpm file that I had previously downloaded, but the installation did not complete correctly.</p>
<p>I tried again a few times until I noticed the following article published by OpenSuSE.org:</p>
<p>==&gt; <a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://en.opensuse.org/SDB:AdobeAir_installation"  target="_blank">SDB:AdobeAir installation</a></p>
<p>I could install correctly after adding the following softink required bypass the rpm requirements.</p>
<p># ln -s /usr/lib64/kde4/kcm_kwallet.so /usr/lib/libkwalletclient.so.1</p>
<p>After installing Adobe AIR I could also install without problems my air applications such as MarketSamurai, DomainSamurai and a few other ones.</p>
<div style="margin-top:10px;height:15px" class="zemanta-pixie"><a target="_blank" rel="nofollow" href="http://books-software.com/goto/http://www.zemanta.com/" class="zemanta-pixie-a"  title="Enhanced by Zemanta"><img style="border:none;float:right" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=5075321f-d666-48e2-9d5d-e13982536eec" alt=" Upgrading to OpenSuSE 12.1"  title="Upgrading to OpenSuSE 12.1" /></a></div>
<h4>Incoming search terms:</h4><ul><li>opensuse 12 1 book</li><li>opensuse 12 1 books</li><li>book opensuse 12</li><li>books on opensuse 12 1</li><li>suse 12 1 books</li><li>the first boot because I use</li></ul><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://books-software.com/upgrading-to-opensuse-12-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: books-software.com @ 2012-05-19 18:45:32 -->
