in

SharePoint Blogs

The Best Place for SharePoint-related Blogs

bmixon's blog

  • Where do I write now?

    Dustin Miller, with SharePoint Experts, has been kind enough to keep this blog alive since it contains a lot of content.  You can access my new site and blog by going to http://www.BobMixon.com.

     

  • Advanced List Filtering - Using Input Parameters

  • Need some help with List Definition

    Maybe one of you guru's out there can help me with this one. I am in need of creating a new list definition that has all of the core functionality found in an issues list. This is one list type that I have not extended in the past and find there is a lot of base code. What I don't understand is where and how SP brings list specific and base code together; which I can duplicate in a custom list definition as a starting point. Once I have a base custom list definition with all of the features of an issues list (history is the key), I can take it from there. Anyone care to shed some light on this for me?
  • Modify the Top Navigation Bar in WSS without FrontPage 2003

    Todd Bleeker has written a lot about how to use the Content Editor Web Part (CEWP) to make modifications to your Sites.  I personally like this approach for many reasons; many companies don't let users edit Sites with FrontPage, FrontPage has some quirks that can make support a real issue, very easy to break your sites, ghosting/unghosting, blah, blah, blah....

    So I ran into a question today asking if it is possible to modify the top navigation bar of a WSS Site?  The most common answer is to open FrontPage 2003. right-click on the nav bar itself and make whatever modifications you wish.  What about when you don't have FrontPage 2003?  Well, using Todd Bleekers CEWP approach, here is how you can hide the Help link on the Top Navigation Bar:

    1. Place a CEWP t the bottom of your page and configure the properties so it is hidden; i.e. no border or title.
    2. Click on the 'Source Editor...' button and enter the following code:

    Save you CEWP and you will see the Help link is gone.

    I currently use the Internet Explorer Developer Toolbar to determine what element ID's are available for me to work with.  Here is a list of what the default ID's are in the top navigation bar:

    onettopnavbar1002-0 = Home
    onettopnavbar1002-1 = Documents and Lists
    onettopnavbar1002-2 = Create
    onettopnavbar1002-3 = Site Settings
    onettopnavbar1002-4 = Help

  • Get out of the GAC!

    I work in an environment that is very fast paced. As a result, I am not always afforded the time to do things correctly, or the way I wish, the first time.

    I have a number of assemblies that contain code shared across many Web Parts. In the past, I always placed these shared assemblies in the GAC simply because it was the "easy way out". I had some extra time and thought it would be a good idea to finally get those assemblies out of the GAC and moved into a more secure area; welcome to the BIN directory! I have a fairly good understanding of Code Access Security (CAS); building permission sets and code groups allowing code to run in the proper security context. But for the life of me, I still had problems. No matter what I did, I would receive an error indicating "Execution permission cannot be acquired".

    I scratched my head, reviewed my code; to see who was naughty and who was nice. Still nothing, I couldn't find anything wong with my permission set and/or permission elements in my config file. So I dropped Maurice Prather an e-mail and he quickly pointed me in the right direction. Knocking my head on my desk; does AllowPartiallyTrustedCallers ring a bell Bob?

    The shared assemblies were running in the GAC which gives FullTrust to them. That's actually the problem with running code in the GAC; anyone, trusted or not, can call your code. Pulling the assemblies out of the GAC and placing them in the BIN directory changed the manner in which they were being called. So here is what needs to be done.

    • Open the AssembleInfo.cs file for your shared assembly.
    • Make sure you have included the 'using System.Security' reference.
    • Anywhere in that file add the [assembly:AllowPartiallyTrustedCallers] assembly attribute. For more information on this assembly attribute, see MSDN : AllowPartiallyTrustedCallersAttribute Class.
    • Recompile, deploy the assemblie(s) and reset IIS.

    That's all there is to it. Too simple, but it took time out of my day so I thought I would share it with you! Thank you Maurice for all the help!

  • SharePoint Training Resources

    I have created a new section on my site for SharePoint training resources. It is also open for edits by all registered users. If I have missed anyone or incorrectly described your training, please feel free to make the appropriate changes.

    SharePoint Training and Education Resources
  • SharePoint 3rd Party Products

    I have a new section on this site for SharePoint 3rd Party Products. There is currently two categories; Document Library Management and Search. Feel free to list any additional products you are aware of and tell others about this new resource. If you have a product you would like listed and are unable to edit the wiki, simply send me an e-mail and I will make sure it is included in the appropriate location.
  • SharePoint Technical Project Site

    I have created a multi-page technical project site and saved it as a template for others to use. It includes a lot of features, such as risk management as outlined in the Microsoft Solutions Framework (MSF). You can find the article and down load here.
  • My New Site

    My new wiki site is ready to go and I am using it fulltime now. The advantages are many; a website I can store a knowledge base, articles, etc., and my blog. I am not tearing this blog down! If you are interested, add my new News rss feed to your blog-roll. If you are interested in being notified when updates occur, add my new update rss feed to your blog-roll. Leave me comments on the site, take the time to browse around and maybe even register.
  • Super Geek Dinner in Anaheim California

    Friday night I had the opportunity to meet and have dinner with three of Microsoft's finest! I would like to thank the three of them for having dinner with my wife and I; we really enjoyed ourselves.

    Dinner with Maurice Prather and Friends
  • SharePoint Knowledge Base

    I have made additional updates to my new SharePoint Knowledge Base; specifically the SharePoint Web Parts and Bloggers sections.

    All of my new articles will be posted to this new site. Also, notice there are 2 RSS feeds; one for my new blog and one for updates to the Knowledge Base.
  • A new project

    I have been working on a new little project for a while now; take a look. Subscribe to the RSS feeds and so on. Please let me know what you think!
    Bob Mixon's Research Wiki
  • Sites, Sites and More Sites - How Did This Happen

    Have you encountered anything similar to the following scenario yet?

    1. A few individuals, typically someone in IT, learns about how SharePoint can be used to solve communications and document management problems.
    2. Windows SharePoint Services (WSS) is installed and the IT department(s) begin to use it for various purposes; communications, projects, etc.
    3. The success becomes the talk of many meeting; commonly heard "Put it in SharePoint" or "Why would you put anywhere other than SharePoint".
    4. The momentum moves throughout select areas of practice and departments with little regard as to why it is or is not being adopted.
    5. Management gives the green light to deploy the solution or announce its availability to the company.
    6. Mandates are put in place to now use SharePoint instead of file shares (because many believe that is all it is), sites are to be used for every project (IT or not), etc.
    7. Everything is going along quite well.  You have various levels of SharePoint knowledge so your education and support needs grow but you are happy with the adoption rate.

    I call this common scenario the Viral Nature of SharePoint; don't underestimate it, or it will bite you!  Installing SharePoint and rolling-out sites is too easy.  So easy in fact the next step in this scenario is usually failure.  Your SharePoint solution has been deployed for a year or so, you have hundreds if not thousands of sites; common complaints now include:

    1. Inability to find information.
    2. Not understanding why there are 20 sites for a single area of practice or department.
    3. Not understanding why they have access to some sites but not others; especially those with names they feel they should have access to.
    4. Search returning so too many results to find any relevant information.
    5. Search return many results of the same information (big red flag).

    Your users are now very frustrated because they have so much time and effort invested in SharePoint, but find the value it adds to their everyday life diminishing.  You will have to take action quickly, cautiously and expect a great deal of communications to turn this type of situation around.  Once you have spoiled the taste a user has for a solution, getting them back to feed is very difficult.

    How do you Resolve This or Reduce The Risk of it Happening in the First Place?

    1. Educate, educate, educate.
    2. Define and create a publicly available set of Community sites; one for each area of practice.
    3. Find and educate individuals that will advocate, administer and moderate communities.
    4. Install an improved search and navigation tools.

    Educate

    Inform your users about the risks of just creating sites without a plan.  Rolling-out SharePoint to an organization, regardless of the size, must be handled in the same manner as any other project.  The creation of sites follows the same rules, just on a smaller scale.

    Make sure you have categorized the various types of users; i.e. end users (80% of your employees in most organizations), moderators, assistant administrators, administrators, trainers and so on.  Make sure you plan on and deliver the appropriate training to those users.  For example, don't expect your average user to understand how to appropriately manage site security.  In these circumstances, that type of user should never need administration training or have the security rights to create sites.

    If your company is unprepared to train the various levels and types of users, look into what is available today.  There are a number of companies; i.e. SharePoint Experts, MindSharp, Barracuda, etc. that specialize in training and can move through your organization very quickly.  Believe me, the monies you spend today on training will be saved down the road in support or the cost of failure!

    Communities - Areas of Practice

    From the SharePoint site perspective, I use the term community or area of practice and sites when I am educating users.  Many users find it very difficult to understand the differences between a site, team site, workspace, document workspace, social workspace, meeting workspace and all of the other names that have come about.  If you choose to not use the term community, try and come up with one or two terms that you use consistently.  Communities are root level sites that everyone in the company has access to, provide a means by which everyone across organizational boundaries can communicate about a topic.  Common communities might be; Software Development, Human Resources, Compliance, Sales and Marketing, etc.  Communities can, and will, have sub-sites.  In many cases these sub-sites will have restricted access and provide a place for a specific team to collaborate about a specific topic.  The big difference here is, these sites are "children" of the related parent community.  In addition, you can document information about the audience and access requirements in a list that contains links to these sub-sites.

    Advocate, Administer and Moderate

    You will need a technically savvy group of individuals to administer and moderate your communities.  As I indicated above, believing your average user will be able to appropriately implement the security for a site is aggressive.  Selecting these individuals and educating them early in the process reduces the risk of failure and certainly improves the adoption rate.

    Install an Improved Navigation and Search Tools

    One major downside of WSS is the search.  Currently, when a search is performed, only content from the current site is returned.  As your communities grow, there will come a need to seek out 3rd party or develop advanced search utilities for your users.  There are a few products on the market today that provide the ability to search the current and all child sub-sites.  In addition, you will have a set of users that prefer to point-and-click to locate information.  This is also referred to as information discovery.  To be efficient, I would recommend a site/sub-site map display.  Once again, there are 3rd party tools available today; for example there are a number of tree view Web Parts available.

    Summary

    The use of communities does have the ability to reduce the number of root level sites and provide a means by which to group similar sites.  If you can avoid the inevitable fact that you too will eventually have too many root level sites to manage, you may consider this or a similar type of structure.  Plan and educate your users of the risks involved if no structure, guidelines and procedures are in place.  The bottom line is; put some forethought into it long before you hand the keys to your castle over to all employees!

    There is a related topic that requires one, if not may, articles; which is duplicate information.  This is related because it will happen as a result of too many users not clearly understanding how to use a solution such as SharePoint.  If your current SharePoint implementation has hundreds of sites, you can be guaranteed you have duplicate data problems now!  Without the appropriate processes, controls and standards in place, you will end up with duplicate structured and unstructured data in SharePoint instead of file shares, local drives, e-mail boxes, etc.  I will write more about duplicate data issues and some ways we are overcoming them today at a later time.

  • BPM for SharePoint - A Few Things I Have Learned

    Anyone that has been reading my blog over the last couple of months knows I have been involved with evaluating BPM solutions for the company I work for. The evaluation process is now over and we have selected the product we are going to move forward with; K2.net.

    I would like to share a few of the things I learned about the products, what we have available to us today and what you may expect in the future. Before I go much further, let me first set the stage by defining a few terms.

    Business Process Automation
    * Business Process Automation (BPA) is the process of integrating enterprise applications, reducing human interaction wherever possible, and assembling software services into end-to-end process flows.  As a significant part of business process reengineering, BPA improves operational efficiencies and reduces risks.  BPA is made possible through enterprise application integration and service-oriented architecture (SOA) solutions.

    Business Process Management
    * The term Business Process Management (BPM) refers to a set of activities which organizations can perform to either optimize their business processes or adapt them to new organizational needs. As these activities are usually aided by software tools, the term BPM is synonymously used to refer to the software tools themselves.

    Although it can be said that organizations have been performing BPM for some time, a new impetus has been given to the theme with the advent of software tools (business process management systems or BPMS) which allow for the direct execution of the business processes without a costly and time intensive development of the required software. In addition, these tools can also monitor the execution of the business processes, providing the management of an organization the means to analyze their performance and make changes to the original processes with the aim of improving them. Using the BPMS the modified processes can then be quickly placed into operation.

    BPM refers to a complete process lifecycle which includes (but is not limited to):

    1. Discovery and documentation of business processes.
    2. Process execution.
    3. Process monitoring.

     

    BPM and technologies to support it has been around for years.  Unfortunately, many companies have not been able to take advantage of these technologies due to lack of education and cost.  The industry is still suffering from an educational perspective and I hope to see this change with the new innovative tools that are available to us.  Through my evaluation, I learned a lot of interesting things about various products such as K2.net, Ascentn and Skelta.  These products all have:

    1. the ability to design, execute and monitor business processes.
    2. advanced features such as integration with asp.net, SharePoint, InfoPath, Exchange Server, SQL and Web Services.
    3. the ability to perform complex evaluation and querying of XML data; regardless of the data source.
    4. integration with Active Directory.
    5. a pricing model that will work in many different sized companies.

    I find many will not take the time to look at the products these vendors have to offer because they fear the cost cannot be justified.  Let me assure you, you will be pleasantly surprised with the feature/cost ratio.  I am not advocating any specific vendors product, nor do I receive any kick-backs for writing about them.  It is my intention to help educate the community with regards to what is out there.  It is my hope to have the opportunity to continue working with all of these vendors (and others) so I can evaluate their products and write about them here (hint, hint to any of the vendors).

    In summary, I encourage you to take a look at what these tools can do for your business; you will find the possibilities are endless!

    I have started a new article that will be used as a single placeholder for BPM and workflow product vendors to list their offerings.  If you are not listed, leave me a comment, I will make sure you get on it.

    * Wikipedia

     

  • Publishing Content Using SharePoint - Content Access Security

    I published an article on MSD2D this month titled "Publishing Content Using SharePoint - Content Access Security".  It is my intention to focus on how to implement SharePoint in real-world scenarios.  This topic is covered to some extend but, in my opinion, not anywhere enough.  As I am sure many of you will agree, there is an evolutionary process that occurs when a new product such as SharePoint is released.  I have seen this evolution process with SharePoint start with new discussion forums, companies providing education and services, companies providing integration and extensions, vendor feedback, new product releases, etc., etc., etc...  Moving on to the next phase in this evolution is to implement the solution.

    I have had  few conversations with David Cragg, president of MSD2D, and asked if he would be interested in hosting a few new discussion forums for these types of topics.  Well, sure enough, we now have new discussion forums to discuss topics such as Developing a Taxonomy, Educating and Supporting End Users and Publishing Content.  I will certainly be monitoring these forums and sharing my experiences.  I do hope to see you there!


Need SharePoint Training? Attend a SharePoint Bootcamp!

Posts (c) their respective authors. Everything else (c) 2007 SharePoint Experts