It-ebooks - Lagout

1y ago
11 Views
2 Downloads
5.79 MB
300 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Raelyn Goode
Transcription

www.it-ebooks.info

WordPress 3 PluginDevelopment EssentialsCreate your own powerful, interactive plugins to extendand add features to your WordPress siteBrian BondariEverett Griffithswww.it-ebooks.info

WordPress 3 Plugin Development EssentialsCopyright 2011 Packt PublishingAll rights reserved. No part of this book may be reproduced, stored in a retrievalsystem, or transmitted in any form or by any means, without the prior writtenpermission of the publisher, except in the case of brief quotations embedded incritical articles or reviews.Every effort has been made in the preparation of this book to ensure the accuracyof the information presented. However, the information contained in this book issold without warranty, either express or implied. Neither the authors, nor PacktPublishing, and its dealers and distributors will be held liable for any damagescaused or alleged to be caused directly or indirectly by this book.Packt Publishing has endeavored to provide trademark information about all of thecompanies and products mentioned in this book by the appropriate use of capitals.However, Packt Publishing cannot guarantee the accuracy of this information.First published: March 2011Production Reference: 1180311Published by Packt Publishing Ltd.32 Lincoln RoadOltonBirmingham, B27 6PA, UK.ISBN 978-1-849513-52-4www.packtpub.comCover Image by Rakesh Shejwal (shejwal.rakesh@gmail.com)www.it-ebooks.info

CreditsAuthorsEditorial Team LeaderBrian BondariAkshara AwareEverett GriffithsProject Team LeaderAshwin ShettyReviewersSrikanth ADProject CoordinatorsSam RoseMichelle QuadrosPaul ThewlisZainab BagasrawalaEzwan Aizat Bin Abdullah FaizAcquisition EditorDavid BarnesDevelopment EditorHyacintha D'SouzaTechnical EditorKavita IyerCopy EditorProofreaderAaron NashGraphicsNilesh MohiteProduction CoordinatorKruthika BangeraCover WorkKruthika BangeraNeha ShettyIndexersHemangini BariTejal Daruwalewww.it-ebooks.info

About the AuthorsBrian Bondari is a musician, composer, and teacher with equal love for both musicand technology. His hobbies include reading, hiking, composing music, and playingwith his pet rabbit. He also spends an exorbitant amount of time lying on the floorgrading papers.Brian earned his doctorate from the University of Kansas in 2009 and is currentlyan Assistant Professor of Music Theory and Composition at Trinity University inSan Antonio, TX. When he is not writing music or grading papers, he helps run themulti-author technology blog www.TipsFor.us. He is also the author of WordPress2.9 E-Commerce, also published by Packt.This book would not have been possible without Everett's madcoding skills and utterly unyielding work ethic. Thanks for thepartnership and friendship of many years. I'd also like to thank theteam at Packt for helping to organize this project and get it off theground. Finally, utmost thanks to my wife Katrina for her unendinglove, support, and patience.Everett Griffiths is the owner of Fireproof Socks, a development company thatspecializes in web applications and content management systems including MODx,WordPress, and Expression Engine. Although, he has contributed many educationalarticles and screencasts to the blog he runs with Brian Bondari, TipsFor.us, thisis his first published book. He survives as a coder of fortune in the Los Angelesunderground. If you have a problem, if no one else can help, and if you can find him,maybe you can hire. Everett's team.I'd like to thank Brian for being a steadfast and patient editor ofpractically every crazy word I've penned or spoken, Nui for thebeautiful memories, and my parents for their constant support. I'dalso like to thank all the people who didn't believe in me because alltheir attempts to keep me down only made me stronger.www.it-ebooks.info

