Categories

Entries for 'Jack Cosgrove'

RESTful Logins
Jack Cosgrove

RESTful Logins

If you are constructing a web application, you will probably have to create a login page that generates a user session. If you are not aware, RESTful (representational state transfer) URLs are considered best practice for internet applications. As a general rule (only to be broken under duress), RESTful URLs should be nouns, while the HTTP method is the verb. For example, if you want to see a user profile page and the user ID is 8, then a RESTful URL would be https://host/users/8/. “users&...

Continue reading →


Highlighting Required Nintex Fields Dynamically
Jack Cosgrove

Highlighting Required Nintex Fields Dynamically

Nintex offers a great platform with which to customize SharePoint forms. Although the capabilities of Nintex are great, not everything can be done out of the box. I needed to highlight Nintex Forms 2013 controls that were required but had not yet been assigned a value. I was able to accomplish this with some custom JavaScript that used the Nintex version of jQuery. The HTML input types supported by the following JavaScript are text, radio, and checkbox. When a text input is empty, a red bound...

Continue reading →


Abstracting an ORM to Use Multiple Backends
Jack Cosgrove

Abstracting an ORM to Use Multiple Backends

Object-relational mappings (ORMs) took the world by storm in the mid-aughts. Obviously there are many advantages to ORMs given their success, but there are some drawbacks. I'll explain one particular hurdle that I ran into as well as the steps I took to overcome it. A client had an existing database we needed to interact with using an ORM; this necessitated a database-first approach. Furthermore, this database's schema was mirrored in other databases with slight modifications. DMC had...

Continue reading →


Introducing the DMC Outing Club!
Jack Cosgrove

Introducing the DMC Outing Club!

In DMC employees' never-ending quest to make work as much like college as possible, the DMC Outing Club is a big step forward in employee happiness and a big step back in time to a more carefree age. Dartmouth may have us beat for history and skiing (and even then our skiing is steeper), but the DMC Outing Club has a secret weapon - deep-pocketed corporate backing!  For the uninitiated, DMC has a monthly stipend called the Activity Fund which employees may use to organize events with...

Continue reading →


Hardware Solution to Guarantee Read-Only Access of a CAN Bus
Jack Cosgrove

Hardware Solution to Guarantee Read-Only Access of a CAN Bus

