My decision to join AIS six years ago was a revelation. After almost seven years spent working as an embedded IT analyst for various government customers, I joined AIS to support a customer who was implementing SharePoint.  I soaked up everything I could about this (at the time) brave new world of SharePoint. I loved it.

SharePoint 2003 had been available for use in my previous office where I had initially set up out-of-the-box team sites for working groups to support a large department-wide initiative. I found it empowering to quickly set up sites, lists and libraries without any fuss (or custom coding) to get people working together. Working with my new team, I gained insight into what we could do with this tool in terms of workflow, integration and branding. It got even better when we migrated to SharePoint 2007.  We made great strides in consolidating our websites and communicating to those who were interested exactly what the tools could do in terms of collaboration and knowledge management.

This ability for a power user to quickly create a variety of new capabilities exposed a deeper customer need – easier communications with IT.  While we had all this great expertise and firepower to create and maintain IT tools and services, our core customer base did not have an easy way to quickly and reliably communicate their needs in a manner that matched their high operational tempo. It was a problem. We needed a way for our customers to quickly and easily communicate with us in order to really hear what they needed to meet their mission goals and work more effectively. Read More…

The mission was critical, and the task complex: Ushering a print publication like Rolling Stone, a Bondi publication, into the digital age by providing them with a turnkey solution to present their print magazine archives online, for viewing on high resolution-connected devices of all shapes and sizes. Unlike other digital versions of magazines on the market, the new platform would allow the publisher to monetize its own unique brand through the years.

The Challenge

AIS needed to address multiple technical areas to provide the most viable solution for Rolling Stone and other archives.

  • Speed
  • Scale
  • Security
  • Continuous Delivery
  • High-Definition Presentation

Rolling Stone’s existing solution (‘print to digital’) only supported 100 issues, and AIS was challenged to multiply the output tenfold while reducing management costs and allowing Rolling Stone the freedom to design their interface in a way that matched and enhanced their other digital presences.

Solution

AIS implemented a multi-tier solution in the creation of the Bondi Archive Platform. The platform we built consists of a flexible, scalable website architecture using HTML5, JavaScript, ASP.NET MVC and SQL Azure. The system allows viewers to see exact replicas of the original print issues, something not offered by any other platform. Users can navigate using a mouse, keyboard or touch and can zoom in or conduct complex searches. Bookmarking inside the archive is available as is print, based on the publisher’s preference.

Results

The new archive platform has allowed Rolling Stone to join the online revolution and bring their print content online in its original format and context, thereby retaining copyrights. By serving the content directly from their own website or from the cloud, the company can avoid content restrictions and fees imposed by third-party aggregation platforms and app stores. The project and platform has been an unequivocal success. Rolling Stone chose to enhance its print subscriptions by offering the full digital archive at no extra charge. By tightly integrating their online content with the digital archive, a deeper level of interaction with readership has been realized.

I vividly remember the iconic scene from the 1995 box office hit Apollo 13 where a team of NASA engineers gathered around a table with a collection of mishmash spaceship junk. From this collection, the team had to create a square air filter to fit in a round receptacle so that the astronauts would not asphyxiate on CO2 in space. It’s an intense, life-or-death scenario of literally making a square peg fit in a round hole, where “failure is not an option.”

Working as a business analyst for our federal government clients means that budget, time, and resource constraints almost always play major role in any development effort. This challenge requires our team to use bit of ingenuity and a mixed bag of tools to create a solution for our customers. Read More…

Workflow in SharePoint 2013 has undergone quite the architectural change from its SharePoint 2010 ancestor.  I documented many of the major changes in a previous blog post, “What Changed in SharePoint 2013 Workflow? Pretty Much Everything.”  While SharePoint 2013 is backwards-compatible with SharePoint 2010 workflows, you may decide that the benefits of the new design are needed.  The purpose of this post is to illustrate the new considerations you’ll need to keep in mind when targeting SharePoint 2013 workflows. The SharePoint 2010 project we’ll use for this example is the one from my very first AIS blog post, “Developing Multi-Tiered Solutions for SharePoint.”

Web API Methods Mockup screen shot

Figure 1 - Sample WebAPI methods for Section Document Merge and Post-Merge Actions.

