Posts Tagged ‘linkedin’

CRM 2011– Customize Connection Role Category

by John Pavain | Jul 21, 2011

The new Connections feature that was added in CRM 2011 has proved quite useful and has replaced a custom Relationship Entity in a solution that I had built. I needed to create some new business Connection Role Categories  for a solution I was building for a client and had to do some searching around to find where to maintain them. Turns out that it is simple, they are contained in a global option set “Category”. Its very easy when you know where to look, just go to Settings>Customizations>Components>Option Sets and update the “Category” option set, it’s the only system option set  by default.


Categories: CRM Tags: ,

ITIL Service Catalog

August 15, 2011 Leave a comment

I found a great example of communicating an ITIL Service Catalog from Purdue University.

Categories: IT LEADERSHIP, ITIL Tags:

Selling EA and anything else

June 13, 2011 Leave a comment

From a LinkedIn discussion about”What we need EA”

JD B. • @Wanderson – In a different forum the question was asked “how do I sell a value proposition?” The answer was “Make a clear distinction between (1) Creating a value proposition, (2) Communicating the value proposition, and (3) Communicating the value proposition plan?
# 1, the actual value proposition, should always include (a) the types of value – monetary, utility/functional, quality, perceptual/psychological – being created and (b) the business and customer perspectives of ‘the value’. McKinsey have a very interesting article on value perception/purchasing reasons in a Q4, 2010 retail survey. In summary, the results were: Utility 40%, monetary 34%, Quality 14.5%, and perceptual 11.5%
#2, A simple approach for #2 is emphasizing Value, Value, and Value, and how the Value will be created.
#3, A workable approach for #3 is When, What, Why, How, Who, and Where.
The point is that if the question had been, as it so often is, about Enterprise Architecture, the answer would be the same. It’s all about freaking value Dude 🙂

Categories: Enterprise Architecture Tags:

Tracking good one word Enterprise Architecture statements

May 11, 2011 Leave a comment

Current LinkedIn EA Group has asked: In one word, what is the single largest problem facing Enterprise Architecture? Why?

Here are some of the answers I have liked:

Underestimation: With converging technologies today many groups within organizations have a tendency to attempt to maintain control of their systems, reducing communications within different groups to try an maintain their leverage, giving us the inability to get a good overall picture of an organizations true requirements resulting in an underestimated demand for their builds.


Flexibility, flexibility in terms of fast changing business model in term of fast changing technology, A enterprise architecture needs fast adoption with dynamics of business needs.


I agree with Ian Cole, but instead of "change" I would use the word "time". Architects of all types do a poor job of architecting the 4th dimension of time. Most architectures are designed for a particular point in time. When circumstances change over time, such architectures degrade and often completely fail.
My two favorite architectural quotes on the importance of time are:
(1) We have tried to demonstrate by these examples that it is almost always incorrect to begin the decomposition of a system into modules on the basis of a flowchart. We propose instead that _one begins with a list of difficult design decisions or design decisions which are likely to change_. Each module is then designed to hide such a decision from the others. Since, in most cases, design decisions transcend time of execution, modules will not correspond to steps in the processing.
David Parnas, "On the Criteria to Be Used in Decomposing Systems into Modules" (1971)
(2) Architects can mature from being artists of space to become artists of time.
Stewart Brand, "How Buildings Learn" (1994)
I am pursuing a line of research called "Panarchitecture", which makes time the primary architectural constraint. See "From Hierarchy to Panarchy: Hybrid Thinking’s Resilient Network of Renewal" at
Posted by Nick Gall


CHANGE —Hi, Paul, thank you for pointing out: tommorrow, here is the EA definition from Gartner: Enterprise architecture means architecting the enterprise for change.
Here is EA’s strategic purpose beyond the tipping point:
–Aligning business and IT vision and strategies
–Deliver strategic business (and IT) value
–Enable a major business transformation effort
–Guiding technology use, support and decisions
–Simplify technology landscape


