How To Write A
|
|
|
- May Riley
- 5 years ago
- Views:
Transcription
1 Drupal 7 Development by Example Beginner's Guide Kurt Madel Chapter No. 3 "HTML5 Integration for Drupal 7 and More Module Development"
2 In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter NO.3 "HTML5 Integration for Drupal 7 and More Module Development" A synopsis of the book s content Information on where to buy this book About the Author Kurt Madel is a Senior Manager and developer for Captech Consulting in Richmond, VA. He has worked on open source CMS projects for over six years. Kurt contributes regularly to, and is the maintainer of several modules. In addition to Drupal, Kurt has been doing Java EE development since 2000, and has focused on mobile web development over the last two years. When he is not writing or programming, Kurt enjoys cycling and spending time with his wife and four boys.
3 Drupal 7 Development by Example Beginner's Guide This book is a hands-on, example-driven guide to programming Drupal websites. Discover a number of new features for Drupal 7 through practical and interesting examples while building a fully functional recipe sharing website. Learn about web content management, multi-media integration, and new features for developers in Drupal 7. With this book you will: Learn to build cutting edge websites with Drupal 7 Discover important concepts for HTML5 and why it's time to start building websites with HTML5, if you haven't already Learn the important patterns for JavaScript and AJAX in Drupal 7 Realize interesting ways to integrate multi -media with Drupal 7 Find out how becoming more involved with the Drupal development community can help you build better websites Set up a development environment, and learn to use Git and Drush Uncover how much fun it can be to build websites with Drupal 7 What This Book Covers Chapter 1, Getting Set up, walks through setting up a Drupal development environment before diving into Drupal development. Chapter 2, Custom Content Types and an Introduction to Module Development, will explain how to configure Drupal content types and begin Drupal development with an introduction to creating custom Drupal modules. Chapter 3, HTML5 Integration for Drupal 7 and More Module Development, will continue with some Drupal development examples, and show how we can integrate HTML5 with Drupal 7. Chapter 4, Introduction to Drupal 7 Theme Development, will explain about custom theme development and Drupal 7 render arrays. Chapter 5, Enhancing the Content Author's User Experience, will configure WYSIWYG for Drupal 7 and show how we can improve the content author user experience with some custom development examples.
4 Chapter 6, Adding Media to our Site, will explain how the Drupal 7 Media module makes multi -media integration for Drupal better than ever, keeping in mind that a site without any multi media is just text. Chapter 7, How Does it Taste Getting Feedback, will show some ways to provide visitor site interaction in Drupal as one way to extend the amount of time a visitor spends on your site is to provide ways for them to interact with it. Chapter 8, Recipe Lists and More with Views, will show some of the more advanced features of the Views module, and find out why Views is the most popular contrib module on drupal.org. Chapter 9, Rotating Banners and Project Promotion, will show how to use Views to display images in a compelling way, because the Views module offers a lot more than just displaying some fields. Chapter 10, Test Your Code with SimpleTest, will test the custom code that you have written. Chapter 11, Introduction to the Features Module and Configuration Management, will show how the Features module can help us manage the code that you have written for the Drupal site that you created.
5 3 HTML5 Integration for Drupal 7 and More Module Development HTML5 is not exactly new on the technology scene. If you have done any mobile web development, then you will certainly know how prevalent HTML5 is becoming. Even though there is an active initiative around HTM5 for Drupal 8 ( the adoption of HTML5 was not far enough along to be included as part of Drupal 7 core. HTML5 is one of the main ingredients of many of the upcoming development examples in this book. In this chapter, we will explore some of the different modules and options for using HTML5 with Drupal 7, and we will enhance our custom-developed d7dev module to include certain HTML5 features. Modules are a key element of what makes Drupal so attractive for both developers and non-developers. The multitude of available contributed modules makes Drupal attractive to non-developers looking for certain features, while the ease of module development and integration of such modules, with Drupal core, and other contributed modules, is what makes Drupal popular with developers.
6 HTML5 Integration for Drupal 7 and More Module Development Evidence of this popularity is displayed by the availability of almost 10,000 contributed modules on Therefore, in addition to updating our existing module with the HTML5 features, we will continue the development emphasis on module development. We are going to develop a new compound field module. This chapter, with its HTML5-driven code examples, will serve as a foundation for many of the code examples in the following chapters. [ 62 ]
7 First things first changing our DOCTYPE Chapter 3 The DOCTYPE of our content may seem like an odd thing to be mentioning at this point. However, since HTML5 will be a major concept and building block for the rest of this book, it is important to get off to a good start. This all starts with the HTML5 DOCTYPE. Drupal 7 defaults to an XHTML DOCTYPE: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" " MarkUp/DTD/xhtml-rdfa-1.dtd"> Whereas the HTML5 DOCTYPE is much simpler: <!DOCTYPE html> The HTML5 DOCTYPE is fully supported by all modern browsers, so at this point, there is not a good reason for not using it. The DOCTYPE is hardcoded in the html.tpl.php file, and can be overridden in any theme, by creating your own version of that template file. However, we aren't currently using a custom theme (that's coming in the next chapter), and we don't want to modify any of the core themes (see the following information box for an explanation of why you shouldn't modify or hack core). So, there is a simple solution: the contrib HTML5 Tools module. Do not hack core. This is a phrase that you will come across time and time again, as you do more and more custom Drupal development. The basic idea behind the phrase is that Drupal provides so many ways to modify the behavior of a Drupal site without modifying any core modules, themes or other files, that you will only cause yourself unnecessary grief in regards to upgrading core, and dealing with possible core issues if you start modifying core. An in-depth explanation of why it is a bad practice to hack core can be found at best-practices/do-not-hack-core. [ 63 ]
8 HTML5 Integration for Drupal 7 and More Module Development Time for action installing the HTML5 Tools module The HTML5 Tools module ( will provide an HTML5-compliant DOCTYPE and will provide support for other HTML5 features. Once again, we will use Drush to download and enable the module. C:\xampp\htdocs\d7dev>drush dl html5_tools Project html5_tools (7.x-1.1) downloaded to C:/xampp/htdocs/d7dev/sites/all/modules/html5_tools. [success] C:\xampp\htdocs\d7dev>drush en html5_tools The following projects have unmet dependencies: html5_tools requires elements Would you like to download them? (y/n): y Project elements (7.x-1.2) downloaded to [success] C:/xampp/htdocs/d7dev/sites/all/modules/elements. The following extensions will be enabled: html5_tools, elements Do you really want to continue? (y/n): y elements was enabled successfully. [ok] html5_tools was enabled successfully. [ok] In addition to providing an HTML5-compliant DOCTYPE (that is enabled, by default, just by enabling the module), the HTML5 Tools module, and its dependent Elements module ( a number of other HTML5 features provided by the HTML5 Tools module include the following: Overrides Drupal core forms with HTML5 counterparts Simplifies the head markup for HTML5 specified style, javascript, and meta tags Uses the new HTML5 time element for content and comments publication dates For a more comprehensive listing and explanation of what the HTML5 Tools modules does, take a look at the administrative configuration page for HTML5 Tools by selecting Configuration from the Admin toolbar, and selecting the HTML5 Tools link from the Markup section. [ 64 ]
9 Chapter 3 HTML5, RDFa, and Microdata As we discussed in the previous chapter, one aspect of HTML5 is semantic markup, or the ability to describe your content in a meaningful way with a vocabulary, and apply the vocabulary to the markup of your content. Drupal 7 has such a semantic capability baked right into core, and it is called RDFa. However, the way that RDFa is integrated with Drupal 7 is not HTML5-compliant. Furthermore, although RDFa will be supported by HTML5, the HTML5 Microdata specification ( was specifically designed with HTML5 in mind, and there is a Microdata module for Drupal 7 ( [ 65 ]
10 HTML5 Integration for Drupal 7 and More Module Development So, let us enhance our d7dev Recipe content type with some HTML5 Microdata that will make it semantically identified as an item. This section is not intended to start a flame war, and is not trying to make the point that Microdata is better than RDFa. Or, that Drupal 7 made a big mistake by including the XHTML flavor of RDFa instead of HTML5 RDFa or Microdata. The HTML5 version of RDFa, and for that matter Microdata, didn't even exist when the new feature set for Drupal 7 was frozen. The point of this section is that things change in the web world between major Drupal releases, and sometimes those changes need to be addressed sooner rather than later. This is the real point of this section: showing how easy it is to adapt Drupal to the latest and the greatest new web standards. The Microdata schema that we are going to associate with our Recipe content type is part of the schema.org project that is backed by Google, Yahoo, and Microsoft. If you would like to learn more about Microdata, you can find an excellent introduction to understanding and using Microdata at: Time for action installing the Microdata module Once again, we are going to use Drush to download and install the Microdata module. Start by opening a Command Prompt for Windows or Terminal for Mac, change to your d7dev working folder, type the following commands, and you should see the following responses: C:\xampp\htdocs\d7dev>drush dl microdata There is no recommended release for project microdata. Choose one of the available releases: [0] : Cancel [1] : 7.x-1.x-dev Feb-24 - Development [2] : 7.x-1.0-alpha Feb-22 - Supported 2 [ 66 ]
11 Chapter 3 Project microdata (7.x-1.0-alpha4) downloaded to C:/xampp/htdocs/d7dev/sites/all/modules/microdata. [success] C:\xampp\htdocs\d7dev>drush en microdata The following projects have unmet dependencies: microdata requires entity Would you like to download them? (y/n): y Project entity (7.x-1.0-rc1) downloaded to [success] C:/xampp/htdocs/d7dev/sites/all/modules/entity. The following extensions will be enabled: microdata, entity Do you really want to continue? (y/n): y entity was enabled successfully. [ok] microdata was enabled successfully. [ok] Drush will actually modify the database of your Drupal installation when running certain commands, such as drush en. In order for Drush to modify the correct database, you must run the Drush command within the root Drupal install folder of your Drupal site. Otherwise, you would have to include which specific Drupal instance you would like Drush to modify with the r argument: drush -r /Applications/MAMP/htdocs/d7dev What just happened? We have now installed the Microdata module and the Entity module as its dependency. Now that we have installed the Microdata module, let us put it to use, before we move on to some more development examples. We will configure our Recipe content type and its fields to utilize the functionality of the Microdata module. [ 67 ]
12 HTML5 Integration for Drupal 7 and More Module Development Time for action configuring Microdata for our Recipe content type 1. Navigate to the Structure Content Types page, and select the edit link for our Recipe content type. 2. On the Recipe content type edit page, select the Microdata settings tab, and you will see a screen similar to the following, only without values in the Field property(s) input: 3. Type as the value for the Item Type field, and name as the value for the Itemprop(s) for title field field. Click on the Save content type button. 4. Now, click on the Home button at the far left of the Admin toolbar, and select any of the Recipe content items from our Recipe List block on the right side of the page. 5. Next, right-click anywhere on the recipe item page, and select View source (IE) or View Page Source from your browser's menu. [ 68 ]
13 Chapter 3 6. In the source view of our page, scroll down to approximately line 182, and look for the following markup. You will see that the Microdata itemscope and itemtype attributes have been set on the enclosing DIV of our recipe content node: <div id="node-51" class="node node-recipe node-promoted node-full clearfix" itemid="/d7dev/node/51" itemscope="" itemtype=" 7. However, if you inspect the HTML source any further, you will notice that none of the fields of our Recipe content node have any Microdata attributes applied to them. For example, the DIV wrapper for our description field will look as follows: <div class="field field-name-field-description field-type-textlong field-label-above"> 8. As previously mentioned in this chapter, the Microdata module supports the ability to specify the itemprop values for any text field type. So, from the Admin toolbar, select Structure Content types, and select the manage fields link for our Recipe content type. 9. Click on the edit link for the description field, and scroll down to the Description Microdata Mapping section on the description field edit page. Referring to the definition, we will set the Field property(s) input to description, as shown in the following screenshot: The node id will most likely not be exactly the same in your environment, so look for a DIV element with the class as specified previously. [ 69 ]
14 HTML5 Integration for Drupal 7 and More Module Development 10. Click on the Save settings button to save the updated configuration for the description field. 11. Now, we will repeat the same steps for the rest of the text fields for our Recipe content type, setting Field property of each under the Description Microdata Mapping section accordingly: ingredients recipeinstructions recipeyield ingredients recipeinstructions recipeyield 12. Now, to test the output of the Microdata module, we will once again click on the Home button at the far left of the Admin toolbar, and select any of the recipe content items from our Recipe List block on the right side of the page. 13. Next, right-click anywhere on the recipe item page, and select View source (IE) or View Page Source from your browser's menu. 14. In the source view of our page, scroll down to approximately line 191, and look for the following markup: <div class="field field-name-field-description field-type-text-long field-label-above"> <div class="field-label"> description: </div> <div class="field-items"> <div class="field-item even" itemprop="description"> What just happened? We enhanced our Recipe content type with Microdata metadata. Earlier in its development, the Microdata module did not support the Drupal core number_integer field type, the field type that we used for the preptime and cooktime fields of our Recipe content type. In order to provide the ability to enable the Microdata field properties for the cooktime and preptime integer fields on our Recipe content type, we just need to implement the hook_field_info_alter hook, just as the Microdata module did for image and text fields. [ 70 ]
15 Chapter 3 The latest release of the Microdata module at the time of the publishing of this book, 7.x-1.0-alpha4, actually included support for integer fields. Therefore, you will not need to add the following code to your custom d7dev module; rather, this code example illustrates the power of the Drupal community at work, by showing how local changes can eventually make their way back into core and the contributed module code. Take a close look at this screenshot, and you will see that at one point, the Microdata module only supports field mappings for the image field and text fields. So, in order to add support for the number_integer field, all we would have to do is implement the hook_ field_info_alter hook just as the Microdata module. But for the number_integer field, the code would look something as follows: /** * Implements hook_field_info_alter(). */ function d7dev_field_info_alter(&$info) { $info['number_integer']['microdata'] = TRUE; } That is all it would take to add the Microdata support for core integer fields. [ 71 ]
16 HTML5 Integration for Drupal 7 and More Module Development Drupal Shortcut Bar There are many Drupal core hooks that require you to clear the Drupal cache in order for them to take effect. The hook_field_info_alter hook is such a hook, and it can get somewhat tiresome navigating to the Performance administrative page over and over again, when testing some new code. Luckily, Drupal 7 added the administrative UX component called the shortcut bar. The shortcut bar allows you to create a shortcut link to any administrative page. So, we can use this functionality to add the Performance settings page to our shortcut bar. Click on the plus icon next to the Performance heading, and it will show up as a link in your shortcut bar. And notice after you add it, there is a minus icon next to the Performance heading. Therefore, you can easily remove the shortcut if you decide you don't use it much anymore, or your shortcut bar is getting crowded. Anytime that you find yourself going to a certain administrative configuration page over and over, you should add it to your shortcut bar. Drupal development and the Drupal community As discussed in Chapter 1, Getting Set up, being a good Drupal developer means being aware of and active in the Drupal community. We have an opportunity to share this small bit of code we wrote with the Drupal community by adding an issue to the Microdata project issue queue ( suggesting that the Microdata module should add support for the core number field. This will not only help other Drupal users who would like this capability, it will also be custom code that we will no longer have to support by ourselves if it gets added to the Microdata module. [ 72 ]
17 Time for action creating issues in Contrib modules' issue queues Chapter 3 I am going to follow my own advice, and walk you through the process of adding an issue to a Drupal module's issue queue. 1. Open a browser, log into and navigate to org/project/issues/microdata. 2. Click on the Create new issue link under the Issues for Microdata heading. 3. Next, fill out all of the fields for Create Issue form. Here is a screenshot of the issue that I submitted for adding support for number field types: 4. After you are done filling out the form, click on the Save button at the bottom of the page. [ 73 ]
18 HTML5 Integration for Drupal 7 and More Module Development What just happened? We created an issue in the Microdata module issue queue, and if we follow up with the issue at we will see that the module maintainer has actually implemented our feature request issue. Time for action adding Microdata mappings for Recipe number_integer fields Now that the Microdata supports the number_integer fields, we will update all of our Recipe content type number_integer fields with a Microdata mapping. 1. Now, go back to the field settings page for the cooktime field, and you will see that we now have the Field property(s) input. So, go ahead and enter cooktime in that field. [ 74 ]
19 Chapter 3 2. Now, once again we will navigate to a Recipe content item page, and view the HTML source. The cooktime field will look as follows: <div class="field field-name-field-cooktime field-type-numberinteger field-label-above"> <div class="field-label">cooktime: </div> <div class="field-items"> <div class="field-item even" itemprop="cooktime"> 84 and <sup>14</sup> <sub>15</sub> hours </div> </div> </div> 3. Finally, go back to the Recipe content type manage fields screen, and repeat the previous steps for the preptime field. What just happened? We enabled the Microdata support for the number_integer fields of our Recipe content type. Now, all of the fields of our current Recipe content type fields are associated with Microdata properties. With the help of the contributed Microdata module, adding Microdata support for our cooktime and preptime Recipe fields was a straightforward task. NutritionInformation module One of the properties that we did not include with our Drupal Recipe content type is the NutritionInformation property. The reason for that is because the NutritionInformation property is itself an itemtype from schema.org, and as such is made up of a number of its own individual properties. In order to add NutritionInformation to our custom Recipe content type, we are going to need to create a custom Drupal compound field module that is based on the specification at [ 75 ]
20 HTML5 Integration for Drupal 7 and More Module Development Time for action developing a custom module for a compound NutritionInformation field Rather than adding the code to create this compound field to our existing module, we are going to create a new module, as it is possible that it is something that could be useful to the Drupal community as a whole, and we may want to eventually contribute it to drupal.org. 1. In Aptana Studio, create a new folder named nutritioninfo in the /sites/ all/modules/custom directory. 2. Create the.module,.info, and.install files with the same name as the folder - nutritioninfo, and you should have a folder that looks similar to the following screenshot: 3. Now, open the nutrtioninfo.info file and add the following configuration: name = Nutrition Information Field description = Defines a nutrition information field type based on the Microdata spec at core = 7.x package = Fields 4. I always find that development is easier when you are able to look at an example. So, we are going to use Drush to download the contributed Address Field module ( to use as an example for our own compound field module: The Address Field module is a good example of a compound field module. So, the code from that module will provide some good examples for implementing our own compound field module. [ 76 ]
21 C:\xampp\htdocs\d7dev>drush dl addressfield-7.x-1.0-beta2 Project addressfield (7.x-1.0-beta2) downloaded to [success] C:/xampp/htdocs/d7dev/sites/all/modules/addressfield. Project addressfield contains 2 modules: addressfield_example, addressfield. Chapter 3 5. So, now that we have downloaded the Address Field module, let's take a look at its code. In Aptana Studio, open the addressfield.module, and addressfield. install files located at /sites/all/modules/addressfield. 6. Next, we are going to use the following code from the addressfield.install file as a starting point for our nutritioninfo.install file. <?php /** * Implements hook_field_schema() */ function addressfield_field_schema() { $columns = array( 'country' => array( 'description' => 'Two letter ISO country code of this address.', 'type' => 'varchar', 'length' => 2, 'not null' => FALSE, 'default' => '', ), 7. Now, we will rename the function to nutritioninfo_field_schema, so that our hook_field_schema code looks as follows: <?php /** * Implements hook_field_schema() */ function nutritioninfo_field_schema() { $columns = array( 'country' => array( 'description' => 'Two letter ISO country code of this address.', 'type' => 'varchar', 'length' => 2, [ 77 ]
22 HTML5 Integration for Drupal 7 and More Module Development } 'not null' => FALSE, 'default' => '', ), ); return array( 'columns' => $columns, ); 8. The hook_field_schema hook ( modules--field--field.api.php/function/hook_field_schema/7) allows us to define a database schema for storing our custom field information, and is automatically detected by Drupal, as long as it is in the.install file of our module. Now, we need to replace the country column as specified by the code we copied from the addressfield_field_schema function and add columns for the rest of the properties defined at 9. After adding the column specifications for all of the NutritionInformation properties, our nutritioninfo_field_schema function will look as follows: /** * Implements hook_field_schema() */ function nutritioninfo_field_schema() { $columns = array( 'calories' => array( 'description' => 'The number of calories.', 'type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'default' => '', ), 'carbohydrate_content' => array( 'description' => 'The number of grams of carbohydrates.', 'type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'default' => '', ), 'cholesterol_content' => array( 'description' => 'The number of milligrams of cholesterol.', 'type' => 'varchar', [ 78 ]
23 Chapter 3 'length' => 255, 'not null' => FALSE, 'default' => '', ), 'fat_content' => array( 'description' => 'The number of grams of fat.', 'type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'default' => '', ), 'fiber_content' => array( 'description' => 'The number of grams of fiber.', 'type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'default' => '', ), 'protein_content' => array( 'description' => 'The number of grams of protein.', 'type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'default' => '', ), 'saturated_fat_content' => array( 'description' => 'The number of grams of saturated fat.', 'type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'default' => '', ), 'serving_size' => array( 'description' => 'The serving size, in terms of the number of volume or mass.', 'type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'default' => '', ), 'sodium_content' => array( 'description' => 'The number of milligrams of sodium.', [ 79 ]
24 HTML5 Integration for Drupal 7 and More Module Development } 'type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'default' => '', ), 'sugar_content' => array( 'description' => 'The number of grams of sugar.', 'type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'default' => '', ), 'trans_fat_content' => array( 'description' => 'The number of grams of trans fat.', 'type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'default' => '', ), 'unsaturated_fat_content' => array( 'description' => 'The number of grams of unsaturated fat.', 'type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'default' => '', ), ); return array( 'columns' => $columns, ); We reformatted the NutritionInformation schema property names to be all lower case instead of camel case, as lowercase with underscores is in line with Drupal coding standards. An overview of Drupal coding standards is available at coding-standards, and we will take a more in-depth look at Drupal coding standards in Chapter 8, Recipe Lists and More with Views. [ 80 ]
25 Chapter Now we are going to move onto the nutritioninfo.module file and will open the addressfield.module to look at it implementation of hook_field_info. And once again, we will copy the contents of the addressfield function and paste it into our nutritioninfo.module file and modify it so that it looks like the following: /** * Implements hook_field_info() */ function nutritioninfo_field_info() { $fields = array(); $fields['nutritioninfo'] = array( 'label' => t('nutrition Information'), 'description' => t('a field type used for storing nutrition information as defined by the Microdata spec at NutritionInformation.'), 'settings' => array(), 'instance_settings' => array(), 'default_widget' => 'nutritioninfo_standard', 'default_formatter' => 'nutritioninfo_default', ); } return $fields; 11. Now, we are going to implement two more hooks that are required by Drupal 7, when defining a custom field hook_field_validate and hook_field_is_empty: /** * Implements hook_field_validate(). */ function nutritioninfo_field_validate($entity_type, $entity, $field, $instance, $langcode, $items, &$errors) { //at this point we will not validate anything, but will revisit } /** * Implements hook_field_is_empty(). */ function nutritioninfo_field_is_empty($item, $field) { //the nutrition field is empty if all of its properties are empty return empty($item['calories']) && empty($item['carbohydrate_content']) [ 81 ]
26 HTML5 Integration for Drupal 7 and More Module Development } && empty($item['cholesterol_content']) && empty($item['fat_content']) && empty($item['fiber_content']) && empty($item['protein_content']) && empty($item['saturated_fat_content']) && empty($item['serving_size']) && empty($item['sodium_content']) && empty($item['sugar_content']) && empty($item['trans_fat_content']) && empty($item['unsaturated_fat_content']); 12. Next, we need to tell Drupal how to handle our compound field on the node edit form. We will add hook_field_widget_info to make Drupal aware of our custom widget, and then hook_field_widget_form to actually add the form components to the node form: /** * Implements hook_field_widget_info() */ function nutritioninfo_field_widget_info() { $widgets = array(); $widgets['nutritioninfo_standard'] = array( 'label' => t('nutrition Information form'), 'field types' => array('nutritioninfo'), ), ); } return $widgets; /** * Implements hook_field_widget_form() */ function nutritioninfo_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) { $settings = $form_state['field'][$instance['field_name']] [$langcode]['field']['settings']; $fields = array( 'calories' => t('calories'), 'carbohydrate_content' => t('carbohydrate Content'), 'cholesterol_content' => t('cholesterol Content'), [ 82 ]
27 'fat_content' => t('fat Content'), 'fiber_content' => t('fiber Content'), 'protein_content' => t('protein Content'), 'saturated_fat_content' => t('saturated Fat Content'), 'serving_size' => t('serving Size'), 'sodium_content' => t('sodium Content'), 'sugar_content' => t('sugar Content'), 'trans_fat_content' => t('trans Fat Content'), 'unsaturated_fat_content' => t('unsaturated Fat Content'), ); Chapter 3 foreach ($fields as $key => $label) { $value = isset($items[$delta][$key])? $items[$delta][$key] : ''; $element[$key] = array( '#attributes' => array('class' => array('edit-nutritionfield'), 'title' => t('')), '#type' => 'textfield', '#size' => 3, '#maxlength' => 3, '#title' => $label, '#default_value' => $value, '#prefix' => '<div class="nutrition-field nutrition-'. $key. '-field">', '#suffix' => '</div>', ); } return $element; } 13. Now, we need to add some hooks for formatting our compound field, when displaying a content item. We will need to add two more hooks for that: hook_ field_formatter_info and hook_field_formatter_view: /** * Implements hook_field_formatter_info() */ function nutritioninfo_field_formatter_info() { return array( 'nutritioninfo_default' => array( 'label' => t('default'), 'field types' => array('nutritioninfo'), ), [ 83 ]
28 HTML5 Integration for Drupal 7 and More Module Development } ); /** * Implements hook_field_formatter_view(). */ function nutritioninfo_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) { $element = array(); switch ($display['type']) { case 'nutritioninfo_default': $headers = array( t('calories'), t('carbohydrate Content'), t('cholesterol Content'), t('fat Content'), t('fiber Content'), t('protein Content'), t('saturated Fat Content'), t('serving Size'), t('sodium Content'), t('sugar Content'), t('trans Fat Content'), t('unsaturated Fat Content'), ); $element[0]['#markup'] = theme('table', array('header' => $headers, 'rows' => $items)); break; } return $element; } 14. All right, now it is time to enable our new module. Open up our d7dev Drupal site in your favorite browser, and click on the Modules link in the Admin toolbar. Scroll down to the Fields section, and check the checkbox next to our new Nutrition Info Field module. [ 84 ]
29 Chapter Finally, scroll to the bottom of the page, and click on the Save configuration button. What just happened? That was some serious development. We created a fairly complex custom module, and now have a field that offers a more complete Recipe content type. Time for action updating the Recipe content type to use the NutritionInformation field Now, let's put our new module to use and add our new compound field to our Recipe content type, using our new custom nutritioninfo field for the NutrionInformation property of the definition. 1. Go to the Manage Fields configuration page for the Recipe content type: manage/recipe/fields. 2. Now, add a new field with the following settings label: nutrition, name: field_nutrition_information, type: Nutrition Information, widget: Nutrition Information form (the default), and click on the Save button. [ 85 ]
30 HTML5 Integration for Drupal 7 and More Module Development 3. There is nothing to set for Field Settings, so just click on the Save field settings button. On the Recipe Settings screen, enter Nutrition information about the recipe for the Help text, and then click on the Save button at the bottom of the screen. 4. Next, click on the Find content link in the Shortcuts toolbar, and click on the Edit link for the first Recipe content item in the list. 5. Towards the bottom of the node edit form, you will see inputs for our new compound field. Summary In this chapter, we began looking at ways to support HTML5 in Drupal 7, and integrated it with our d7dev site in a few different ways with existing contributed modules and with code that we wrote ourselves. We learned about some of the differences between Microdata and RDFa, and did some extensive module development. We developed a custom compound field module, based on the Microdata specification at NutritionInformation, allowing us to enhance our Recipe content type. However, at this point, our Nutrition Information Field module is still a bit rough around the edges. In the next chapter, we will introduce some more code examples, and clean up some of those rough edges. [ 86 ]
31 Where to buy this book You can buy Drupal 7 Development by Example Beginner's Guide from the Packt Publishing website: Free shipping to the US, UK, Europe and selected Asian countries. For more information, please read our shipping policy. Alternatively, you can buy the book from Amazon, BN.com, Computer Manuals and most internet book retailers.
Drupal 7 Fields/CCK Beginner's Guide
P U B L I S H I N G community experience distilled Drupal 7 Fields/CCK Beginner's Guide Dave Poon Chapter No. 5 "File and Image Fields" In this package, you will find: A Biography of the author of the
Using your Drupal Website Book 1 - Drupal Basics
Book 1 - Drupal Basics By Karl Binder, The Adhere Creative Ltd. 2010. This handbook was written by Karl Binder from The Adhere Creative Ltd as a beginners user guide to using a Drupal built website. It
MASTER DRUPAL 7 MODULE DEVELOPMENT
MASTER DRUPAL 7 MODULE DEVELOPMENT by blair wadman sample available for purchase at http://befused.com/master-drupal/ LESSON 1 INTRODUCTION In this section, you will be introduced to the core Drupal concepts
Context-sensitive Help Guide
MadCap Software Context-sensitive Help Guide Flare 11 Copyright 2015 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this
Content Author's Reference and Cookbook
Sitecore CMS 6.2 Content Author's Reference and Cookbook Rev. 091019 Sitecore CMS 6.2 Content Author's Reference and Cookbook A Conceptual Overview and Practical Guide to Using Sitecore Table of Contents
How To Change Your Site On Drupal Cloud On A Pcode On A Microsoft Powerstone On A Macbook Or Ipad (For Free) On A Freebie (For A Free Download) On An Ipad Or Ipa (For
How-to Guide: MIT DLC Drupal Cloud Theme This guide will show you how to take your initial Drupal Cloud site... and turn it into something more like this, using the MIT DLC Drupal Cloud theme. See this
ultimo theme Update Guide Copyright 2012-2013 Infortis All rights reserved
ultimo theme Update Guide Copyright 2012-2013 Infortis All rights reserved 1 1. Update Before you start updating, please refer to 2. Important changes to check if there are any additional instructions
Chapter 14: Links. Types of Links. 1 Chapter 14: Links
1 Unlike a word processor, the pages that you create for a website do not really have any order. You can create as many pages as you like, in any order that you like. The way your website is arranged and
Building A Very Simple Website
Sitecore CMS 6.5 Building A Very Simple Web Site Rev 110715 Sitecore CMS 6.5 Building A Very Simple Website A Self-Study Guide for Developers Table of Contents Chapter 1 Introduction... 3 Chapter 2 Creating
User Guide to the Content Analysis Tool
User Guide to the Content Analysis Tool User Guide To The Content Analysis Tool 1 Contents Introduction... 3 Setting Up a New Job... 3 The Dashboard... 7 Job Queue... 8 Completed Jobs List... 8 Job Details
MICROSOFT ACCESS 2003 TUTORIAL
MICROSOFT ACCESS 2003 TUTORIAL M I C R O S O F T A C C E S S 2 0 0 3 Microsoft Access is powerful software designed for PC. It allows you to create and manage databases. A database is an organized body
Microsoft Outlook 2013 -And- Outlook Web App (OWA) Using Office 365
1 C H A P T E R Microsoft Outlook 2013 -And- Outlook Web App (OWA) Using Office 365 1 MICROSOFT OUTLOOK 2013 AND OUTLOOK WEB ACCESS (OWA) Table of Contents Chapter 1: Signing Into the Microsoft Email System...
GP REPORTS VIEWER USER GUIDE
GP Reports Viewer Dynamics GP Reporting Made Easy GP REPORTS VIEWER USER GUIDE For Dynamics GP Version 2015 (Build 5) Dynamics GP Version 2013 (Build 14) Dynamics GP Version 2010 (Build 65) Last updated
Building A Very Simple Web Site
Sitecore CMS 6.2 Building A Very Simple Web Site Rev 100601 Sitecore CMS 6. 2 Building A Very Simple Web Site A Self-Study Guide for Developers Table of Contents Chapter 1 Introduction... 3 Chapter 2 Building
WebFOCUS BI Portal: S.I.M.P.L.E. as can be
WebFOCUS BI Portal: S.I.M.P.L.E. as can be Author: Matthew Lerner Company: Information Builders Presentation Abstract: This hands-on session will introduce attendees to the new WebFOCUS BI Portal. We will
Module One: Getting Started... 6. Opening Outlook... 6. Setting Up Outlook for the First Time... 7. Understanding the Interface...
2 CONTENTS Module One: Getting Started... 6 Opening Outlook... 6 Setting Up Outlook for the First Time... 7 Understanding the Interface...12 Using Backstage View...14 Viewing Your Inbox...15 Closing Outlook...17
Web Intelligence User Guide
Web Intelligence User Guide Office of Financial Management - Enterprise Reporting Services 4/11/2011 Table of Contents Chapter 1 - Overview... 1 Purpose... 1 Chapter 2 Logon Procedure... 3 Web Intelligence
CMS Training. Prepared for the Nature Conservancy. March 2012
CMS Training Prepared for the Nature Conservancy March 2012 Session Objectives... 3 Structure and General Functionality... 4 Section Objectives... 4 Six Advantages of using CMS... 4 Basic navigation...
Chronicle USER MANUAL
Chronicle USER MANUAL 1st Edition 2 IN THIS MANUAL Part One The Chronicle Interface The Overview Screen The Bill Detail Screen Part Two Creating, Editing and Viewing Bills Creating Your First Bill Editing
UH CMS Basics. Cascade CMS Basics Class. UH CMS Basics Updated: June,2011! Page 1
UH CMS Basics Cascade CMS Basics Class UH CMS Basics Updated: June,2011! Page 1 Introduction I. What is a CMS?! A CMS or Content Management System is a web based piece of software used to create web content,
Search help. More on Office.com: images templates
Page 1 of 14 Access 2010 Home > Access 2010 Help and How-to > Getting started Search help More on Office.com: images templates Access 2010: database tasks Here are some basic database tasks that you can
Hypercosm. Studio. www.hypercosm.com
Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks
Maximizer CRM 12 Winter 2012 Feature Guide
Winter Release Maximizer CRM 12 Winter 2012 Feature Guide The Winter release of Maximizer CRM 12 continues our commitment to deliver a simple to use CRM with enhanced performance and usability to help
SiteBuilder 2.1 Manual
SiteBuilder 2.1 Manual Copyright 2004 Yahoo! Inc. All rights reserved. Yahoo! SiteBuilder About This Guide With Yahoo! SiteBuilder, you can build a great web site without even knowing HTML. If you can
ITP 101 Project 3 - Dreamweaver
ITP 101 Project 3 - Dreamweaver Project Objectives You will also learn how to make a website outlining your company s products, location, and contact info. Project Details USC provides its students with
MyReports Recommended Browser Settings MYR-200a
MyReports Recommended Browser Settings MYR-200a Note: If you have installed an additional Tool Bar on your browser, such as Yahoo Tool Bar or Google Tool Bar, be sure that it is also configured to allow
M-Files Gantt View. User Guide. App Version: 1.1.0 Author: Joel Heinrich
M-Files Gantt View User Guide App Version: 1.1.0 Author: Joel Heinrich Date: 02-Jan-2013 Contents 1 Introduction... 1 1.1 Requirements... 1 2 Basic Use... 1 2.1 Activation... 1 2.2 Layout... 1 2.3 Navigation...
Learn how to create web enabled (browser) forms in InfoPath 2013 and publish them in SharePoint 2013. InfoPath 2013 Web Enabled (Browser) forms
Learn how to create web enabled (browser) forms in InfoPath 2013 and publish them in SharePoint 2013. InfoPath 2013 Web Enabled (Browser) forms InfoPath 2013 Web Enabled (Browser) forms Creating Web Enabled
Build it with Drupal 8
Build it with Drupal 8 Comprehensive guide for building common websites in Drupal 8. No programming knowledge required! Antonio Torres This book is for sale at http://leanpub.com/drupal-8-book This version
Dreamweaver CS5. Module 2: Website Modification
Dreamweaver CS5 Module 2: Website Modification Dreamweaver CS5 Module 2: Website Modification Last revised: October 31, 2010 Copyrights and Trademarks 2010 Nishikai Consulting, Helen Nishikai Oakland,
Magento 1.4 Theming Cookbook
P U B L I S H I N G community experience distilled Magento 1.4 Theming Cookbook Jose Argudo Blanco Chapter No. 5 "Going Further Making Our Theme Shine" In this package, you will find: A Biography of the
T4 Site Manager for website moderators
T4 Site Manager for website moderators (Moderator role only) Practical workbook University of Bristol IT Services document its-t4sm-2t. Updated on 10/03/2016 Introduction Is this guide for me? The overall
Sage CRM. 7.2 Mobile Guide
Sage CRM 7.2 Mobile Guide Copyright 2013 Sage Technologies Limited, publisher of this work. All rights reserved. No part of this documentation may be copied, photocopied, reproduced, translated, microfilmed,
EBOX Digital Content Management System (CMS) User Guide For Site Owners & Administrators
EBOX Digital Content Management System (CMS) User Guide For Site Owners & Administrators Version 1.0 Last Updated on 15 th October 2011 Table of Contents Introduction... 3 File Manager... 5 Site Log...
This guide provides additional information about topics covered in the webinar
This guide provides additional information about topics covered in the webinar Scan to go there now! Copyright 2012 X.commerce, Inc. All rights reserved. Contents CHAPTER 1: Leveraging Store Content 1
Getting Started with KompoZer
Getting Started with KompoZer Contents Web Publishing with KompoZer... 1 Objectives... 1 UNIX computer account... 1 Resources for learning more about WWW and HTML... 1 Introduction... 2 Publishing files
Getting Started Guide
Getting Started Guide Table of Contents OggChat Overview... 3 Getting Started Basic Setup... 3 Dashboard... 4 Creating an Operator... 5 Connecting OggChat to your Google Account... 6 Creating a Chat Widget...
Introduction to Open Atrium s workflow
Okay welcome everybody! Thanks for attending the webinar today, my name is Mike Potter and we're going to be doing a demonstration today of some really exciting new features in open atrium 2 for handling
Installing and Sending with DocuSign for NetSuite v2.2
DocuSign Quick Start Guide Installing and Sending with DocuSign for NetSuite v2.2 This guide provides information on installing and sending documents for signature with DocuSign for NetSuite. It also includes
Create a New Database in Access 2010
Create a New Database in Access 2010 Table of Contents OVERVIEW... 1 CREATING A DATABASE... 1 ADDING TO A DATABASE... 2 CREATE A DATABASE BY USING A TEMPLATE... 2 CREATE A DATABASE WITHOUT USING A TEMPLATE...
Cloudwords Drupal Module. Quick Start Guide
Cloudwords Drupal Module Quick Start Guide 1 Contents INTRO... 3 HOW IT WORKS... 3 BEFORE YOU INSTALL... 4 In Cloudwords... 4 In Drupal... 4 INSTALLING THE CLOUDWORDS DRUPAL MODULE... 5 OPTION ONE: Install
How To Configure CU*BASE Encryption
How To Configure CU*BASE Encryption Configuring encryption on an existing CU*BASE installation INTRODUCTION This booklet was created to assist CU*Answers clients with the configuration of encrypted CU*BASE
Drupal Training. Create Content Creating content is the fundamental basis for building the UCSD School of Medicine's website.
Drupal Training What is Drupal? Content Management System - a computer application used to create, edit, manage, and publish content in a consistently organized fashion. o Drupal is designed to simplify
JOOMLA 2.5 MANUAL WEBSITEDESIGN.CO.ZA
JOOMLA 2.5 MANUAL WEBSITEDESIGN.CO.ZA All information presented in the document has been acquired from http://docs.joomla.org to assist you with your website 1 JOOMLA 2.5 MANUAL WEBSITEDESIGN.CO.ZA BACK
Mastering Magento Theme Design
Mastering Magento Theme Design Andrea Saccà Chapter No. 1 "Introducing Magento Theme Design" In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter
Contents. Launching FrontPage... 3. Working with the FrontPage Interface... 3 View Options... 4 The Folders List... 5 The Page View Frame...
Using Microsoft Office 2003 Introduction to FrontPage Handout INFORMATION TECHNOLOGY SERVICES California State University, Los Angeles Version 1.0 Fall 2005 Contents Launching FrontPage... 3 Working with
How To Write A Cq5 Authoring Manual On An Ubuntu Cq 5.2.2 (Windows) (Windows 5) (Mac) (Apple) (Amd) (Powerbook) (Html) (Web) (Font
Adobe CQ5 Authoring Basics Print Manual SFU s Content Management System SFU IT Services CMS Team ABSTRACT A summary of CQ5 Authoring Basics including: Setup and Login, CQ Interface Tour, Versioning, Uploading
Basics of Microsoft Outlook/Email. Microsoft Outlook
Basics of Microsoft Outlook/Email Microsoft Outlook Workshop Outline for Improve Your Outlook Microsoft Outlook Contents Starting the application... 3 The Outlook 2010 window... 3 Expanding and minimizing
14.1. bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë
14.1 bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë bî~äì~íáåö=oéñäéåíáçå=ñçê=emi=rkfui=~åç=lééåsjp=eçëíë This guide walks you quickly through key Reflection features. It covers: Getting Connected
Designing and Implementing Forms 34
C H A P T E R 34 Designing and Implementing Forms 34 You can add forms to your site to collect information from site visitors; for example, to survey potential customers, conduct credit-card transactions,
Index. Page 1. Index 1 2 2 3 4-5 6 6 7 7-8 8-9 9 10 10 11 12 12 13 14 14 15 16 16 16 17-18 18 19 20 20 21 21 21 21
Index Index School Jotter Manual Logging in Getting the site looking how you want Managing your site, the menu and its pages Editing a page Managing Drafts Managing Media and Files User Accounts and Setting
How to Create and Send a Froogle Data Feed
How to Create and Send a Froogle Data Feed Welcome to Froogle! The quickest way to get your products on Froogle is to send a data feed. A data feed is a file that contains a listing of your products. Froogle
Alfresco Online Collaboration Tool
Alfresco Online Collaboration Tool USER MANUAL BECOMING FAMILIAR WITH THE USER INTERFACE... 4 MY DASHBOARD... 4 MY PROFILE... 6 VIEWING YOUR FULL PROFILE... 6 EDITING YOUR PROFILE... 7 CHANGING YOUR PASSWORD...
Table of Contents. 1. Content Approval...1 EVALUATION COPY
Table of Contents Table of Contents 1. Content Approval...1 Enabling Content Approval...1 Content Approval Workflows...4 Exercise 1: Enabling and Using SharePoint Content Approval...9 Exercise 2: Enabling
Basic Web Development @ Fullerton College
Basic Web Development @ Fullerton College Introduction FC Net Accounts Obtaining Web Space Accessing your web space using MS FrontPage Accessing your web space using Macromedia Dreamweaver Accessing your
Frog VLE Update. Latest Features and Enhancements. September 2014
1 Frog VLE Update Latest Features and Enhancements September 2014 2 Frog VLE Update: September 2014 Contents New Features Overview... 1 Enhancements Overview... 2 New Features... 3 Site Backgrounds...
isupport 15 Release Notes
isupport 15 Release Notes This document includes new features, changes, and fixes in isupport v15. The Readme.txt file included with the download includes a list of known issues. New Features in isupport
Fortis Theme. User Guide. v1.0.0. Magento theme by Infortis. Copyright 2012 Infortis
Fortis Theme v1.0.0 Magento theme by Infortis User Guide Copyright 2012 Infortis 1 Table of Contents 1. Introduction...3 2. Installation...4 3. Basic Configuration...5 3.1 Enable Fortis Theme...5 3.2 Enable
History Explorer. View and Export Logged Print Job Information WHITE PAPER
History Explorer View and Export Logged Print Job Information WHITE PAPER Contents Overview 3 Logging Information to the System Database 4 Logging Print Job Information from BarTender Designer 4 Logging
Rochester Institute of Technology. Finance and Administration. Drupal 7 Training Documentation
Rochester Institute of Technology Finance and Administration Drupal 7 Training Documentation Written by: Enterprise Web Applications Team CONTENTS Workflow... 4 Example of how the workflow works... 4 Login
ADMINISTRATOR GUIDE VERSION
ADMINISTRATOR GUIDE VERSION 4.0 2014 Copyright 2008 2014. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means electronic or mechanical, for any purpose
Kentico CMS 7.0 Intranet User's Guide
Kentico CMS 7.0 Intranet User's Guide 2 Kentico CMS 7.0 Intranet User's Guide Table of Contents Introduction 5... 5 About this guide Getting started 7... 7 Accessing the Intranet Portal... 8 Intranet Portal
UW- Madison Department of Chemistry Intro to Drupal for Chemistry Site Editors
UW- Madison Department of Chemistry Intro to Drupal for Chemistry Site Editors Who to Contact for Help Contact Libby Dowdall ([email protected] / 608.265.9814) for additional training or with questions
Configuring the JEvents Component
Configuring the JEvents Component The JEvents Control Panel's Configuration button takes you to the JEvents Global Configuration page. Here, you may set a very wide array of values that control the way
JTouch Mobile Extension for Joomla! User Guide
JTouch Mobile Extension for Joomla! User Guide A Mobilization Plugin & Touch Friendly Template for Joomla! 2.5 Author: Huy Nguyen Co- Author: John Nguyen ABSTRACT The JTouch Mobile extension was developed
How To Build An Online Store On Ecwid
Using Ecwid to Build an Online Store Ecwid provides all you need for a one-stop online shop, including a built-in 'drag and drop' shopping cart, the recording of customer registration details, destination
SAS Business Data Network 3.1
SAS Business Data Network 3.1 User s Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2014. SAS Business Data Network 3.1: User's Guide. Cary,
Table of Contents. Welcome... 2. Login... 3. Password Assistance... 4. Self Registration... 5. Secure Mail... 7. Compose... 8. Drafts...
Table of Contents Welcome... 2 Login... 3 Password Assistance... 4 Self Registration... 5 Secure Mail... 7 Compose... 8 Drafts... 10 Outbox... 11 Sent Items... 12 View Package Details... 12 File Manager...
Wakanda Studio Features
Wakanda Studio Features Discover the many features in Wakanda Studio. The main features each have their own chapters and other features are documented elsewhere: Wakanda Server Administration Data Browser
Building a Personal Website (Adapted from the Building a Town Website Student Guide 2003 Macromedia, Inc.)
Building a Personal Website (Adapted from the Building a Town Website Student Guide 2003 Macromedia, Inc.) In this project, you will learn the web publishing skills you need to: Plan a website Define a
Magento module Documentation
Table of contents 1 General... 4 1.1 Languages... 4 2 Installation... 4 2.1 Search module... 4 2.2 Installation in Magento... 6 2.3 Installation as a local package... 7 2.4 Uninstalling the module... 8
SonicWALL SSL VPN 3.5: Virtual Assist
SonicWALL SSL VPN 3.5: Virtual Assist Document Scope This document describes how to use the SonicWALL Virtual Assist add-on for SonicWALL SSL VPN security appliances. This document contains the following
Magento 1.3 Theme Design
Magento 1.3 Theme Design Richard Carter Chapter No. 5 "Non-default Magento Themes" In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter NO.5 "Non-default
Colligo Contributor File Manager 4.6. User Guide
Colligo Contributor File Manager 4.6 User Guide Contents Colligo Contributor File Manager Introduction... 2 Benefits... 2 Features... 2 Platforms Supported... 2 Installing and Activating Contributor File
Managing documents, files and folders
Managing documents, files and folders Your computer puts information at your fingertips. Over time, however, you might have so many files that it can be difficult to find the specific file you need. Without
Dreamweaver CS6 Basics
Dreamweaver CS6 Basics Learn the basics of building an HTML document using Adobe Dreamweaver by creating a new page and inserting common HTML elements using the WYSIWYG interface. EdShare EdShare is a
WordPress websites themes and configuration user s guide v. 1.6
WordPress websites themes and configuration user s guide v. 1.6 Congratulations on your new website! Northeastern has developed two WordPress themes that are flexible, customizable, and designed to work
TheEducationEdge. Export Guide
TheEducationEdge Export Guide 102111 2011 Blackbaud, Inc. This publication, or any part thereof, may not be reproduced or transmitted in any form or by any means, electronic, or mechanical, including photocopying,
How to Edit Your Website
How to Edit Your Website A guide to using your Content Management System Overview 2 Accessing the CMS 2 Choosing Your Language 2 Resetting Your Password 3 Sites 4 Favorites 4 Pages 5 Creating Pages 5 Managing
Using your content management system EXPRESSIONENGINE CMS DOCUMENTATION UKONS
Using your content management system EXPRESSIONENGINE CMS DOCUMENTATION UKONS JOHN MOYLAN UKONS EXPRESSIONENGINE DOCUMENTATION 2 What is ExpressionEngine? ExpressionEngine is a flexible, feature-rich content
SQL Server Integration Services Using Visual Studio 2005
SQL Server Integration Services Using Visual Studio 2005 A Beginners Guide Jayaram Krishnaswamy Chapter No. 13 "Package to Copy a Table from Oracle XE" In this package, you will find: A Biography of the
Oracle Siebel CRM 8 Developer's Handbook
P U B L I S H I N G professional expertise distilled Oracle Siebel CRM 8 Developer's Handbook Alexander Hansal Chapter No.13 "User Properties" In this package, you will find: A Biography of the author
Microsoft Office Access 2007 Basics
Access(ing) A Database Project PRESENTED BY THE TECHNOLOGY TRAINERS OF THE MONROE COUNTY LIBRARY SYSTEM EMAIL: [email protected] MONROE COUNTY LIBRARY SYSTEM 734-241-5770 1 840 SOUTH ROESSLER
Database Studio is the new tool to administrate SAP MaxDB database instances as of version 7.5.
1 2 3 4 Database Studio is the new tool to administrate SAP MaxDB database instances as of version 7.5. It replaces the previous tools Database Manager GUI and SQL Studio from SAP MaxDB version 7.7 onwards
Managing your Joomla! 3 Content Management System (CMS) Website Websites For Small Business
2015 Managing your Joomla! 3 Content Management System (CMS) Website Websites For Small Business This manual will take you through all the areas that you are likely to use in order to maintain, update
Content Management System User Guide
Content Management System User Guide support@ 07 3102 3155 Logging in: Navigate to your website. Find Login or Admin on your site and enter your details. If there is no Login or Admin area visible select
User s Guide. Version 2.1
Content Management System User s Guide Version 2.1 Page 1 of 51 OVERVIEW CMS organizes all content in a tree hierarchy similar to folder structure in your computer. The structure is typically predefined
BIGPOND ONLINE STORAGE USER GUIDE Issue 1.1.0-18 August 2005
BIGPOND ONLINE STORAGE USER GUIDE Issue 1.1.0-18 August 2005 PLEASE NOTE: The contents of this publication, and any associated documentation provided to you, must not be disclosed to any third party without
Introduction to Microsoft Access XP
Introduction to Microsoft Access XP Access is the database management system in Microsoft Office. A database is an organized collection of facts about a particular subject. An address book or a library
Batch Scanning. 70 Royal Little Drive. Providence, RI 02904. Copyright 2002-2011 Ingenix. All rights reserved.
70 Royal Little Drive Providence, RI 02904 Copyright 2002-2011 Ingenix. All rights reserved. Updated: December 13, 2011 Table of Contents 1 Batch Scanning... 1 1.1 Installing the CareTracker Client...
Strategic Asset Tracking System User Guide
Strategic Asset Tracking System User Guide Contents 1 Overview 2 Web Application 2.1 Logging In 2.2 Navigation 2.3 Assets 2.3.1 Favorites 2.3.3 Purchasing 2.3.4 User Fields 2.3.5 History 2.3.6 Import Data
Results CRM 2012 User Manual
Results CRM 2012 User Manual A Guide to Using Results CRM Standard, Results CRM Plus, & Results CRM Business Suite Table of Contents Installation Instructions... 1 Single User & Evaluation Installation
Your First Web Page. It all starts with an idea. Create an Azure Web App
Your First Web Page It all starts with an idea Every web page begins with an idea to communicate with an audience. For now, you will start with just a text file that will tell people a little about you,
MadCap Software. Import Guide. Flare 11
MadCap Software Import Guide Flare 11 Copyright 2015 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this document is furnished
Talend Open Studio for MDM. Getting Started Guide 6.0.0
Talend Open Studio for MDM Getting Started Guide 6.0.0 Talend Open Studio for MDM Adapted for v6.0.0. Supersedes previous releases. Publication date: July 2, 2015 Copyleft This documentation is provided
Interspire Website Publisher Developer Documentation. Template Customization Guide
Interspire Website Publisher Developer Documentation Template Customization Guide Table of Contents Introduction... 1 Template Directory Structure... 2 The Style Guide File... 4 Blocks... 4 What are blocks?...
