Have you ever seen ?? in c# code? The first time you saw it, was your initial reaction "??"? The ??-operator was added in c# 2.0 and as the documentation says, "The ?? operator returns the left-hand operand if it is not null, or else it returns the right operand." If you're like me, you don't like there to be too much syntax (and especially characters) in your language that is esoteric in its meaning (personally, I still prefer java's "implement" and "extends" keywords over the c++/c# syntax of ":" for inheritence and implementation of interfaces).

Though I must include the disclaimer, there are degrees of how much I'm of the opinion. Maybe it's just years of familiarity, but having some type of character, such as a semi-colon, terminating a line does not seem impractical. And the lambda expression syntax introduced in c# 3.x does provide a lightweight syntax for creating simple anonymous delegates that is really convenient.

The ??-operator, however, does not really yield any new functionality and it can be mimiced relatively easily with a method/function. In T-SQL/Sql Server, there is one already called ISNULL. The usage of such an implementation would not be too much. Admittedly, this entire (belated) complaint is a small quibble on my part, like preferring people to use the Nullable struct instead of int?, but still.

 

At Delphic Sage, we love using Basecamp as our central communications hub between our staff and our clients. It's simple and easy to use, and has a permissions model that makes it well suited as a client portal. However, Basecamp lacks the granularity to be used for actual project/task management which is why we use a different system internally. One of the pain points for our project management team is that they often have to take messages or to-do items from clients out of Basecamp and copy them to our internal solution manually. After reading a bit about the Basecamp REST API, we devised a fairly clever way to make this happen more easily without subjecting/exposing our clients to the minutia of our internal task system.

Some Requirements

1. It needs to be quick and easy to selectively create a new intranet task based on a client entered To-Do item or message in Basecamp.
2. It needs to be easy to jump back and forth between the Internal Task and the Basecamp To-Do
3. The Client should not be exposed to the internal workflow / comments

The Solution

1. We used the BaseCamp API to allow project managers to simply create a new task based on the basecamp URL of an existing To-Do Item. Once the task was created, we prepended the To-Do in back camp with the intranet Task #.
2. We used a GreaseMonkey Script with JQuery to Link all task #s on BaseCamp To-Dos to the corresponding Intranet Task.
3. Since our clients will not have the Greasmonkey script, they will only see that there is a task number, indicating that the Basecamp To-Do has been escalated to an internal Task.

Read on for the step by step analysis...

Delphic Sage Recognized as Top Software DeveloperWell, we are quite thrilled to be recognized yet again by the Philadelphia Business Journal for our software development expertise. Though we are based in Philadelphia, a lot of our clients come from New Jersey, New York City, Baltimore and far beyond - like one of our latest F500 client's from Minneapolis. With all that said, we love our home town and are thrilled to be recognized as a leading interactive agency making a contribution to Philadelphia's software development community.

The Philadelphia Business Journal's list of top software developers includes 25 of the largest software development firms in the Philadelphia area. Delphic Sage solutions primarily consist of web development projects delivered to web sites, microsites and mobile devices for middle market organizations in healthcare, financial services, manufacturing and retail industries.    

Today at Delphic Sage was our brown bag lunch, where food is ordered early and everyone sits in for a presentation. My presentation today went well, no one fell asleep, and there was good group participation. We discussed Application Programming Interface or APIs in much more depth than this slideshow will portray, including brainstorming, observations, and solving the example problems using APIs.

I think the best real world example of an API is the gas pedal in your car. You press it and move forward, and you don't need to know anything about internal combustion to drive a car. APIs are in use everywhere, and in this day and age, if you are a website, and you provide a service, the API (or lack thereof) could ultimately be the deciding factor between success and failure. Enjoy the slideshow.

Tania

Site Launch: ABIMFoundation.org

Aug
04
2009
by Tania

Delphic Sage announces the launch of ABIMFoundation.org, a Sitecore web content management system. Delphic Sage is a Sitecore certified solution partner. We worked with the American Board of Internal Medicine to re-launch their ABIM Foundation website by buidling the Sitecore templates, training, content entry, and implementation. Learn more about how Delphic Sage can help with your Sitecore CMS Implementation.

About ABIM Foundation

Established in 1999 by ABIM as a non-profit operating foundation, the ABIM Foundation complements ABIM's board Certification program. The ABIM Foundation permits exploration of the broader set of issues that are central to the common mission of ABIM and the ABIM Foundation: to enhance quality of care.

Results Per Page 
Page: 1 2 3 4 5