Those who didn’t practice "Emergent Architecture" as EA practice are doing past!


I heard an analogy recently that relates for me. People worship firefighters for their bravery and ability to tackle the biggest of fires. They don’t save that much property though but they are viewed as protectors and heroes (and rightly so). No one even notices the sprinkler inspection guy (yes they exist) even though they save way more property than firefighters. Same in business. Those who fix today’s problems are rewarded and valued. Those working to prevent tomorrow’s problems .. not so much.

Categories: Enterprise Architecture Tags: ,

Using MS Project And Agile

January 27, 2011 Leave a comment

We are using a Feature based Agile approach where stories are grouped by Features. We meet with the customers and decide which priority to put on each feature based on its deliverable need.

Since I have a team that is focused on different features and various times, I have to prioritize and identify predecessors at the same time. (This is very useful when a customer wants to know when a specific “simple” feature will be done. But the feature has a major predecessor that will take time to complete).


To keep this trackable for all parties, I create a Microsoft Project 2010. Add the Priority to each item (higher priority gets done first). Then set the proper predecessors. This will give me a WBS but at a high level.



To level the resources, you have to change the default settings.  By default MS Project will level based on predecessors first then by Priority. To change this:

1. Click on ‘Leveling Options’ on the Resource Ribbon
2. Change the Leveling Order to ‘Priority, Standard’
3. Remove the checkboxes to get the cleanest leveling (breaking tasks will kill any clear approach to this).


Questions for a Lead Operations/Network Technician Interview

January 13, 2011 Leave a comment

Questions I used in previous interview sessions:

1) What does TCP/IP stand for?

Transmission Control Protocol / Internet Protocol

2) Please explain the OSI Model and how it is useful.

Layer 7: Application Layer

The Application layer provides a means for the user to access information on the network through an application. This layer is the main interface for the user(s) to interact with the application and therefore the network. Some examples of application layer protocols include Telnet, applications which use File Transfer Protocol (FTP), applications which use Simple Mail Transfer Protocol (SMTP) and applications which use Hypertext Transfer Protocol (HTTP). Applications built to utilize a protocol, such as FTP, should not be confused with the protocols themselves, which often reside at the session layer.

Layer 6: Presentation Layer

The Presentation layer transforms data to provide a standard interface for the Application layer. MIME encoding, data compression, data encryption and similar manipulation of the presentation is done at this layer to present the data as a service or protocol developer sees fit. Examples: converting an EBCDIC-coded text file to an ASCII-coded file, or serializing objects and other data structures into and out of, e.g., XML.

Layer 5: Session Layer

The Session layer controls the dialogues (sessions) between computers. It establishes, manages and terminates the connections between the local and remote application. It provides for either full-duplex or half-duplex operation and establishes checkpointing, adjournment, termination, and restart procedures. The OSI model made this layer responsible for “graceful close” of sessions, which is a property of TCP, and also for session checkpointing and recovery, which is not usually used in the Internet protocols suite.

Layer 4: Transport Layer

The Transport layer provides transparent transfer of data between end users, thus relieving the upper layers from any concern while providing reliable data transfer. The transport layer controls the reliability of a given link through flow control, segmentation/desegmentation, and error control. Some protocols are state and connection oriented. This means that the transport layer can keep track of the packets and retransmit those that fail. The best known example of a layer 4 protocol is the Transmission Control Protocol (TCP). The transport layer is the layer that converts messages into TCP segments or User Datagram Protocol (UDP), Stream Control Transmission Protocol (SCTP), etc. packets. Perhaps an easy way to visualize the Transport Layer is to compare it with a Post Office, which deals with the dispatching and classification of mail and parcels sent.

Layer 3: Network Layer