About the ReviewersSrikanth AD is a Web Developer and SEO Consultant. He is passionate aboutdeveloping and optimizing websites for better search engine visibility and userexperience. Sharing interesting tools and services pertaining to web developmentand SEO across technology blogs is one of his active hobbies.He has written articles for some of the popular blogs such as MakeUseOf,TheNextWeb, QuickOnlineTips, Lost in Technology, 1stWebDesigner, and others.Portfolio: http://www.adsrikanth.comBlog: http://www.readaboutseo.comSam Rose is a 20 year old Computer Science student living in Wales, UK. He hasrecently entered his second year of his Computer Science degree at the University ofGlamorgan in South Wales.Sam writes code primarily in Java, PHP and has intermediate knowledge in an arrayof other languages.In his spare time, Sam is usually playing pool, watching comedy produced by ChuckLorre, writing code on his current favorite open source project, ThinkUp, managedby the lovely Gina Trapani, or writing on his blog, http://lbak.co.uk.This is my first time as a technical reviewer for a book and I wouldreally like to thank Erika from the Packt team for finding and givingme the opportunity to review this book and Michelle, also from thePackt team, for being a wonderfully happy and helpful point ofcontact throughout the review process.www.it-ebooks.info

Paul Thewlis is seasoned web marketing professional. He is currently in chargeof the Search Engine Marketing department at a leading full-service digital agencyin the UK. Previously, he was the E-Communications Manager for a multinationaltransport company. He began his web career as a Technical Editor, working on webdesign books for a well-known publisher. He has extensive experience of manycontent management systems and blogging platforms. His first book, WordPressFor Business Bloggers, was published by Packt. He is an expert in the use of socialmedia within corporate communications, and blogs about that subject, as well asWordPress, SEO, and the Web in general, at http://blog.paulthewlis.com.www.it-ebooks.info

www.PacktPub.comSupport files, eBooks, discount offersand moreYou might want to visit www.PacktPub.com for support files and downloads relatedto your book.Did you know that Packt offers eBook versions of every book published, with PDFand ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy.Get in touch with us at service@packtpub.com for more details.At www.PacktPub.com, you can also read a collection of free technical articles, signup for a range of free newsletters and receive exclusive discounts and offers on Packtbooks and eBooks.http://PacktLib.PacktPub.comDo you need instant solutions to your IT questions? PacktLib is Packt's online digitalbook library. Here, you can access, read and search across Packt's entire library of books.Why Subscribe? Fully searchable across every book published by PacktCopy and paste, print and bookmark contentOn demand and accessible via web browserFree Access for Packt account holdersIf you have an account with Packt at www.PacktPub.com, you can use this to accessPacktLib today and view nine entirely free books. Simply use your login credentialsfor immediate access.www.it-ebooks.info

www.it-ebooks.info

Table of ContentsPrefaceChapter 1: Preparing for WordPress DevelopmentWordPress backgroundExtending WordPressUnderstanding WordPress architectureTemplatingIntroducing pluginsSummarizing architectureTools for web developmentWordPressMacWindowsText editorUsing an IDEFTP clientMySQL clientCoding best practicesBasic organizationIsolate tasks into functionsUse classesUse descriptive variable namesUse descriptive function namesSeparate logic and display layersGo modular, to a pointAvoid short tagsPlanning ahead / starting o1778899101111121212131414151516161617171818181919

