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

<channel>
	<title>Applied Information Sciences Blog</title>
	<atom:link href="http://blog.appliedis.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.appliedis.com</link>
	<description></description>
	<lastBuildDate>Fri, 17 May 2013 14:12:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Case Study: Custom SharePoint Resource Allocation Solution for Lawyers</title>
		<link>http://blog.appliedis.com/2013/05/17/case-study-custom-sharepoint-resource-allocation-solution-for-lawyers/</link>
		<comments>http://blog.appliedis.com/2013/05/17/case-study-custom-sharepoint-resource-allocation-solution-for-lawyers/#comments</comments>
		<pubDate>Fri, 17 May 2013 14:11:22 +0000</pubDate>
		<dc:creator>Terence Wiles</dc:creator>
				<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Promoted]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[case studies]]></category>
		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://blog.appliedis.com/?p=3422</guid>
		<description><![CDATA[A global law firm gained a planning and billed-hours edge with a new custom SharePoint application, incorporating an intelligent data dashboard, developed by the experienced team at AIS. This custom-developed solution continues a rich history of success, as the firm &#8230; <a href="http://blog.appliedis.com/2013/05/17/case-study-custom-sharepoint-resource-allocation-solution-for-lawyers/">Continue reading <span class="meta-nav">&#8594;</span></a><img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F05%2F17%2Fcase-study-custom-sharepoint-resource-allocation-solution-for-lawyers%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.appliedis.com/wp-content/uploads/2013/05/sharepoint-logo.jpeg"><img class="alignleft size-full wp-image-3450" title="sharepoint-logo" src="http://blog.appliedis.com/wp-content/uploads/2013/05/sharepoint-logo.jpeg" alt="" width="255" height="198" /></a>A global law firm gained a planning and billed-hours edge with a new <a href="http://blog.appliedis.com/category/custom-application-development/sharepoint/" target="_blank">custom SharePoint application</a>, incorporating an intelligent data dashboard, developed by the experienced team at AIS. This custom-developed solution continues a rich history of success, as the firm views AIS as their IT project partner and a long-term extension of their team.</p>
<p><strong>Background</strong></p>
<p>The long-time AIS client is a top law firm with household name clients in the technology, financial, healthcare and retail industries. They staff more than 1,000 lawyers and offices in 12 cities in the United States, Europe and Asia. This client offers comprehensive legal capabilities for intellectual property, tax issues, real estate, bankruptcy, environmental, corporate law and more.</p>
<p><strong>The Challenge<br />
</strong><br />
AIS was initially brought in to build the firm’s global intranet. The project, a <a href="http://blog.appliedis.com/2013/02/13/new-features-in-sharepoint-2013-for-your-intranet/" target="_blank">SharePoint intranet</a> application, was very successful and user adoption exceeded expectations. Around the same time, the firm hired another company to build a resource application for its main legal practice areas. But because of poor user feedback and bad performance, the application never made it to production. <strong>After nearly three years of time and money spent</strong>, the firm turned to AIS for help.</p>
<p><a href="http://www.appliedis.com/our-work/projects/global-law-firm-chooses-ais-to-build-practices-and-project-management-application" target="_blank"><strong>Click here to read the full case study.</strong></a></p>
<img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F05%2F17%2Fcase-study-custom-sharepoint-resource-allocation-solution-for-lawyers%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></content:encoded>
			<wfw:commentRss>http://blog.appliedis.com/2013/05/17/case-study-custom-sharepoint-resource-allocation-solution-for-lawyers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Localization of Xcode iOS Apps, Part 1</title>
		<link>http://blog.appliedis.com/2013/05/15/localization-of-xcode-ios-apps-part-1/</link>
		<comments>http://blog.appliedis.com/2013/05/15/localization-of-xcode-ios-apps-part-1/#comments</comments>
		<pubDate>Wed, 15 May 2013 13:09:01 +0000</pubDate>
		<dc:creator>Gregory Hill</dc:creator>
				<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Mobile/Tablet Solutions]]></category>
		<category><![CDATA[Promoted]]></category>
		<category><![CDATA[Automating the Mobile Worker]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iOS apps]]></category>
		<category><![CDATA[Localization]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://blog.appliedis.com/?p=3398</guid>
		<description><![CDATA[With the increased globalization of the economy, there is an obvious need to create mobile apps that handle multiple languages in a clean and extensible manner. This is known as localization (L10n) in the software development community, and various platforms &#8230; <a href="http://blog.appliedis.com/2013/05/15/localization-of-xcode-ios-apps-part-1/">Continue reading <span class="meta-nav">&#8594;</span></a><img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F05%2F15%2Flocalization-of-xcode-ios-apps-part-1%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.appliedis.com/wp-content/uploads/2013/05/ios-localization.jpg"><img class="aligncenter size-full wp-image-3404" title="ios localization" src="http://blog.appliedis.com/wp-content/uploads/2013/05/ios-localization.jpg" alt="" width="550" height="106" /></a></p>
<p>With the increased globalization of the economy, there is an obvious need to create mobile apps that handle multiple languages in a clean and extensible manner. This is known as<strong> localization</strong> (L10n) in the software development community, and various platforms deal with it in their own unique ways. We will look at how iOS manages L10n here, and the decisions that have to be made in order to stay on top of a dynamic situation.</p>
<p>There are several resources on iOS L10n available, both in official publications by Apple, and some articles and blog posts written by members of the development community:</p>
<ul>
<li>Apple provides a home page for <a href="https://developer.apple.com/internationalization/">Internationalization</a> (I18n), with links to several additional detailed sources, including WWDC videos.</li>
<li>There is an <a href="http://forums.macrumors.com/showthread.php?t=1467446">excellent tutorial</a> on the MacRumors iPhone/iPad Programming Forum that goes into great detail on both how to convert your app to handle L10n and managing the app on an ongoing basis.</li>
<li>For apps being developed to target iOS 5, using pre-Xcode 4.5, Ray Wenderlich’s blog provides a good starting point with <a href="http://www.raywenderlich.com/2876/how-to-localize-an-iphone-app-tutorial">this blog post</a>.</li>
</ul>
<p>This article will take a high-level look at what needs to be done to fully localize an app.  Three follow-up articles will look at the nuts-and-bolts details of how to accomplish this through building an Xcode iOS app from scratch.  We&#8217;ll look at creating an app with storyboards, and the process of configuring the project to localize these storyboards.  Next, we&#8217;ll cover how to handle localization programmatically, if you find you have to manipulate text before displaying it. Finally, we’ll wrap the series up with a look at how to communicate with a web service and identify the language of the data you are expecting to download.</p>
<p><span id="more-3398"></span>Note:  There are accompanying sample projects and shell scripts available at the AIS github.com repository collection:</p>
<ul>
<li><a href="https://github.com/AppliedIS/iOSL10n">https://github.com/AppliedIS/iOSL10n</a></li>
<li><a href="https://github.com/AppliedIS/TestLocalization--Part-1-">https://github.com/AppliedIS/TestLocalization&#8211;Part-1-</a></li>
<li><a href="https://github.com/AppliedIS/TestLocalization--Part-2-">https://github.com/AppliedIS/TestLocalization&#8211;Part-2-</a></li>
</ul>
<p>These will be discussed in detail as they relate to each article, and are free to download and experiment with.</p>
<h1>Management of Localizable Data</h1>
<p>There are three aspects of core iOS apps that needed to be addressed to properly localize data:</p>
<ul>
<li>Text presented via the MainStoryboard(s)</li>
<li>Text managed in the code itself</li>
<li>Text downloaded through calls to a web API</li>
</ul>
<p>Text displayed through storyboards and via code use “.strings” lookup files.  Each language for which the app is being localized will have three .strings files:  <em>MainStoryboard.strings</em>, <em>Localizable.strings</em>, and <em>InfoPList.strings</em>.</p>
<h2>Storyboard</h2>
<p>The most cumbersome aspect of an iOS app that needs to be localized are the storyboards. When you create an app, you will have one or two core storyboards available. If you create a universal app (one that will run on an iPhone <em>and</em> iPad), then you will have <em>MainStoryboard_iPhone.storyboard</em> and <em>MainStoryboard_iPad.storyboard</em>.  If you only target the app at one of these platforms, then the storyboard will be simply titled <em>MainStoryboard.storyboard</em>.</p>
<p>The key takeaway in all of this is this: <strong>Every control created in a storyboard that displays text must be localized</strong>. In order to do this, the Xcode project for the app must be set up appropriately.  (The details of this process will be outlined in the next part of our series.)  But the core process is this:</p>
<ol>
<li>Create your project.</li>
<li>Enable “Base Internationalization.”</li>
<li>Add any additional languages necessary to the project.</li>
<li>Create/Modify your storyboard to satisfy the needs of the project.</li>
<li>Run the <em>UpdateStoryboardStrings.sh</em> (provided as a download in the “iOSL10n” github repository) script to extract the text from the storyboard and add it to the .strings files used as lookups for the storyboard.</li>
<li>Each .strings file follows a key = value format for identifying the object that must be modified, and the value to be substituted.</li>
<li>These .strings files must be edited to provide the necessary translations.</li>
</ol>
<p>Every time a new text object is added to the storyboard, the corresponding .strings files must be updated with the lookup text that corresponds to that object.  <em>UpdateStoryboardStrings.sh</em> automates a good part of this process, although you will still be responsible for providing the translations.</p>
<p>Check back next week for details on how that whole process works, and links to the shell script and sample project that demonstrate localization in storyboards.</p>
<h2>Code</h2>
<p>We will look at how all text that is generated through code has to be localized as well in a later part of the series, but in code, typical functionality to localize text will look something like this:</p>
<p><code>NSString *myString = NSLocalizedString(@”myStringKey”, @”This is my string!”);</code></p>
<p><em>NSLocalizedString(key,comment</em>) is a Cocoa function that takes the string @”myStringKey” and looks up the intended translation in the appropriate Localized.strings lookup file.  A few points:</p>
<ul>
<li>There will be a Localized.strings file corresponding to each language for which the app has been localized.</li>
<li>”myStringKey” is the actual key used for the lookup. “This is my string!” is nothing more than a comment in this function.</li>
<li>If the key is not found in the lookup file, ”This is my string!” is not what is displayed as the text. “myStringKey” will be used instead.</li>
</ul>
<p>As for localizing storyboards, a shell script has been created (<em>UpdateCodeStrings.sh</em>; also available for download) that parses all of the *.m files and looks for “NSLocalizedString.” It takes all found occurrences, and looks for all of the keys in <em>each</em> of the Localized.strings files. If one is found, then nothing happens. If it is a new key, however, then the following (as an example) is appended to the end of each file:</p>
<p><code>/*“This is my string!”*/</code></p>
<p><code>“myStringKey” = “This is my string!”;</code></p>
<p>The key/value pair is determined by the key/comment pulled from the <em>NSLocalizedString()</em> function. The task of actually providing the translations, again, is left to the user.  But the manual process of adding each key/value pair has been automated.</p>
<h2>Download</h2>
<p>The final aspect of localization is handling text being downloaded through a web service. The final part of our series will provide an example of how to determine the current locale of the device on which your app is running. Using that information, your app can then send a cookie to the web service, using an accepted international code (for example, English = “en”). The server can then use this to determine the language of the data that is to be sent back down.</p>
<p>Code samples for both the client and server side will be provided with the final article.</p>
<h1>Conclusion</h1>
<p>If you are rigorous about following the steps outlined above and in the companion articles, then localizing your iOS app is relatively painless. There are some &#8216;gotchas&#8217; involved, which I&#8217;ll detail in the series, but overall the process is straightforward and will provide for a complete coverage of all of your iOS localization needs.</p>
<img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F05%2F15%2Flocalization-of-xcode-ios-apps-part-1%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></content:encoded>
			<wfw:commentRss>http://blog.appliedis.com/2013/05/15/localization-of-xcode-ios-apps-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Cloud, Its Storage and the Mobile Worker</title>
		<link>http://blog.appliedis.com/2013/05/13/the-cloud-its-storage-and-the-mobile-worker/</link>
		<comments>http://blog.appliedis.com/2013/05/13/the-cloud-its-storage-and-the-mobile-worker/#comments</comments>
		<pubDate>Mon, 13 May 2013 14:36:47 +0000</pubDate>
		<dc:creator>Richard Kearse</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Mobile/Tablet Solutions]]></category>
		<category><![CDATA[Promoted]]></category>
		<category><![CDATA[Automating the Mobile Worker]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[mobile worker automation]]></category>
		<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Windows Azure Storage]]></category>

		<guid isPermaLink="false">http://blog.appliedis.com/?p=3247</guid>
		<description><![CDATA[Let’s face it: Technology is migrating toward the cloud. Unless you have sensitive or secret data you can’t share with third parties, then you have no reason not to embrace it. In short, the cloud is affordable, effective, 99.9% available &#8230; <a href="http://blog.appliedis.com/2013/05/13/the-cloud-its-storage-and-the-mobile-worker/">Continue reading <span class="meta-nav">&#8594;</span></a><img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F05%2F13%2Fthe-cloud-its-storage-and-the-mobile-worker%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.appliedis.com/wp-content/uploads/2013/05/12296176_s.jpg"><img class="alignleft size-medium wp-image-3358" title="12296176_s" src="http://blog.appliedis.com/wp-content/uploads/2013/05/12296176_s-300x225.jpg" alt="" width="300" height="225" /></a>Let’s face it: Technology is migrating toward the cloud. Unless you have sensitive or secret data you can’t share with third parties, then you have no reason <em>not</em> to embrace it. In short, the cloud is affordable, effective, 99.9% available anywhere, has almost unlimited storage, and allows you to focus on matters other than keeping your network up-to-date — and all you need is an internet connection. Industry experts say that cloud computing will only continue to grow and expand over the next few years, which means companies will need to keep up, or get left behind.</p>
<p>The &#8220;<a href="http://blog.appliedis.com/2013/05/06/the-benefits-of-automating-the-mobile-worker/" target="_blank">Mobile Worker</a>&#8221; (like <em>you</em>, maybe), is growing more dependent on answering emails and working on the go with a smartphone, tablet and laptop both outside and inside the office. With so many efficient devices and capabilities allowing coworkers to touch base at once, it would only make sense to have all of your data stored in one centralized location. Additionally, most cloud services, such as Windows Azure, provide a web interface. This means you can access your data on any device or platform that has internet capabilities.<span id="more-3247"></span></p>
<p><strong>Haven’t we thought of this already?</strong></p>
<p>Of course we have. Companies today invest enormous funds in servers and storage capability, data back-up, security and firewalls, VPN capability&#8230;and of course employ highly paid and highly trained people to manage it all. This <em>can</em> be a very effective and efficient way to run your network. <a href="http://blog.appliedis.com/category/cloud-computing-2/" target="_blank">Cloud computing</a>, however, takes all of this and puts it in, well, <em>the cloud</em>, giving companies wiggle room to focus and spend more money on other important things. With cloud storage, you also cover the key bases of redundancy (files always available in case the unthinkable happens), physical security (data stored in provider’s off-site data center), and HVAC (reduced company energy consumption keeping servers cool). Studies have shown cloud computing can be <strong>30% more efficient</strong> when considering energy use as a whole.</p>
<p><strong>So what about storage?</strong></p>
<p>Cloud storage is just about limitless. You only have to pay for what you use, and when you need more it is<em> immediately</em> available for your expanding company. All you need is an internet connection to access your data from anywhere, anytime. With the right software, you can even work together with others on the same document so you don’t have to worry about 13 final drafts and five file formats to combine for your PowerPoint presentation, or deal with 15 emails on which potato chips will be at the company picnic. Your data is truly available almost anywhere, and drastically helps you to manage your time while on the go.</p>
<p><strong>Disadvantages</strong></p>
<p>Everything, of course, has disadvantages. Cloud data performance is only as good as the bandwidth provided, which means the time it takes to open a document completely depends on your connection to the cloud. Your cloud data is also susceptible to any type of outage between you and where your data is actually stored; if the internet or your connection is down your data is completely unavailable. Because it is new technology, however, the cloud data storage industry has yet to create standard protocols. Different interfaces have been created to access different cloud data, so it could be quite difficult to switch cloud storage providers if you choose to. The most extreme disadvantage is that a third party has access to your data, so sensitive or secret files about your company are now in the hands of another company, and <em>if</em> that data was to get hacked all of these files could be exposed. Therefore, you&#8217;ll want expert help, guidance and a solid plan for security, <a href="http://blog.appliedis.com/tag/high-availability/" target="_blank">high availability</a> and <a href="http://blog.appliedis.com/tag/disaster-recovery/" target="_blank">disaster recovery</a> in place <em>before</em> making your move to the cloud.</p>
<p><strong>Ok, I’m convinced; but where do I start?</strong></p>
<p>AIS has proficiency with all aspects of cloud technologies (IaaS, SaaS and PaaS) and provides focused expertise on both Amazon Web Services and the Microsoft platform. Microsoft’s cloud service, Windows Azure, can help you with all your small or big data needs from SQL databases to blobs to tables. These are backed by a 99.9% service level agreement so data loss or problems accessing your data should be nonexistent, nor should you need to worry about maxing out storage space with up to 100 terabytes per Azure account available.<strong> <a href="http://www.appliedis.com/services/cloud-computing" target="_blank">See what AIS services and the cloud can do for your company’s mobile and storage needs.</a></strong></p>
<img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F05%2F13%2Fthe-cloud-its-storage-and-the-mobile-worker%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></content:encoded>
			<wfw:commentRss>http://blog.appliedis.com/2013/05/13/the-cloud-its-storage-and-the-mobile-worker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Power View: Where&#8217;s My Map?</title>
		<link>http://blog.appliedis.com/2013/05/10/powerview-wheres-my-map/</link>
		<comments>http://blog.appliedis.com/2013/05/10/powerview-wheres-my-map/#comments</comments>
		<pubDate>Fri, 10 May 2013 13:19:33 +0000</pubDate>
		<dc:creator>Nick Ovuka</dc:creator>
				<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Promoted]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Microsoft BI]]></category>
		<category><![CDATA[Microsoft PowerPivot]]></category>
		<category><![CDATA[Power View]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SQL Server 2012]]></category>

		<guid isPermaLink="false">http://blog.appliedis.com/?p=3300</guid>
		<description><![CDATA[After watching demos on Power View I was excited to begin using the tool, as we recently configured SQL 2012 SSRS and PowerPivot with SharePoint 2010 for an internationally-focused client. But after playing around with my PowerPivot model in Power View, I &#8230; <a href="http://blog.appliedis.com/2013/05/10/powerview-wheres-my-map/">Continue reading <span class="meta-nav">&#8594;</span></a><img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F05%2F10%2Fpowerview-wheres-my-map%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.appliedis.com/wp-content/uploads/2013/05/SQL-Server-20121.jpg"><img class="alignleft  wp-image-3320" title="SQL-Server-2012[1]" src="http://blog.appliedis.com/wp-content/uploads/2013/05/SQL-Server-20121.jpg" alt="" width="251" height="251" /></a>After watching <a href="http://www.microsoft.com/en-us/bi/Products/PowerView.aspx" target="_blank">demos on Power View</a> I was excited to begin using the tool, as we recently configured SQL 2012 SSRS and PowerPivot with SharePoint 2010 for an internationally-focused client. But after playing around with my PowerPivot model in Power View, I realized the Map chart type that I had been so looking forward to using&#8230;was not available.</p>
<p>Turns out we had installed SQL 2012 but not SQL 2012 <strong>SP1</strong>. Power View gets a number of important upgrades in SP1, including much-needed filtering that&#8217;s missing from the earlier version, as well as my eagerly anticipated Map chart type.<span id="more-3300"></span></p>
<p>In order to upgrade our SharePoint 2010/SQL 2012 installation to SQL 2012 SP1, we needed to do the following:</p>
<p>1. <a href="http://www.microsoft.com/en-us/download/details.aspx?id=35575" target="_blank">Install SQL 2012 Server SP1</a>.<br />
2. <a href="http://www.microsoft.com/en-us/download/details.aspx?id=35583" target="_blank">Install Microsoft® SQL Server® 2012 SP1 Reporting Services Add-in for Microsoft® SharePoint®</a>.<br />
3. Rerun the PowerPivot Configuration tool. (Note: After the SQL 2012 SP1 upgrade there will be an additional PowerPivot configuration tool installed specifically for SharePoint 2013; <strong>be sure to use the original tool instead</strong>.)</p>
<p>And with that&#8230;maps!!!</p>
<p style="text-align: center;"><a href="http://blog.appliedis.com/wp-content/uploads/2013/05/Map.png"><img class="size-medium wp-image-3305 aligncenter" src="http://blog.appliedis.com/wp-content/uploads/2013/05/Map-300x143.png" alt="" width="300" height="143" /></a></p>
<img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F05%2F10%2Fpowerview-wheres-my-map%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></content:encoded>
			<wfw:commentRss>http://blog.appliedis.com/2013/05/10/powerview-wheres-my-map/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why You Should Use MVVM for Small Apps</title>
		<link>http://blog.appliedis.com/2013/05/08/why-you-should-use-mvvm-for-small-apps/</link>
		<comments>http://blog.appliedis.com/2013/05/08/why-you-should-use-mvvm-for-small-apps/#comments</comments>
		<pubDate>Wed, 08 May 2013 15:11:33 +0000</pubDate>
		<dc:creator>Ash Tewari</dc:creator>
				<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Mobile/Tablet Solutions]]></category>
		<category><![CDATA[Promoted]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[cross-platform]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iOS apps]]></category>
		<category><![CDATA[mvvm]]></category>
		<category><![CDATA[mvvmcross]]></category>
		<category><![CDATA[Windows 8 Apps]]></category>
		<category><![CDATA[Windows Store apps]]></category>
		<category><![CDATA[winrt]]></category>
		<category><![CDATA[xamarin]]></category>
		<category><![CDATA[xaml]]></category>

		<guid isPermaLink="false">http://blog.appliedis.com/?p=3269</guid>
		<description><![CDATA[Model-View-ViewModel (MVVM) is a client-side design pattern. It guides the structure and design of your code to help you achieve &#8220;Separation of Concerns.&#8221;  Implementing MVVM requires a bit of a mind-shift in the way you think about the functionality of &#8230; <a href="http://blog.appliedis.com/2013/05/08/why-you-should-use-mvvm-for-small-apps/">Continue reading <span class="meta-nav">&#8594;</span></a><img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F05%2F08%2Fwhy-you-should-use-mvvm-for-small-apps%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.appliedis.com/wp-content/uploads/2013/05/19271031_s.jpg"><img class="alignleft  wp-image-3314" title="19271031_s" src="http://blog.appliedis.com/wp-content/uploads/2013/05/19271031_s.jpg" alt="" width="280" height="187" /></a>Model-View-ViewModel (<a href="http://en.wikipedia.org/wiki/Model_View_ViewModel">MVVM</a>) is a client-side design pattern. It guides the structure and design of your code to help you achieve &#8220;<a href="http://en.wikipedia.org/wiki/Separation_of_concerns">Separation of Concerns</a>.&#8221;  Implementing MVVM requires a bit of a mind-shift in the way you think about the functionality of your application. It has a significant learning curve and requires some additional upfront effort to get started on the right path. But the benefits are significant:</p>
<ul>
<li>Your code is easier to understand, maintain and troubleshoot.</li>
<li>You are much more productive when you leverage the frameworks&#8217; (WPF, Silverlight, XAML, WinRT) built-in features like Data Binding, Resource Dictionaries, Dependency Properties, Routed Events, Commands, etc.</li>
<li>You can test your app&#8217;s behavior &#8220;under-the-skin,&#8221; avoiding the pitfalls and cost of testing at the UI level.</li>
<li>Your ViewModels afford <a href="http://blog.appliedis.com/2013/04/22/mobile-test-automation-the-keyword-driven-framework-approach-for-tablets-phones/">testability</a>. You can have unit test coverage allowing &#8220;Test-Driven-Development&#8221; and &#8220;Automated Regressions.&#8221;</li>
<li>Decoupling the View from the ViewModel in the way enabled by MVVM allows designers and developers to work productively in harmony.</li>
</ul>
<p><div class="simplePullQuote"><p>If you want your Windows Phone App and Windows Store App to be also available on Android, iPhone and iPad, you will be able to reuse a significant portion of your effort when developing on those other platforms if your app is structured as an MVVM app.</p>
</div>I sense, from my conversations and interactions with developers in code-camps and user-groups over many years, that these potentially significant advantages are not enough of a motivation for many developers to make the switch to MVVM. There is also a perception that implementing MVVM is overkill for a &#8220;small&#8221; app. MVVM is perceived to be too heavyweight and not worth the effort for many Windows Phone Apps, Windows Store Apps and development prototypes. This is a view shared by many and I understand and sympathize with this perception. However, I am proposing that we use MVVM for <strong><span style="text-decoration: underline;">all</span></strong> applications, however small and seemingly insignificant. My proposal is based on two realizations:</p>
<ol>
<li>Inserting the learning curve of MVVM in the critical path of a large project is counterproductive, in my opinion. Using MVVM in small apps and prototypes is the best way to understand and experience the MVVM development style and thinking.</li>
<li>There is a brand-new reason for C# developers to start &#8220;thinking in MVVM.&#8221; Structuring your C# and XAML code as MVVM and separating your classes as Models, ViewModels, Views, Services, DataAccess and such will give you a head start in <a href="http://blog.appliedis.com/2013/02/20/sharing-code-between-windows-8-and-windows-phone-8/">reusing a lot of your code</a> on other platforms like Android and iOS. Think about this for a moment – if you want your small Windows Phone App and Windows Store App to be available on Android, iPhone and iPad, you will be able to reuse a significant portion of your effort when developing on those other platforms if your app is structured as an MVVM app. The potential increase in the reach, customer base and revenue is enough for a lot of developers to reconsider the effort to achieve the separation of concerns enabled by MVVM.</li>
</ol>
<p>Reusing C# code to create apps for Android and iOS is made possible by <a href="http://xamarin.com/">Xamarin</a>. The level of code reuse depends on the level of separation-of-concerns that you achieve in your application. The Models, Services and Data Access code is reusable with little effort through Xamarin&#8217;s absolutely fantastic ability to create native Android and iOS apps using C# code. It is possible, by using <a href="https://github.com/slodge/MvvmCross#readme">MVVMCross</a>, to take code reuse to another level by reusing your ViewModels also. Stay tuned for more about these techniques and technologies on this blog. In the meantime, whet your appetite by reviewing these resources:</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/magazine/dd419663.aspx">MSDN Article by Josh Smith</a></li>
<li><a href="http://www.wintellect.com/blogs/jlikness/model-view-viewmodel-mvvm-explained">Model-View-ViewModel (MVVM) Explained</a></li>
<li><a href="http://codebetter.com/glennblock/2009/08/03/the-spirit-of-mvvm-viewmodel-it-s-not-a-code-counting-exercise/">Glenn Block&#8217;s Article on the CodeBetter blog</a></li>
<li><a href="http://aspiringcraftsman.com/2008/01/03/art-of-separation-of-concerns/">The Art of Separation of Concerns</a></li>
<li><a href="http://docs.xamarin.com/guides/cross-platform/application_fundamentals/building_cross_platform_applications">Building Cross Platform Applications on the Xamarin website</a></li>
<li><a href="http://blog.xamarin.com/mvvmcross-seminar/">MVVMCross Seminar</a></li>
</ul>
<p><strong>AIS has invested heavily in early adoption and technical readiness for designing and building browser-based and native applications for mobile, touch-enabled devices. <a href="http://www.appliedis.com/our-work" target="_blank">See examples of our work here</a>, and <a href="http://www.appliedis.com/services/custom-application-development/mobile" target="_blank">read more about our full range of mobile-related offerings here</a>. </strong></p>
<img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F05%2F08%2Fwhy-you-should-use-mvvm-for-small-apps%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></content:encoded>
			<wfw:commentRss>http://blog.appliedis.com/2013/05/08/why-you-should-use-mvvm-for-small-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Benefits of Automating the Mobile Worker</title>
		<link>http://blog.appliedis.com/2013/05/06/the-benefits-of-automating-the-mobile-worker/</link>
		<comments>http://blog.appliedis.com/2013/05/06/the-benefits-of-automating-the-mobile-worker/#comments</comments>
		<pubDate>Mon, 06 May 2013 15:23:09 +0000</pubDate>
		<dc:creator>Terra Gilbert</dc:creator>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Maximizing IT Investments]]></category>
		<category><![CDATA[Mobile/Tablet Solutions]]></category>
		<category><![CDATA[Promoted]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[mobile case worker demo]]></category>
		<category><![CDATA[mobile development]]></category>
		<category><![CDATA[mobile worker automation]]></category>
		<category><![CDATA[smartphones]]></category>
		<category><![CDATA[tablets]]></category>

		<guid isPermaLink="false">http://blog.appliedis.com/?p=3233</guid>
		<description><![CDATA[Technology is advancing rapidly, and with its advance comes new and useful ways to complete everyday tasks. In this post I&#8217;d like to talk about some of the benefits of replacing the paper- or desktop-based ways of an employee whose &#8230; <a href="http://blog.appliedis.com/2013/05/06/the-benefits-of-automating-the-mobile-worker/">Continue reading <span class="meta-nav">&#8594;</span></a><img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F05%2F06%2Fthe-benefits-of-automating-the-mobile-worker%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.appliedis.com/wp-content/uploads/2013/05/14774833_s.jpg"><img class="alignleft size-medium wp-image-3265" title="14774833_s" src="http://blog.appliedis.com/wp-content/uploads/2013/05/14774833_s-300x200.jpg" alt="" width="300" height="200" /></a>Technology is advancing rapidly, and with its advance comes new and useful ways to complete everyday tasks. In this post I&#8217;d like to talk about some of the benefits of replacing the paper- or desktop-based ways of an employee whose job is performed primarily in the field. (Home health workers or field service technicians, for example.)</p>
<p>Quality custom software that&#8217;s designed to meet the specific needs of a business is easy to adapt and should have minimal adoption time and training costs. Workflows that are built according to an employee&#8217;s ideal task flow should encourage thorough service calls and better communication flow in all directions.</p>
<p>As an employee who may have to make several service trips per day, <strong>mobility is essential</strong>. Paper can be completely eliminated, pictures no longer lost or need to be transferred by media card, forms can be filled out by simply speaking into a microphone and tapping on some check boxes. Signatures can be captured easily just by swiping a finger on a screen, bar codes can be read and captured. The possibilities for becoming more productive are expanding each day.<span id="more-3233"></span></p>
<p>As an employer you may need help tracking calls and following up, getting correct notes or even routing employees to the best location. Mobile software can be used to select the best route for a technician based on their current proximity (to see this in action <a href="http://www.appliedis.com/ideas/innovations/mobile-case-worker-tablet-demo" target="_blank">view our mobile case worker demo here</a>). This can be extended, if needed, based on the technician&#8217;s skill set or familiarity with a patient. You can view employees&#8217; notes, pictures and forms instantly and even set up rules for reminders or alerts.</p>
<p><div class="simplePullQuote"><p>A large portion of tomorrow&#8217;s workforce will not only be comfortable with mobile technology, but will expect it when sizing up a job offer.</p>
</div>A major factor in the future of the mobile worker is <em>age</em>. It is no secret that our youth are keen on adapting to new technology quickly, and there is even evidence that today&#8217;s up and coming employees are being <a href="http://blogs.hbr.org/erickson/2012/04/the_mobile_re-generation.html" target="_blank">groomed</a> to use technology early on in life. The U.S. population is roughly 50% under the age 25, which means a large portion of tomorrow&#8217;s workforce will not only be comfortable with mobile technology, but will expect it when sizing up a job offer.</p>
<p>In short, companies that strive to innovate and continuously improve will have an upper hand in the future of the mobile worker. Many of the everyday tasks that a mobile worker completes today can be improved by taking advantage of mobile devices. Custom software is becoming more and more affordable and the benefits are stacking up.</p>
<p><strong>AIS has invested heavily in early adoption and technical readiness for designing and building browser-based and native applications for mobile, touch-enabled devices. <a href="http://www.appliedis.com/our-work" target="_blank">See examples of our work here</a>, and <a href="http://www.appliedis.com/services/custom-application-development/mobile" target="_blank">read more about our full range of mobile-related offerings here</a>. </strong></p>
<img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F05%2F06%2Fthe-benefits-of-automating-the-mobile-worker%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></content:encoded>
			<wfw:commentRss>http://blog.appliedis.com/2013/05/06/the-benefits-of-automating-the-mobile-worker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>If You’re Not Sure How You Ended Up In Technology, You’re Not Alone</title>
		<link>http://blog.appliedis.com/2013/05/03/if-youre-not-sure-how-you-ended-up-in-technology-youre-not-alone/</link>
		<comments>http://blog.appliedis.com/2013/05/03/if-youre-not-sure-how-you-ended-up-in-technology-youre-not-alone/#comments</comments>
		<pubDate>Fri, 03 May 2013 13:01:25 +0000</pubDate>
		<dc:creator>Rita Nordenman</dc:creator>
				<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Legacy Modernization]]></category>
		<category><![CDATA[Promoted]]></category>
		<category><![CDATA[Strategic Consulting Services]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Working at AIS]]></category>
		<category><![CDATA[careers]]></category>
		<category><![CDATA[Employee Profile]]></category>
		<category><![CDATA[Federal]]></category>
		<category><![CDATA[recruiting]]></category>

		<guid isPermaLink="false">http://blog.appliedis.com/?p=3255</guid>
		<description><![CDATA[I was rushing out of my house on a Thursday afternoon and my phone fell squarely onto the pavement. As I picked it up and gingerly turned it over in my hands, I gasped. The screen was cracked, utterly and &#8230; <a href="http://blog.appliedis.com/2013/05/03/if-youre-not-sure-how-you-ended-up-in-technology-youre-not-alone/">Continue reading <span class="meta-nav">&#8594;</span></a><img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F05%2F03%2Fif-youre-not-sure-how-you-ended-up-in-technology-youre-not-alone%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></description>
			<content:encoded><![CDATA[<p><a title="Broken iphone Screen - Broken Web Page by Patrick Hoesly, on Flickr" href="http://www.flickr.com/photos/zooboing/4676754047/"><img class="alignleft" src="http://farm5.staticflickr.com/4044/4676754047_53fc1a38e4_m.jpg" alt="Broken iphone Screen - Broken Web Page" width="240" height="180" /></a>I was rushing out of my house on a Thursday afternoon and my phone fell squarely onto the pavement. As I picked it up and gingerly turned it over in my hands, I gasped. The screen was cracked, utterly and completely. It was a moment so steeped in idiocy that I almost laughed at myself. If you drop a phone it breaks, right? Except that it hadn’t and I’d dropped it a million times before. Maybe this was just its time to die its little death or maybe this was a particularly horrible fall. Whatever it was, it happened and it was over.</p>
<p>Later, at the store, my conversation with the girl replacing my phone went a little like this:</p>
<p><strong>Helpful Girl</strong>: So if you’re phone is backed up, I’ll delete everything on it and get you started with a new one.</p>
<p><strong>Me:</strong> It is.</p>
<p><strong>HG:</strong> Ok, is it backed up to <a href="http://blog.appliedis.com/category/cloud-computing-2/">the cloud</a>?</p>
<p><strong>Me:</strong> …</p>
<p><strong>HG:</strong> (concern on her face) What did you do to back it up?</p>
<p><strong>Me:</strong> My husband plugged it into the computer and made a copy.</p>
<p><strong>HG:</strong> Ok, if you’re sure you have a copy…</p>
<p><strong>Me:</strong> I am…?</p>
<p>Did I mention that I’m a Business Analyst for an IT company? That I used to recruit for that same company? That I regularly talk with customers about what we can do for them and how we can ease their pain points with technology-based solutions? If you’re rolling you’re eyes at me, that makes two of us. But as I’ve discovered, working in technology isn’t all about the technology, it’s about the people.<span id="more-3255"></span></p>
<p><div class="simplePullQuote"><p>Working in technology isn’t all about the technology, it’s about the people.</p>
</div>I always knew I wanted to work with people. To say it better, I always thought that getting paid to talk seemed like a really great way to make a living. I got into recruiting right out of college, talking to high school juniors and seniors about why John Carroll University might be a great fit for them. From there, I thought maybe events was the place for me and ended up planning author events in a bookstore. And while there was a certain appeal to that position (namely the organization aspect) that worked for me, I realized that I had lost touch with the names and faces of people that had made recruiting so much fun.</p>
<p>After a move to the D.C. area, I ended up in Federal recruiting, learning the business of consulting. I have to admit, I didn’t love it at first. Recruiting at the big firms I worked for seemed like more of an endless turnstile than an opportunity to really connect people and places.</p>
<p>It wasn’t until I came to AIS that I began to love recruiting, that I began to understand why the technology mattered, and what we delivered to our customers. I talked with people that weren’t just looking for their next job, but were trying to find <a href="http://www.appliedis.com/careers" target="_blank">a home amongst like-minded, technology-focused people in a positive environment</a>. And not since that first time at my alma mater, I felt like I could really put people in places they belonged. People want to felt heard and understood. Not like you’re filling requisition 000122132, but like you’re their friend who happens to have ample amounts of time to find them a job.</p>
<p>Switching to the client services side of things hasn’t been that different. Our customers need to be heard. Often, they are working with outdated technology and legacy systems. They have to keep up with the pace of tomorrow with yesterday’s tools. They are underfunded and overworked. They are trying to do huge scopes of work with limited resources. I think sometimes it must feel like renovating a house. You have a massive project and you’ve come up with a hard-won budget and the issue in front of you is not only the amount of work, but finding the right person to do the job. To find the wrong person would be worse than never renovating: even if the house falls down around you, at least you didn’t spend the money frivolously. But if you hire a contractor that never shows up or fails to deliver, you’re out the house and the money. And all of your neighbors will know.</p>
<p>People might think that technology exists independently of the softer skills, the daily yeses and nos of client interaction, but the truth is that they are two sides of the same equation. If we have all of the technology but none of the ability to discuss and explain what we can do, then the technology is useless. And if we have all of the talk but none of the ability to back it up, we’re left equally ineffectual.</p>
<p>Recently, our client came to us after a solution had been deployed. They wanted minor changes to an existing application, changes that would help them sell the solution to their colleagues and would ease their interaction with what we had developed. We had no active contract in place and the changes in question were not part of the original design. We talked about it with them anyway. We discussed what was needed, how long it would take, and problems they were trying to solve by implementing this solution. Ultimately, this conversation didn’t solve the problem; the development team used the tools at their disposal to implement a fix. But the conversation was the first and last step in that solution. Without the conversation, the openness of communication, our client would have been dissatisfied. In the end, we had them convinced of our dedication to the solution and to the technology.</p>
<p>My days talking to clients about things on which I have only the most tenuous grasp sometimes leave me a little confused. I wonder how I ended up here instead of an elementary school teacher, or a writer, or a high school literature teacher (the three things I always thought I’d be). <strong>The truth is that people led me here.</strong> My desire to interact with people and find solutions for their very human problems led me to technology.</p>
<p>In a room full of clients who don’t know what they want, talking about high-level technology will never win the day. Talking to them about their concerns and problems, the issues they face, and where they want to go, will always serve the purpose better.</p>
<p>Technology companies that forget this will never be able to leverage all of their incredible talent in the marketplace. And companies that are all talk will succeed initially only to be revealed as completely hollow. It took me a long time to realize that I’m not as out of place in technology as I once thought. If people are your passion, technology might be great, if unexpected, place to find them.</p>
<p><strong>Our people are AIS&#8217; greatest asset. If you&#8217;d like to join our team, <a href="http://www.appliedis.com/careers" target="_blank">check out our careers page</a>. </strong></p>
<img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F05%2F03%2Fif-youre-not-sure-how-you-ended-up-in-technology-youre-not-alone%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></content:encoded>
			<wfw:commentRss>http://blog.appliedis.com/2013/05/03/if-youre-not-sure-how-you-ended-up-in-technology-youre-not-alone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Case-Sensitive URL in SharePoint: Lesson Learned</title>
		<link>http://blog.appliedis.com/2013/05/01/case-sensitive-url-in-sharepoint-lesson-learned/</link>
		<comments>http://blog.appliedis.com/2013/05/01/case-sensitive-url-in-sharepoint-lesson-learned/#comments</comments>
		<pubDate>Wed, 01 May 2013 13:59:46 +0000</pubDate>
		<dc:creator>Vinita Agrawal</dc:creator>
				<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Promoted]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://blog.appliedis.com/?p=3170</guid>
		<description><![CDATA[In a recent project, we routinely modify a site, save the site as template and use the solution created to create new sites programmatically. This has been working well for the client for last six months and we haven’t encountered &#8230; <a href="http://blog.appliedis.com/2013/05/01/case-sensitive-url-in-sharepoint-lesson-learned/">Continue reading <span class="meta-nav">&#8594;</span></a><img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F05%2F01%2Fcase-sensitive-url-in-sharepoint-lesson-learned%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.appliedis.com/wp-content/uploads/2013/04/sharepoint-logo.jpeg"><img class="alignleft size-full wp-image-3242" title="sharepoint-logo" src="http://blog.appliedis.com/wp-content/uploads/2013/04/sharepoint-logo.jpeg" alt="" width="255" height="198" /></a>In a recent project, we routinely modify a site, save the site as template and use the solution created to create new sites programmatically. This has been working well for the client for last six months and we haven’t encountered any issues. Occasionally, however, we encountered a problem which prevented us from deactivating or activating the solution in the solutions gallery. To overcome this, we deleted solutions from End User Recycle Bin and Deleted End User Recycle Bin views.</p>
<p>But this time around, every time I created the solution and created a site using this new solution and template, my new site looked bizarre! For instance, one of the libraries didn’t have the All Documents view and defaulted to My Documents view. But if you modified the URL for the library (from MyItems.aspx to AllItems.aspx), it would display the documents. Another difference was that the text from all content editor web parts on list pages were missing. The issue is displayed in pictures below using a test site.<span id="more-3170"></span></p>
<div id="attachment_3240" class="wp-caption aligncenter" style="width: 457px"><a href="http://blog.appliedis.com/wp-content/uploads/2013/04/case-sensitive-URL-sharepoint.jpg"><img class="size-full wp-image-3240" title="case sensitive URL sharepoint" src="http://blog.appliedis.com/wp-content/uploads/2013/04/case-sensitive-URL-sharepoint.jpg" alt="" width="447" height="165" /></a><p class="wp-caption-text">Original site with content editor web part (highlighted by red box)</p></div>
<div id="attachment_3241" class="wp-caption aligncenter" style="width: 487px"><a href="http://blog.appliedis.com/wp-content/uploads/2013/04/case-sensitive-URL-sharepoint-2.jpg"><img class="size-full wp-image-3241" title="case sensitive URL sharepoint 2" src="http://blog.appliedis.com/wp-content/uploads/2013/04/case-sensitive-URL-sharepoint-2.jpg" alt="" width="477" height="170" /></a><p class="wp-caption-text">Site created from template with case-sensitive URL is missing the content editor web part</p></div>
<p>The site, which was saved as template (named TemplateSite with url TemplateSite) had all of the above: content editor web part content and the All Items view. It looked like the newly-created site took a very old version of the template solution, which didn’t exist anywhere in site collection — including the Recycle Bin. I tried the following steps several times:</p>
<p>1. Deactivate/delete the solution from solution gallery<br />
2. Remove solution from Recycle Bin<br />
3. Go to <strong>http://sitecollectionurl/templateSite/_layouts/savetmpl.aspx</strong><br />
4. Enter name of solution and check the “include content” checkbox in template<br />
5. Hit ok<br />
6. New solution gets created<br />
7. Ensure it is activated<br />
8. Now create a new site using the newly-created template</p>
<p>Consistently, the new site was missing some of the content from the original TemplateSite.</p>
<p>On one of these tries, I noticed I was typing “templateSite” with a lowercase t and not an uppercase T.</p>
<p>After I fixed the case in the URL and saved the site again as a template solution, I created a new site based on this solution and woot! This time it worked!</p>
<p>What does this tell you? Yes, SharePoint is case sensitive when you try to save a site as template, and therefore you need to be very careful when typing URLs on your own.</p>
<ul>
<li>Here&#8217;s another <a href="http://mqsharepoint.blogspot.com/2010/10/sharepoint-is-case-sensitive.html">example of case-sensitive SharePoint URLs</a>.</li>
<li>I did compare the contents of <strong>http://sitecollectionurl/templateSite</strong> contents to <strong>http://sitecollectionurl/TemplateSite</strong> and they were the same: libraries were last modified on same date, View All Site Content displayed the same content and clicking on any library or list would take you to <strong>http://sitecollectionurl/TemplateSite</strong>. They were the same site.</li>
</ul>
<p><strong><a href="http://www.appliedis.com/services" target="_blank">Read more about the broad range of technical services AIS provides on our web site</a>.</strong></p>
<img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F05%2F01%2Fcase-sensitive-url-in-sharepoint-lesson-learned%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></content:encoded>
			<wfw:commentRss>http://blog.appliedis.com/2013/05/01/case-sensitive-url-in-sharepoint-lesson-learned/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automating SharePoint 2013 Installation on Windows Azure IaaS</title>
		<link>http://blog.appliedis.com/2013/04/29/automating-sharepoint-2013-installation-on-windows-azure-iaas/</link>
		<comments>http://blog.appliedis.com/2013/04/29/automating-sharepoint-2013-installation-on-windows-azure-iaas/#comments</comments>
		<pubDate>Mon, 29 Apr 2013 13:32:22 +0000</pubDate>
		<dc:creator>Arun Mudiraj</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[IaaS]]></category>
		<category><![CDATA[Promoted]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[PowerShell 3.0]]></category>
		<category><![CDATA[SharePoint 2013]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://blog.appliedis.com/?p=3222</guid>
		<description><![CDATA[The recent announcement about the general availability of Windows Azure IaaS comes with the following key enhancements: Remote PowerShell is enabled by default when deploying Virtual Machine using PowerShell. Availability of trial images such as SharePoint in the image gallery. These &#8230; <a href="http://blog.appliedis.com/2013/04/29/automating-sharepoint-2013-installation-on-windows-azure-iaas/">Continue reading <span class="meta-nav">&#8594;</span></a><img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F04%2F29%2Fautomating-sharepoint-2013-installation-on-windows-azure-iaas%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.appliedis.com/wp-content/uploads/2013/04/azure-logo3.png"><img class="alignleft size-full wp-image-3225" title="azure-logo" src="http://blog.appliedis.com/wp-content/uploads/2013/04/azure-logo3.png" alt="" width="175" height="165" /></a>The recent <a href="http://weblogs.asp.net/scottgu/archive/2013/04/16/windows-azure-general-availability-of-infrastructure-as-a-service-iaas.aspx">announcement</a> about the general availability of Windows Azure IaaS comes with the following key enhancements:</p>
<ol>
<li>Remote PowerShell is enabled by default when deploying Virtual Machine using PowerShell.</li>
<li>Availability of trial images such as SharePoint in the image gallery.</li>
</ol>
<p>These enhancements make it easy to deploy a SharePoint Farm in an automated manner using PowerShell scripts.</p>
<p>The goal of this blog post is to walk you through such a script.<span id="more-3222"></span></p>
<p><a href="https://github.com/AppliedIS/SharePointFarm-File">All of the sample code discussed in this article is available here</a>. (Please note that this is a sample script, provided as-is without any warranties.)</p>
<p>We are going to assume the following SharePoint topology (although you can modify the scripts based on your needs):</p>
<ul>
<li>Windows gallery image hosted on a small VM instance, serving as the Active directory machine.</li>
<li>SQL Server 2012 Standard gallery image hosted on a large VM instance, serving as the database server.</li>
<li>Two SharePoint 2013 trial gallery images hosted on a  medium VM instance,  serving as SharePoint Web Ends.</li>
</ul>
<p>We decided to leverage PowerShell workflow, and as a result you need to have PowerShell version 3 installed to run the script.</p>
<p>We choose to use workflow for the following reasons:</p>
<ul>
<li>Ability to resume a workflow from a previous state using checkpoints. (<a href="http://technet.microsoft.com/en-us/library/jj574114.aspx" target="_blank">More information here.</a>)</li>
<li>Ability to extend the script to run tasks in parallel.</li>
</ul>
<p>Steps to execute the script are listed below:</p>
<ol>
<li>Download and install the latest <a href="http://go.microsoft.com/?linkid=9811175&amp;clcid=0x409" target="_blank">Windows Azure PowerShell Cmdlets</a>.</li>
<li>Enable delegation of credentials on the local machine where this script will run.
<ol>
<li>Enable-WSManCredSSP -Role Client -DelegateComputer *.cloudapp.net -Force</li>
<li>Open gpedit.msc and browse to Computer Configuration &gt; Administrative Templates &gt; System &gt; Credentials Delegation.Double-click &#8220;Allow delegating fresh credentials with NTLM-only Server Authentication.&#8221;Enable the setting and add the build server to the server list as *.cloudapp.netDouble-click &#8220;Allow delegating fresh credentials.&#8221;
<p>Enable the setting and add the build server to the server list as *.cloudapp.net</li>
</ol>
</li>
<li>Create a Virtual Network with a Subnet by <a href="http://www.windowsazure.com/en-us/manage/services/networking/create-a-virtual-network/" target="_blank">following these steps</a>.</li>
<li>Download the script from github repo</li>
<li>Change the Subscription, Network and Affinity group values in the script ( you will find these settings towards the end of file SPWF.ps1)</li>
<li>Execute the script SPWF.ps1.</li>
</ol>
<p><strong>Note</strong>: In order to avoid Azure CloudService DNS name conflicts, we have a very simple scheme to append the name with a randomly generated five-letter string. You can replace this logic with something that best meets your needs.</p>
<p>At a high level, the script is designed to execute the following steps:</p>
<ol>
<li>Create a Windows 2012 VM, using loopback address as DNS address, and wait for its boot using –WaitForBoot parameter in the scripts.</li>
<li>Retrieve the certificate from the VM and install it on client computer for executing the commands using WinRM overhttps.</li>
<li>Once the VM is up, it installs the AD and promotes it as the DNS.</li>
<li>Adds required service accounts and domain users.</li>
<li>Once the above steps are complete, it provisions the following machines in parallel, with “domain join” arguments. This way the machines are joined to the AD upon boot up.
<ol>
<li>SQL Server 2010 standard (1 VM)</li>
<li>SharePoint trial (2 VMs)</li>
<li>Change the service account of SQL Server to use domain service accounts.</li>
<li>Set the max degree of parallelism to 1 for the SQL server.</li>
<li>On SharePoint server 1, create a new farm using configuration scripts.</li>
<li>On SharePoint server 2, run a script to join the already provisioned farm.</li>
<li>Installs remaining services and central administration on SharePoint server 1.</li>
</ol>
</li>
</ol>
<p>Please tell us about your experience and we hope this helps!</p>
<p><strong>Click here to read more thoughts on the <a href="http://blog.appliedis.com/2013/04/17/azure-iaas-goes-ga-its-time-to-head-to-the-cloud/" target="_blank">recent IaaS GA announcement</a>. Contemplating a move to the cloud? <a href="http://www.appliedis.com/services/cloud-computing" target="_blank">We can help</a>. </strong></p>
<img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F04%2F29%2Fautomating-sharepoint-2013-installation-on-windows-azure-iaas%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></content:encoded>
			<wfw:commentRss>http://blog.appliedis.com/2013/04/29/automating-sharepoint-2013-installation-on-windows-azure-iaas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows AzureConf 2013: Essential Windows IaaS for Developers</title>
		<link>http://blog.appliedis.com/2013/04/26/windows-azureconf-2013-essential-windows-iaas-for-developers/</link>
		<comments>http://blog.appliedis.com/2013/04/26/windows-azureconf-2013-essential-windows-iaas-for-developers/#comments</comments>
		<pubDate>Fri, 26 Apr 2013 14:40:43 +0000</pubDate>
		<dc:creator>Vishwas Lele</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[IaaS]]></category>
		<category><![CDATA[Promoted]]></category>
		<category><![CDATA[AzureConf]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://blog.appliedis.com/?p=3214</guid>
		<description><![CDATA[It was great fun presenting at Windows AzureConf 2013. I would like to thank the entire AzureConf team (Cory Fowler and Brady Gaster in particular) and my fellow speakers for their valuable feedback. Click here to watch the video recording &#8230; <a href="http://blog.appliedis.com/2013/04/26/windows-azureconf-2013-essential-windows-iaas-for-developers/">Continue reading <span class="meta-nav">&#8594;</span></a><img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F04%2F26%2Fwindows-azureconf-2013-essential-windows-iaas-for-developers%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.appliedis.com/wp-content/uploads/2013/04/AzureConf-logo1.png"><img class="alignleft size-medium wp-image-3215" title="AzureConf-logo" src="http://blog.appliedis.com/wp-content/uploads/2013/04/AzureConf-logo1-300x99.png" alt="" width="300" height="99" /></a>It was great fun presenting at <a href="http://channel9.msdn.com/Events/windowsazure/Windows-AzureConf-2013">Windows AzureConf 2013</a>. I would like to thank the entire AzureConf team (<a href="https://twitter.com/SyntaxC4">Cory Fowler</a> and <a href="https://twitter.com/bradygaster">Brady Gaster</a> in particular) and my fellow speakers for their valuable feedback.</p>
<p><a href="http://channel9.msdn.com/Events/windowsazure/Windows-AzureConf-2013/Essential-Iaas-for-Developers" target="_blank">Click here to watch the video recording of my session on channel 9</a>.</p>
<p>You can find recordings to all other sessions (including <a href="https://twitter.com/scottgu">Scott Guthrie’s</a> keynote) <a href="http://channel9.msdn.com/Events/windowsazure/Windows-AzureConf-2013" target="_blank">via this link</a>.</p>
<p>Many of you asked me for a copy of the code I used during my session. You can find all <a href="http://sdrv.ms/181x3rp">my code snippets and slides here</a>. (Of course this is just sample code so please treat it as such!)</p>
<p>Additionally, Pluralsight has graciously offered to make my newly-released <strong>Windows Azure IaaS Course for Developers</strong> available for FREE beginning Monday, April 29 at 9:00 a.m. MDT, and keep it freely available for 48 hours (ending 9:00 a.m. MDT on Wednesday, May 1). This is a three-hour course that goes in much more detail on the Windows Azure IaaS topics:</p>
<p><strong><a href="http://pluralsight.com/training/Courses/TableOfContents/windows-azure-infrastructure-service-introduction" target="_blank">Windows Azure IaaS Course for Developers</a></strong></p>
<p>Please feel free to send me additional questions via <a href="http://www.twitter.com/vlele" target="_blank">my Twitter account</a>. Thanks!</p>
<img src="http://track.hubspot.com/__ptq.gif?a=175005&k=14&bu=http%3A%2F%2Fblog.appliedis.com&r=http%3A%2F%2Fblog.appliedis.com%2F2013%2F04%2F26%2Fwindows-azureconf-2013-essential-windows-iaas-for-developers%2F&bvt=rss&p=wordpress" style="float:left;" xml:base="http://blog.appliedis.com/feed/" width="1" height="1" border="0" align="right"/>]]></content:encoded>
			<wfw:commentRss>http://blog.appliedis.com/2013/04/26/windows-azureconf-2013-essential-windows-iaas-for-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
