iTunes U Guidelines

 

 

Creating your course

Overview

With iTunes U, it’s easy to create your own custom courses for iPad and teach them in your classroom. And the iTunes U app puts all the materials you create for your course—syllabus, videos, apps, books, class assignments, and more—all in one place. Right in the app, your students can play video or audio lectures, read books, and view presentations. They can also see a list of course assignments, then check them off as they’re completed. And when you create a new post, students receive a push notification.

Anyone can create courses using iTunes U Course Manager, an easy-to-use web-based tool. To create a course, simply gather all the materials you need and follow the steps in iTunes U Course Manager.

Courses can include your syllabus, handouts, assignments, and other items. You can include content from the iBookstore and the App Store, as well as links from the Internet. And you can link to materials from over 500,000 selections available on iTunes U, including audio and video content from the world’s leading education institutions. Once your course is ready, it’s easy to share it with your students or publish it to your institution’s iTunes U site.

Contents

Overview 1

Getting started 2

Editing and organizing content 4

Adding posts, assignments, and materials 6

Best practices 7

Managing enrollment 8

Getting started

To get started, log in to iTunes U Course Manager using your Apple ID. If you don’t have an Apple ID, visit My Apple ID to create one.

The first time you log in to iTunes U Course Manager, you’ll be prompted to enter information about yourself, including your bio and photo as well as your primary institution. This profile information will automatically populate the “Instructor” page of your courses. All the courses you create will reference your profile, which you can edit at any time.

After you save your profile, you’ll see your dashboard. To create a new course, click Create New Course. You’ll see the New Course Settings screen where you enter information about your course.

 

iTunes U Guidelines

Creating your course

2

 

Create New Course

 

iTunes U Guidelines

Creating your course

3

 

Enter the course name, your institution, and your department.

Choose a category and a subcategory, as well as a level and language.

Add a description—this is your chance to tell students about your content and to set course expectations. For example, you can include a summary of the course structure, or perhaps expectations and goals.

Choose whether your course will be Self-Paced or In-Session. Choose Self-Paced if you want students to go at their own speed. You can include the expected course duration and you can make updates at any time. Choose In-Session if you want students to follow along as you’re teaching. In-Session courses are organized around a calendar and include a start and stop date, as well as assignment due dates.

Select a license for your content. A variety of options are available, including the standard Creative Commons options.

Upload a compelling image that represents your course. Use an image that’s at least 600 x 600 pixels, with a maximum file size of 10MB.

1

2

1

3

2

6

3

4

4

5

5

5

6

 

4

iTunes U Guidelines

Creating your iTunes course

 

January 2012

When you finish entering the information in New Course Settings, click Save and you’ll see your dashboard again. All the courses you create appear in this dashboard. You can see at-a-glance information about each course, as well as how much storage you have. Select the course you want to edit to add posts, assignments, and materials.

Editing and organizing content

You’ll build your course using the Overview, Instructor, and Outline pages.

The Overview page contains the information you already added from your course settings, including the course description, your institution, level, and so on. You can edit your course information at any time.

The Instructor page contains your profile information, including your photo, background, and other courses you teach. You can edit this at any time.

The Outline page is where you enter your course syllabus. For self-paced courses, enter your entire course outline. For in-session courses, you can add outline topics as you go. All your posts and assignments will be associated with topics in your outline. You can enter your outline directly into iTunes U Course Manager and include up to two sub-levels, or you can paste a plain-text outline into this field.

Amount of content you’ve added to your course.

Number of students enrolled in your course.

If you have topics that don’t fit under Overview or Instructor pages, you can add new pages. Examples of new pages could be course policies, prerequisites, learning outcomes, or anything you think would be useful for students taking the course.

 

iTunes U Guidelines

Creating your course

5

 

Overview page

Instructor page

Outline page

Add new page

Adding posts, assignments, and materials

Use posts, assignments, and materials to add content and context to your course.

Communicate directly with students by creating posts that relate to your outline topics. For example, a post might be instructions, explanations, or a lecture summary. To enter a post, choose a topic from your outline, create a post title, and then write the body of the post. You can reorder posts by dragging a selected post to a new location in the outline.

You can create an assignment on any post. An assignment is a task or to-do that students should complete. You can enter as many assignments as you want for each post, and you can reorder assignments by dragging a selected assignment to a new location within a post. For in-session courses, you can select a due date for each assignment.

Assignments can include many types of materials that are part of your course, such as videos, audio files, web links, apps, books, documents, and presentations. You can add content from the App Store and the iBookstore, and you can even upload your own original materials.

iTunes U Guidelines

Creating your course

6

1

3

1

Best practices

Keep the following in mind as you create your course:

Display. Use short titles for posts and assignments so students see the most important information at a glance.

Materials. You can add materials to your course from the Posts tab or the Materials tab.

My Materials. You can also add materials using the My Materials feature—a list of all your materials that can either be associated with your courses or not. Use your My Materials list to add materials if you’re teaching several courses that use the same materials. You can also use it to keep a wish list of items for use in future courses.

Deep linking. Link to a particular start and stop point in a video or to a particular chapter in a book so that students can go directly to the content you’ve assigned.

Upload original materials. You can upload original materials, such as presentations, worksheets, videos, and books, so everything students need to complete your course is one tap away.

Duplicate your course. You can make a copy of your course by clicking Duplicate in the dashboard next to the appropriate course. You can edit the copy of your course however you like, such as changing it from in-session to self-paced.

Announcements. If you’re teaching an in-session course, you can send announcements to your students at any time; these announcements are not connected to a topic in your outline. Announcements might be administrative notices to students, such as a canceled class or a change to a test date.

Preview your course. Preview your course on an iPad, iPhone, or iPod touch before sharing it with your students so you’re certain it appears and functions the way you intended it to. To preview your course, tap the Shortcut link from your iOS device.

7

Posts tab

Materials tab

My Materials tab

Affiliate your account. If your educational institution has a public iTunes U site, affiliate your iTunes U Course Manager account with your institution. This gives you unlimited upload space, courses, and enrollment. This also allows you to submit your course to your public site administrator for publishing on your iTunes U site. If your institution doesn’t have a public iTunes U site, visit eduapp.apple.com to learn how to join.

Managing enrollment

When you’re ready to invite students to enroll, click Share Course from the roster, and send the course enroll code or shortcut link to your students. When a student enters the enroll code in the iTunes U app or clicks the link from an iPad, iPhone, or iPod touch, you’ll receive the enrollment request and be able to approve or block it. If you are not affiliated with an institution with an iTunes U site, you are permitted to have up to 50 students enrolled in each course.

If you’re affiliated with an institution that has a public iTunes U site, you can request that your course be published in the iTunes U Catalog—the world’s largest digital catalog of free education content. Just click “Submit Course to iTunes U Catalog” from the Course Settings page.

For additional help and guidance, and to browse the iTunes U Course Manager community, visit the iTunes U Support page.

 

8

iTunes U Guidelines

Creating your course

 

Share course

© 2012 Apple Inc. All rights reserved. Apple, the Apple logo, iPad, iPhone, iPod touch, and iTunes U are trademarks of Apple Inc., registered in the U.S. and other countries. iTunes Store is a service mark of Apple Inc., registered in the U.S. and other countries. App Store and iBookstore are trademarks of Apple Inc. Other product and company names mentioned herein may be trademarks of their respective companies. August 2012

Oracle VM Template Developer’s Guide: Creating Pre-Built VMs for Rapid Software Deployment

Oracle White Paper—Oracle VM Template Developer’s Guide

An Oracle Technical White Paper

February 2009

Oracle VM Template Developer’s Guide:

Creating Pre-Built VMs for

Rapid Software Deployment

Oracle White Paper—Oracle VM Template Developer’s Guide

Introduction …………………………………………………………………………….. 1

Oracle VM Templates: Concept and Usage…………………………………. 2

Template Creation, Overview…………………………………………………. 2

What You Need to Know About Licenses ………………………………… 5

Prerequisites for Oracle VM Template Creation………………………… 6

Creating an Oracle VM Template……………………………………………….. 6

Step-by-Step: Template Creation……………………………………………….. 7

1. Decide On Your Template Specification ………………………………. 7

2. Using JeOS kit, Create the Initial Template …………………………. 8

3. Set-up the Template Development Environment …………………. 11

4. Configure the Virtual Machine for Product Installation ………….. 12

5. Install the Product Software into the VM …………………………….. 12

6. Identify Actions for Product Software Configuration at Install … 14

7. Define the Product Specific Reconfiguration Actions …………… 15

8. Define the Product Specific Cleanup Scripts ………………………. 16

9. Remove Proprietary Files from OS Disk Image & Replace

Parameter Values by Placeholder Strings ……………………………… 17

10. Package the Template …………………………………………………… 17

APPENDIX A…………………………………………………………………………. 20

APPENDIX B…………………………………………………………………………. 26

Oracle White Paper—Oracle VM Template Developer’s Guide

1

Introduction

An Oracle VM Template is a virtual machine (VM), or group of VMs, containing a full

software stack that is pre-installed, pre-configured, and ready to use. Simply download

and import a Template into Oracle VM, and then deploy the template as a VM in order to

use the pre-configured software. This eliminates the steps of installing, patching, and

configuring complex software.

Oracle VM Templates support both Oracle and non-Oracle applications, and can be built

by anyone including Oracle, ISVs, and third party solution providers. By using an

operating system like Oracle Enterprise Linux, developers can build their application as a

full stack virtual machine on an enterprise-class operating system that is freely

redistributable without any special agreement, and the template can be backed by

enterprise-class support.

This technical white paper is for those interested in knowing how to package applications

in a standard, pre-configured way as an Oracle VM Template. It’s a fast and reliable way

to deploy complex enterprise applications.

For information on the broader context of Oracle VM Templates, their benefits, and how

they are deployed, customized, and used from Oracle VM Manager, refer to the “Creating

and Using Oracle VM Templates: The Fastest Way to Deploy Any Enterprise Software

white paper, and visit oracle.com/virtualization for more information about Oracle VM.

Oracle White Paper—Oracle VM Template Developer’s Guide

2

Oracle VM Templates: Concept and Usage

The use of Oracle VM Templates for the deployment of applications in Oracle VM virtual

machines (VMs) eliminates the need for a user to install and configure the operating system and

applications. The templates can be simply downloaded and the virtual machine(s) can be brought

up either from the Oracle VM Manager browser interface or by using an xm command issued on

the Oracle VM server command line.

The OS and applications are configured at initial template boot time. The configuration can be

done based on certain default values and actions based on the user’s input. An example of a

default configuration is an Oracle Enterprise Linux (OEL) template using a DHCP assigned IP

address. No user input is required to configure the template. An example of boot time

reconfiguration is an OEL template with static IP. In this case, the, user would need to supply

values for the IP address, gateway, netmask, and DNS to the virtual machine before the boot

process can be completed.

If you wish the virtual machine to be configured with a static IP address and other non-default

settings, you need to develop the template configuration actions in the form of writing a

configuration script, which can process the user’s input and perform the corresponding

configuration steps upon initial boot of the VMs created from the template.

The remainder of this paper will focus on how to create and Oracle VM Template for any

software you wish to deploy as a complete, pre-built virtual machine.

Template Creation, Overview

An Oracle VM template consists of one or more binary files and a text file. The binary files are

the disk images taken from a fully configured and functional virtual machine. The text file is a

virtual machine configuration file. The files are shipped in one archive (or tar file). For example,

an archive (or tar file) of the Oracle 11g Database template contains 3 files in one directory:

oracle11g/system.img (disk image with OS)

/oracle11g.img (disk image with oracle software)

/vm.cfg (vm configuration file)

Oracle White Paper—Oracle VM Template Developer’s Guide

3

The tar file contents can also be a multi-VM template set. For example, the Oracle Enterprise

Manager Grid Control template contains two virtual machines: a middle tier management server

(OMS) VM and a backend Oracle Database repository VM. Consequently, the template archive

consists of two directories, each containing 3 files:

db/system.img (disk image with OS)

/db.img (disk image with oracle DB software)

/vm.cfg (vm configuration file)

gc/system.img (disk image with OS)

/gc.img (disk image with oracle GC software)

/vm.cfg (vm configuration file)

Note: Packaging a template that consists of several virtual machines in a single archive simplifies

the download for the end user because there is less chance that an inconsistent or wrong

combination of VMs or files will be downloaded.

A template is a copy of a pre-installed virtual machine. To create this copy, one needs first to

create the virtual machine itself running the desired OS, and then install and configure the target

software. The next step is to implement a script to perform dynamic reconfiguration of the OS

and application at initial boot-time, if required.

The virtual machine with the desired OS can be created from scratch using Oracle Enterprise

Linux, or you can begin with an existing Oracle VM OS Template available from Oracle’s EDelivery

website. Oracle has made available for free download a “Just enough OS” or JeOS

edition of the Oracle Enterprise Linux 4 and 5 operating systems to facilitate building an OS

instance with a bare minimum number of packages needed for your template. This helps reduce

the disk footprint by up to 2GB or more per VM, and also improves security and reliability of the

virtual machine. Of course, you can customize and add packages to the JeOS edition package list

to completely tailor to the needs of the application. The JeOS edition download also includes a

script to help configure parameters such as disk sizes, etc.