In our example project there are actually two workflows, SectionDocumentApprovalState (SDAS) and MasterDocumentApproval (MDA). The MDA checks if the various SDAS-related sections have been merged and finalized, then notifies specific users for approval of the final document. An instance of SDAS is created for each section, created from the Master Document that monitors the editing and approval of the specific section. We’ll focus on just the SDAS workflow. In the previous post, I referred to the workflows as being part of the Presentation Layer and the custom code called into the Business Layer.  Both of these layers will change in a SharePoint 2013 workflow solution.

Read More…

Our work with Rolling Stone and Bondi Digital Publishing is yet another example of how AIS can develop technology that creates new revenue streams for publishers. We built a digital distribution platform to usher print publications like Rolling Stone into the digital age – by providing them with a turnkey solution to deploy print magazine archives online for viewing on desktops, laptops and mobile devices. For Rolling Stone, the initial launch included more than 1,000 issues from 1967 to the present.

Click here to read more about the distribution platform and how we customized it for the Rolling Stone archives. 

In this blog I’ll discuss some post-release reporting issues that we faced for one of our projects and the solutions we implemented. On the technology side, we had SQL Server 2008 R2 and MVC 4.0 application (which were hosted in Amazon Web Services) in our production environment.

The Problem

The post-production release reporting system was not responding as per the user expectations. For most of the high-volume reports (50K rows to 200K rows in report output), we were getting request timeout error. Client SLA for response time was two minutes; hence any report (big or small) must return data within two minutes. All the reports were designed using SQL Server Reporting Services 2008 R2. In all there were close to 40 reports with such timeout issues. Read More…

I recently completed a large document management system on SharePoint 2010 that used FAST Search and claims-based authentication. The client wanted to secure and limit access to customer-specific documents based on data coming from their CRM system.

We decided to implement a custom claim provider that would query the CRM system at login for customer claims based on the user ID. On upload (based on the customer that was assigned to the document), we used the content organizer to route the document to the correct site, library and folder based on the organization and security rules that we had. Each library had a claim for the customer assigned to it so only users with that claim could view the documents in the library. We would use search for the UI so that the users had a single place to find and view the documents. Sounds simple, right?

It should’ve been.

Unfortunately, the implementation was anything but simple. From the beginning, we hit the core limits of SharePoint 2010, FAST and Claims. Now that we’ve made it to the end, I want to talk about the limits we ran into and steps you can take in your design to avoid them. Read More…

Swiss army knife

Here at AIS, we’ve found Windows Azure Blob Storage to be an inexpensive, fast hosting solution for non-text or server-side loaded resources. But what if we want to use client-side JavaScript to load HTML fragments or JSON data directly from blobs? Under normal circumstances this is prevented by JavaScript’s Same Origin Policy; that is, you can’t load HTML fragments or JSON from another domain, subdomain, port or protocol.

One commonly used solution to this restriction is JSONP, but this is not available with Azure Blob Storage. Another modern option is Cross-Origin Resource Sharing (CORS), but it is also unavailable on Azure Blob Storage and not supported in some legacy browsers.

We could consider a server-side solution, such as employing an Azure Web Role to read text-based content from blob storage and serve it up from the original server. But this approach can be both wasteful and performance inhibiting.

Read More…

Video has become an integral part of our web experience.  This, coupled with the pervasiveness of connected and video capable devices, calls for an easy-to-use, flexible, reliable and scalable platform for hosting, processing and distributing media to anyone, anywhere, on any device.  The availability of Windows Azure Media Services (WAMS) Preview lets us explore a promising new platform which aims to bring us closer to that goal.  

Since WAMS is still in the preview release stage there are a few wrinkles in the platform that early adopters need to be aware of.  These issues should be corrected in upcoming releases but until then, there are a few alternate approaches that will help you get your media solution up and running with as little frustration as possible. In this post I will show you how to get video content hosted, encoded and delivered using the WAMS SDK and how to work around some of the quirks with the June 2012 Preview version.

Read More…

One of the most discussed concepts about authentication today is the concept of Single Sign-On, or SSO. SSO is the ability for a user to log into one location, and authenticate across several domains without entering any additional credentials. This saves the user from having to enter several credentials for related websites, as well as possibly prevent the user from having to remember multiple logins.

While developing the Rolling Stone and Vogue Archives, we needed a SSO system that could integrate our ASP.Net based archive with each provider’s existing authentication systems, primarily Apache-based web applications. Our solution was to develop a C# implementation of mod_auth_tkt cookie-and-token based authentication system, which we have since released open source.

Read More…