The Network layer provides the functional and procedural means of transferring variable length data sequences from a source to a destination via one or more networks while maintaining the quality of service requested by the Transport layer. The Network layer performs network routing functions, and might also perform segmentation/desegmentation, and report delivery errors. Routers operate at this layer—sending data throughout the extended network and making the Internet possible (also existing at layer 3 (or IP) are routers). This is a logical addressing scheme – values are chosen by the network engineer. The addressing scheme is hierarchical. The best known example of a layer 3 protocol is the Internet Protocol (IP). Perhaps it’s easier to visualize this layer as the actual Air Mail or Consolidated Carrier that transfers the mail from Point A to Point B.

Layer 2: Data Link Layer

The Data Link layer provides the functional and procedural means to transfer data between network entities and to detect and possibly correct errors that may occur in the Physical layer. The best known example of this is Ethernet. Other examples of data link protocols are HDLC and ADCCP for point-to-point or packet-switched networks and Aloha for local area networks. On IEEE 802 local area networks, and some non-IEEE 802 networks such as FDDI, this layer may be split into a Media Access Control (MAC) layer and the IEEE 802.2 Logical Link Control (LLC) layer. It arranges bits from physical layer into logical chunks of data, known as frames.

This is the layer at which the bridges and switches operate. Connectivity is provided only among locally attached network nodes forming layer 2 domains for unicast or broadcast forwarding. Other protocols may be imposed on the data frames to create tunnels and logically separated layer 2 forwarding domain.

Layer 1: Physical Layer

The Physical layer defines all the electrical and physical specifications for devices. This includes the layout of pins, voltages, and cable specifications. Hubs, repeaters, network adapters and Host Bus Adapters (HBAs used in Storage Area Networks) are physical-layer devices. The major functions and services performed by the physical layer are:

Establishment and termination of a connection to a communications medium.

Participation in the process whereby the communication resources are effectively shared among multiple users. For example, contention resolution and flow control.

Modulation, or conversion between the representation of digital data in user equipment and the corresponding signals transmitted over a communications channel. These are signals operating over the physical cabling (such as copper and fiber optic) or over a radio link.

3) What is the difference between an iterative DNS query and a recursive DNS query?

Recursive Queries

Recursive queries are most often performed by resolvers, or clients that need to have a specific name resolved by a DNS server. Recursive queries are also accomplished by a DNS server if forwarders are configured to be used on a particular name server. A recursive query essentially asks whether a particular record can be resolved by a particular name server. The response to a recursive query is either negative or positive. A common recursive query scenario is illustrated in Figure 9.14.

Iterative Queries

Iterative queries ask a DNS server to either resolve the query or make a best guess referral to a DNS server that may contain more accurate information about where the query can be resolved. Another iterative query is then performed to the referred server and so on until a result, positive or negative, is obtained.

4) When using RAID on a server for data sharing purposes what would be the most common RAID level to optimize performance for file sharing?

Several defined levels of RAID exist. RAID 1 and RAID 0+1 offer the best data protections and best performance among RAID levels, but RAID 1 and RAID 0+1 require more hard disks than other RAID levels. When the cost of hard disks is not a limiting factor, RAID 1 or RAID 0+1 are the best RAID choices for performance and fault tolerance.

RAID 5 provides fault tolerance at the best cost, but has half the write performance of RAID 1 and 0+1. RAID 5 must perform additional I/O to read and write parity information onto disk. RAID 5 is not as fault tolerant as RAID 1 and 0+1.

The best disk I/O performance is achieved with RAID 0 (disk striping with no fault tolerance protection). RAID 0 provides no fault tolerance, so RAID 0 is usually only used for development database servers or other testing environments.

5) Please explain what Active Directory is, and the benefits of using it in an Enterprise environment.