Details on JeOS, including a complete description of the included modifyjeos script can be found

on the Oracle Open Source Software website at oss.oracle.com/el5/docs/modifyjeos.html

The dynamic reconfiguration boot time actions can be implemented in product specific scripts as

described later in this paper. The scripts are then installed in the template and can be set to

automatically run when the VM is first booted.

Note: Throughout the rest of this white paper, unless indicated otherwise, the term “product”

will be used to refer to any software product(s) included in the template in addition to the OS.

Oracle White Paper—Oracle VM Template Developer’s Guide

4

Start VM from

Template

Reconfigure

Template?

Is template

product config

script available

Execute product

template

configuration script

Generate new

SSH host keys

and up2date UUID

Is product

image

available?

Mount Product

Image on /u01 Yes

Execute JeOS

reconfiguration

scripts: Obtain

network

configuration from

user at console

End

VM OS boots at

runlevel 3

End

No reconfiguration

required No Yes

No

Yes

No

Figure 1: The Virtual Machine Start-Up and Product Configuration Process. At the VM first boot, the VM OS (OEL) and application can be

configured with new IP address, hostname, and registered to the Unbreakable Linux Network for on-going support.

Oracle White Paper—Oracle VM Template Developer’s Guide

5

What You Need to Know About Licenses

An Oracle VM Template can include any software and can be built by anyone. However, a

template developer or distributor should be aware of potential license implications.

Oracle VM Server and Oracle Enterprise Linux licenses are agreed upon at the time of download

from the E-Delivery website. The accepted End User License Agreement (EULA) is on the root

of the installation media (ISOs) downloaded and also included in the installed ovs-release and

enterprise-release packages (respectively). This covers Oracle VM Server and Oracle Enterprise

Linux only. Modifications or redistributions with other products thereafter may be or may not

be possible, and it is up to the individuals or organizations to consult the licensing terms for all

software included to ensure that use or distribution rights are not violated. Including software in

an Oracle VM Template does not reduce or eliminate any licensing obligations associated with

the included software.

Oracle VM Server and Oracle Enterprise Linux are free to download, use, and re-distribute. So a

template that contains only OEL (e.g. a default install of the OS) can be re-distributed without

any special agreement from Oracle.

Ease of Operations Maintenance

Since Oracle VM Templates do not require any proprietary directory structures or metadata,

there is no reason why the software included in the template cannot be completely compatible

with any utilities for patching and support provided by software vendors.

However, in order to support this compatibility, you may need to consider whether any

additional packages or software needs to be included in your template to support any required

vendor utilities used for maintenance of the template. For example, the template once deployed

should be able to support OS and product standard operating procedures going forward with

regards to:

Patching

Upgrade

Configuration changes

Monitoring

Tech Support

For example, you should consider if it is likely that a monitoring agent, or agent used for

patching will need to be installed. You can consider either including these agents directly or just

plan to make sure the appropriate packages are included to allow future installation in the guest

VMs.

Oracle White Paper—Oracle VM Template Developer’s Guide

6

Prerequisites for Oracle VM Template Creation

In order to get started, you will need access to the following items to develop a template. All of

the software referenced below can be downloaded free from eDelivery.oracle.com

One physical server running Oracle VM Server software

One Linux desktop or server running Oracle VM Manager

Oracle Enterprise Linux JeOS software kit

Root access to the dom0 on Oracle VM Server to package the template

For hardware requirements and other specifics on installing or using Oracle VM or Enterprise

Linux software, refer to the user documentation available at oracle.com/virtualization or

oracle.com/linux.

Creating an Oracle VM Template

There are 10 basic steps for creating an Oracle VM Template summarized below. Depending on

the type of software being included in the template, not every step will apply. Each step will be

described in detail, including an example based on the Oracle Enterprise Manager Agent

Template developed by Oracle. Overview of the basic template creation steps:

1. Decide on your spec for the template: operating system, product version, and product

configuration;

2. Using JeOS kit, create the initial template with OS disk image and placeholder disk

image for product installation;

3. Setup a development environment;

4. Configure the virtual machine for the product installation;

5. Install the product software (e.g. Oracle database, Enterprise Manager Agent, etc.);

6. Identify the product configuration actions normally performed product installation that

will need to be performed by a template configuration script (e.g. system files modified,

product configuration files that refer to used-at-install hostname, IP address);

7. Develop a script for the product specific reconfiguration actions (e.g. in product

configuration files, replacement of used-at-install IP address by actual IP address assigned to

the virtual machine at deployment);

8. Develop the product specific cleanup scripts;

9. Remove the proprietary files from OS disk image and replace the relevant real parameter

values by placeholders;

10. Package and archive the template.

Oracle White Paper—Oracle VM Template Developer’s Guide

7

Step-by-Step: Template Creation

1. Decide On Your Template Specification

The first step is to specify the technical requirements for the template:

OS version to include

Guest type: paravirtualized (PVM) or fully virtualized (also known as “hardware virtualized” or

“HVM”). Generally stated, PVMs are higher performance and more scalable and thus are generally

preferable. Consult Oracle VM user documentation and white papers for more discussion on

PVMs vs. HVMs

Version of product(s) to install

Product configuration

Product install directory

Product install partition size

Number of virtual CPUs to be configured when the guest VM is created. Note that this value

can be edited later and even changed from the Oracle VM Manager GUI.

Size of virtual memory. Note that, in Oracle VM, as with any virtualization product using the

Xen hypervisor component, the amount of memory consumed by all the VMs running on a

physical server at any one time cannot exceed the amount of physical memory in the server. This

may be a consideration if you plan on running multiple VMs on the same physical machine.

Swap size: Depends on the application. For Linux operating systems, 512B-1024GB is usually

sufficient but more may be ideal for your application. For example, for Oracle Database, 2GB is

recommended.

Free size of root partition desired after OS install

Name for your product disk images

Mount point for the product disk image(s)

Template name (default name for the archive and virtual machine(s)). Keep in mind that

templates containing multiple VMs will create a separate directory based on the VM name for each

VM. To avoid later confusion or conflicts when you have many templates deployed in the same

Oracle VM instance, it is recommended that you develop a naming convention that will not only

contain the name of the individual VM but also the name of the template that it is associated with.

For example, if you have multiple templates that contain a database VM, do not name each VM

simply as “database” because this will create a directory naming conflict but also create confusion

Oracle White Paper—Oracle VM Template Developer’s Guide

8

later as to which overall template a given “database” belongs-to. Also keep in mind versioning as

you are likely to update the template over time with patched or updated software or settings.

Dependencies, overall topology, or other things specific to the products you are including.

Note: Although Oracle developed templates generally include two virtual disk images, it is

technically optional to create a second disk for the application install and it may or may not be

required for a given template. But, often two disk images may be needed to separate products

with different license terms and conditions, e.g. to separate software with open licenses such as

GPL from software or files that have a proprietary license. Consult the software license authority

with any questions regarding licensing requirements.

Step 1 Example: Oracle Enterprise Manager Agent Template – Template Specification

In this example of an Oracle Enterprise Manager Agent template, the template specification is as

follows:

OS version: Enterprise Linux 5 Update 2 for x86 platform

Guest type: Paravirtulized (PVM)

Product Version: EM Agent 10.2.0.4 for Linux x86

Product configuration: standard install

Product install directory: /u01.

Product install disk size: 5 GB

Number of virtual CPU: 1

Size of virtual memory: 1GB

Swap size: 2GB

Free size of root partition after OS install: 2GB

Name for your product disk images: Emagent.img

Mount point for the product disk image: /u01

Template name: OVM_EL5U2_X86_EMAGENT_PVM.

2. Using JeOS kit, Create the Initial Template

Oracle recommends using the Oracle Enterprise Linux JeOS kit for creating a tailored for your

product OS image and product disk.

oracle.com/technology/software/products/virtualization/vm_jeos.html

Oracle White Paper—Oracle VM Template Developer’s Guide

9

Download and install JeOS rpm to a system running OEL 5 Update 2 or later. It can be either a

bare metal system or a virtual machine. The documentation, which is part of the rpm, is a

comprehensive guide on how to develop with JeOS.

Tips:

-The JeOS edition of Enterprise Linux only includes English language support by default. If your

template needs to support additional languages, these packages should be added to your OS

build.

-If you have rpm-based software products you wish to include and can configure access to the

rpm repository for that software, you may provide those packages as input to modifyjeos

command. If the product(s) you wish to add are not rpm based, and need to run their own

installer, you can do so by running the installer in the VM before completion of your template

packaging as described later in this paper.

Step 2 Example: Oracle Enterprise Manager Agent Template – Initial Template Creation with OEL JeOS

As a root user, install JeOS kit on the virtual machine running OEL5.2:

ovm-modify-jeos-1.1.0-2.el5.noarch.rpm

ovm-el5u2-xvm-jeos-1.1.0-1.el5.i386.rpm

Create the working directory to be used for JeOS output files and enter

this directory:

# mkdir /<any_path>/emagent_work

# cd /<any_path>/emagent_work

To create the template, we need to know the disk size(s), number of

virtual CPUs and memory size. This information should have been included

as a part of the specification described in Step 1 above.

Identify the additional packages required for the product. Get these

packages using modifyjeos and specify either a DVD ISO mount point or a

YUM repository on the network as a repository location. It should be

local ISO (DVD) or YUM repository accessible via network. Refer to JeOS

documentation for more details.

We will use an YUM repository as the source for packages in this example:

http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/2/base/i386

Oracle White Paper—Oracle VM Template Developer’s Guide

10

The addpkg.lst file used as input by JeOS contains a list of additional

packages to be added to the standard, base JeOS image. For an EMagent

install, create ‘addpkg.lst’ with the following lines (packages):

* oracle-validated

Note that this is a very special and helpful rpm if your template will

include the Oracle Database or other software that depends on some of the

Database libraries, as is the case with the EM Agent. Basically you can

think of this as a kind of “master rpm” that contains references to all

the dependencies / rpms that you need on top of the JeOS base to support

the Database. By specifying this package alone, it will pull-in and

install all the other packages recommended and required by Oracle for the

Database, eliminating the need to manually identify each individual

Database package required. Named after, and derived from Validated

Configurations program, oracle-validated also creates an oracle OS user

and an oinstall and dba group. Kernel parameters are also set properly,

ensuring that the Oracle Universal Installer will proceed without

complaints.

* nc – required, used in template reconfiguration script

* unzip – optional but recommended, may be used to unzip the Agent

software source

* wget – optional but recommended, may be used to download the Agent

software.

Next, run the modifyjoes command to add the packages and generate the

.img and vm.cfg files:

# modifyjeos -i EL52_i386_PVM_jeos \

-n OVM_EL5U2_X86_EMAGENT_PVM \

-mem 1024 -cpu 1 \

-r http:// public-yum.oracle.com

repo/EnterpriseLinux/EL5/2/base/i386 \

-p addpkg.lst \

-S 2048 -I 6096 -R 2048 \

-P Emagent.img 5120 /u01 \

-conf /u01/emagent-reconfig.sh \

-cln /u01/emagent-cleanup.sh

Oracle White Paper—Oracle VM Template Developer’s Guide

11

u01/emagent-reconfig.sh referenced above is the name of reconfiguration

script we’ll develop later in Step 7.

/u01/emagent-cleanup.sh referenced above is the name of cleanup script

we’ll develop later in Step 8.

The following files are then produced in the current directory:

·System.img: This is the OS system image file

·Emagent.img: This is the image file for the EM agent

·vm.cfg: This is the virtual machine configuration file describing the

parameters needed to create the guest VM.

A partition with ext3 file system is created on Emagent.img and the

partition will be mounted on /u01.

Copy these three files to the directory reachable via http or ftp, for

example to /var/www/html/emagent_templ.

Note: For a complete description of all the modifyjeos options, refer to

the README file hosted at http://oss.oracle.com/el5/docs/modifyjeos.html

3. Set-up the Template Development Environment

Install the Oracle VM Server and Oracle VM Manager software if you have not installed them

already.

Login to Oracle VM Manager and import the VM created by JeOS by supplying the http or ftp

location via the wizard initiated from the ‘Import’ button on the Virtual Machines page. Start the

virtual machine. Refer to Oracle VM Manager User’s Guide for complete details on importing

and starting VMs in Oracle VM Manager.

Once the virtual machine has powered-on, you can login to the virtual machine as user ‘root‘ via

Oracle VM Manager’s VNC ‘Console’ button using password ‘ovsroot’‘.

Step 3 Example: Oracle Enterprise Manager Agent Template – Set-up Development Environment

In our example, we have Oracle VM server installed already, and have

imported the initial VM (the disk images and vm.cfg created in step 2)

into Oracle VM Manager. We now start the virtual machine using Oracle VM

Oracle White Paper—Oracle VM Template Developer’s Guide

12

Manager and then open the virtual machine console using the ‘Console’

button on the ‘Virtual Machines’ page.

You’ll be prompted to choose DHCP configuration or specify the IP

address, gateway, netmask, and DNS to configure the virtual machine

network. Choose the option which works better for you. It will not have

an effect on the template eventually created.

Answer the interview questions, and login to running virtual machine as

user ‘root’ using password ‘ovsroot’.

4. Configure the Virtual Machine for Product Installation

You may need to do additional OS configuration for the included product software. This may

