CSS to support the rebranding article

<style>
/*—| By @Cstahl 2010, modifications by @Wayne Hammons |—*/
.s4-toplinks{
background-color:#2d9cc7; /*Fallback*/
background: -webkit-gradient(linear, left top, left bottom, from(#2d9cc7), to(#157db2));
background: -moz-linear-gradient(top, #2d9cc7, #157db2);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#2d9cc7, endColorstr=#157db2);
-ms-filter: “progid:DXImageTransform.Microsoft.gradient(startColorstr=#2d9cc7, endColorstr=#157db2)”;
margin-left:0px;
border-top:0px;
border-bottom:0px;
margin-left:0px;
}
#s4-topheader2{
background-color:#2d9cc7; /*Fallback*/
background: -webkit-gradient(linear, left top, left bottom, from(#2d9cc7), to(#157db2));
background: -moz-linear-gradient(top, #2d9cc7, #157db2);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#2d9cc7, endColorstr=#157db2);
-ms-filter: “progid:DXImageTransform.Microsoft.gradient(startColorstr=#2d9cc7, endColorstr=#157db2)”;
}

.menu-horizontal{
margin-left:10px;
border-right: 1px #167FB3 solid;
background-image:none;
}
.menu-horizontal ul li{
color:#fff!important;
min-height:31px;
line-height:30px;
border:0px;
padding:0px;
margin:0px;
border-left:1px #167FB3 solid;
}
.menu-horizontal ul li a{
color:#fff!important;
font-weight:bold;
border:0px!important;
padding:0px!important;
margin:0px;
height:31px!important;
background-color:#2d9cc7; /*Fallback*/
background: -webkit-gradient(linear, left top, left bottom, from(#2d9cc7), to(#157db2));
background: -moz-linear-gradient(top, #2d9cc7, #157db2);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#2d9cc7, endColorstr=#157db2);
-ms-filter: “progid:DXImageTransform.Microsoft.gradient(startColorstr=#2d9cc7, endColorstr=#157db2)”;
padding-right:20px!important;
padding-left:20px!important;
}
.s4-toplinks .s4-tn > .menu-horizontal ul li a:hover {
text-decoration:none!important;
/*if use 333 the DD color will not work*/
color:#333!important;
background-color:#036ba8; /*Fallback*/
background: -webkit-gradient(linear, left top, left bottom, from(#036ba8), to(#4fb3d3));
background: -moz-linear-gradient(top, #036ba8, #4fb3d3);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#036ba8, endColorstr=#4fb3d3);
-ms-filter: “progid:DXImageTransform.Microsoft.gradient(startColorstr=#036ba8, endColorstr=#4fb3d3)”;
height:31px!important;
border:0px;
padding:0px;
margin:0px;
}
.s4-toplinks .s4-tn > .menu-horizontal a.selected {
color: #fff!important;
background-color:#4fb3d3; /*Fallback*/
background: -webkit-gradient(linear, left top, left bottom, from(#4fb3d3), to(#036ba8));
background: -moz-linear-gradient(top, #4fb3d3, #036ba8);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4fb3d3, endColorstr=#036ba8);
-ms-filter: “progid:DXImageTransform.Microsoft.gradient(startColorstr=#4fb3d3, endColorstr=#036caa)”;
line-height:30px;
height:31px;
border:0px;
padding:0px;
margin:0px;
}
.menu-horizontal A.dynamic-children SPAN.additional-background {
background-image:none!important;
}
.s4-tn ul.dynamic {
background-image:none!important;
border:1px solid #f7f7f7;
border-top:0px;
border-bottom:1px solid #ccc;
margin:0px;
padding:0px;
}
.s4-tn li.dynamic {
background-image:none!important;
border-top:1px solid #ccc;
border-right:1px solid #ccc;
border-bottom:0px solid #ccc;
border-left:1px solid #ccc;
}
.s4-tn li.dynamic > .menu-item {
display:block;
padding-left:19px!important;
white-space:nowrap;
font-weight:normal;
background-color:#ffffff!important;
background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f7f7f7))!important;
background: -moz-linear-gradient(top, #ffffff, #f7f7f7)!important;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#f7f7f7)!important;
-ms-filter: “progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#f7f7f7)”!important;
color:#333!important;
}
.s4-tn li.dynamic > a:hover {
background-color:#ffffff;
background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#ffffff))!important;
background: -moz-linear-gradient(top, #ffffff, #ffffff)!important;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#ffffff)!important;
-ms-filter: “progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#ffffff)”!important;
color: green!important;
}
/*—– Some other stuff ——-*/
.col-fluid-1, .right-wp-zone-col {
 margin-top:20px
}
#s4-leftpanel-content {
padding-top:20px!important;
border-right:0px!important;
border-bottom:0px!important;
margin-right:0px;
margin-left:0px;
background-color:#f7f7f7!important
}
.s4-title {
 background: url(/sites/adminapps/SiteAssets/HCFlogo.jpg) repeat-y scroll right;
 min-height: 123px;
}

.s4-titlelogo{
padding-left:10px;
display:none
}
.s4-titletext{
padding-right:10px;
margin-right:20px;
margin-left:20px
}
TD.ms-sbscopes {
padding-right:0px
}
.s4-search, .s4-rp{
padding-top:3px!important;
margin-right:0px;
}
.s4-search TABLE {
margin-right:0px
}
.s4-title-inner{
background:transparent;
padding:0px 0px 0px 0px;
margin-left:0px;
min-height:123px;
}
.s4-socialdata-notif { display:none; }
.ms-cui-ribbonTopBars{background: olive url() repeat-x;
padding-top:0px;
}
<style> 
DIV #s4-topheader2  { 
BACKGROUND-IMAGE: none; BACKGROUND-COLOR: #323232;
PADDING-TOP: 4px;
PADDING-BOTTOM: 2px; 
}
.ms-rteElement-H1B {
 color:#CC0000
}
</style>

SharePoint Branding our internal sites to our web presence with css

It must seem that all I do these days is the Tampa Bay SharePoint Users Group. That really isn’t the case. I have a family life and I coordinate another large group that meets weekly.  In addition to those personal activities I have a job.

 This last week I have had the pleasure of sitting in on the RackSpace Tuesday afternoon wing ding SharePoint thing.  Randy Driscall and John Ross were oozing SharePoint wisdom.  Randy discussed branding with css and demonstrated adding a background image to the title area.  He also showed the firebug and IE developers’ tools. 

I have a current task to re-brand a SharePoint site collection to resemble our Internet site. 

www.Hillsboroughcounty.org web site

External website

Fortunately, the Internet site navigation mimics SharePoint or visa verse. I have been able to create an alternate css file using SharePoint Designer. Using some css example code I cut from End User SharePoint, I changed the top navigation to look very much like our web site, with blue buttons and white lettering (the original code was generated by Christian Ståhl, blue.css, I made necessary modifications).

Next, Using the IE developer tools I was able to identify the css element for the dark blue bar at the top of the screen.  I added the .ms-cui-ribbonTopBars{background: olive url() repeat-x; padding-top:0px;  to the css file and that made the top of the screen olive.

Finally, I addressed the title area. I added a background image to the s-4.title and played around with anchoring.  Next I hid the social elements. To complete the assignment I hid the logo.

SharePoint internal site

SharePoint internal site

The result was a low cost high impact branding make over.  It was easy to demo because I can add the file to a CEWP on the test server and tweak it until the communication director is happy. Then add the file as alternate css in a publishing environment.

Tampa Bay SharePoint Users Group Tonight

The Tampa Bay SharePoint Users Group is not just an event, its’ a happening.  It is happening this evening in fact.  That is not what I meant however. An event is planned, coordinated, and ultimately occurs. A happening is something that happens.

 I started planning and coordinating an event but as things began to unfold the event became almost secondary to what is happening.  So, what was suppose to be an event has become something more.  I hope that does not diminish the event.  I still want the event to be really cool.

So, what is happening?  People are coming together and talking.  They are sharing stories, hopes, and dreams.  There are people wanting to get involved in big ways and not some in not so big ways.  There is a community emerging out of thin air.  If you haven’t checked this out, you should.

Tampa Bay SharePoint Users Group being born

It is really an exciting thing; to be part of the development of a new SharePoint Users Group.  Over the last year I have attended a lot of meetings and have become involved in a bunch of groups.  In 12 short months, I went from knowing almost nobody in Tampa to knowing a lot of people.  Yet, have hardly met anybody in the Tampa SharePoint community. The Tampa Bay SharePoint Users Group is a quest for friends and fellowship.

Tampa is such a great place.  I have met great people and have enjoyed the great weather.  In a nut shell Tampa ROCKS!!!  Everybody should love their home as much as I love mine.  

SharePoint is a great thing too.  It is like a classic game.  It is easy play but challenging to play well. Working with SharePoint everyday is fun.  Some days can be challenging and it can get frustrating but would life be fun if it weren’t occasionally challenging or frustrating.

Starting a new group is like SharePoint in that it is easy and yet it can be challenging and frustrating. It takes people to start a group. I mean a group by its definition requires more than one person.  However, for the longest time there was just one person longing for a SharePoint group.  Thinking, tinkering, complaining but one person can not form a group.  In January the thoughts yielded to actions and the ‘one’ begun a process of connecting with others. 

There have been encouraging interactions.  When discussing the possibility of a SharePoint group with community members at a mixer at the Blue Martini there was an enthusiastic endorsement by Teresa. She belonged to a similar group and loved it.  There was the point where seeking sponsorship for a meeting location and multiple corporate sponsors were trying to get approval from their management to provide a meeting spot and it appeared that at least one would have to be let down. The group received an endorsement to move forward by some guy at Microsoft.  It may not have been the full weight of Microsoft’s vast resources poured out as a commitment to make this group uber-successful but it was enough to add a small thread of credibility.  

However, there have been frustrations.  Since the group is new and there have been no meetings, there is no track record.  A used car sales man once told me that bad credit is better than no credit at all.  That certainly appears to be the case with the Tampa Bay SharePoint Users Group.  After contacting a number of companies that have SharePoint practices.  It appeared that the group would get hosting on the SharePoint platform and would likely have some of the most recognized speakers and authors in all of SharePointland present at our meetings.  However, if you were to visit www.tampabaysharepoint.org it is clearly not hosted on SharePoint.  At least for the time being, the group will be hosted on open source software and be relying on local talent to carry the presentation load.  

It is a good thing that the group is not being formed to get free hosting, great speakers, or corporate recognition.  If those were the goal then the apparent adversity would be enough to make success seem impossible.  The goal is so much more humble. Our sponsor may not appreciate that it doesn’t matter whether there are 30 or more people at any given meeting.  It matters that there is a time and a place where people can come together learn, share, laugh and get to know each other.  I am thinking swag (Dollar General)!!!

 

 

SharePoint 2010 Collaboration site collection strategy

As part of the overall Information Management strategy, I was focusing on how to manage collaboration or team sites.

I discovered a pattern that helped with segregating sites that required differant quote and usage monitoring configurations.   We are not implementing any third party technologies for assisting with site management.  We are going to have to maintain our site collections internally.  Here is the proposed approach for collaboration sites.

A two separate web applications. The first for persistant collaboration sites. the second is for temporary sites.  This way we can adjust the site use confirmation and deletions based on the differing requirements.

Non Persistent collaboration sites

Meeting or Event management.
A site dedicated to the management of a meeting or event. 
Document development.
Document workspace where people collaborate on the development of a single document or report.
Project management.
Store and maintain project related documents and correspondence.
Adhoc teams
Team assigned to make recommendations on solving a specific problem.

 Persistent Collaboration Sites

Recurring Meeting or Event management.
A site dedicated to the management of a recurring meeting or event. This would include history/archives of past meetings. 
Document management.
Document Library where people collaborate on the lifecycle of a specific document or type of documents.
Project Portfolio.
Store and maintain a list of projects and the related documents and correspondence.
Standing teams
Direct reports provide a high level weekly status on on-going work. Share a calendar etc.

 

Go, create the fellowship you crave.

I was so excited to be part of the SharePoint Community in my new home town of Tampa Florida.  I had not had this kind of an opportunity in a decade.  There was a web site.  There was a SharePoint Saturday Conference. I attended and the rooms were packed with participants.  I was thrilled to finally be in a place where I could meet like minded people.

I was so new to town last year at SharePoint Saturday that I didn’t know that I better meet everybody and get their contact information because that would be the last event for a long time. Jeeze, I could have stayed in Wyoming and not met fewer SharePoint peeps.

I crave that connection however.  I attended a couple of Road Shows put on by K2 and KnowledgeLake here in Tampa and those events were packed.  I talked with the other attendees and they were generally pretty excited about SharePoint.  Nobody offered up an explanation for the sudden stop in the Tampa SPUG activities. It doesn’t seem like lack of interest, however.

I can’t help but to wonder what others think of me. Going out and starting another SharePoint Users Group from scratch.  I suspect that until I approached Microsoft with the idea, nobody had thought about me at all. After that I think I may have eeked out a couple of iota of thought from somebody because  I received a call from David McNamee.  He gave me a little nod to go ahead and start a new group.

That was about the extent of it.  I can’t imagine anybody else at Microsoft or the old Tampa SPUG has offered up any neurons to my cause. That’s fine.  I probably think about myself enough without anybody else’s help.  I have been planning and scheming and I am ready to go.

I have chosen to make Tampa my home and SharePoint is kind of a fetish I have.  I moved to Tampa on April 25, 2011 and claimed it.  I plan on staying here.  So, I have spent time and effort to meet people.  I have met a lot of people. In fact I have a large group of friends.  But, I am still longing to be part of an active SharePoint community.  So, I have set out to create the fellowship I crave.

June 13, 2012, just four days after SharePoint Saturday Orlando, the second SharePoint User group is going to meet at Kforce, 1001 East Palm Avenue,  Tampa at 6:30pm. If you have any question about my sincerity, come out and spend some time with me. Spending time with you is the only reason I started down this path in the first place and we’re going to have a good time.

 

 

 

 

 

The Tampa Bay SharePoint Users group

I am excited to say that the Tampa Bay SharePoint Users Group has cleared a major milestone.  Kforce has committed to be the location sponsor with an awesome facility and a great attitude. Kforce is located at 1001 East Palm Avenue, Tampa, FL 33605. That is Ybor city section of town so there are plenty of locations to gather after the meeting for socializing.

Now that we have a firm location, we are able to announce the kick off meeting for June 13, 2012. We will be setting up a meeting sign up site within the week and gear up a marketing campaign to get the work out. It is so exciting to be on the ground floor and getting to see all of the pieces come together.  If you want to get involved leave me a message on this posting and open with SharePoint in capital letters to help me spot it among the spam.

There is still quite a bit of work to do to turn this ambition into a reality but Nicole has been very supportive and I feel like we are getting ready to get off to a great start.  We are scheduled for the second Wednesday of each month.  I hope this becomes a lynch pin for the SharePoint Community in the Tampa Bay area.

 

The ‘Second’ Tampa SharePoint Users Group.

I have often wandered about all of the First, what-evers.  Y’all know: the First National Bank or First Baptist Church.  Why would you need to state your the first if there wasn’t a second? What about the second?  You rarely see people name their business or organization the Second anything.

Now that I have started working on establishing a second SPUG in Tampa Florida, I am faced with concerns that the original founders of the first Tampa SPUG didn’t have.  I am concerned with appearances.  I am concerned with propriety.  I am concerned with credibility. I really feel like it is a good and worth while thing to do or I wouldn’t bother.  But, I wish I could just deal with the fear of failure and fear of looking like a fool and not have all of the secondary concerns.

Appearances

I moved to Tampa from Wyoming in 2011 and was excited at the prospect of getting involved in a thriving and established SharePoint Community.  They hadn’t met in a year or two but they had hosted SharePoint Saturday and their web site said that after a brief hiatus they would resume their monthly meetings.  That did not prove to be the case.  The break in meetings has continued for another year.  I have had a few email exchanges with the guy that is listed as the President but to the extent I can discern it has yielded me being placed on a list. Probably, the Sharepoint High Interest Teammate list which is likely kept in a can.

The President of the original group has ties to the community and has hosted at least a couple SharePoint Saturdays.  As far as I know he has gained the trust and respect of the SharePoint community from Tallahassee to Key West.  I just want to have a regularly scheduled monthly meeting that I can use to meet and get to know other SharePoint enthusiast. I don’t want this to appear as though I am standing in judgement over anybody else.  I loved going to SharePoint Saturday 2011 and he did a fabulous job making it a success.  I hope his group does it again.

I am just worried about appearances. I don’t want to appear to be ungrateful or superior in some way.  I am grateful and certainly not superior.  I am just looking to get a regular meeting going.

Propriety

Since I have not received any traction with getting the first group engaged and have started forming a second group, I am left wandering what is appropriate. Can I get Microsoft sponsorship?  Can I call this the Tampa Bay SPUG even though the other group is called the Tampa SPUG? Is SharePoint Users Group (SPUG) a formal organization with chapters or is it a generic term that is informally used by communities?  I am not even sure who to ask about these issues. I am thinking that this is an altruistic venture.  I will take a friendly approach.  So, I am going to pick a name and move forward.

I am concerned about confusion that will likely be caused by calling it Tampa Bay SPUG or SPUG Tampa.  However, I live in Tampa not St. Pete. and nobody knows Hillsborough County outside of Tampa so I will likely use Tampa in the name.  Maybe Tampa’s Second SharePoint Users Group.

Credibility

It is challenging for me face my fear of failure and foolishness.  I am really excited about doing SharePoint and I am reading bloggers that are excited about SharePoint.  I want to share my enthusiasm and feed on other peoples enthusiasm as I transition my career to SharePoint fanatic from IT guy.  I am not the smartest SharePoint guy on the planet.  I have a ways to go before I can really call myself an expert.  I am just hoping that I don’t have somebody that really knows all about SharePoint show up to the first meeting and say “who do you think you are?” Or worst, I offer my opinion on how to use SharePoint and somebody follows my advice it and it blows up in their face.

It would be so much the easier if i could ease into the Tampa SharePoint community and carve out a little niche.  But I have been taught to “create the fellowship I crave” and “to be what I want to see.”  If reality is not what it is suppose to be I can accept it and get over it or I can change it.  If you are ever vacationing in Florida and want to meet a real SharePoint Fanatic drop me a response.  This is going to be a fun ride.

 

SharePoint Composite Planning Process

Planning

There has been a lot written on business analysis and requirements gathering. The following is not designed to be an authoritative process. The point is that the development of a solution is predicated on their being a problem. Start by identifying a problem and understanding the nature of the problem. SharePoint Composite solutions will be be most effective at automating well established processes. It is more difficult to take a poorly defined process with a lot of exceptional cases and automate it in effort to glean some level of control. Unfortunately, it is easier for an organization to identify poor processes as a problem and seek out automation as a solution rather than focusing on management.

Here is a general approach to the planning process:

  1. Meet with key stakeholders and discuss the problem. Try to avoid discussing any approach to solving the problem at the initial meeting.
    1. Ask general questions about the process and develop a basic process flow diagram.
    2. Ask about the number of transactions to determine the growth rate of data that might end up stored in SharePont list and libraries.
    3. Identify as many of the people as possible that are involved in the process so that you can meet with them to get as broad an understanding of the problem as possible.
    4. Identify the various customer roles, common ones are System Admin, Approvers, Contributors, and Visitors.
    5. If there is an existing process, schedule a demonstration.
    6. Identify any reports or outputs from the process and get copies if possible.
  2. Develop a general process flow diagram:
    1. Visio diagram with each step with the following information.
    2. What are the inputs and what are the outputs for each step?
    3. Who is responsible for each step?
    4. What is the timing of each step?
    5. Any exceptions that effect the normal processing.
  3. Create an Entity Relation Diagram.
    1. If this were a database, what tables would you create?
    2. If this were a database, what fields would link the tables?
  4. Process verification:
    1. Meet with various key personnel and ensure that they verify that you understand the process.
    2. Take process flow diagram.
    3. Verify steps and identify any variances.
    4. Attempt to witness process in real time as much as possible. Job shadowing the key people involved in the process is an excellent way to identify exception cases that were not covered initially.
    5. Follow the dataflow to discover subsequent operations and stakeholders.
    6. Attempt to get key personnel to participate in the user story creation.
  5. User stories
    1. Identify the various user groups (inputs, consumers, admins).
    2. Create a series of stories for each group.
    3. The format is simple: As an “x”, I need “y”, so “z” will happen.
    4. Write the stories on 3×5 cards.
    5. For each user story create technical solution and write that on the back of the card.
    6. For each technical solution create an estimation of effort in tokens.
      1.  A token represents a unit of time that it takes to perform a simple action. Use a task that takes about 15 minutes.
      2. For all of the single token items go through and put a 1 in the top right corner.
      3. For each item that is about twice as time consuming put a 2 in the right hand corner.
      4. Keep incrementing until you have all the task that are to large to estimate.
      5. Rank them by level of effort and look at each of them to see if they can be broken into a series of smaller task that can be estimated.
      6. For remaining task determine what task is about half as hard and double the estimation for that task and write in in the upper right corner.
    7. For each user story write a test. A user account logged on with “x” permission level and do “y” and “z” happens but if they do something else “z” doesn’t happen.
  6. Verification
    1. Verify all the stories, process diagram and schema with the Customer.
    2. Discuss the initial approach for the project.
    3. Provide estimations for effort and timing.
    4. Be open to changes