Integration with DNS. Active Directory uses the Domain Name System (DNS). DNS is an Internet standard service that translates human-readable computer names (such as to computer-readable numeric Internet Protocol (IP) addresses (four numbers separated by periods). This lets processes running on computers in TCP/IP networks identify and connect to one another.

Flexible querying. Users and administrators can use the Search command on the Start menu, the My Network Places icon on the desktop, or the Active Directory Users and Computers snap-in to quickly find an object on the network using object properties. For example, you can find a user by first name, last name, e-mail name, office location, or other properties of that person’s user account. Finding information is optimized by use of the global catalog.

Extensibility. Active Directory is extensible, which means that administrators can add new classes of objects to the schema and can add new attributes to existing classes of objects. The schema contains a definition of each object class, and each object class’s attributes, that can be stored in the directory. For example, you could add a Purchase Authority attribute to the User object and then store each user’s purchase authority limit as part of the user’s account.

Policy-based administration. Group Policies are configuration settings applied to computers or users as they are initialized. All Group Policy settings are contained in Group Policy Objects (GPOs) applied to Active Directory sites, domains, or organizational units. GPO settings determine access to directory objects and domain resources, what domain resources (such as applications) are available to users, and how these domain resources are configured for use.

Scalability. Active Directory includes one or more domains, each with one or more domain controllers, enabling you to scale the directory to meet any network requirements. Multiple domains can be combined into a domain tree and multiple domain trees can be combined into a forest. In the simplest structure, a single-domain network is simultaneously a single tree and a single forest.

Information Replication. Active Directory uses multimaster replication, which lets you update the directory at any domain controller. Deploying multiple domain controllers in one domain provides fault tolerance and load balancing. If one domain controller within a domain slows, stops, or fails, other domain controllers within the same domain can provide necessary directory access, since they contain the same directory data.

Information security. Management of user authentication and access control, both fully integrated with Active Directory, are key security features in the Windows 2000 operating system. Active Directory centralizes authentication. Access control can be defined not only on each object in the directory, but also on each property of each object. In addition, Active Directory provides both the store and the scope of application for security policies. (For more about Active Directory logon authentication and access control, see the “For More Information” section at the end of this paper.)

Interoperability. Because Active Directory is based on standard directory access protocols, such as Lightweight Directory Access Protocol (LDAP), it can interoperate with other directory services employing these protocols. Several application programming interfaces (APIs) —such as Active Directory Service Interfaces (ADSI)—give developers access to these protocols.

6) Please explain the difference between an Access Control List (ACL) and a Discretionary Access Control List (DACL).

An access control list (ACL) is a list of access control entries (ACE). Each ACE in an ACL identifies a trustee and specifies the access rights allowed, denied, or audited for that trustee. The security descriptor for a securable object can contain two types of ACLs: a DACL and a SACL.

A discretionary access control list (DACL) identifies the trustees that are allowed or denied access to a securable object. When a process tries to access a securable object, the system checks the ACEs in the object’s DACL to determine whether to grant access to it. If the object does not have a DACL, the system grants full access to everyone. If the object’s DACL has no ACEs, the system denies all attempts to access the object because the DACL does not allow any access rights. The system checks the ACEs in sequence until it finds one or more ACEs that allow all the requested access rights, or until any of the requested access rights are denied. For more information, see How DACLs Control Access to an Object. For information about how to properly create a DACL, see Creating a DACL.

A system access control list (SACL) enables administrators to log attempts to access a secured object. Each ACE specifies the types of access attempts by a specified trustee that cause the system to generate a record in the security event log. An ACE in a SACL can generate audit records when an access attempt fails, when it succeeds, or both. In future releases, a SACL will also be able to raise an alarm when an unauthorized user attempts to gain access to an object. For more information about SACLs, see Audit Generation and SACL Access Right.

7)When setting up routers please explain the difference between a routed protocol and a routing protocol.

A routing protocol sends and receives routing information packets to and from other routers. A routed protocol can be routed by a router, which means that it can be forwarded from one router to another. Yes, there are protocols that can’t be routed, such as NetBEUI (Network Basic Input Output System Extended User Interface)

8)How much bandwidth does a DS3 provide?