include additional OS parameter settings and disk configuration but is completely dependent on

the specifics of the products that are included.

JeOS already configures swap and the disk for product installation for you. By default, the ext3

filesystem is used for the product disk format. Unless you want to change the filesystem format

from ext3 or the disk size, you do not need change anything.

Next, if you need a raw partition, additional configuration will be needed. For example, if you

need a partition for the datafiles located on Oracle ASM (Automatic Storage Management)

devices, you could create a second “product disk” using the modifyjeos script. But instead of

using it as a filesystem, un-mount that device and use the partition (e.g. /dev/xvdc1) for the

ASM device.

If you need to modify the OS parameters manually, you may need to edit OS configuration files.

For example, to set the kernel parameters per product requirement, you may need to edit

/etc/sysctl.conf as root.

Step 4 Example: Oracle Enterprise Manager Agent Template – Configuring Source Virtual Machine

We used JeOS to install the required dependant packages, and configure

the second disk. The oracle-validated.rpm created all the required user

accounts and set all the required OS parameters.

Refer to Oracle Database Installation Guide for information about oraclevalidated.

rpm.

5. Install the Product Software into the VM

Install the software into the VM(s) and perform the required configuration (sizing, data

population). As previously mentioned, if your software installation is completely rpm-based, you

could add it to the list of packages to be installed in the image created by JeOS. But if your

Oracle White Paper—Oracle VM Template Developer’s Guide

13

product installation is not rpm-based, and you need to run your installer, you would run it as a

part of this step.

For the product install, use the disk mounted at the mount point specified during the spec phase

(Step 1). This disk may or may not be formatted with the file system depending on how you

created the template.

Step 5 Example: Oracle Enterprise Manager Agent Template – Install Product Software

We downloaded agent software from the Oracle Technology Network (OTN) and

did an install using silent installation mode (refer to the Oracle

Enterprise Manager Installation Guide).

1)On the product image disk mounted at /u01, create a directory owned by

user ‘oracle’ and group ‘dba’

# mkdir /u01/app

# chown oracle:dba /u01/app

2) Check and configure the hostname, both in file /etc/hosts, and by

using command “hostname”, as the agent installer will check the local

hostname

3)Extract the agent install media from downloaded zip file

Unzip it in <UNZIP_DIR> directory

4) Modify <UNZIP_DIR>/response/additional_agent.rsp, set

BASEDIR=u01/app/oracle/product

sl_OMSConnectInfo={“dummy”, “9999”}

These ‘dummy’ host name and ‘dummy’ port allows to install emagent

without registering to OMS server. This is convenient if you do not have

OMS server installed in your environment. You can specify the values for

real OMS hostname and port if you wish. In this example, we assume that

there is no OMS server available at the template development time.

5) Invoke OUI in silent mode:

# su – oracle

# <UNZIP_DIR>/linux/agent/runInstaller –silent –force -noConfig –

responseFile <UNZIP_DIR>/linux/response/additional_agent.rsp

In the above syntax, -force noConfig is required if you run installer

with ‘dummy’ OMS server.

Oracle White Paper—Oracle VM Template Developer’s Guide

14

6) as root user, run post install scripts

/u01/app/oraInventory/orainstRoot.sh

/u01/app/oracle/product/agent10g/root.sh

6. Identify Actions for Product Software Configuration at Install

Next you need to analyze all the product configuration steps that were required to support

network, storage, or user specific configuration. Specifically, you need to note any items that

would likely need to be reconfigured when the virtual machine is deployed in a new environment

since the networking or storage or hostnames, etc. might be different. Reconfiguration of these

items will need to be provided as a part of your OS or product reconfiguration scripts as

described in section 7 below. Those could include any of the following:

Files with modified content

File and directory names modified

Data entries in the database

Dependencies on other existing environments

Other items specific to the products installed

Step 6 Example: Oracle Enterprise Manager Agent Template – Identify the Reconfiguration Actions

In the case of the Oracle EM Agent, each agent instance has to register

with the OMS (Oracle Management Service) of Enterprise Manager.

Normal EM Agent installation also requires the following data for each

new instance:

·Management Service hostname

·Management Service IP address (if hostname cannot be resolved)

·Management Service Port

·Agent Registration password

Those parameter values need to be obtained from the user at initial

template boot

The configuration file for the EM agent is:

·$AGENT_HOME/sysman/config/emd.properties

Oracle White Paper—Oracle VM Template Developer’s Guide

15

OMS port and OMS hostname values are embedded into URLs for OMS Wallet

Source and OMS repository parameters. Those values need to be replaced at

the template boot to reflect the deployment setting.

It may be helpful to create a table describing the parameter names, their

values, and where they are stored such as is shown below to help keep

track of everything that will need to be addressed in the script(s):

Value Stored in Where / When to

configure

OMS hostname emdWalletSrcUrl parameter emd.properties file

OMS port emdWalletSrcUrl parameter emd.properties file

OMS hostname REPOSITORY_URL parameter emd.properties file

OMS port REPOSITORY_URL parameter emd.properties file

Agent password OMS Database At agent registration

7. Define the Product Specific Reconfiguration Actions

Now that you have analyzed and collected the list of parameters that would need to be set

uniquely for each VM instance created from the template, you need to develop the scripts to

gather the information and set the values. The script should perform the following tasks:

Collect from the user the values for configurable parameters

Perform the software application reconfiguration

Start the software application if applicable

Step 7 Example: Oracle Enterprise Manager Agent Template – Develop The Product Specific

Configuration Scripts

For this EM agent example, the script is called ’emagent-reconfig.sh’ and

should be copied into /u01/. We used this name emagent-reconfig.sh when

we ran the modifyjeos command above in Step 2.

Refer to Appendix A at the end of this paper for the full source code for

the template reconfiguration script for this example.

The script is executed at the first boot of the VM created from the

template. The actions performed by the script are based on data from

Step 6, and consist of three logical parts:

Oracle White Paper—Oracle VM Template Developer’s Guide

16

1. Interactively collect the user’s input using a VNC session brought up

at first boot. Again, the VM console can be accessed by selecting the VM

in Oracle VM Manager and clicking on the ‘Console’ button in the UI.

2. Replace the placeholder strings by real data for parameters defined

in the example in Step 6:

sed -i “/^emdWalletSrcUrl/s|%OMS_HOST%|$OMS_HOST|”

$AGENT_HOME/sysman/config/emd.properties

sed -i “/^emdWalletSrcUrl/s|%OMS_PORT%|$OMS_PORT|”

$AGENT_HOME/sysman/config/emd.properties

sed -i “/^REPOSITORY_URL/s|%OMS_HOST%|$OMS_HOST|”

$AGENT_HOME/sysman/config/emd.properties

sed -i “/^REPOSITORY_URL/s|%OMS_PORT%|$OMS_PORT|”

$AGENT_HOME/sysman/config/emd.properties

sed -i “/^EMD_URL/s|%HOSTNAME%|$(hostname)|”

$AGENT_HOME/sysman/config/emd.properties

Note, that to make this approach work, before you archive the template, you need to substitute the

development VM parameter values in configuration file by placeholders like ‘%OMS_HOST’. This

will be done in steps 8 and 9.

3. Start the EM agent and register it to OMS

After you finish the development and testing of the script, copy it to

/u01.

8. Define the Product Specific Cleanup Scripts

Based on analysis of all the product installation and configuration steps, determine the cleanup

tasks that need to be done. These may include any of the following:

Deleting product installation and other log files

Deleting runlevel startup scripts

Replacing the product parameter values by placeholders in the product configuration scripts

Then, you need to develop the scripts to perform these tasks.

Step 8 Example: Oracle Enterprise Manager Agent Template – Product Specific Cleanup Scripts

Oracle White Paper—Oracle VM Template Developer’s Guide

17

For this EM agent example, the cleanup script is called ’emagentcleanup.

sh’. We introduced this script name, emagent-cleanup.sh, when we

ran the modifyjeos script in Step 2.

Develop the script, and copy it to /u01 directory.

Refer to Appendix B at the end of this paper for the source code for the

template clean up script for this example.

9. Remove Proprietary Files from OS Disk Image & Replace

Parameter Values by Placeholder Strings

If the product is up and running, shut it down cleanly.

Run the JeOS cleanup script

# oraclevm-template –cleanup

The JeOS cleanup script invokes the product specific script (emagent-cleanup.sh in our example).

Hence, all product specific cleanup actions will be done. For example, the used-at-product-install

parameter values will be replaced by placeholders in the product configuration files.

The JeOS script cleans up the OS log files in /var/log, removes the systemid from up2date

configuration file, cleans up the yum caches, DHCP client caches, the root user’s ssh

configuration file and bash history files, removes etc/resolv.conf, resets /etc/hostnames to

default, resets network configuration to DHCP, and, finally, shuts down network service.

Enable ‘oraclevm-template’ service

# oraclevm-template -enable

This will make the template ready for the first boot, i.e. will set the sysconfig flag

/RUN_TEMPLATE_CONF/ to /YES/.

Step 9 Example: Oracle Enterprise Manager Agent Template – Clean Up The Disk Image

Run

# oraclevm-template –cleanup

# oraclevm-template –enable

10. Package the Template

Shutdown the virtual machine

Oracle White Paper—Oracle VM Template Developer’s Guide

18

Copy the virtual machine directory from Oracle VM Server back to the machine where

JeOS kit is installed

Replace the modified vm.cfg file by the original vm.cfg created by JeOS

Zero out the free space in the image files

Archive the template

Step 10 Example: Oracle Enterprise Manager Agent Template – Package the Template

To package the template, you need a root access to Oracle VM server

Shutdown the virtual machine via OVM Manager UI.

Do remote copy of the entire <VM ID>emagent directory content including

vm.cfg, vm.cfg.orig, System.img and Emagent.img back to environment where

JeOS kit is installed. In our example that was OEL 5.2 virtual machine.

From any directory in this virtual, issue

# scp -r root@<Oracle VM Server>:/OVS/running_pool/<VM ID>_emagent

OVM_EL5U2_X86_EMAGENT_PVM

Change the working directory to OVM_EL5U2_X86_EMAGENT_PVM

#cd OVM_EL5U2_X86_EMAGENT_PVM

Replace the vm.cfg file generated by OVM manager by the original vm.cfg

file created by JeOS. The vm.cfg generated by JeOS is the more generic

template vm.cfg file and thus does not contain the MAC address that is

specific to the VM you created for development purposes.

# cp /var/www/html/emagent_templ/vm.cfg vm.cfg

Oracle White Paper—Oracle VM Template Developer’s Guide

19

Zero out image file content:

#modifyjeos –f System.img –zero-out-all

This command will automatically mount all other images that are part of a

template

Convert image files to sparse image format

#cp –sparse=always System.img System.img.sparse

#mv System.img.sparse System.img

#cp –-sparse=always Emagent.img Emagent.img.sparse

#mv Emagent.img.sparse Emagent.img

#cd ..

Archive the template

# tar -czvSf OVM_EL5U2_X86_EMAGENT_PVM.tgz OVM_EL5U2_X86_EMAGENT_PVM

Conclusion

Packaging software as Oracle VM Templates simplifies the product deployment process, saves

time, and improves the end-user’s experience. With Oracle VM Templates, developers can

deliver best practices for software deployment while not restricting users to rigid configurations.

For a broader discussion of Oracle VM Templates, refer to the “Creating and Using Oracle VM

Templates: The Fastest Way to Deploy Any Enterprise Software” white paper.

Also, visit oracle.com/virtualization for more information about Oracle VM.

Oracle White Paper—Oracle VM Template Developer’s Guide

20

APPENDIX A

Source Code for Agent Template Reconfiguration Script, /u01/emagent-reconfig.sh

#!/bin/bash

case “$ORACLE_TRACE” in

T) set -x ;;

*) ;;

esac

# oms_connection function interactively collects user’s input for

# OMS hostname, ip address, password, and port numbers

oms_connection () {

local oms_hostname

local oms_ip

local oms_host

local oms_port

# ask for oms connection information.

echo

echo “Provide Management Service hostname”

while true; do

# oms hostname

while true; do

echo -n “Enter OMS hostname: ”

read oms_hostname

if [ -z $oms_hostname ]; then

continue

Oracle White Paper—Oracle VM Template Developer’s Guide

21

fi

break

done

# if can not resolve the hostname, then request IP address

if ! ping -c 3 $oms_hostname >/dev/null 2>&1; then

echo “*Can not resolve hostname $oms_hostname.”

while true; do

echo -n “Enter OMS IP address: ”

read oms_ip

if [ -z $oms_ip ]; then

continue

fi

break

done

fi

if [ ! -z $oms_ip ]; then

oms_host=$oms_ip

else

oms_host=$oms_hostname

fi

# oms port

echo -n “Enter OMS port: [4889] ”

read oms_port

if [ -z “$oms_port” ]; then

oms_port=4889

fi

# test connection

if ! nc -w 3 -z $oms_host $oms_port >/dev/null; then

Oracle White Paper—Oracle VM Template Developer’s Guide

22

echo “*Can NOT connect to $oms_host:$oms_port, please enter OMS information again.”

oms_ip=

continue

else

OMS_HOST=$oms_hostname

OMS_PORT=$oms_port

if [ ! -z “$oms_ip” ]; then

/bin/cp -f /etc/hosts /etc/hosts.orabak$$

sed -i “/^$oms_ip/d” /etc/hosts

echo “$oms_ip $OMS_HOST ${OMS_HOST%%.*}” >> /etc/hosts

fi

fi

break

done

# enter password

echo

echo “Provide the Agent Registration password so that the Management Agent can

communicate with Secure Management Service.”

while true; do

echo -n “Enter Agent Registration Password: ”

stty -echo

read secure_passwd

stty echo

echo

if [ -z $secure_passwd ]; then

continue

fi

break

Oracle White Paper—Oracle VM Template Developer’s Guide

23

done

SECURE_PASSWD=$secure_passwd

}

