Part 1 of this series introduced you to our approach to C2C Content Services for SharePoint powered by CorasWorks-based application services. In this article, we will drill down into the free, Blog-Style Announcements service published to the App Store by Spirit EDV-Beratung AG (Germany). We’ll look at this app from two perspectives. First, we’ll discuss it as an off-the-shelf app. Then, we’ll look at it as a representative of a class of apps, based upon a design pattern, that play a role in an end-to-end C2C Content Service.
Overview of the App
The Blog-Style Announcement Service allows you to aggregate announcements from multiple sites/lists distributed across your SharePoint environment and display them in a blog-style format. The contributors are able to work “locally” wherever and however they are used to working. The “consuming” end-users use the blog-style display to see and work with announcements across the organization. They see the monthly listing of announcements, and, they can browse by source site (department, project, business function) or by date published. The UI also has bulletins that are persistent announcements by corporate or the announcement service manager.
Below is a screenshot of the end-user display that is pulling together announcements across a SharePoint environment from the IT and Operations departments, an Extranet Community and the Corporate Announcements service.
Before going into more details, take a few moments and watch a video of the Blog-Style Announcements service in action (runtime 10 minutes). It will describe the app and walk you through a typical user scenario.
Service Design – The “A” Design Pattern
This service is for Announcements – right? Out of the box, yes, however, as you’ll see below it can be re-purposed to work with any type of SharePoint data and in many different scenarios. It is built following a design pattern that can be applied to many scenarios.
This application service is used to connect to distributed data sources across SharePoint, aggregate the data, and transform it into the blog-style display. There is a single end-user, blog-style UI that can be further distributed (as you saw in the video). However, the basic design pattern is what we call the A design pattern as depicted here.
Following this design the users contribute their announcements locally, say in their departments, where they work. They do not have to go anywhere to enter the information. They use their own local interface, be it native SharePoint, CorasWorks, or some other.
The application service represented by the grey box can be located anywhere in a SharePoint environment and connects to information across sites, site collections, and web applications. It uses a local Site Directory feature that holds the sites and lists that are its data sources. Thus, you just make one entry in the Site Directory in the application service to add a data source to the service.
The blog-style UI is local to the service, meaning that end-users navigate to it to see the announcements. It can be used in this way out of the box. However, as described in the video, by combining this service with the Virtual Slide Show service, the UI gets delivered to the places where the end-users work, such as their department dashboards, the portal, an extranet, or all of their My Sites. This will be discussed in Part 3 and Part 4 of this series, but, is a key part of an end-to-end, C2C Content Service solution.
Technical Details About the Service
For those technically inclined, here are some of the key details about this service:
- It is a single SharePoint site template that is installed into a SharePoint environment. It takes just a few minutes to install, setup, and start pulling announcements.
- The core application service is built using the CorasWorks Data Integration Toolset.
- The service respects SharePoint security. Thus, if a user looks at the blog UI but doesn’t have rights to a source site, then, that information will not appear in the service. Thus, the security is maintained at the source site.
- The service uses a CSS-based look and feel created by Design Disease and available under the Creative Commons Attribution-Share Alike 3.0 License. There are other templates available that you can use for your services, or, you can create your own.
- The service uses XSLT, XML, and jQuery. These technologies, in addition to the Toolset resource files, provide a very flexible architecture. There are no custom DLL’s – it leverages the CorasWorks software running on SharePoint. The documentation addresses various ways to customize the basic service.
The service can be used for different purposes by creating multiple instances as separate sites in a SharePoint environment. You may end up with different services for different audiences, connected to different data sources, with a different UI, and, with different end-user functionality. For instance, one internal service may allow the end-users to drill down to the source site, list, and item (the default configuration), while the service for an Extranet would remove these drill down features (as covered in the documentation).
In addition, out of the box, the announcements flow through the service in real time with no approval workstream. A user enters an announcement, tagged for enterprise-wide distribution, and, it shows up via the service. However, in many scenarios there may be review and approval gates for the distribution of announcements (or other content). There are a number of different ways to drop these gates into the workstream for announcements which are discussed in more detail in the documentation.
Thinking Outside of the Box
The Announcement service is ready-for-work out of the box. Here are some ways you could re-purpose this service. They may require a bit of X-development skills and knowledge of the CorasWorks Data Integration Toolset, but, they are basically supported by the out-of-the-box service.
- A Company Events calendar – How about using this service with event lists? You could have a blog-style service showing Company Events with their description. Using the Event start data you’d end up having the archive, but, you’d also be able to see upcoming company events – yes, a blog UI that looks into the future instead of just the past. By default, it would organize the events by department (or whatever source site type), year/month, and the listings for the current month events.
- Executive Briefings Service – How about connecting to sources of Executive Briefings from different departments? This would be a private briefing service for executives. Contributors would enter their briefing abstracts locally, with links to supporting briefing material. Your UI would have the information organized by department with an archive to refer back to what someone said a few months back.
- Weekly Project Updates – Do you require project or program managers to provide weekly, bi-weekly, or monthly briefings? Do they work in projects sites? Using the same service, the managers could enter their updates as an item in their local workspace along with reference material. The department listings would immediately reflect the different project/programs vs. departments. You’d have a historical record of the updates. If you have a new project/program, just add it to the Site Directory of the service and it becomes part of the service.
Role as Part of a C2C Content Service
SharePoint environments are usually distributed environments. Work is done in different places. This app plays the role of taking distributed work and transforming into a single useful output to be consumed. It also provides an innovative use of a blog interface that can be applied in a number of different scenarios. Whether you use it just for announcements or in other innovative ways its basic design and purpose remain the same.
In Part 3, you’ll learn about the Virtual Slide Show service that addresses the packaging and delivery of content to where the consumers work. This is the other half of the equation of an end-to-end C2C Content Service solution.