45 Mbps of bandwidth and costs the same per month as 3-4 T1 circuits.

9) What benefits can a layer 2 switch provide to a fully switched network?

Layer 2 switching reduces congestion

Layer 2 switching is extremely common and is most often implemented in a LAN environment on an Ethernet switch. Ethernet is based on a bus topology, in which every station on a network shares the bandwidth. Layer 2 switching reduces congestion on the network because the switch only forwards packets to the ports for which they are intended, effectively dedicating a full 10 Mbps, 100 Mbps, or 1000 Mbps to each connection. The switch sends out data based on the destination MAC address.

10) What are the best techniques to secure a wireless network in an Enterprise Environment with site spread across an entire state? Please provide a method that has the least amount of administrative effort.


11)What is the Principal of Least Privilege?

Provide access to data with least privileges needed to access data correctly.

12) When setting up and an email server, what purpose would a “smart host” provide to you and how would you configure it.


13) What is the network and broadcast addresses for the following IP address and subnet mask:



14) What is the difference between a class full and a class less subnet and how are they represented (give example)?


15)Active Directory Sites are primarily used for what purpose?

Sites in Active Directory represent the physical structure, or topology, of your network. Active Directory uses topology information, stored as site and site-link objects in the directory, to build the most efficient replication topology. You use Active Directory Sites and Services to define sites and site links. A site is a set of well-connected subnets. Sites differ from domains; sites represent the physical structure of your network, while domains represent the logical structure of your organization.

16)  Explain what a Grandfather, Father, Son backup is and why it is widely used?

The basic method is to define three sets of backups, such as daily, weekly and monthly. The daily or Son backups are rotated on a daily basis with one graduating to Father status each week. The weekly or Father backups are rotated on a weekly basis with one graduating to Grandfather status each month. Often one or more of the graduated backups is removed from the site for safekeeping and disaster recovery purposes.

A disadvantage of this backup scheme is that it doesn’t ensure that media is replaced before it wears out. For example, each daily (son) media is used every week until it fails, unless some method of tracking media age is implemented.

17) What are the different types of VPN:

There are several different types of VPN. They can be categorized under secure VPN and trusted VPN.

Secure VPNs (aka; SVPNs) takes use of such things as encrypted tunneling, increased confidentiality, and alot of privacy. The “secure” part of VPN means using a more or less secure protocol. Amongst the used ones, i count, IPsec, SSL (ex openvpn) and PPTP.

Trusted VPN inclues MPLS to achieve privacy, instead of tunneling. This is a more “dependent technology” since it relyes on the providers network. SOme other protocalls are; L2F, L2TP and LT2Pv3.

18) If your company policy states that you must provide VPN access to your users to be able to access company resources from public networks so they may do their jobs from home and while traveling; what would be the most secure way to provide this access to the user without compromising any internal resource?

19) Given the opportunity to design a Perimeter Network or DeMilitarized Zone (DMZ) to provide resources to users outside your network, how would you protect the resources in the DMZ and the resources inside the network from harmful entities?


20) As a network Administrator that supports agencies that provides a service to the public, what would be your most important concerns and most common practices?


21) When is the best time to do an upgrade to the network that involves downtime?


22) Please explain an enterprise Public Key Infrastructure (PKI) and where it is useful. Also explain where it may not be useful.

Categories: IT LEADERSHIP Tags:

Great tool for developers (notepad++)

January 9, 2011 Leave a comment


I have not found a better, simpler to use tool than Notepad++ If you are looking for something to fit between Visual Studio or Eclipse and Notepad, this is it.

Categories: Dev Tools, Development Teams Tags:

Attaching JavaScript code to a CRM ISV Toolbar Button

January 4, 2011 Leave a comment

When creating an ISV button, do not put the code in the isv.config file. Instead, put just the function name in the isv.config and the actual code in the OnLoad of the Form. This will allow you to debug and make changes to the code much easier.