# source functions that are part of standard JeOS template

. /usr/lib/oraclevm-template/functions

# ovm_configure_network function is part of JeOS function library

# this function interactively collects user’s input for the

# virtual machine network configuration: IP address, hostname,

# gateway,netmask, DNS

ovm_configure_network

# Reconfigure agent

echo

echo “Reconfiguring Agent…”

# Parameters to be reconfigured

OMS_HOST=

OMS_PORT=

SECURE_PASSWD=

# Get parameter values from user input

oms_connection

AGENT_HOME=/u01/app/oracle/product/agent10g

# replace the placeholder values by the actual OMS hostname, port and virtual machine

hostname in emd.properties

Oracle White Paper—Oracle VM Template Developer’s Guide

24

sed -i “/^emdWalletSrcUrl/s|%OMS_HOST%|$OMS_HOST|”

$AGENT_HOME/sysman/config/emd.properties

sed -i “/^emdWalletSrcUrl/s|%OMS_PORT%|$OMS_PORT|”

$AGENT_HOME/sysman/config/emd.properties

sed -i “/^REPOSITORY_URL/s|%OMS_HOST%|$OMS_HOST|”

$AGENT_HOME/sysman/config/emd.properties

sed -i “/^REPOSITORY_URL/s|%OMS_PORT%|$OMS_PORT|”

$AGENT_HOME/sysman/config/emd.properties

sed -i “/^EMD_URL/s|%HOSTNAME%|$(hostname)|”

$AGENT_HOME/sysman/config/emd.properties

# Reconfiguration of Oracle EM agent is done

# Open ports for Oracle EM Agent and ssh services

system-config-securitylevel-tui –quiet \

–port=3872 \

–port=ssh

# reconfigure and rediscover targets

echo

su oracle -c “$AGENT_HOME/bin/agentca -f -d -t”

# secure Oracle EM agent

echo

echo “Securing Agent…”

su oracle -c “$AGENT_HOME/bin/emctl secure agent $SECURE_PASSWD”

# Start Oracle EM agent

echo

echo “Starting Oracle EM Agent…”

Oracle White Paper—Oracle VM Template Developer’s Guide

25

/etc/init.d/gcstartup start

# create startup script at runlevel 3 5

ln -sf /etc/rc.d/init.d/gcstartup /etc/rc.d/rc3.d/S99gcstartup

ln -sf /etc/rc.d/init.d/gcstartup /etc/rc.d/rc5.d/S99gcstartup

# set env variable for user ‘oracle’

cat >> /home/oracle/.bash_profile <<-EOF

# set environment variables

AGENT_HOME=$AGENT_HOME

ORACLE_HOME=\$AGENT_HOME

JAVA_HOME=\$ORACLE_HOME/jdk

PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH

EM_SECURE_VERBOSE=1

export ORACLE_HOME AGENT_HOME JAVA_HOME EM_SECURE_VERBOSE PATH

alias cdo=’cd \$ORACLE_HOME’

EOF

echo

echo “Reconfiguration of OEL5.2 and EM Agent 10.2.0.4 completed”

press_anykey

Oracle White Paper—Oracle VM Template Developer’s Guide

26

APPENDIX B

Source Code for Agent Template Reconfiguration Script, /u01/emagent-cleanup.sh

#!/bin/bash

AGENT_HOME=/u01/app/oracle/product/agent10g/

# substitute the parameter values by place holders

sed -i \

-e

‘/^REPOSITORY_URL=/s|=.*|=http://%OMS_HOST%:%OMS_PORT%/em/upload|’ \

-e

‘/^emdWalletSrcUrl=/s|=.*|=http://%OMS_HOST%:%OMS_PORT%/em/wallets/emd|’ \

-e ‘/^EMD_URL/s|=.*|=https://%HOSTNAME%:3872/emd/main/|’ \

$AGENT_HOME/sysman/config/emd.properties

# remove log files