Table of ContentsDocumentation for the developerVersion Clearing your browser cacheUpdating your php.ini fileConfiguring your wp-config.php fileChecking your syntaxChecking valuesExerciseSummary2223232324242526Printing user-supplied data to a pageUsing user-supplied data to construct database queries2122Chapter 2: Anatomy of a Plugin29Chapter 3: Social Bookmarking45Deconstructing an existing plugin: "Hello Dolly"Activating the pluginExamining the hello.php fileInformation headerExercise—breaking the headerLocation, name, and formatUnderstanding the IncludesExercise – parse errorsBonus for the curiousUser-defined functionsExercise—an evil functionless pluginWhat just happenedOmitting the closing "? " PHP tagA better example: Adding functionsReferencing hooks via add action() and add filter()Actions versus FiltersExercise—actions and filtersExercise—filtersReading moreSummaryThe overall planProof of conceptAvoiding conflicting function names[ ii 040414344464647

Table of ContentsThe master plugin outlineThe plugin information header4850In your browser—information header51Adding a link to the post content51Adding JavaScript to the head52Adding a button templateGetting the post URL5758Getting the post titleGetting the descriptionGetting the media typeGetting the post topic60606262Documenting our functionsIn your browser—linking to the post contentMaking our link dynamic525255In your browser—getting the post URL60In your browser—title, description, and topicChecking WordPress versionsSummaryChapter 4: Ajax Search64646667What is Ajax?The overall planThe proof of concept mock upHooking up jQuery67707174Test that jQuery has loadedWhat happened?Using the FireBug console directly747575Writing HTML dynamically to a target div76Create a listenerFetching data from another pageCreating our pluginCreating index.php and activating the pluginCreating our first PHP classUpdating index.phpTesting your version of PHPTesting for searchable pagesAdding your own CSS filesAdding your search handlerAdding your own JavaScriptHandling Ajax search requests808183848586878990929296Multi-line stringsViewing the generated pageAnonymous functionsAdding a div on the fly[ iii ]www.it-ebooks.info77787979

Table of ContentsFormatting your search resultsSummary99102Chapter 5: Content Rotator105The planWidget overviewPreparationActivating your pluginActivating the widget105106106110110Having problems?Parents and children: extending classesObjects vs. libraries: when to use static functionsAdd custom textAdding widget optionsGenerating random contentExpiration dates: adding options to our widgetExpiration dates: enforcing the shelf lifeExplaining the instanceAdding a custom manager pageAdding options to the custom manager pageRandomizing content from the databaseReview of PHP functions usedSummaryChapter 6: Standardized Custom ContentWhat WordPress does for you: custom fieldsWhat WordPress doesn't do for youStandardizing a post's custom fieldsCreating a new pluginRemoving the default WordPress form for custom fieldsCreating our own custom meta boxDefining custom fieldsGenerating custom form elementsSaving custom contentHaving trouble saving data?Displaying custom data in your TemplatesCopying a themeModifying the themeGranular display of custom fieldsBonus for the MySQL curiousKnown limitationsSummary[ iv 159161163164165

Table of ContentsChapter 7: Custom Post Types167Chapter 8: Versioning Your Code with Subversion (SVN)191Chapter 9: Preparing Your Plugin for Distribution213Background: What's in a name?Understanding register post type()Customizing our post typeUsing shortcodesTesting our shortcodeCustomizing our pluginCreating a settings shortcut linkCleaning up when uninstallingSummaryWhy Subversion?Understanding the terminology and conceptsChecking out a local working copySVN folder structureCheckout, revisitedSetting up an SVN repositoryChecking out a local working copy of our repoAdding filesCommitting changes to the repositoryOvercoming errorsVerifying the new state of your repositoryAdding more files to your repositoryRemoving files from the repositoryUpdating your working copyTagging a versionReverting an entire projectReverting a single fileMoving filesExporting your working copyQuick referenceSummaryPublic enemy number one: PHP noticesPHP short tagsConflicting namesModifying loader.phpTesting WordPress versionTesting PHP versionTesting MySQL 206207208208209211213215215220222222

Table of ContentsTesting PHP modulesTesting WordPress installed pluginsCustom testsUnit testsWordPress limitationsHealth check pageStoring test results in the databaseDeath to clippy: Use sensible configurationsDouble check your interfaceDocumentationIdentify the purposeLearning to drive: Keeping it relevantPhrasebooks vs. dictionaries: Give examplesAnalogy: The three bearsAnalogy: PC load letterThe decalog of documentationSummaryChapter 10: Publishing Your PluginInternationalization and localizationProcessing each messageChoosing a textdomainBest practicesWorking with formattingMore advanced messagesPlural vs. singularMore complex messagesNotes to translatorsLanguage filesCreating a POT fileCreating translations: .po filesLoading a textdomainUpdating a translationFormat for the readme.txt fileSection – installationSection – Frequently Asked QuestionsSection – screenshotsNew addition – videosSection – summaryRequesting and using SVN accessPublicity and promotionSummary[ vi 245246248250251252253253253254254255257258

Table of ContentsAppendix A: Recommended Resources259Appendix B: WordPress API Reference263PHP referenceFunction referenceThe WordPress forumsWebDev StudiosViper007BondKovsheninSLTaylorXPlus3WP EngineerOther pluginsPHP functionsdirnamefile get contentspreg matchpreg replaceprint rsprintfstrtolowersubstrWordPress Functionseadd actionadd filteradd meta boxadd options pagecheck admin refereresc htmlget optionget post metaget the IDregister post typeremove meta boxscreen iconthe contentthe metaupdate post metawp count posts[ vii 268268268268269269269269269270270

Table of Contentswp diewp nonce fieldActionsadmin initadmin menudo meta boxesinitsave postwidgets initwp headFiltersthe 3[ viii ]www.it-ebooks.info

PrefaceBy picking up this book, there's a good chance that you fall into one of twocategories: an existing WordPress user / hobbyist programmer who is interested inbuilding your own plugins for the platform, or a seasoned developer who is new toWordPress and need to complete a project for a client.In either case, this book is designed to help you along the way. If you can code yourown plugins, you can make WordPress do just about anything. By learning how totap into the additional power and functionality that plugins provide, you can makeyour site easier to administer, add new features, or even alter the very nature of howWordPress works. Written with the WordPress version 3 in mind, this book willshow you how to build a variety of plugins that demonstrate the additional poweravailable to you as a plugin author.Throughout this book, our goal is to teach you all aspects of modern WordPressdevelopment. We will build a variety of WordPress plugins and follow their creationfrom the idea to the finishing touches. You will discover how to deconstruct anexisting plugin, use the WordPress API in typical scenarios, hook into the database,version your code with SVN, and deploy your new plugin to the world.We have plenty of work to do, so let's get started!What this book coversChapter 1, Preparing for WordPress Development, provides an overview of thedevelopment process and discusses a number of tools and practices recommendedfor a successful WordPress development environment.Chapter 2, Anatomy of a Plugin, breaks an existing plugin down into its componentparts to see what makes it work, and what makes it break.www.it-ebooks.info

PrefaceChapter 3, Social Bookmarking, walks through the development of an initial plugin,including how to tie into the WordPress API, how to trigger functions, and how toinclude external JavaScript files.Chapter 4, Ajax Search, covers the construction of a plugin that augments WordPress'built-in search capability. This chapter provides details on how to utilize Ajax andJQuery, as well as how to use the PHP library classes with static functions in ourplugins.Chapter 5, Content Rotator, explores the wonderful world of WordPress widgets. Inthis chapter we will show you how to build and manipulate a widget, as well as howto construct a personal preference page for your plugin.Chapter 6, Standardized Custom Content, begins the process of extending WordPress'usage as a content management system. We will cover how to alter and extendcustom fields and how to display custom content in your templates.Chapter 7, Custom Post Types, continues the discussion on extending WordPress asa CMS. We will also discuss working with shortcodes, and how to customize yourplugin by creating custom menus and administration panels in the Dashboard.Chapter 8, Versioning Your Code with Subversion (SVN), shows you how to maintainand manage your plugin code with a version control system.Chapter 9, Preparing Your Plugin for Distribution, takes the next logical step in makingsure your shiny new plugins are ready for the wider world. We will discuss how toavoid certain pitfalls by writing custom tests to check for failure points.Chapter 10, Publishing Your Plugin, covers the mechanics of officially making yourmasterpiece available to the public, including the topics of internationalization, usingthe WordPress SVN repository, and handling the ubiquitous readme.txt file.Appendix A, Recommended Resources, lists some of our favorite websites, books, andother resources for seeking additional knowledge or getting help with a specificproblem.Appendix B, WordPress API Reference, provides a compendium of functions, actions,and filters referenced in this book.What you need for this bookTo develop plugins for WordPress, all you really need is a text editor, a workinginstallation of WordPress, and your favorite (s)FTP program. Other tools, such as aMySQL editor, can make your life easier, but are optional.[2]www.it-ebooks.info

PrefaceWho this book is forThis book is for WordPress users who want to learn how to create their own pluginsand for developers who are new to the WordPress platform. Basic knowledge of PHPand HTML is expected, as well as a functional knowledge of how WordPress worksfrom a user standpoint.ConventionsIn this book, you will find a number of styles of text that distinguish betweendifferent kinds of information. Here are some examples of these styles, and anexplanation of their meaning.Code words in text are shown as follows: "We can include other contexts through theuse of the include directive."A block of code is set as follows: h3 class "widget-title" Built In WordPress Search Widget /h3 form role "search" method "get" id "searchform" action "http://localhost:8888/" div label class "screen-reader-text" for "s" Search for: /label input type "text" value "" name "s" id "s" / input type "submit" id "searchsubmit" value "Search" / /div When we wish to draw your attention to a particular part of a code block, therelevant lines or items are set in bold:/*Theme Name: Twenty Ten v2Theme URI: http://wordpress.org/Any command-line input or output is written as follows:svn checkout trunk/--username mygoogleidNew terms and important words are shown in bold. Words that you see on thescreen, in menus or dialog boxes for example, appear in the text like this: " Under theHello Dolly title, click on the Activate link.".[3]www.it-ebooks.info

PrefaceWarnings or important notes appear in a box like this.Tips and tricks appear like this.Reader feedbackFeedback from our readers is always welcome. Let us know what you think aboutthis book—what you liked or may have disliked. Reader feedback is important for usto develop titles that you really get the most out of.To send us general feedback, simply send an e-mail to feedback@packtpub.com,and mention the book title via the subject of your message.If there is a book that you need and would like to see us publish, please sendus a note in the SUGGEST A TITLE form on www.packtpub.com or e-mailsuggest@packtpub.com.If there is a topic that you have expertise in and you are interested in either writingor contributing to a book, see our author guide on www.packtpub.com/authors.Customer supportNow that you are the proud owner of a Packt book, we have a number of things tohelp you to get the most from your purchase.Downloading the example code for this bookYou can download the example code files for all Packt books you have purchasedfrom your account at http://www.PacktPub.com. If you purchased this bookelsewhere, you can visit http://www.PacktPub.com/support and register to havethe files e-mailed directly to you.[4]www.it-ebooks.info

PrefaceErrataAlthough we have taken every care to ensure the accuracy of our content, mistakesdo happen. If you find a mistake in one of our books—maybe a mistake in the text orthe code—we would be grateful if you would report this to us. By doing so, you cansave other readers from frustration and help us improve subsequent versions of thisbook. If you find any errata, please report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the errata submission form link, andentering the details of your errata. Once your errata are verified, your submissionwill be accepted and the errata will be uploaded on our website, or added to any listof existing errata, under the Errata section of that title. Any existing errata can beviewed by selecting your title from http://www.packtpub.com/support.PiracyPiracy of copyright material on the Internet is an ongoing problem across all media.At Packt, we take the protection of our copyright and licenses very seriously. If youcome across any illegal copies of our works, in any form, on the Internet, pleaseprovide us with the location address or website name immediately so that we canpursue a remedy.Please contact us at copyright@packtpub.com with a link to the suspectedpirated material.We appreciate your help in protecting our authors, and our ability to bring youvaluable content.QuestionsYou can contact us at questions@packtpub.com if you are having a problem withany aspect of the book, and we will do our best to address it.[5]www.it-ebooks.info

www.it-ebooks.info

Preparing for WordPressDevelopmentSince you have picked up this book, you are likely to fall into one of two overallcategories: developers who are new to WordPress, or WordPress users keen to startor improve their WordPress development skills. No matter which camp you lie in,this book will help you down that path. This book will show you how to customizeWordPress using plugins by providing well-structured code and by explaininghow the code interacts with the WordPress application. It introduces a variety ofdevelopment techniques drawn from a range of real-world scenarios that will giveyou, the reader, a practical understanding of how to write, debug, and deployWordPress plugins.Together we will delve through a series of increasingly challenging topics coveringa range of scenarios that a developer is likely to encounter when developing andmaintaining a WordPress 3 site. While you may read the book from start to finish,each chapter strives to be a self-contained topic for easier reference.It is expected that the readers of this book have some knowledge of programmingconcepts and a working understanding of web applications, including HTML andbasic CSS. Familiarity with WordPress is also recommended.WordPress backgroundWordPress is a popular content management system (CMS), most renowned for itsuse as a blogging / publishing application. According to usage statistics tracker,BuiltWith (http://builtWith.com), WordPress is considered to be the most popularblogging software on the planet—not bad for something that has only been aroundofficially since 2003. It has always sought to allow its users to publish informationeasily, and although it can be used successfully for sites that are not blog-centric,running a blog has been a guiding star in WordPress' design since its inception.www.it-ebooks.info

Preparing for WordPress DevelopmentExtending WordPressLike many systems, WordPress may not do everything you want right out of the box.Instead, it focuses on a set of core features and allows for customizations in the form ofplugins, so if the built-in functionality doesn't meet your needs, your options are to: Find an existing third-party plugin Write your own plugin Look for another CMS entirelyIt is well worth your time to search for an existing solution if WordPress doesn'talready have the functionality that you require—chances are high that someoneout there has already done what you are trying to do. It may not be as much fun oras glamorous as developing your own shiny new code, but it is usually easier andfaster to cash in on the work others have done, just be aware that a lot of code in theWordPress repository is written by amateurs and it may contain bugs.If you do end up extending WordPress with your own plugin, and we hope you dosince you are reading this book, make sure that you are doing one of two things:either you are solving a problem that nobody has solved before, or you are comingup with a better mousetrap and re-solving a problem in a new and valuable way.Understanding WordPress architectureSpend a few minutes kicking the tires and you will become familiar with WordPress'features: Clean blog management Flexible permalink structure Easy search engine optimization (SEO) A simple package management tool The ability to update WordPress itself directly from the manager Versioning of drafts (so you don't lose data) A mature Ajax interface (lets you easily drag-and-drop widgets to customizeyour experience in the manager)This is a fine system, but it is a bit like listening to a car salesman—if you really wantto see how it performs, you should get your hands greasy and see what's under thehood. For developers, the real aspects of WordPress' customization and extensibilitylie in Templating and Plugins.[8]www.it-ebooks.info

Chapter 1TemplatingWordPress offers a templating system for implementing custom HTML and CSS,but it is not a templating system in the same sense as Smarty (http://www.smarty.net) or Perl's Template Toolkit. Instead, like many PHP CMSs (most notably Drupaland Joomla!), WordPress templates are simply PHP files that typically contain a mixof application logic and presentation code, for example, div id "footer" ?phpwp footer(); ? /div .Compare that with a Drupal template excerpt: div id "footer" ?php printrender( page['footer']); ? /div or with a MODx excerpt using Smartyplaceholders: div id "footer" [[*footer]] /div and you can get some ideaof the spectrum. Typically, the templates used in WordPress do not adhere to theModel-View-Controller (MVC) pattern, so they cause some developers to raise acritical eyebrow.Be aware that your WordPress templates contain PHP code and that they do execute,so it is naturally possible to "crash" your templates, or to have complex loops andlogical statements in them. As a developer, try your absolute best to separate logicfrom presentation and keep your templates as clean as possible. There are plenty ofWordPress theme files out there that contain a dizzying mess of PHP and HTML,which result in an unmaintainable no man's land. Designers won't touch thembecause they can't decipher the myriad if-statements and sloppy concatenations, anddevelopers won't touch them for the same reason, or perhaps because they containHTML and CSS that developers don't want to worry about. In the end, just try toavoid the numerous pitfalls that exist in this type of templating system.Introducing pluginsLike any good CMS, WordPress offers an application programming interface(API) for developers to perform common tasks in their plugins. Unlike many CMSs,however, the WordPress API is largely procedural: it exists mostly as a series ofglobally scoped functions and variables in the main namespace, so you have to beextra careful when naming your functions to avoid naming collisions. There arecertain tasks that are object oriented (OO), but there is a decent chance that you couldlook through a dozen WordPress plugins before encountering a class or an object. Incertain programming languages, such an arrangement is unusual if not impossible,but the PHP community in particular often offers procedural equivalents of objectoriented code.Opening up an existing WordPress plugin is a bit like going into a public restroom:it may be perfectly clean and hygienic, or it may be a rank and apoplectic mess offunctions, logic, and HTML. Just be prepared.[9]www.it-ebooks.info

Download from Wow! eBook www.wowebook.com Preparing for WordPress DevelopmentWhat is a plugin?The term "Plugin" is a bit ambiguous and WordPress' definition differsfrom other content management systems. In general, a WordPress pluginis any bit of code that extends the core functionality of WordPress. UnlikeExpression Engine, Drupal, or MODx, WordPress does not use differentterms such as "module", "snippet", or "add-on" to distinguish where orhow this extension occurs. In WordPress, they are all considered plugins.WordPress plugins use an event-driven architecture—anyone who has seen aJavaScript function triggered via an HTML "onClick" is familiar with this approach,but in WordPress, the events are typically ref

Chapter 1: Preparing for WordPress Development 7 WordPress background 7 Extending WordPress 8 Understanding WordPress architecture 8 Templating 9 Introducing plugins 9 Summarizing architecture 10 Tools for web development 11 WordPress 11 Mac 12 Windows 12 Text editor 12 Using an IDE 13 FTP client 14 MySQL client 14 Coding best practices 15

Related Documents:

Welcome to the IET Books and eBooks Catalogue 2021. This year we . Our 2021 Catalogue includes all recent, new and forthcoming titles, enabling you to conveniently browse our range. See page 55 for information on how to order print and eBooks from the IET. For details of our IET@150 events and activities please visit: theiet.org . IET Books and eBooks 2021 How to order: T 44 (0)1438 767328 .

Library eBooks are protected by Digital Rights Management (DRM). This means that access to eBooks is restricted to one user per book and . 1. On your computer, you will need to download a piece of software called Adobe Digital Editions (ADE). This is a free program that is necessary to access library eBooks. . Remove from Library to remove .

less" activity book creation: domain modeling and user pro ling, learner pro le adaptation, personalized content selection. Keywords: Interactive eBooks Personalized eBooks Activity eBooks Domain modelling User pro le ePub3 Mobile learning iRead project. 1 Introduction iRead is the acronym for the \Infrastructure and integrated tools for personal-

Free (OCLC) MARC records COUNTER-compliant usage statistics MyCopy – a unique service from Springer: low cost, soft cover editions of English language eBooks eBooks from Springer are an unparalleled resource for scientific research. Springer’s eBook

The IET 2019 Books and eBooks Catalogue lists the new and forthcoming titles available from both our IET and SciTech Publishing imprints, providing you with the opportunity to conveniently browse our range. See page 76 for information on how to order print and eBooks from the IET. IET eBook Collections Computing Control, Robotics & Sensors Electromagnetic Waves Energy Engineering Healthcare .

A survey via an academic research/study provides a framework for evaluation and a way to look at the big picture as well as small details that together provide data regarding the pattern of preference and use of ebooks at the university. Just as the RLC group had varying opinions regarding ebooks vs. print, it was deemed essential to gather opinions from the ones who use ebooks the students .

ebooks for jntu subjects : www.beebooks.blogspot.com 2007-2008 ebooks for jntu subjects : www.beebooks.blogspo

ebooks.ecslearningsystems.com D o w n l o a d a b l e N o v e l U n i ts P r o d u c t S i n g l e-C l a s s r o o m U s e r L i c e n s e Novel Units Single-Classroom User Agreement for Non-Reproducible Material With the purchase of electronic materials (such as ebooks and print-on-demand