Concepts: Information Architecture, Knowledge Management, Portals, Enterprise Search, Collaboration, Extranets, Intranets, Business Intelligence, Business Process Automation, ECM, Records Management, CRM, ERP, Mobile, Web
Approach: Project Management, Business Analysis, Strategy, Design, Development, Implementation
Technologies: Microsoft SharePoint, Office 365, Azure, SQL Server, Windows, HTML5, CSS, JavaScript, ASP.NET
Monday, October 25, 2010
Focus More on Birdhouse Less on Hammer
The birdhouse analogy refers to the focus of conversations and presentations at SharePoint related conference sessions, meetings, and discussions. My underlying criticism is that it seems that the community has become more focused on what the SharePoint platform can do and not focused enough on the business solutions that we are building with the platform. I think the community stands to gain a lot if more emphasis was placed on what we are building with the platform, why, and how we measure value to the businesses receiving these solutions.
I understand that we do need to know the SharePoint product well in order to develop useful business solutions with it. However, I think it is easy for us become consumed by the SharePoint platform; and its capabilities and limitations and lose sight of the fact that SharePoint is merely a vehicle that helps us get to a destination. The business solutions are the true end game, not the platform and tools we use to build the solutions. Some of the design patterns and methodologies we find to be effective may even be transferrable to other technologies.
As workers, we in the SharePoint community are responsible for ensuring that the solutions we develop will provide the outcomes that the sponsors and stakeholders expect. I think that if we spend too much time trying to figure out the best ways to get "there," and too little time on establishing complete and clear visions of where "there" is, then we are missing the target. As a community, I think we may miss valuable opportunities to share lessons learned and best practices for solving common business problems using the SharePoint platform.
When we only focus only on the hammer, we miss the point. Let's have more conversations and presentations about the birdhouse, how we designed it, why we designed it a certain way, and what we learned from the whole experience.
Use SharePoint Worfklow Like Robots on a Conveyor Belt
Take for instance, the beginning portion of a new hire process that a company might have. This might involve a series of human interactions between candidate and recruiter. An application is submitted and the recruiter would evaluate the application, comparing it to an open requisition. The recruiter would interpret the information on the application and ask for clarification. If a match is made, then an interview might occur, and so on.
When the people involved are attempting to execute a process such as this, it is only natural that the changing conditions of the work environment will prompt questions about what tasks need to be completed, who should complete the tasks, what information should be gathered, how should that information be evaluated, what laws exist, etc.
Although, it is possible to automate certain tasks in this process, SharePoint workflow is not designed for automating the entire business process. Where SharePoint workflow really comes in is making discrete tasks more efficient. For example, the workflow technology may be used to transfer an applicant's information into a database where it can be easily compared with open requisition criteria.
The technology is not going to do a human's work, though, and it is not practical to even try to make it. No, instead, a more appropriate approach to leveraging SharePoint workflow is for efficiency gains which target small steps or tasks; ones that are completely black and white, like modifying and loading records into a custom list or database, moving documents, or sending out an e-mail when a specific event occurs.
Portal site designs which help guide the human through a series of steps is essential to a workflow solution. The portal provides the framework to guide the user, while the workflow elements provide automation for specific tasks that occur during the process.
Whatever the application, the goal is usually to provide tools that allow the human to logically string each step together, flowing as if the site is a virtual conveyor belt and the workflow elements (conditions/actions) are specific robots that do stuff at each stage. The overall solution should help guide and progress the overall process in a consistent direction so that humans can participate, contribute, and derive the needed results.
Still, in an ever changing environment, it is only natural that the conveyor belt will need to be stopped and participants will ask each other whether the process is effective and efficient enough, and what might need to happen differently. The simple fact is, every business process is a work in progress.
Friday, October 15, 2010
NESQL 2010 October 14 Virtualizing SQL Server
During the last few years, I have become a fan of virtualization for SharePoint environments, including the SQL Server database server role. I know many in the SharePoint community are skeptical about this, so, it was interesting to observe the opinions and responses from the local SQL Server community. I think the majority of the room was still skeptical (as expected) about virtualizing SQL Server. However, Brent did a good job of providing guidance on how to get the best performance out of a SQL environment when it is virtualized.
Beyond enlightening me about some of the finer details of how virtualization impacts I/O, Brent's presentation provided greater validation for my opinion of virtualizing SQL Server. At this point, I believe the technology is definitely mature enough to handle all roles (including database role) of most production SharePoint environments. That is; if adequate hardware is allocated and if virtualization is implemented well.
Some of the take-aways I scribbled down include the following (no warranties with these notes because I can barely read what I wrote):
CPU
- CPU-Z is a great, free utility for monitoring true CPU performance on guest systems
- In a virtual environment, more cores assigned to a SQL Server VM may actually leads to worse performance due to overhead related to instruction assignment behavior in shared environments relative to processor caching.
RAM
- In VMWare, set memory reservations, don't over commit RAM, use large pages (Microsoft, 2010).
- In SQL Server, remember to set min/max memory appropriately.
Storage
- Group DBs logically based on purpose, maintenance schedule, security, etc.
- Still separate Temp DB in virtual environments.
I believe Brent will be presenting the complete version of his presentation at the PASS Summit in November. Either way, if you are reading up on this topic, then check out his blog post on Virtualization Best Practices.
Reference
CPUID (2010). CPU-Z supports the new Intel Sandy Bridge processors. Retrieved October 15, 2010 from
http://www.cpuid.com/news/26-cpu_z_supports_the_new_intel_sandy_bridge_processors.html
Microsoft (2010). SQL Server and Large Pages Explained. Retrieved October 15, 2010 from http://blogs.msdn.com/b/psssql/archive/2009/06/05/sql-server-and-large-pages-explained.aspx.
Ozar (2010). Virtualization Best Practices. Retrieved October 15, 2010 from http://www.brentozar.com/sql/virtualization-best-practices/.
Reference: Tab Navigation
Easy Tabs 5
Tab Navigation using CSS only
Reference
Humbert, C. (August, 2010). Easy Tabs Version 5.0. Retrieved October 15, 2010 from http://www.pathtosharepoint.com/sharepoint-user-toolkit/Pages/Easy-Tabs-v5.aspx.
Solomon, H. (August, 2005). Tab Navigation using CSS only - Great for SharePoint. Retrieved October 15, 2010 from http://heathersolomon.com/blog/archive/2005/08/10/1434.aspx.
SharePoint Saturday Boston #3 Webinar Series
Click Here to Register
Agenda
11:45 AM EST – 11:55 AM EST Welcome and Sign-In
11:55 AM EST – 12:00 PM EST Speaker Introduction
12:00 PM EST – 1:00 PM EST Presentation
For more information or to register for other Webinars, visit the SharePoint Saturday Web site, SharePoint Saturday Boston #3 Webinar Series: http://www.sharepointsaturday.org/boston/Pages/SPSBos3WebinarSeries.aspx
Thursday, October 14, 2010
Reference: Location Codes
Official USPS Abbreviations
List of U.S. States by Time Zone
Reference
United States Postal Service (2010). Official USPS Abbreviations. Retrieved October 14, 2010 from http://www.usps.com/ncsc/lookups/usps_abbreviations.html.
Wikipedia (2010). List of U.S. States by Time Zone. Retrieved October 14, 2010 from http://en.wikipedia.org/wiki/List_of_U.S._states_by_time_zone.
Tuesday, October 05, 2010
SharePoint 4.0: How Search Indexing Works
The crawl process goes something like this:
1. Full crawl started
2. Start address moved to queue
3. Protocol determined
4.Connector selected
5. iFilter opens files
6. Content index created on crawl server
7. Index moved in batches to query server
8. Data written to Crawl and Property databases
(Microsoft, 2010)
One myth about SharePoint 2010 crawl process is that when content is crawled it never touches the file system of the Crawl Server and goes directly to Query Server...this isn't true. The way it works in environments that have crawler and query roles on separate servers is; a content index is built on the crawl server initially, but is moved in batches to the query server(s). The point when all batches have propogated to the query server, then it may appear as if there is no foot print on the Crawl server's file system...this is because all the batches have been moved up.
From a server topology perspective, Search requires three different server roles. These include Crawl Server, Query Server, and Database Server. Each of these roles plays a role in the crawl process. For scalability and availability, the architecture supports configurations that include one or many of each of the server roles. Determining the best topology is a balancing act of capacity requirements with available resources.
Reference
Microsoft (2010). Microsoft SharePoint 2010 Product Information Capabilities Search. Retrieved September 22, 2010 from
http://sharepoint.microsoft.com/en-us/product/capabilities/search/Pages/default.aspx.