Also, you will not have to export/import the entire isv.config file to make a simple javascript change. If you make one error in the isv.config file, the entire isv functionality could be impacted –> HIGH RISK.


Instead of this:

<Entity name=”custom_entity”>
<ToolBar ValidForCreate=”0″ ValidForUpdate=”1″>
   <Button Icon=”/_imgs/ico_18_4703.gif” PassParams=”1″ WinParams=”” WinMode=”0″    JavaScript=”GetDetails();if (crmForm.all.gems_totallinesapproved.DataValue == crmForm…….. . .”>
       <Title LCID=”1033″ Text=”Approve Budget Adjustment” />
       <ToolTip LCID=”1033″ Text=”Approves Budget Adjustment” />

Use an OnLoad function that is called from the ISV file

<Entity name=”custom_entity”>
<ToolBar ValidForCreate=”0″ ValidForUpdate=”1″>
   <Button Icon=”/_imgs/ico_18_4703.gif” PassParams=”1″ WinParams=”” WinMode=”0″    JavaScript=”OnLoadFunction();”>
       <Title LCID=”1033″ Text=”Approve Budget Adjustment” />
       <ToolTip LCID=”1033″ Text=”Approves Budget Adjustment” />


This will allow you to use the other tip I talk about where I use an external .js file during development. This will also minimize the amount of risk to other ISV elements that may not be tested when the new ISV.config file is uploaded.

Categories: Coding Tags:

Building a Common Approach to Grants Management

January 4, 2011 Leave a comment

Summary of what I’ve been working on for the last year.

Project Overview


The purpose of this project was to create a common grants management system for the North Carolina Department of Crime Control & Public Safety (CCPS) to maximize the use of federal grant funds to projects related to law enforcement, victim of crime services, emergency response and Homeland Security efforts. Initiation focus was given to the Governor’s Crime Commission Division (GCC) to administer all phases of their federal block grant programs that bring approximately $50,000,000.00 into the state’s criminal justice and juvenile justice system. The previous grant system was inefficient and labor intensive. Fiscal data preparations were performed in local access database files, excel spreadsheets, hand written notes and emails and then eventually manually entered into the central accounting mainframe. This labor intensive process creates multiple copies of the same data leading to duplication of work throughout the process. This also resulted in limited perspectives of grant information causing errors in grant awards: potential over-allocation of grant funds; larger than authorized check amounts written to subgrantees; under-utilized grant funding forcing money to be returned to the Federal Government along with under-utilized interest baring accounts limiting opportunities to extend grant funding to North Carolina criminal justice and juvenile justice systems.


Provide a single entry point and approach for all organizations requesting grant funding from all CCPS grant programs that have different grant application processes while ensuring fiscal management of funds are fully utilized and completely compliant with all federal auditing regulations.


The project provided a Microsoft SharePoint 2010 website for organizations requesting grant funding. This data is fed into a Microsoft CRM 4.0 solution that is tailored for each grant program. Once a grant project is awarded from any of the grant programs, the fiscal data is sent to a common Microsoft GP 10.0 solution. The fiscal solution provides accounts payable activities to be performed using a common fiscal focused software solution – minimizing training and maximizing common use of the tool. The system then automatically sends approved budget and check writing request information to the State’s Accounting Mainframe system eliminating the need for manually data entry. All interfaces between these system are managed by SCRIBE Insight software.

The implementation of a common fiscal grant management system will ensure all fiscal roles will be able to utilize information without the need to duplicate data entry or drive fiscal grant management workflow based on personnel rather than fiscal process.

Social Benefit

It provides management the ability to ensure maximum utilization of grant funds. The more programs that can be simultaneously supported throughout the state will help reduce crime, improve crime victim services, allow for better response to an emergency and solidify our state homeland security strategy.



GEMS SharePoint Home Page


GEMS CRM 4.0 Solution




GEMS Microsoft GP