The CAN bus is a standard network allowing multiple devices to talk to each other. It’s widely used on vehicles (in fact, it's likely that your car has at least ten) as well as in the industrial automation world. Recently were troubleshooting a strange issue which was causing one of the devices on the CAN bus to periodically do something that it wasn't commanded to do. By disconnecting other devices on the CAN bus, we were able to trace the issue back to the single device w...

Continue reading →


VB Script to Save an SSRS Report as a PDF
Jack Cosgrove

VB Script to Save an SSRS Report as a PDF

Reporting is almost a universal requirement for new projects coming into DMC these days. As part of an HMI we developed for a customer we also installed SQL Server Reporting Services (SSRS) on a Siemens PLC. This is used to generate reports for production batches run on that PLC. The customer desired these reports to be in PDF format, which after some investigation was easy to do with SSRS. A little background on SSRS... SSRS is a web application that generates nice graphical reports from SQL...

Continue reading →


Using SPWeb.ProcessBatchData to Update Document Library Properties
Jack Cosgrove

Using SPWeb.ProcessBatchData to Update Document Library Properties

SharePoint offers a little-known but incredibly useful feature allowing for bulk adds, updates, and deletes of list items via the SPWeb.ProcessBatchData method. The usage is a bit complex because you need to pass CAML markup to the method to perform the operation on multiple list items. This CAML must contain the list item ID, list GUID, and relevant column names and values in an XML collection. There are numerous examples throughout the web showing how to write this CAML for manipulating list i...

Continue reading →


Extracting Log Data from a Siemens PLC Using a .NET Client
Jack Cosgrove

Extracting Log Data from a Siemens PLC Using a .NET Client

I had the opportunity recently to work for a client who wanted to extract log data from a Siemens WinAC PLC using a C# .NET client. The application was archiving software that would run when another software component encountered an error. Log data was assembled from a variety of sources in the system stack, including the Siemens PLC. In order to keep the PLC's Step 7 code independent of this diagnostic logging, I used the Siemens WinAC ODK. The WinAC API exposes two interfaces, IPLC and ...

Continue reading →


Windows Server 2008 R2 Security Patches Break SharePoint 2010 User Authentication
Jack Cosgrove

Windows Server 2008 R2 Security Patches Break SharePoint 2010 User Authentication

Today I had to restore user authentication on a SharePoint farm. The farm had been functional yesterday, but upon arriving into work this morning users would get a low-level error message when trying to log in. Microsoft pushed out some security patches yesterday for Windows Server 2008 R2. A discussion of some of the problems encountered by users can be found here. I found that on this farm, the Forefront Identity Manager Synchronization Service failed to start, which in turn broke the Us...

Continue reading →


A Bug in Calendar Lists
Jack Cosgrove

A Bug in Calendar Lists

As I explained in a previous post, a client had need of copying appointments from an Exchange shared calendar to a SharePoint calendar. I recently encountered a bug in calendar lists that I thought I should share. The task was to populate a SharePoint calendar with appointments from Exchange. Exchange appointments have a unique ID that I was using in SharePoint, but this ID is re-used for instances of a recurring appointment. In order to differentiate instances of recurring appointments, I wo...

Continue reading →


Prepare for SharePoint 2013
Jack Cosgrove

Prepare for SharePoint 2013

 SharePoint 2013 RTM was released recently to MSDN subscribers, and I have been reading up on some of its features since then. I'll provide an overview of what to expect from SharePoint 2013. In-place upgrades from SharePoint 2010 are not supported. This means that a new farm will have to be created, and 2010 content upgraded by the database attach method. The database attach method supports both content databases and service application databases now. Web parts can be h...

Continue reading →


Jack Cosgrove

Tired of refreshing SharePoint external data columns?

SharePoint external data columns are an invaluable tool when drawing data from sources outside SharePoint, as I reported in previous blog entries. Whether the data exist in SQL Server, a WCF web service, or elsewhere, external data columns can integrate this data with out-of-the-box SharePoint lists. External data columns do however have one major disadvantage. Unlike external lists, external data columns cache the information drawn from the external content type within SharePoint. While the ...

Continue reading →


Jack Cosgrove

Copying Appointments from Exchange to a SharePoint Calendar

Recently I had the opportunity to programmatically copy Exchange appointments to a SharePoint calendar. This was done using the Exchange web services API. I found no examples of this procedure online, so I thought I would add my own example. This example looks 62 days into the future and copies appointments from a shared calendar in Exchange located in the public folders root. // Here are the references you'll need using System; using System.Linq; using System.Net; using Microsoft...

Continue reading →


Consider Migrating to the Cloud
Jack Cosgrove

Consider Migrating to the Cloud

Is cloud computing right for your business? Working on the consulting services team at DMC, I encounter clients with a desire for an office intranet without the hassle of reinventing the wheel. SharePoint does a lot for its users, but the fact remains that an on-premise installation requires dedicated hardware and configuration. Microsoft's cloud version of SharePoint, previously called SharePoint Online and now called Office 365, solves that problem by hosting your instance of SharePoint...

Continue reading →


SharePoint Gotchas - and How to Beat Them
Jack Cosgrove

SharePoint Gotchas - and How to Beat Them

SharePoint is a fairly complex product that is in a state of constant maturation. With so much customization available to users and developers, it can be hard to stay on top of best practices - especially when those best practices may not be documented in easy-to-find places. To help other users and developers, I have compiled this list of SharePoint "gotchas" and their remedies. I cannot find a column in a list or list item! Make sure you are using the appropriate name - external ...

Continue reading →


SharePoint of Contact 2: Integrating SharePoint 2010 with CRM Online
Jack Cosgrove

SharePoint of Contact 2: Integrating SharePoint 2010 with CRM Online

SharePoint of Contact 2: Using CRM Online Data within SharePoint In this previous blog post, I explained how to integrate Microsoft Dynamics CRM with SharePoint 2010 using an External Content Type (ECT) linked to the Dynamics SQL Server instance. Today I will explain how to integrate Microsoft Dynamics CRM Online with SharePoint 2010, also using an ECT. Since CRM Online data is only accessible via web services, we will use a WCF web service-based ECT. First a note about why CRM Online data...

Continue reading →


Upgrading SharePoint from MOSS 2007 to Standard 2010
Jack Cosgrove

Upgrading SharePoint from MOSS 2007 to Standard 2010

A client of our Consulting Services team recently decided to take the plunge and upgrade their SharePoint farm from Microsoft Office SharePoint Services 2007 (a.k.a. MOSS 2007) to SharePoint 2010 Standard Edition. They also decided to add a separate SQL server to their farm, which up until then had been a single-server farm. This wrinkle presented both opportunities and challenges for our upgrade strategy. I'll describe that strategy in this blog post. SharePoint offers two broad strategi...

Continue reading →


Dueling ULS Viewers
Jack Cosgrove

Dueling ULS Viewers

The Unified Logging System (ULS) logs are one of the developer's and administrator's best friends when troubleshooting SharePoint. But as anyone who has ever browsed through ULS logs can attest, their readability leaves something to be desired. In this blog, I'll review two solutions to improve the readability and searchability of ULS logs: Microsoft's own, unsupported ULS Viewer and a competing ULS viewer offered by Stefan Gordon. Let's start with the Microsoft offering. ...

Continue reading →


Installing a SharePoint 2010 Mixed Mode Login Page from End to End
Jack Cosgrove

Installing a SharePoint 2010 Mixed Mode Login Page from End to End

A lot of our SharePoint clients at DMC want a SharePoint site which allows users outside their company network to have login access to the site. SharePoint supports a type of user authentication called claims-based authentication, which is a composite of Windows Active Directory authentication and forms-based authentication. Forms-based authentication stores the credentials for users not within an organization's Active Directory forest in a SQL Server database. This enables external users to...

Continue reading →


Media Signage Streaming Content Coming to an Office Near You
Jack Cosgrove

Media Signage Streaming Content Coming to an Office Near You

"A chicken in every pot and a display on every wall." -Herbert Hoover President Hoover was a prescient and oft-misquoted man. Fortunately for us, DMC has realized his vision of liquid crystal abundance. DMC's new office is full of displays. Displays on desks, displays on walls, and displays in pockets. With this embarrassment of riches comes great responsibility. A responsibility to create and stream high-quality promotional content to as many of the office's ...

Continue reading →


Page 1 of 2First   Previous   [1]  2  Next   Last   

Categories