rm -f $AGENT_HOME/sysman/log/*

# remove agent’s targets data

rm -f $AGENT_HOME/sysman/emd/upload/*

rm -rf $AGENT_HOME/sysman/emd/state/*

rm -f $AGENT_HOME/sysman/emd/lastupld.xml

# remove the runlevel startup script

rm -f /etc/rc.d/rc3.d/S99gcstartup

rm -f /etc/rc.d/rc5.d/S99gcstartup

Oracle VM Template Developer’s Guide

February 2009

Author: Tatyana Bagerman

Contributing Authors: Wiekus Beukes, Frank

Deng, Van Okamura

Oracle Corporation

World Headquarters

500 Oracle Parkway

Redwood Shores, CA 94065

U.S.A.

Worldwide Inquiries:

Phone: +1.650.506.7000

Fax: +1.650.506.7200

oracle.com

Copyright © 2009, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only and

the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other

warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or

fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are

formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any

means, electronic or mechanical, for any purpose, without our prior written permission.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective

owners.

0109

Technology Analysts Predict Widening Cloud Skills Gap for IT

REDMOND, Wash. — Dec. 19, 2012 — Demand for “cloud-ready” IT workers will grow by 26 percent annually through 2015, with as many as 7 million cloud-related jobs available worldwide, according to an IDC White Paper sponsored by Microsoft Corp. and released today. However, IT hiring managers report that the biggest reason they failed to fill an existing 1.7 million open cloud-related positions in 2012 is because job seekers lack the training and certification needed to work in a cloud-enabled world, according to the IDC White Paper, Climate Change: Cloud’s Impact on IT Organizations and Staffing (November 2012).

In the United States, the IT sector is experiencing modest growth of IT jobs in general, with the average growth in IT employment between 1.1 and 2.7 percent per year through 2020, according to the U.S. Bureau of Labor Statistics. However, amid modest growth of IT jobs, cloud-sector jobs are increasing swiftly. With the workforce unprepared to take on these jobs, there is an urgent need to retrain existing IT professionals and encourage students to pursue cloud-related IT trainings and certifications, according to the IDC White Paper.

“Despite modest growth of the IT sector overall in the U.S., cloud-ready jobs are increasing as we head into 2013, but with this increase comes the harsh reality that workforces around the world are steps behind when it comes to attaining the skills necessary to thrive in the cloud computing industry,” said Cushing Anderson, program vice president, IDC. “Unlike IT skill shortages in the past, solving this skills gap is extremely challenging, given that cloud brings a new set of skills, which haven’t been needed in the past. There is no one-size-fits-all set of criteria for jobs in cloud computing. Therefore, training and certification is essential for preparing prospective job candidates to work in cloud-related jobs.”

The IDC White Paper investigates the impact that cloud computing will have on IT employment around the world and its influence on the way organizations staff their IT departments. IDC interviewed more than 600 hiring managers across the globe for this study.

General Findings

General findings of the IDC White Paper include the following:

• Globally, almost two-thirds of enterprises are planning, implementing or using cloud computing, and more than 50 percent of businesses agree that cloud computing is a high priority.

• However, more than three-quarters of businesses have apprehension about the security, access or data control of cloud computing.

• Lack of training, certification or experience are the top three reasons why cloud positions are not filled.

• However, cloud-related skills represent virtually all the growth opportunities in IT employment worldwide and demand for cloud-related positions will grow by 26 percent annually through 2015.

Regional Findings

Regional findings of the IDC White Paper include the following:

• Although the growth of IT jobs in the United States is slow, the growth picture is better outside the U.S. The overall number of IT positions in end-user organizations globally will grow at a 4.3 percent compound annual growth rate between 2011 and 2015 and reach 29.3 million in 2015, according to IDC.

• North America (U.S. and Canada). According to IDC’s regional forecasts, the U.S. accounted for 62 percent of worldwide spending for public IT cloud services last year, compared with 35 percent of worldwide IT spending in general. Canada will be a much slower adopter of public IT cloud services but a more aggressive adopter of private IT cloud services. Due to Canada’s smaller job base, though, cloud-generated jobs will grow 30 percent faster in Canada than in the United States.

• Emerging markets. The emerging markets of Latin America, Central and Eastern Europe, the Middle East, and Asia Pacific will be home to more than 40 percent of new cloud-related jobs. These markets are predicted to grow at 34 percent annually until 2015.

• Europe, the Middle East and Africa (EMEA). Last year, EMEA’s spending on public IT cloud services was approximately 40 percent of North America’s; however its investment in private clouds was equal to or more than that of North America, illustrating an aggressiveness in moving to private clouds as compared with other regions. In EMEA, IDC forecasts that cloud-related IT jobs will grow by 24 percent per year to about 1.4 million by 2015.

• Asia Pacific (APAC). APAC will adopt private IT cloud services more aggressively than either EMEA or North America. Cloud-related IT jobs will grow at 32 percent per year to more than 2.3 million in APAC by the end of 2015.

Full results of the research, including additional details on global findings and survey methodology, can be found here.

Training and Certification Key to Overcoming the Lack of Cloud-Ready Workers

The shortage of appropriate skilled job candidates to fill cloud jobs is the No. 1 challenge for companies looking to bolster their cloud capabilities, according to the research.

“Cloud computing is crucial to the bottom line of the company — it creates cost savings and efficiencies for companies and their customers,” said IDC’s Anderson. “Therefore, a cloud-savvy workforce is essential to the success of the IT industry’s financial health. In anticipation of the technology evolution to the cloud, Microsoft recently announced that it reinvented certifications specifically for the cloud including the forthcoming certifications in Windows 8, which have cloud computing focus areas. These are more important than ever for current and future technologists who want to gain the skillset needed to work in the cloud and for companies looking to benefit from the cloud.”

For the current workforce, Microsoft launched the Microsoft Virtual Academy making it simple for the active professional to add critical skills. The Microsoft Virtual Academy is a program for IT professionals to gain access to free self-paced training resources using combinations of video and text.

Microsoft is also helping fill the future workforce pipeline by providing training and certification through the Microsoft IT Academy. Ensuring that the next generation of technologists is prepared for the new IT jobs in the cloud, the Microsoft IT Academy program provides middle school, high school and college students with the technology-based skills needed for successful careers in tomorrow’s IT cloud environment. More details on IT Academy are available at http://www.microsoft.com/en-us/itacademy/default.aspx.

“Our Microsoft Virtual Academy and Microsoft IT Academy are examples of our commitment to the current and future workforce,” said Lutz Ziob, general manager, Microsoft Learning. “The opportunity that the cloud presents is significant, and we want to be certain that the workforce has the skills to share in that opportunity. Our goal is to continue to prepare the existing workforce and students for the jobs of tomorrow and empower them to develop their skills as future IT experts, innovators, software developers and beyond.”

Founded in 1975, Microsoft (Nasdaq “MSFT”) is the worldwide leader in software, services and solutions that help people and businesses realize their full potential.

Note to editors: For more information, news and perspectives from Microsoft, please visit the Microsoft News Center at http://www.microsoft.com/news. Web links, telephone numbers and titles were correct at time of publication, but may have changed. For additional assistance, journalists and analysts may contact Microsoft’s Rapid Response Team or other appropriate contacts listed at http://www.microsoft.com/news/contactpr.mspx.

Internet Explorer 10 Guide for Developers

Purpose

The Internet Explorer 10 Guide for Developers provides a look at the developer features included in Internet Explorer 10, as well as the latest HTML5, JavaScript, and Cascading Style Sheets, Level 3 (CSS3) features available to developers of Windows Store apps using JavaScript for Windows 8. By using the documentation and samples in this guide, developers and designers can take full advantage of these new features.

Important   The contents of this guide apply to both Internet Explorer 10 and Windows Store apps using JavaScript for Windows 8, except where noted.

Internet Explorer 10 is available for Windows 8 and Windows Server 2012. Internet Explorer 10 is available as a Release Preview for Windows 7 and Windows Server 2008 R2. For more information about the differences between Internet Explorer 10 for Windows 7 and Internet Explorer 10 for Windows 8, see Internet Explorer 10 on Windows 7.

Listed here are new developer features for Internet Explorer 10. In addition to reading the guide, be sure to see the Release Notes for installation information and known issues, as well as the Internet Explorer Test Drive site for new demos and examples. Download samples and documentation from the Internet Explorer Developer Samples Gallery. You can also obtain detailed technical information about developer features by visiting the Internet Explorer Developer Center and the MSDN Library.

Internet Explorer 10—as well as Windows Store apps using JavaScript—contains support for the following developer features. Except where noted, these features work identically in Internet Explorer 10 and Windows Store apps using JavaScript.

Developer audience

Internet Explorer 10 Guide for Developers is written for use by Web developers and designers, plus those interested in developing for Windows Store apps using JavaScript in Windows 8, to learn about the developer features in Internet Explorer 10.

 
 

 
 

Build date: 11/30/2012

Managing Windows Phones for Hosted Exchange

 

 

Connectivity and synchronization may require separately purchased equipment and/or wireless products (for example, Wi-Fi card, network software, server hardware, and/or redirector software). Service plans are required for Internet, Wi-Fi and phone access. Features and performance may vary by service provider and are subject to network limitations. See device manufacturer, service provider and/or corporate IT department for details.

Available programs, features and functionality vary by device and Windows Mobile operating system version. PowerPoint Mobile available with Windows Mobile 5.0.

The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.

This white paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT.

Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in, or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.

© 2009 Microsoft Corporation. All rights reserved.

The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious. No association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred.

Microsoft, ActiveSync, Internet Explorer, Outlook, SharePoint, Visual Studio, Windows, Windows Mobile, Windows PowerShell, and Windows Server are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Table of Contents

Introduction to Windows Mobile Policy Management in the Hosted Exchange Environment .. 1

Management Summary ………………………………………………………………………………………… 1

Overview ……………………………………………………………………………………………………………. 2

Objectives ………………………………………………………………………………………………………….. 2

Target Audience ………………………………………………………………………………………………….. 2

Using Exchange Server to Manage ActiveSync Policies ……………………………………………….. 3

Exchange Server 2007 ActiveSync Policies …………………………………………………………….. 3

Provisioning the Policies at Exchange Server 2007 ………………………………………………….. 5

Windows Phone Provisioning …………………………………………………………………………………… 14

Phone Provisioning Options ………………………………………………………………………………… 14

CAB/CPF File ……………………………………………………………………………………………….. 14

Exchange ActiveSync …………………………………………………………………………………….. 15

Cold Boot Initialization ……………………………………………………………………………………. 15

Web-based Using HTTP over IP ……………………………………………………………………… 15

SMS Initiated ………………………………………………………………………………………………… 15

USB/Bluetooth ………………………………………………………………………………………………. 15

OMA/DM ………………………………………………………………………………………………………. 15

Configuration Service Providers …………………………………………………………………………… 15

Provisioning Exchange ActiveSync Settings ………………………………………………………….. 17

Auto Discover Feature ……………………………………………………………………………………. 17

XML Provisioning File …………………………………………………………………………………….. 23

Windows Phone Provisioning Web Site …………………………………………………………………….. 24

Overview ………………………………………………………………………………………………………….. 24

Setting Up the Provisioning Web Site …………………………………………………………………… 24

Using the Provisioning Web Site ………………………………………………………………………….. 25

Scenarios ……………………………………………………………………………………………………………… 27

Provisioning a Single User ………………………………………………………………………………….. 27

Provisioning Multiple Users in Bulk ………………………………………………………………………. 27

Appendices …………………………………………………………………………………………………………… 28

Appendix A: How to Create CAB Files for Configuration Settings………………………………….. 29

Appendix B: How to Create Signing Certificates …………………………………………………………. 30

Appendix C: How to Distribute Signing Certificates …………………………………………………….. 32

Appendix D: How to Digitally Sign CAB Files and Contents………………………………………….. 33

Appendix E: Sync CSP for Provisioning EAS……………………………………………………………… 34

Appendix F: How to Enroll for Sending Out Text SMS Messages ………………………………….. 35

Appendix G: Windows Mobile Security Model…………………………………………………………….. 36

Appendix H: Frequently Asked Questions …………………………………………………………………. 39 1

Introduction to Windows Mobile Policy Management in the Hosted Exchange Environment

Management Summary

The current version of the Microsoft® Windows® phone has numerous IT security policies that may be applied and enforced. The policies can be easily managed in the hosted Microsoft Exchange environment.

An additional security requirement is that the initial provisioning of Windows phones in the field must allow the phone to connect seamlessly to the hosted Exchange server. Windows phones have several options for customization of various settings. For example, settings are required for connection to an Exchange server in order to synchronize e-mail messages to the device. The settings may be set locally at the device or remotely Over the Air (OTA).

There is a business need for providing information and tools to facilitate the following objectives:

 Enabling the Hosted Messaging and Collaboration (HMC) or the hosted Exchange environment to manage IT security policies.

 Enabling users to provision Windows phones to connect to Exchange.

 

This white paper provides the information on the process and tools to meet the preceding objectives.

A sample Web site is created as a tool to provision the device for Microsoft Exchange ActiveSync® settings Over the Air (OTA). Sample code is provided for a fully functional Web site. Instructions are provided for installing and operating the Web site. 2

Overview

This document is divided into the following sections:

 Introduction—General overview of Managing Windows Phones for Hosted Exchange.

 Using Exchange server to manage ActiveSync policies—Understanding options for managing IT security policies on Windows phones.

 Windows phones provisioning—Options for phone provisioning.

 Windows phone provisioning Web site—Fully functional examples.

 Scenarios—Explanation of multiple scenarios.

 Appendices—Details for completing tasks, and some additional information.

 

Objectives

 To understand how Windows phone IT policy is managed with Exchange Server.

 To understand available device provisioning options with an emphasis on Exchange Active Sync (EAS) provisioning Over the Air (OTA).

 To learn how to install and use the sample Web site for provisioning EAS settings.

 To obtain the knowledge necessary for basic Windows phone management tasks.

 

Target Audience

This document is designed primarily for Information Technology (IT) professionals who are responsible for planning, deploying, and implementing Hosted Messaging and Collaboration solutions. This white paper may also be useful to Planners, Architects, and independent software vendors. 3

Using Exchange Server to Manage ActiveSync Policies

This section provides an overview of ActiveSync-based policies that can be configured from the hosted Exchange server.

Exchange Server 2007 ActiveSync Policies

Exchange Server 2007 SP1 ActiveSync Policies are divided according to the Client Access Licenses (CAL).

The two CALs are:

 Standard CAL

 Enterprise CAL

 

Following are the policies that are available on Exchange Server 2007 SP1 Standard CAL: Sync

Authentication

Encryption

Configure message formats (HTML or plain text)  

Minimum number of complex characters  

Require signed (Secure/Multipurpose Internet Mail Extensions) S/MIME messages  

Include past e-mail items  

Enable password recovery  

Require encrypted S/MIME messages

E-mail body truncation size  

Allow simple password  

Require signed S/MIME algorithm  

HTML e-mail body truncation size  

Password expiration (days)  

Require encrypted S/MIME algorithm  

Include past calendar items (duration)  

Windows file share access  

Allow S/MIME-encrypted algorithm negotiation  

Require manual sync while roaming  

Microsoft Windows SharePoint® access

Allow S/MIME SoftCerts  

Allow attachment download  

Minimum password length  

Device encryption  

Maximum attachment size  

Timeout without user input  

Encrypt storage card  

Require password  

Require alphanumeric password  

Number of failed attempts  

Policy refresh interval  

Allow non-provisionable devices  

Overview of apps for Office

Overview of apps for Office


Learn how to use apps for Office to extend your Office 2013 applications. You can build this new Office solution type with web technologies like HTML, CSS, JavaScript, REST, OData, and OAuth. The Apps for Office development platform provides new experiences in Office applications by surfacing web technologies and cloud services right within Office documents, email messages, meeting requests, and appointments.

Applies to:  apps for Office | Office 2013 | Office 365 | Excel Web App | Exchange 2013 | Outlook 2013 | Outlook Web App | Project Professional 2013 | Word 2013 | Excel 2013 | PowerPoint 2013 

What is an app for Office?


The apps for Office platform lets you create engaging new consumer and enterprise experiences running within supported Office 2013 applications by using the power of the web and standard web technologies like HTML5, XML, CSS3, JavaScript, and REST APIs. You can use your existing knowledge of these web technologies to quickly build your apps.

An app for Office is basically a webpage that is hosted inside an Office client application. You can use apps to extend the functionality of a document, email message, meeting request, or appointment. Apps can run in multiple environments and clients, including rich Office desktop clients, Office Web Apps, mobile browsers, and also on-premises and in the cloud. After you develop and publish your apps to the Office Store or to an onsite catalog, they will be available to consumers from their Office 2013 applications.

To try out some apps for Word, Excel, Outlook, and Project, see Download and try out some apps in Word, Excel, Outlook, PowerPoint, and Project.

This document provides a quick overview of the apps for Office platform, how an app works inside of an Office application, and how you publish an app to the Office Store or to an onsite catalog for consumers to use. Once you have read this overview, see the section Create your first app for Office .

Anatomy of an app for Office


The basic components of an app for Office are an XML manifest file and a webpage. The manifest defines various settings and points to the webpage that implements the app UI and custom logic, as shown in Figure 1.

Figure 1. Manifest + webpage = an app for Office



The manifest specifies settings and capabilities of the app, such as the following:

  • The URL of the webpage that implements the app UI and programming logic.
  • The app display name, description, ID, version, and default locale.
  • Whether the app can be shown as a task pane, in line with document content, or activated contextually in an email message, meeting request, or appointment.
  • The kinds of client applications (including rich and Web App clients) that an app supports.
  • The permission level and data access requirements for the app.

For more information about the apps for Office manifest, see Apps for Office XML manifest overview and Creating a manifest for a mail app for Outlook

Types of apps for Office


This section provides a quick look at the three basic types of apps for Office: task pane, content, and mail.

Task pane apps

Task pane apps work side-by-side with an Office document, and let you supply contextual information and functionality to enhance the document viewing and authoring experience. For example, a task pane app can look up and retrieve product information from a web service based on the product name or part number the user selects in the document. Figure 2 shows an example of a task pane app.

Figure 2. Task pane app



Content apps

Content apps integrate web-based features as content that can be shown in line with the document. Content apps let you integrate rich, web-based data visualizations, embedded media (such as a YouTube video player or a picture gallery), as well as other external content. Figure 3 shows an example of a content app.

Figure 3. Content app



Mail apps

Mail apps display next to the currently viewed Outlook items: email message, meeting request, meeting response, meeting cancellation, or appointment. They can access contextual information from the item, and then use that data to access additional information on the server and from web services to create compelling user experiences. In most cases, a mail app runs without modification on the Outlook 2013 rich client and Outlook Web App for Exchange 2013 to provide a seamless experience on the desktop, web, and tablet and mobile devices. Figure 4 shows an example of a mail app.

Note

Mail apps require Exchange 2013. POP and IMAP email accounts are not supported.

Figure 4. Mail app



Supported applications

One big benefit of apps for Office is that they can be supported both on Office 2013 rich clients and some corresponding Web Apps. To the developer, this means in many scenarios there is no need to create separate apps for the two different environments or applications. To the end user, it means a consistent user experience across the desktop and web browser.

For task pane apps, this means the same app can run on Excel, Word, and Project. For mail apps, this means the same app can work for Outlook on the desktop, tablet, and mobile devices.

Table 1 shows the Office client applications (including rich and Web App clients) that support apps for Office, and which types of apps are supported by each Office client.

Table 1. Supported app types

Application

Supported types

Excel 2013

  • Task pane
  • Content

Excel Web App

  • Content

Word 2013

  • Task pane

Outlook 2013

  • Mail

Outlook Web App

  • Mail

Project Professional 2013

  • Task pane

What can an app for Office do?


An app for Office can do pretty much anything a webpage can do inside the browser, such as the following:

  • Provide an interactive UI and custom logic through JavaScript.
  • Use JavaScript frameworks such as jQuery.
  • Connect to REST endpoints and web services via HTTP and AJAX.
  • Run server-side code or logic, if the page is implemented using a server-side scripting language such as ASP or PHP.

And, like webpages, apps for Office are subject to the same restrictions imposed by browsers, such as the same-origin policy for domain isolation, and security zones.

In addition to the regular capabilities of a webpage, apps for Office can interact with the Office application and the user’s content through a JavaScript library that the apps for Office infrastructure provides. The specifics of this interaction depend on the type of app, as follows:

  • For task pane and content apps, the API lets your app read and write to documents, as well as handle key application and user events, such as when the active selection changes.
  • For mail apps, the API lets your app access email message, meeting request, and appointment item properties, and user profile information. The API also provides access to some Exchange Web Services operations. For a summary of top features of mail apps, see Fundamentals for developing mail apps in Outlook.

Understanding the runtime


Apps for Office are secured by an app runtime environment, a multiple-tier permissions model, and performance governors. This framework protects the user’s experience in the following ways:

  • Access to the host application’s UI frame is managed.
  • Only indirect access to the host application’s UI thread is allowed.
  • Modal interactions are not allowed.

Further, the runtime framework provides the following benefits to ensure that an app for Office can’t damage the user’s environment:

  • Isolates the process the app runs in.
  • Doesn’t require .dll or .exe replacement or ActiveX components.
  • Makes apps easy to install and uninstall.

Also, the use of memory, CPU, and network resources by apps for Office is governable to ensure that good performance and reliability are maintained.

For more information about the apps for Office privacy and security model, see Privacy and security for apps for Office.

The following sections briefly describe how the runtime architecture supports running apps in Office rich client applications versus Office Web Apps.

Rich clients

In supported rich clients, such as Word, Excel, and Outlook, apps for Office are supported by integrating an in-process component, the apps for Office runtime, which manages the app lifecycle and enables interoperability between the app and the client application. The app webpage itself is hosted out-of-process inside a web browser control which, in turn, is hosted inside an app runtime process that provides security and performance isolation. The apps for Office runtime manages interprocess communication, the translation of JavaScript API calls and events into native ones, as well as UI remoting support to enable the app to be rendered inside the document, in a task pane, or adjacent to an email message, meeting request, or appointment.

Figure 5 illustrates the components (Apps for Office runtime, host process, and JavaScript API) that are provided to support apps for Office running in Office rich client applications.

Figure 5. Apps for Office rich client runtime environment



Web Apps

In supported Web Apps, such as Excel Web App and Outlook Web App, apps for Office are hosted in an iframe that runs using the HTML5 sandbox attribute. ActiveX components or navigating the main page of the Web App are not allowed. Apps for Office support is enabled in the Web Apps by the integration of the JavaScript API for Office. In a similar way to the rich client applications, the JavaScript API manages the app lifecycle and interoperability between the app and the Web App. This interoperability is implemented by using a special cross-frame post message communication infrastructure. The same JavaScript library (Office.js) that is used on rich clients is available to interact with the Web App. Figure 6 illustrates the infrastructure that supports apps for Office in the Office Web Apps (running in the browser), and the relevant components (the Web App, iframe, apps for Office runtime, and JavaScript API for Office) that are required to support them.

Figure 6. Infrastructure that supports apps for Office in Office Web Apps Preview



Development basics


To create apps for Office, you can use any application that can save a file as text. But, you can create an app for Office more easily in the “Napa” Office 365 Development Tools web-based development environment or in Visual Studio 2012 by using its project templates, development environment, and debugging tools.

Basic components of an app for Office

To create an app for Office, at minimum, a developer must create an HTML webpage and a manifest file. The HTML page can be published to any web server. The manifest file must point to the location of the webpage and be published to any of the following locations: the public Office Store, an internal SharePoint list, or a shared network location.

The most basic app for Office consists of a static HTML page that is hosted inside the task pane of an Office application, but does not interact with either the Office document or any other Internet resource. Figure 7 shows the components of a basic “Hello World” app for Office.

Figure 7. Components of a Hello World app for Office



Creating an app for Office by using “Napa” Office 365 Development Tools

Perhaps the quickest way to build an app for Office is directly out of a browser. You can do this by using “Napa” Office 365 Development Tools. “Napa” Office 365 Development Tools is web-based development environment that lets you create projects, write code, and run your apps all within the browser. There is no need to install any other tools such as Visual Studio. To learn more, see Create apps for Office and SharePoint by using “Napa” Office 365 Development Tools.

You can begin developing apps for Office by using “Napa” Office 365 Development Tools and then open these projects in Visual Studio 2012 if you decide that you want to leverage features such as advanced debugging or the ability to use a web project as part of your app for Office.

Creating an app for Office by using Visual Studio

The most powerful way to build an app for Office is to use the App for Office project template in Visual Studio 2012. Just make a few selections in a wizard. Visual Studio creates a complete solution that contains all of the files that you need to begin testing your app in Office immediately. Visual Studio provides a full range of features to make it easy for you to develop and test apps for Office.

The figure 8 below shows you some of the features that help you develop app for Office.

Figure 8. Visual Studio environment



  • Get started quickly with a complete Visual Studio solution.

    Your solution contains a prepopulated XML manifest file, script libraries, styles sheets, starter HTML and JavaScript files that you can use to get started quickly. The starter HTML file contains a reference to style sheets that enable you to develop a page that has the look and feel of Office. This page also refers to other important files such as a default JavaScript file that you can use to add your JavaScript code. The default JavaScript file contains sample code to help you get started with the JavaScript API for Office.

  • Edit the XML manifest file by using an editor.

    Modify the most common settings of your app by using a convenient property page-like editor. As you interact with the editor, Visual Studio updates the XML manifest file in your app project for you. You can also edit the XML manifest file directly. The editor and the XML manifest file remain in sync.

  • Quickly uncover validation errors.

    Validation errors appear in the code editor as well as in the ERRORLIST window. In the code editor, you can point to a validation error to view a tooltip that describes the error.

  • Discover objects in the JavaScript API for Office by using IntelliSense.

    When you type the name of an object in the JavaScript API for Office, lists of all valid objects or members appear in a drop-down list. You can scroll through the list or type the first few letters of a member to move to that member in the list. As you highlight items in the drop-down list, IntelliSense displays information about the object or parameters.

  • Find and fix issues quickly by using the Visual Studio debugger.

    When you start the solution, Visual Studio opens the Office application for you. Depending on the type of app for Office you create, Visual Studio automatically shows the app in the Office application. To find and fix issues in your app, set breakpoints, interact with the app, and then step through your code.

  • Package your app for publishing by using the publish wizard.

    When you are ready to publish your app for Office, just make a few selections in the publish wizard. Visual Studio generates all of the files that you need to publish the app to the SharePoint corporate catalog, the Office store, file catalog share, or Exchange catalog.

JavaScript API for Office

The JavaScript API for Office consists of members of the Microsoft.Office.WebExtension namespace (which by default is accessed by using the Office object in code) contains objects and members for working with apps and the content they can interact with programmatically. For more information about the JavaScript API for Office, see Understanding the JavaScript API for Office and the JavaScript API for Office reference.

Create your first app for Office


The following topics show you how to create “Hello World” and other simple apps for Office by using either Visual Studio or a text editor:

Publishing basics


You can publish apps for Office to four distribution end-points:

  • Office Store—This is a public marketplace that Microsoft will host and regulate on Office.com. In the Office Store, developers around the world can publish and sell their custom Office solutions, and then end users and IT professionals can download them for personal or corporate use.

    When a developer uploads an app to the Office Store, Microsoft validates the code. For example, it verifies that the app manifest markup is valid and complete. If the code is valid, Microsoft digitally signs the app package. The Office Store then takes care of the consumer download experience from discovery to purchase, upgrades, and updates.

  • Apps for Office catalog on SharePoint—For task pane and content apps, IT departments can deploy private app catalogs to provide the same app acquisition experience that the Office Store provides. This new catalog and development platform enables IT departments to use a streamlined method to distribute apps for Office and SharePoint to managed users from a central location.

    App catalogs are available to all SharePoint 2013 customers (including Office 365 and SharePoint on-premise). An app catalog enables publishing and management of both internally created apps as well as apps that are available in the Office Store and licensed for corporate use.

  • Exchange catalog—This is a private catalog for mail apps that is available to users of the Exchange server on which it resides. It enables publishing and management of corporate mail apps, including internally created apps as well as apps that are available in the Office Store and licensed for corporate use.
  • Network shared folder app catalog—IT departments and developers can also deploy task pane and content apps to a central network shared folder, where the manifest files will be stored and managed. Users can then acquire apps by specifying this shared folder as a trusted catalog, or IT departments can configure this shared folder as a trusted catalog by using a registry setting.

For more information, see Publish apps for Office.

Scenarios


The following scenarios show that apps for Office are targeted, quick-hit apps that can be used to solve complex, time-consuming problems.

These scenarios suggest ways in which you can, for example, surface line-of-business data and drive adoption of structured business processes in the familiar Office UI across multiple devices. They suggest how you could use an expense-managing app that connects Office, SharePoint, and SAP, or create an app that combines sales data with maps from the Bing Maps web service to create more effective sales reports. They show how you can unlock the return on your existing investments, such as enterprise resource planning (ERP) and customer relationship management (CRM) applications, by spending less time navigating to and from these applications from an Office client.

Scenarios include:

  • Translation wizard—A Word task pane app that automatically translates selected text from the document language to another language selected from a drop-down list.
  • Chart creation—An Excel content app that builds a chart automatically from selected data.
  • Third-party service integration—A Word or Excel task pane app that automatically displays the Wikipedia page that corresponds to selected text.
  • Rich mash-ups—A Bing map content app in Excel that plots the offshore equipment and resource locations for a petroleum company, including getting this information in real time from the company resource-management system.
  • Spec validation—A section or paragraph of a design specification for an aircraft component is flagged as outdated, because a Word task pane app that communicates with a business system to validate the contents against the latest spec.
  • Order details surfaced in context—A mail app that detects a purchase order number or customer number embedded in an email message and presents details of the order or customer in the message. This could include an action to take, such as approval.

Components of an app for Office solution


A typical app for Office solution involves the following components:

  • A client device—which can be a desktop, laptop, tablet PC, or mobile phone (Outlook only)—on which the supported Office rich client or Web App runs.
  • For Excel, Project, or Word:
    • A document, workbook, or project.
    • A task pane or content app that the user installed from the public Office Store or from a private SharePoint or file-based app catalog.
  • For Outlook:
    • The user’s email account and mailbox, which resides on an Exchange Server.
    • A mail app that the user or Exchange Server administrator installed through the Exchange Admin Center (EAC).

Note

The user’s installation of an app for Office consists of a pointer to an XML manifest file, which specifies the URL from which to load the app webpage and script at run time.

For all supported Office applications, the implementation of the app for Office itself consists of the following server-based components:

  • An XML manifest file which resides on a public or private app catalog.
  • The app HTML, CSS, and JavaScript files, which the developer creates and which reside on a web server.
  • The JavaScript library files, such as JavaScript API for Office (Office.js) and the Microsoft AJAX Library (MicrosoftAjax.js), which Microsoft provides. The app accesses the JavaScript library files from content delivery network (CDN) URLs, as specified in its HTML file.

When a user starts an app for Office in a supported Office rich client or Web App, the following events occur:

  1. When a supported Office application starts, it reads the XML manifests for the apps that have been installed for or by the user.
  2. For Excel, Project, or Word: When a user inserts or opens a document that contains an app, the Office application loads the app, making its UI visible in the user interface.

    For Outlook: Whenever the current Outlook context satisfies the activation conditions of an app, Outlook activates the app, making its UI visible in the user interface.

  3. The Office application opens the HTML page in a web browser control (rich client) or an iframe (Web App). The web browser control uses Internet Explorer 9 or later components and provides security and performance isolation.
  4. The browser control or iframe loads the HTML body, and calls the event handler for the onload event.
  5. The apps for Office framework calls the event handler for the initialize event of the Office object.
  6. When the HTML body finishes loading and the app finishes initializing, the main function of the app can proceed.

Software requirements


Server

To test and run any kind of app for Office, you need the a web server, such as Internet Information Services (IIS) 7.5 in Microsoft Windows Server 2008 R2, to host the webpage files for the UI of the app. To test and run task pane and content apps for Word, Excel, or Project, you also need a network file share or an app catalog on SharePoint Server 2013 to host the XML manifest files.

Note

When you develop and debug an app in Visual Studio 2012 by using the Office Developer Tools, Visual Studio runs the webpage files for the UI of an app locally, and doesn’t require an additional web server.

To test and run mail apps for the Outlook rich client or Outlook Web App, you also need Exchange 2013, which is available through Exchange Online or on premises. The user’s Outlook email account must reside on an Exchange 2013 server, and you install manifest files for mail apps on that server.

Note

POP and IMAP email accounts in Outlook do not support apps for Office.

Client: desktop and Windows tablet form factors

The following software is required for developing an app for Office for the supported Office rich clients or Web Apps that run on desktop, laptop, or Windows tablet devices:

  • Microsoft Windows 7, or designated pre-release builds of Microsoft Windows 8 that support Office 2013. If you are using Windows 8, be sure to use the 32-bit version of Office 2013 (build 3612.1001 or later) on either the 32-bit or 64-bit version of Windows 8 (build 8158.7.111205-1900).
  • Microsoft Internet Explorer 9 or later, which must be installed but doesn’t have to be the default browser. To support apps for Office, Office 2013 uses browser components that are part of Internet Explorer 9 or later.
  • One of the following as the default browser: Internet Explorer 9, Safari 5.0.6, Firefox 5, Chrome 13, or a later version of one of these browsers.
  • An HTML and JavaScript editor such as Notepad, Microsoft Visual Studio, or a third-party web development tool.
  • Excel 2013, Outlook 2013, Project 2013, or Word 2013 if you are testing or running an app for Office specifically for one of these Office rich clients. Office rich clients can be installed on premises or via Click-to-Run on the client computer.

Client: mobile and non-Windows tablet form factors

Specifically for Outlook Web App running in a browser on mobile and non-Windows tablet devices, the following software is required for testing and running mail apps.

Mobile or tablet device

Operating system

Mobile browser

iPhone 4, iPad 2, iPod 4, or iPod Touch

iOS 5

Safari

Mobile and tablet devices that support the specified versions of Android

Android 2.3 and above

 

How Technology is ChangingSocial Media Marketing

How Technology is Changing

Social Media Marketing

Three ways social software harnesses the power of scale

Contents

executive summary………………………………………………………………………………………………………………………… 1

INTRODUCTION…………………………………………………………………………………………………………………………………. 2

STRATEGIC PLANNING……………………………………………………………………………………………………………………….. 2

A pricey proposition………………………………………………………………………………………………………………..2

A n eye to the future………………………………………………………………………………………………………………..2

St rategic advantages built right in……………………………………………………………………………………..3

ORGANIZATIONAL EFFICIENCY……………………………………………………………………………………………………………..4

Mountain Dew…………………………………………………………………………………………………………………… 4

Harness the full power of scale……………………………………………………………………………………………5

Annie’s Homegrown…………………………………………………………………………………………………………..5

St retch your editorial resources………………………………………………………………………………………….6

The Washington Redskins…………………………………………………………………………………………………….. 6

SOCIAL MEDIA RESULTS……………………………………………………………………………………………………………………… 7

G et optimal results with optimized technology.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

Y ou can’t fix what you can’t measure…………………………………………………………………………………….8

S ix methods for measuring social.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Measure, monitor and analyze……………………………………………………………………………………………….9

Esurance……………………………………………………………………………………………………………………………. 9

CONCLUSION……………………………………………………………………………………………………………………………………. 9

executive summary

A healthy and growing fanbase is a social marketer’s dream come true. But, keeping all your fans

happy can quickly become a nightmare. Attention spans in the social space are short, and the

impact of any single interaction is fleeting at best. There’s simply no way around it, ongoing social

success demands a constant churn of unique and engaging content. How do leading social brands

keep it up day after day?

The solution is technology. And in the world of social marketing, technology is all about

the power of scale.

Marketing automation is finally catching up to the business technology curve, and some of the

most exciting and valuable advances are in social marketing software. As a marketer, it’s critical

for you to sit up and take notice, not only because technology can make your job easier and more

productive, but also because your influence over the technology you use is growing dramatically.

According to Gartner, 2011 B2B and B2C marketing budgets as a percentage of revenue were

almost three times as high as IT budgets, and the gap was expected to grow in 2012. Marketing

already makes 30% of its own technology purchases and influences almost 50% overall. What’s

more, by 2017 Gartner expects that CMOs will be spending more on IT than CIOs do.1

Because your role as a technology influencer and decision maker is growing, it’s more important

than ever that you understand exactly how different technology choices can affect your resources

and your results. To that end, this paper explains how social marketing technology allows you to

do more faster, at a lower cost, with better results, and greater insight. We explore the top three

ways you can use technology to empower social marketing managers and bolster a growing brand.

And we look at specific examples of how four leading brands use technology to help their social

marketing fly.

1 G artner, “By 2017 the CMO will Spend More on IT Than the CIO,” January 2012

By 2017 CMOs will spend more on IT than CIOs do.

1

Whitepaper | How Technology Can Take Your Social Where It’s Never Been Before

2

them? How can you use your planning tools most effectively?

How do you measure your results and benefit from what

you’ve learned?

A pricey proposition

If you turn to third-party consultants for their expertise, all

that strategizing becomes a pricey proposition. Social media

consulting fees can run up to $500 per hour, and monthly reports

and advisement can result in an annual fee upwards of $90,000.2

And keep in mind; those expenses are in addition to any

development and on-going management fees for social channels.

The right social marketing software will include the same or

better strategic consulting services at little or no extra cost.

Remember, a third-party consultant is happiest when you’re

paying for their help on a repeat basis. Having customers who

are satisfied all the time, on the other hand, motivates a good

social software-as-a-service business. When you’re using a social

technology to its full potential and growing your business as

a result, you’re more likely to expand your use of the product

and recommend it to others. Your success is a win/win for you

and the software vendor, so it’s in the vendor’s best interest to

provide efficient, high-quality strategic resources and advice.

An eye to the future

When choosing your social technology keep in mind that the

social media landscape is changing daily. That means your social

software should be forward-looking and strategic by its very

nature. Your vendor should have more than a great product

right now; it should also have a compelling vision of where

social marketing is headed and a plan to get you there. The best

social software:

• Quickly adapts to incorporate important new social networks

• Always complies with current social network formats and

requirements

INTRODUCTION

A post, a tweet, a pin, or an update are all simple and speedy

enough tasks to complete. But the social audience is a hungry

beast, and once you start feeding it you can’t afford to stop.

When you’re just getting started with social marketing, it may be

simple enough to log onto the separate social networks and create

every interaction by hand. But, if you’re doing social right, your

brand will soon gain traction, your fans will multiply, engagement

will increase, and the demand for content will take off.

Active social brands quickly learn that content demand always

outpaces content resources, which means you need to make

your processes more efficient and enable your team to work

faster. You need systems in place that seamlessly expand your

brand into new networks, regions and markets. You want to be

able to work quickly and efficiently with other departments or

sub-brands and with outside partners. And when employees are

busy with other projects, take a vacation, or move on to other

positions, you have to be sure new people can step in without

skipping a beat.

There are an incredible number of moving parts in almost any

social marketing initiative. But, to successfully grow a brand,

social media managers must be able to focus most of their

energy on the bigger social strategy instead of on the processes

and logistics of individual executions. This paper is organized

around the three key areas where technology can make that

happen: strategic planning, organizational efficiency and

social media results.

STRATEGIC PLANNING

With time and resources at a premium, every significant

social marketing effort should be planned carefully. Not just

to maximize its own results, but also to further the brand’s

overarching social strategy.

The questions you should ask are many, and the answers

are constantly changing: What campaign concepts are most

compelling? What best practices should you use to implement

2 Mack Collier, “Cost of Social Media in 2012,” January 2012

Escape supports all leading social networks,

including Facebook, Twitter, Google+,

LinkedIn, YouTube and Pinterest.

Escape clients get:

• A Escape strategist as part of your contract

• A quarterly review

• 3–6 white papers per quarter

• 3–6 webinars per quarter

3

Localizing a single campaign by hand is essentially the

same as launching multiple campaigns at once, which is a

time-consuming and tedious task. But localization is easily

manageable with the proper technology. Instead of launching

five campaigns in five different languages, you can launch one

campaign, with all of the relevant creative assets stored, that

automatically and dynamically adjusts itself to the relevant

language. Automated scheduling also allows you to post content

at the most ideal time anywhere in the world.

Compliance and regulation

If you’re like most people, you’ve signed up for so many online

accounts that you click right through the terms of agreement

without even realizing they’re there. When it comes to your

brand’s social properties, though, you need to pay attention.

Facebook’s terms provide a prime example of what’s at stake

and how complex the rules can be. To protect the reputation

and integrity of its social network, Facebook’s regulations

consist of thousands of words of legalese, all of which have

direct impact on the governance of your page and its social

activities. Items covered include everything from who may

access your pages to page naming conventions to how you

design your cover photos.

Every social network that your brand uses has its own set of

rules and regulations, and they all change constantly to keep

up with government requirements, product updates and other

developments. If you fall out of compliance, the pages that you’ve

labored on building up for months (and longer) can be removed

• Gives you timely social best practices resources like webinars

and white papers

• Provides strategists who are well versed in developing social

trends and how you can capitalize on them

Strategic advantages built right in

Some aspects of strategy are more technical than analytical, and

the best social technologies handle such issues automatically.

Two areas in particular where strategic functionality should be

built right into your technology are localization and compliance.

Localization

Every social marketer should be thinking about the future,

about expanding their brand into new markets or regions on

the way to becoming a 24/7 global brand.

You never know where you might find your next great customer

or market, and social media can give you efficient low-cost access

to people you might not be able to reach any other way. For

example, Argentina, Brazil and India may be beyond your physical

reach, but they also have the highest penetration of social

network usage plus the highest usage frequency and intensity. 3

But, to go global you need to localize your content. For starters,

you should speak your audience’s language—in Europe, for

instance, nine out of ten Internet users prefer browsing in their

own language.4 For maximum relevancy, you also want to be

sure you’re targeting the right audience at the right time with

the right message.

3 I nSites Consulting, “Social Media Around the World 2012,” September 2012

4 E uroBarometer, “User Language Preferences Online,” May 2011

Qatar ran a global social media campaign with Escape in five languages and

grew its community by 150,000 new fans in 30 days.

Social marketing software ensures that pages and applications stay in

compliance with constantly changing social network requirements.

Whitepaper | How Technology Can Take Your Social Where It’s Never Been Before

4

You could tackle your campaigns one at a time using an agency

or in-house resources, but that’s an extremely time-consuming

and expensive approach. One Industry survey showed that the

typical agency cost of a short-term (1-3 month) social media

campaign in 2012 was between $1,500 and $20,000. A long-term

(3–6 month) campaign averaged between $25,000 and $75,000.6

The right technology not only makes it incredibly faster and

easier to create a campaign, it also allows you to run as many

campaigns as you want at a lower cost. Better still, the value you

receive goes far beyond just the value of the digital assets that

are created for a given campaign. The best social software helps

minimize or eliminate development costs, agency fees, strategy

consultation fees, and maintenance and management fees. And

it allows you to simplify processes, replicate procedures, and

easily create workflows.

With full functionality software, you can efficiently create

integrated campaigns across social networks by building pages,

scheduling and sending messages, running ads and viewing

results from a single interface. You’ll be able to deploy the same

content across multiple networks or create custom content

targeted to individual networks. And you can create custom

workflows that automatically notify team members when their

input and approval is needed to keep a project moving.

Mountain Dew

Mountain Dew, the popular soft drink brand owned by PepsiCo,

learned about the power of scalability when it wanted to launch

what it expected to be a simple promotion. Mountain Dew

had 80 Diet Dew bean bag chairs it wanted to give away to

customers, but was surprised to find out it was going to cost

tens of thousands of dollars to run a single contest.

Then Mountain Dew discovered that Escape’s technology

could help its social team do far more while spending less.

Escape gave them unlimited access to create multiple pages

in an instant, and the communities you’ve grown around them

can disappear. The best way to avoid this disastrous scenario is

to use social software that stays on top of the latest requirements

for you and has compliance built right in.

The best social software vendors constantly monitor social

network requirements and update their products accordingly.

To the extent that it’s possible, they prevent you from making

mistakes that put your social campaigns and communities at

risk. On the other end of the spectrum, they optimize templates

and functionality so you can quickly and easily exploit any

activities that are permitted.

ORGANIZATIONAL EFFICIENCY

Any marketer who tests the social waters realizes quickly

that there’s much more to social marketing than posting a

pithy comment whenever inspiration strikes. In fact, 59% of

marketers work on social more than 6 hours every week,

33% spend over 11 hours weekly, and 15% dedicate a full

20 hours or more to social efforts every week.5

Even if you’re part of the 59% right now, you’ll need to commit

more attention to your social initiatives to keep them healthy

and on track as they begin to gain traction. And the more

successful your efforts, the more complex the challenges you’ll

face. For example:

• What content will be most effective and where will you get it?

• How should you schedule your messaging?

• Who’s going to have editorial oversight?

• How long is it going to take to get everything created,

approved and ready to go?

5 S ocial Media Examiner, “2012 Social Media Marketing Industry Report,” April 2012

6 Mack Collier, “Cost of Social Media in 2012” January 2012

59% of marketers work on social for 6 hours or more every week.

Cost of social campaigns without the

scale of social software:

Short-term campaign: $1,500 to $20,000

Long-term campaign: $25,000 to $75,000

5

and promotions across all the most popular social networks.

Plus, Escape’s technology came with unlimited user accounts

and built-in creative and technical services. Mountain Dew

also gained powerful analytics and the ability to free up brand

managers by letting them schedule posts ahead of time.

Harness the full power of scale

When it comes to organizational efficiency, social software adds

value in more ways than we can list here. To identify the greatest

benefits in simplest terms, though, we say that technology helps

you scale your content and scale your resources.

The one thing that can’t be stressed enough is this: The key to

social success is a constant churn of fresh and original content.

To maximize engagement, you need to create, launch and

maintain lots of great content all the time.

Basic communications like posts and tweets are an important

part of any ongoing social conversation. But, if you’re going to

grow and engage fans and followers and encourage sharing,

it’s essential to up the ante with a regular stream of fun and

rewarding interactive experiences such as polls, surveys,

contests and giveaways.

Creating a rich interactive experience from scratch is extremely

time and resource intensive, but social software makes it easy to:

• Launch a variety of campaigns on a variety of channels

• Keep the content visually appealing and on brand

• Create unique and memorable experiences

• Capture user data

Social software provides all the templates you need to create

customized tabs and applications for your social properties.

And these templates are already fine-tuned to optimize the

placement and impact of your interactive content.

Tabs allow you to add depth to your existing social channels by

including multiple landing pages and experiences on each site.

Applications let your users interact with your content and let

you capture user data so you can follow up with participants,

identify influencers, and gather information to build moreprofitable

relationships.

Annie’s Homegrown

Annie’s Homegrown is an organic and all natural foods company

based in Berkeley, California and is best known for its bunnyshaped

macaroni and cheese. To celebrate its new Rising Crust

Pizza, Annie’s sent a fully equipped pizza truck on a cross-country

Slice of Happiness Tour and promoted the event on Facebook.

To create its Facebook promotion, Annie’s combined two of

Escape’s 90+ page and app templates. When users clicked on

the “Request a Stop” tab on Annie’s main Facebook page they

were taken to a customized landing page where an entertaining

YouTube video explained what the tour was all about and

encouraged them to participate.

Beneath the video viewers could enter their information and

request a special detour of the pizza tour. If you were one of the

lucky winners, Annie’s rerouted its pizza truck to your town and

served up a pizza party for 120 people. The tour was a big hit,

generating over 325,000 likes.

Mountain Dew used Escape to run a sweepstakes that took users from Twitter

to Facebook.

Annie’s Homegrown used Escape templates to promote a crosscountry

pizza party contest on Facebook.

Whitepaper | How Technology Can Take Your Social Where It’s Never Been Before

6

Stretch your editorial resources

Once you’ve figured out how to keep your inspired content

coming, you’re well armed for social success. But the battle is

far from over. In fact, it never ends. Every piece of content you

create is simply an invitation for engagement, just one step in

what you hope to be an ongoing relationship that’s rewarding

for both you and your customers.

Your goal is to spark relationships and then keep them going

strong, but the sheer volume of content it takes just to get

things started can make it nearly impossible to keep up with

the responses. Here’s what you’re up against:

• On average, every enterprise brand of 1,000+ employees has

178 corporate-owned social media accounts.7

• Businesses with over 40 different landing pages generate 10X

more leads than those with only 1–5 landing pages.8

• 70% of all fan questions posted to social media channels are

not responded to by brands. 9

These numbers raise three key issues that technology can help

you address:

1. Most brands have very few people responsible for managing

an overwhelming number of social accounts.

2. The payoff for creating numerous landing pages can be

huge, even if the pages vary only slightly in messaging or

other elements.

3. A staggering potential for social return on investment (ROI) is

being wasted, because social teams don’t have the resources

to follow up on the majority of conversations they initiate.

Social software can help you address these issues by making the

most of every resource available to your social team.

Use access control to increase your resources. Social software

allows you to give different team members different roles

and permissions, so you can maximize your resources while

protecting your brand. In other words, you can assign specific

responsibilities without providing unlimited access to your social

properties. For instance, you don’t want an intern responding

directly to customer comments or questions. But, you can use

that same intern to sort through the messages and queue

them up, making it easier for a senior member of your team to

respond quickly and appropriately.

Scale your messages. With the right software, you can create

content once and then post it simultaneously across multiple

pages and networks. A single person can add fresh content

to numerous accounts as quickly and easily as updating a

single account. And creating and maintaining multiple landing

pages requires a fraction of the work it would take if they were

developed one at a time. Flexible templates allow you to quickly

customize and go live after adding just your logos, images and

text—or they let you access the code and get more creative if

you have the time and need.

Filter conversations for specialized attention. Not all

conversations are created equal. You’d like to answer every

question and acknowledge every comment, but some you’ll

never get to. Others, you simply can’t afford to ignore. Software

filters let you use keyword or moderation checklists to flag the

messages that absolutely demand your attention. You can put

out fires like unhappy customers, or snap to attention if a hot

lead comes along.

The Washington Redskins

The National Football League’s Washington Redskins have some

of the most faithful fans you could wish for. The team has sold

out every home game since 1968 and has broken the NFL’s

attendance record for the last nine years running.

In a football season with new games and plenty of surprises

every week, the Redskins often need to turn on a new promotion

in a matter of days to stay relevant to their fans and provide the

excitement and sense of community fans are looking for. “If we

didn’t have a platform like Escape,” says the Redskins top social

strategist, “we’d have to spend a lot of lead time to build out

these pages, and that could take a month or more.”

7 A ltimeter, “A Strategy for Managing Social Media Proliferation,” January 2012

8 E consultancy, “The Inbound Marketing Explosion,” March 2012

9 Simply Zesty, “70% Of Brand Fan Questions On Social Media Aren’t Responded To – Live at Le Web ’12,” June 2012

Escape clients:

• Save hours per day using geo-target presets

• Can schedule a month’s worth of content in

just a few planning sessions

• Receive unlimited access to Pages and

Promotions as part of a monthly fee

7

Prior to using Escape, the Redskins were also impacted by an

artificial resource crunch. Because Administrator was the only

role available to access the social accounts, the social team had

to be very careful about who could do hands-on work. Now

that Escape provides different levels of permission, the social

team can open up different roles to interns, designers, staff,

and even partners. With more people on the job, the Redskins

can respond to opportunities faster and make the best use of

all their resources.

SOCIAL MEDIA RESULTS

By efficiently scaling your efforts, social software provides

the immediate reward of reaching a larger audience. But it also

delivers better results in two additional ways that are equally

important. First, it helps increase lead generation, brand reach,

and brand advocacy by optimizing the technology that you use

to run your campaigns. Second, it provides comprehensive

and integrated measurement and analysis tools that give you

insight into your results, so you can continually adjust your

strategy and increase your success.

Get optimal results with optimized technology

When you work with an internal team or a third-party agency

to build complicated and customized one-use applications,

you may end up with a social campaign that looks great on

your desktop but falls apart online. There’s simply no way to

thoroughly test one-off applications and optimize them for

the best user experience. When they go live, these pages or

applications may even break due to unforeseen code changes

made by the social platforms themselves.

The result can be an awkward and inconsistent user experience

that causes users to abandon a campaign before they even

enter. Many custom applications also lack an optimized viral

functionality, and that means participants can’t easily share

the campaign with their friends and followers. Either one of

these issues can seriously slow the momentum of an otherwise

brilliant campaign—combined, these problems can stop a

campaign in its tracks.

Improved access control helps the Redskins get more staff

involved with their social.

Increase lead generation, reach

and advocacy.

Adjust your strategy to improve success.

Keep a constant eye on industry benchmarks, property and page

data, tab and promotion metrics, and referral sources.

Whitepaper | How Technology Can Take Your Social Where It’s Never Been Before

8

When you build a campaign using social software, you keep the

ability to create something unique, innovative and on brand. But

you eliminate the risk that your end product will not function as

intended or that it will be incompatible with the social platforms

it was intended for.

The tab, page and application templates that come with

your social software have been used and tested hundreds or

thousands of times in live campaigns. They incorporate best

practices for all of the most popular and effective promotion

types. Their results are constantly analyzed and their coding is

continually updated and optimized to work perfectly with the

social networks they’re intended for. And, because sharing is the

key to social success, the latest and greatest viral functionality is

seamlessly built into the templates as a basic component.

You can’t fix what you can’t measure

In a recent survey by the Association of National Advertisers,

90% of U.S. marketers say they’re using social networks for their

marketing efforts. Five years ago that figure was only 20%.10

Despite this steady increase in adoption, 75% of organizations

lack a holistic measurement strategy for their social media work.11

Why is there such a huge divide between the number of

marketers using social media and the number successfully

measuring their results? An Altimeter Group survey sheds some

light on the subject by asking those responsible for measuring

social media results to identify the three biggest challenges

they face: 56% of respondents indicate the inability to tie social

media to business outcomes; 39% say there is a lack of analytics

expertise and/or resources; and 38% say they have poor tools.12

Six methods for measuring social

In its “Social Media ROI Cookbook,” Altimeter Group identifies

the six methods that organizations use to measure their

social results on a day-to-day basis. Three of the methods are

categorized as “top down” methods and three as “bottom up.” 12

Top down

The top down methods, which rely on the user to draw

conclusions based on their own observations, are:

Anecdote: Specific examples where it is known that social media

influenced a sale or had some other identifiable effect.

Correlation: Comparing two data sets to see if there may be a

relationship between them, for example the number of Likes

versus revenue.

Multivariate testing: Comparing a group exposed to social

media content with another group exposed to different content

or no content.

While top down measurements have their place, they are time

and labor intensive and fall far short of being able to provide

reliable and comprehensive data on a regular basis.

Bottom up

Bottom up measurements are technology driven and can

provide metrics that are instant, comprehensive and exact.

These methods are:

Links and tagging: Shortlinks, tags, custom URLs and cookies

identify when a user buys something from your site and where

they came from.

10 Association of National Advertisers, “2012 Digital/Social Media Survey,” July, 2012

11 A ltimeter Group, “A Strategy for Managing Social Media Proliferation,” January 2012

12 A ltimeter Group, “A Strategy for Managing Social Media Proliferation,” January 2012

13 A ltimeter Group, “Social Media ROI Cookbook,” July 2012

Compared to Escape’s top competitors’

clients, Escape’s clients see:

• 25% more people sharing their posts

• 21% more engagement with their content

Poor tools are one of the top three obstacles to measuring social success.

9

When it comes to service, Esurance takes advantage of the

personal assistance that’s built right into its contract. For upfront

strategic guidance or last-minute technical tweaking,

Esurance always knows exactly where to turn for help.

CONCLUSION

By its very nature, social is a medium that requires a higher

frequency of interaction than any other form of marketing. The

challenge may be daunting, but the payoff in terms of engaged

and loyal fans, followers, customers and advocates can’t be

beat. The good news for marketers is that recent advancements

in social marketing technology are making it easier and more

affordable to build, grow, engage, and monetize audiences

using innovative content that’s optimized for the most popular

social networks.

The key to success is social software that scales both your

content and your resources allowing you to:

• Create content once, then launch it everywhere

• Segment promotions, target content by region and language,

and schedule posts

• Control user permissions and access to make the most

efficient use of your social team and partners

• Test, measure, and analyze campaigns and competitors in real

time to adjust your strategy and ensure success

Direct commerce: Social commerce apps allow users to make a

purchase from you on Facebook, from links on Twitter, and via

other social properties.

Integrated: Specific apps that you purchase run in the

background and measure conversions, identify where leads

come from, score leads, and so on.

Measure, monitor and analyze

Integrated technology includes the measurement, monitoring and

analysis tools that come as part of your primary social software

product. Because these tools are designed from the start to work

with your pages and applications, they’re often able to give you

the most powerful, insightful and actionable measurements and

analytics available. Social software can provide:

• Property and page data for each of your social pages,

allowing you to analyze trends over time and across multiple

variables

• Tab and promotion metrics that let you quickly pinpoint

what’s working, so you can repeat successful strategies and

optimize results

• Referral sources, so you can identify demographic data

for campaigns and develop content that matches audience

preferences

• Audience engagement metrics for specific messages, so you

can fine-tune future messaging for maximum impact

• Industry benchmarks that help you understand your

performance in comparison to competitors

Esurance

As an insurance company, Esurance fully appreciates the value

of meaningful data and great customer service. So, it’s no

surprise the Esurance social team was looking for those two

things in its social software.

Esurance was able to get some data directly from the social

networks it was using, but that data wasn’t providing the deeper

insights necessary to understand what its fans and followers

really wanted. With Escape, Esurance easily gets up-to-theminute

data on all of its social properties at any time, and the

social team is able to run the analysis it needs to continually

optimize its pages, promotions and messages for better results.

Better yet, Esurance can now compare its social performance

with its competitors and adjust its strategy accordingly.

Esurance chose Escape because it needed deeper analytical

capabilities and high-end service.

http://www.escapebusinesssolutions.com | info@ escapebusinesssolutions.com

Involvers Social Media 101 in 10 Steps

1.    Listen and Locate Fans- Use Involver’s Audience Management Platform to search Twitter and Facebook for mentions of your brand, products, and/or other keywords. This will enable you to identify current and potential fans that you can begin conversations with.

2.    Quality over Quantity- “Consumers are statistics. Customers are people.” Fans or followers should have actual interest and the potential to become a customer or a referral. Even though fan count does increase your ranking within Facebook’s news feed (EdgeRank), it’s more important to connect with users who will take interest, comment, interact, and promote your social media sites to actual friends. The best way to accomplish this is through targeted outreach, influencers, and asking existing fans to “send” and share your content to their own news feeds through Involver’s application suite.

3.    Partner to Build your Audience- What other fan pages share a similar fan base? Set keyword alerts to identify posts from prospective fans that are active on complementary fan pages. When a keyword is spoken make a post related to your fan page to help amplify your reach (e.g. a company producing kitchen accessories monitors and posts to a kitchen appliance fan page to raise their brand awareness and link to their own fan page.)

4.    Cross-Channel Promotion- Make sure you are linking to your fan page from all other channels and sharing product and/or service discounts to your users. Remember, you want new customers, but one of the key ways to reach this goal is by activating your existing customer base and generating earned media. For example: Are you a hotel? Do you have your vanity URL on all checkout slips and receipts?

5.    Login as Your Fan Page- Admins can “Login as Page” and interact as they would from their personal profile. You can also like things and post comments from the brands perspective, creating a more cohesive experience.

6.    Publish Engaging and Valuable Content- Don’t forget that “content is king”. Publish relevant and interesting topics. Make sure to leverage Involver’s thumbnail feature to customize the images attached to posts sent from AMP.

7.    Create Meaningful Relationships- Provide timely updates, share exclusive content, and respond to all fan posts or comments. Using AMP enables you to easily manage task assignment and keep track of follow-up.

8.    Build your Ecosystem- Do you have a YouTube channel? Flickr account? Twitter handle? If it makes sense for your brand/business, set one up. Use our application suite to syndicate your content to your fan page to create a one-stop destination for your fans. With over 40% of Americans on Facebook and spending an increasing amount of time there, it makes sense to consolidate your various media outlets to this platform.

9.    Provide Discounts, not Giveaways- Yes, everyone loves iPads, but do you want your fans thinking of Apple? It’s often times more beneficial to provide incentives for users to buy or try your own products through coupons and/or discounts.

10. Continual Confirmation- Thank and recognize your fans over the long run with shout-outs, gifts, etc.  Does a user consistently provide input and value to your fan page wall? Recognize them even if you don’t offer a gift.

Your engaged customers are your brand advocates and influencers.

What social tips do you use?

Upgrading to Microsoft SharePoint Foundation 2010