tag:blogger.com,1999:blog-73101434637130476162024-03-05T01:19:11.909-08:00SharePoint Useful Tips & TricksAnonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.comBlogger24125tag:blogger.com,1999:blog-7310143463713047616.post-2175852112569423922013-10-22T09:23:00.001-07:002013-10-22T09:23:40.269-07:00Expand/Collapse radgrid in jquery<p>So after reading dozens and dozens of forums I finally just gave up on figuring out the obscure way to deal with hierarchy in a Telerik RadGrid. The classes are easy to find and the expand sections are just Submit buttons. So some super simple JQuery allows you to manipulate them quite easily. You can expand a few rows in your own grid and run these in Console. </p> <p>$('.rgMasterTable tr td.rgExpandCol input.rgCollapse[type=submit]').click(); </p> <p>$('.rgMasterTable tr td.rgExpandCol input.rgExpand[type=submit').click(); </p> <p><strong>NOTE</strong>: <em>(There is more logic required to iterate (and do a wait) for each if there are multiple expansions).</em></p> Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com1tag:blogger.com,1999:blog-7310143463713047616.post-20616507392837296062013-06-25T07:48:00.001-07:002013-06-25T07:48:31.266-07:00Getting Started with Microsoft Big Data, Hive & HDInsight Jump Start<p>This is the first of a three-Jump Start series tailored for architects and seasoned developers interested in a demo-heavy learning experience introducing Microsoft’s Big Data solution set. Microsoft Technical Evangelist <a href="http://twitter.com/saptak">Saptak Sen</a> and Vice President of Consulting Services, Advaiya Inc <a href="http://twitter.com/billramo">Bill Ramos </a>will start with setting up and loading data into Windows Azure storage and a Windows Azure HDInsight cluster. After covering Windows Azure Data Management concepts (e.g., SQL Machines, SQL Databases, Tables, Blobs), they will demonstrate using Hive to query Hadoop data using HiveQL commands</p> <p>I didn’t get the link till late but it will be available for streaming in about a week</p> <p><a href="https://www.microsoftvirtualacademy.com/liveevents/exploring-microsoft-big-data-jump-start">https://www.microsoftvirtualacademy.com/liveevents/exploring-microsoft-big-data-jump-start</a></p> Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com0tag:blogger.com,1999:blog-7310143463713047616.post-65366673423721167732013-05-16T08:19:00.001-07:002013-05-16T08:19:56.314-07:00Hadoop SDK and Tutorials for Microsoft .NET Developers<p>Hortonworks is offering <a href="http://hortonworks.com/hadoop-training/hadoop-on-windows-for-developers/">training</a> but there are now even more tutorials available for HDInsight.</p> <p>On codeplex there is a <a href="http://goo.gl/7RaLX">Microsoft .Net SDK for Hadoop kit</a> for available. </p> <p>Github has a series of 5 labs covering <a href="http://goo.gl/RDb7G">C#, JavaScript and F# coding</a>.</p> Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com1tag:blogger.com,1999:blog-7310143463713047616.post-64145938168631147742013-03-25T09:24:00.001-07:002013-03-25T09:24:59.601-07:00HDInsight<p>Finally got around to installing HDInsight on a new Windows Server 2012 environment on my laptop. In case you have not been following the news HDInsight is Microsoft’s answer to the Big Data problem. It has been in preview mode online through <a href="http://www.hadooponazure.com">http://www.hadooponazure.com</a> and available for download on the <a href="http://www.microsoft.com/en-us/sqlserver/solutions-technologies/business-intelligence/big-data.aspx">SQL Server site</a>. This last week Microsoft announced that the HadoopOnAzure site was going to be formally added to the <a href="http://www.windowsazure.com/en-us/home/features/overview/">offerings available on Azure</a>.</p> <p><a href="http://lh5.ggpht.com/-mwOLuQJujSQ/UVB6TxAt6zI/AAAAAAAAAx0/2sVfFDrj5Fg/s1600-h/image%25255B5%25255D.png"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3z-_t9VIKRoNZjrBsvK-Sc6PaCcvd1ZPrgcmSo7eh9KIqYZKOJKxCBMEadVnCby4IDUweVXIOhcRSUbv2511J8MkhWJqk8mPeW5ISyo0goJs15OlQRpByeUkxZGngjyIK0EciwP6cRo4/?imgmax=800" width="244" height="100" /></a></p> <h3>Brief History</h3> <p>HDInsight is not a 100% Microsoft product and is a partnership between Microsoft and <a href="http://hortonworks.com/">HortonWorks</a>. The underlying code is still Java based but Microsoft has added a Javascript console and some extensions to allow programming in <a href="http://hadoopsdk.codeplex.com/">.Net languages</a>.</p> <p>Current training for HDInsight is available through the <a href="http://hortonworks.com/hadoop-training/register-for-hadoop-training/">HortonWorks website</a>. As soon as I find MS training I will post a link.</p> <h3>Introduction To Windows Azure HDInsight Service</h3> <p><a href="http://lh5.ggpht.com/-RD0sJAOYoVY/UVB6UvY29RI/AAAAAAAAAyE/-yP72LCedWY/s1600-h/image%25255B8%25255D.png"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-vwemD-NuQAI/UVB6UzYTgNI/AAAAAAAAAyM/E1ff2bQjCWs/image_thumb%25255B2%25255D.png?imgmax=800" width="244" height="140" /></a></p> <p><a title="http://channel9.msdn.com/Series/Getting-started-with-Windows-Azure-HDInsight-Service/Introduction-To-Windows-Azure-HDInsight-Service" href="http://channel9.msdn.com/Series/Getting-started-with-Windows-Azure-HDInsight-Service/Introduction-To-Windows-Azure-HDInsight-Service">http://channel9.msdn.com/Series/Getting-started-with-Windows-Azure-HDInsight-Service/Introduction-To-Windows-Azure-HDInsight-Service</a></p> <h3>Installation</h3> <p>Installation of HDInsight is extremely easy through the Web Platform Installer. Just search for Hadoop or HDInsight. (<a href="http://social.technet.microsoft.com/wiki/contents/articles/14141.installing-the-developer-preview-of-hdinsight-services-on-windows.aspx">Technet</a> install guide)</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgypXKTXe-x2FK6SNqSsK7-EikOegaWHL-lcPkphEAqei19_jVVWtv-CM_2g1CZITG58D-KDnWK2fbg_g0QGQDLtIp1Ksg3j-h54EJRSrqsdTrPNXQGxO2B8OOfJefIM347Zt4NFIz84w/s1600-h/image%25255B14%25255D.png"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8i7ophrY8EuWprCBSPLszwvezvbIHncOfgL9-5D-eRtPWnM9pu0RhBFdJXweV_cGDIJB7fBufDHOcJnCx0hN1xlZ1HjEb0sm0LudatE4IG_lMRmEYE7l6uI3nRYOCQ25my_-dJ3Wru5k/?imgmax=800" width="244" height="168" /></a></p> <p>After a complete installation you will have the following links on your desktop</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZG39HtBBnGW3YCi2Rp_mCg9BScY0qtQWlLdURimAxwJCc_Qx0ZyGZO2aQrgL55VFjZbROyCibrttuHQ93FSrnitKn7IbHKo904MyE-KFMyhwRYhZebY2eL9Xl4AhouNIMc03bddOBPuI/s1600-h/image%25255B17%25255D.png"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-ikV4_joZUGg/UVB6Wm8oeJI/AAAAAAAAAys/JW2XPKG-sxA/image_thumb%25255B5%25255D.png?imgmax=800" width="244" height="102" /></a></p> <h3>Getting Started with HDInsight</h3> <p>Rather than repost here is a 5 part series just released on HDInsight.</p> <p><a title="http://blogs.msdn.com/b/windowsazure/archive/2013/03/19/getting-started-with-hdinsight.aspx" href="http://blogs.msdn.com/b/windowsazure/archive/2013/03/19/getting-started-with-hdinsight.aspx">http://blogs.msdn.com/b/windowsazure/archive/2013/03/19/getting-started-with-hdinsight.aspx</a></p> Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com2tag:blogger.com,1999:blog-7310143463713047616.post-83933126022032315482013-02-01T08:03:00.001-08:002013-02-01T08:03:27.346-08:00KnowledgeLake Capture Profile Administration<p>One of the issues I ran into with creating an automated deployment of Capture Clients to a large number of field users was importing profiles. It seemed that until every single user that has access to the machine had successfully logged in and created a Windows User Profile that the KL Capture Profile Administration Utility would not provide a user with a profile.</p> <p><em>The blurred sections are the user accounts. <br /></em>The top one has all the test user accounts I have been working with. And I want all the accounts to get the <strong>Scan(SIT2)</strong> account. Even accounts that have not logged into the machine.</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiVzFZAJ4K_7E12WSFVrQ1zLr48qQgFDn1IA1E4YkqGtDI0EhR-phbBdKVY7ub2zaPXiPR_0mkIb3EPhROLZ49P5jdmEVYV6QyDidKh_c94-5X8CAMaUnCjSTPB0cUiUi2FTAFzeadyEo/s1600-h/image%25255B2%25255D.png"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSpYj8jyEhMd6lMGHbQczbxfpIg2kEC2q4ex2f8C5jDBVajgKnMZwjnuhkG8SvRviv_M97pPrfrth4QdNCVOpHgti70t5oaMdT7ZBMrlFXPgzk25kWjdPyNop07wYTl0WAVjexwMBwluk/?imgmax=800" width="243" height="244" /></a></p> <p>To resolve this is issue right-click on <strong>Scan(SIT2)</strong> and select <strong>Set As Default</strong>.</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhratY-9Joqvs06wlmkkI2UgYq9r3hCjFKA-aTtGqFQ-67mOuue3JWNpKgswn3wei_kaNHDsJENwiNhoqRGyccLw6fo95BCYdpkCNqNbZfDdCxtVTLfku0yxwMebdq4_Om48KCDTGQkxpY/s1600-h/image%25255B5%25255D.png"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-LlGNqTCDZYw/UQvnSmrRXnI/AAAAAAAAAw8/FtAZsPlBnD0/image_thumb%25255B1%25255D.png?imgmax=800" width="200" height="244" /></a></p> <p>Now all the profiles will have this profile available to them. The Default profile is also highlighted with a checkbox. </p> <p><a href="http://lh5.ggpht.com/-WhK2wnfciKQ/UQvnTGLVvHI/AAAAAAAAAxE/qerGzGIXmUI/s1600-h/image%25255B8%25255D.png"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-QgpQk56fv4g/UQvnTjqXnqI/AAAAAAAAAxM/JQN8JcaC2Qs/image_thumb%25255B2%25255D.png?imgmax=800" width="243" height="244" /></a></p> <p>This functionality is also available when you run the KnowledgeLake Capture Client the first time and create a profile. There is a checkbox in the wizard that allows you to set a profile as default.</p> Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com0tag:blogger.com,1999:blog-7310143463713047616.post-74895169696695313242013-01-04T08:57:00.001-08:002013-01-06T19:47:25.849-08:00Configure FAST Search Server for KnowledgeLake Imaging 4.4After a correct installation of FAST Search Server there are a few items to validate before moving forward (<a href="http://technet.microsoft.com/en-us/library/ff381243(v=office.14).aspx">FAST Installation guide</a> Please follow this guide and ensure that you have).<br />
Before beginning the KnowledgeLake Imaging installation check that the Web Application is set to use the FAST Query SSA. To check this start at Central Administration -> Application Management -> Service Application Associations. Then select the Web Application that you want to use FAST Search on.<br />
Rather than leaving the dropdown at default change it to <i><u>custom</u></i>. This will allow you to select only the <u>exact</u> Applications you want running on your Web Application.<br />
<a href="http://lh6.ggpht.com/-DmKq96cRMl8/UOcJzStBW4I/AAAAAAAAAto/FrHdNu9WsLw/s1600-h/clip_image002%25255B3%25255D.png"><img alt="clip_image002" border="0" height="95" src="http://lh4.ggpht.com/-oR_WC48kFSk/UOcJzsyu6jI/AAAAAAAAAtw/Cxfo-Qjeatc/clip_image002_thumb.png?imgmax=800" style="background-image: none; border-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image002" width="244" /></a><br />
Then select all the checkboxes appropriate for the Web Application but make sure to <i><u>NOT</u></i> check Search Service Application. And be sure to check FAST Query SSA. Additionally, click the ‘set as default’ link to set FAST as the default Search Service Application Proxy.<br />
<a href="http://lh6.ggpht.com/-qObiEnVkm0I/UOcJ0W_drSI/AAAAAAAAAt4/oM3z-QN9m0c/s1600-h/clip_image004%25255B3%25255D.png"><img alt="clip_image004" border="0" height="46" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhchEYmJzq7qCPVar8AvmDL25tD-ZuobxGZVbSGL848XYkbvyxtYIQdshQFbwtT8CI6hyBodpYMdoNki6ycw7gLle6-O3_xwKbYywPHbyOcICxCgLeO8GVrFVvSD3e5RItEROmddDZSxc/?imgmax=800" style="background-image: none; border-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image004" width="244" /></a><br />
At this point it is important to note that the “normal” instructions for setting up Imaging 4.4.2 will be loosely followed. I will attempt to make this as thorough as I can to follow. Additionally the two Service Applications created for FAST will be referenced as either <b>FAST Connect</b> or <b>FAST Query</b> from now on. After the installation of FAST there are some pre-installation tasks for KnowledgeLake Imaging.<br />
· From SharePoint Central Administration go to Manage Service Applications.<br />
<ul>
<li>Click on FAST Query SSA </li>
<li>Click on FAST Search Administration </li>
<li>This will probably be a new screen to users not familiar with FAST. </li>
</ul>
<a href="http://lh4.ggpht.com/-9n02ppN7TiM/UOcJ1egXo1I/AAAAAAAAAuI/vem7xYV14LE/s1600-h/clip_image006%25255B3%25255D.png"><img alt="clip_image006" border="0" height="244" src="http://lh3.ggpht.com/-mOHaoo0w4nI/UOcJ2Zp6YII/AAAAAAAAAuQ/J7tWHoclXOs/clip_image006_thumb.png?imgmax=800" style="background-image: none; border-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image006" width="230" /></a><br />
<ul>
<li>Click on Managed Properties </li>
<li>Click on Add Managed Property </li>
</ul>
Now the top section should look very familiar. So following the Imaging Admin Guide enter the Property name owsContentType<br />
<a href="http://lh4.ggpht.com/-rspUPkNHX6o/UOcJ2lFWCNI/AAAAAAAAAuY/KCtgye7GATc/s1600-h/clip_image008%25255B3%25255D.png"><img alt="clip_image008" border="0" height="85" src="http://lh4.ggpht.com/-kWo92rzYLxE/UOcJ3OE4QGI/AAAAAAAAAug/JhwpBn9ju4Q/clip_image008_thumb.png?imgmax=800" style="background-image: none; border-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image008" width="244" /></a><br />
In the next section Type you can leave the default values<br />
<a href="http://lh3.ggpht.com/-x35raEqwiU4/UOcJ31SIn2I/AAAAAAAAAuo/PBxIqmPz9Hg/s1600-h/clip_image010%25255B3%25255D.png"><img alt="clip_image010" border="0" height="167" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdzsbbs0lHObfgzIwLjxl8UFQk0L9KMjk-GtYyyS67mfOCcvMdTlVkxVm_7Hk1V41ZL4KHUWRBc3QYUT9m_JSYf0XpdYe4BISdh3GWMk3CXnxT3KgyOIXM07GAN_wbQbV4xHNquf03bHI/?imgmax=800" style="background-image: none; border-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image010" width="244" /></a><br />
In the next section you need to add a mapping to he ows_ContentType. This is almost identical to the normal SharePoint Managed Properties mapping but has the ability to add more than one selected crawl properties at one time.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiVMhq0JNa3Rt1pzisiIawBz8l6LVjgERF9o9c2DE7HG-GkiwmOf6qGkA7LVFAmHxG3Av_6M_xrtNjsCXEnYWmavk7suZUfSahIEtQ9ZUrkfxOc-9H3v7aEaA37P053DaTqIAzMV26ask/s1600-h/clip_image012%25255B3%25255D.png"><img alt="clip_image012" border="0" height="217" src="http://lh6.ggpht.com/-BbsOZV_X6Lk/UOcJ52NPo_I/AAAAAAAAAvA/iUmoxjaR8Ik/clip_image012_thumb.png?imgmax=800" style="background-image: none; border-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image012" width="244" /></a><br />
Click OK<br />
Leave the Sort Property unchecked<br />
On Query Property make sure to <u>check the box</u>. This insures that the KnowledgeLake Search Center can provide the property in the results column or as a search property.<br />
Leave the Refiner property unchecked<br />
On the Full-text Index Mapping section….It is very important to select a number between 1-7 as a priority mapping. <u>If you leave the default value at zero it will not populate the Index.</u> Considering this is a fairly important property in the KnowledgeLake Search Center I suggest using the priority of 6.<br />
<a href="http://lh6.ggpht.com/-W62JoE1Pa2s/UOcJ6U1xy1I/AAAAAAAAAvI/uwhBfOyXSm0/s1600-h/clip_image014%25255B3%25255D.png"><img alt="clip_image014" border="0" height="127" src="http://lh4.ggpht.com/-_dtC0Fi5YBc/UOcJ7G9wCLI/AAAAAAAAAvQ/T3C3nzCUQGc/clip_image014_thumb.png?imgmax=800" style="background-image: none; border-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image014" width="244" /></a><br />
Then click OK<br />
In the next section of the KnowledgeLake Imaging Admin guide it requires you to visit the Categories section and make a change to the SharePoint category so that all newly discovered properties are automatically added. This is set by default in FAST<br />
<a href="http://lh3.ggpht.com/-NE-cbOHUxg8/UOcJ7WRiokI/AAAAAAAAAvY/cIM_JVkUcS4/s1600-h/clip_image016%25255B3%25255D.png"><img alt="clip_image016" border="0" height="97" src="http://lh5.ggpht.com/-yIFrmt7OBNY/UOcJ70c-z_I/AAAAAAAAAvg/gOMwfjpxkTU/clip_image016_thumb.png?imgmax=800" style="background-image: none; border-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image016" width="244" /></a><b></b><br />
Run a full crawl with the FAST Content Service Application.<br />
After the crawl is complete run the following PowerShell in the Microsoft FAST PowerShell <br /><i> <br />Get-FASTSearchMetadataFullTextIndexMapping </i> <br />The result should provide this in the resulting feed<i></i><br />
<a href="http://lh4.ggpht.com/-FPWxbvIhnSM/UOcJ8gHGhTI/AAAAAAAAAvo/kgVuUxBuQyo/s1600-h/clip_image018%25255B3%25255D.png"><img alt="clip_image018" border="0" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJgkpk8xSPq-cquuhZpquM4cS-twMed4yLtvBB9ORV0VBN-zw_DKKCvNVo4-AFFoNumz3WhStDgdv58uTbLAha7qJd3sCcWiqA8QwrhV2PzYnyQiuIg52yRNVItGZGSkh-RszLLZ1rF-g/?imgmax=800" style="background-image: none; border-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image018" width="244" /></a>Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com0tag:blogger.com,1999:blog-7310143463713047616.post-52291845000325488312012-10-24T07:55:00.001-07:002012-10-24T07:55:54.318-07:00Private Cloud training<p>The Configuration Manager Support team has release a new series “<a href="http://goo.gl/jNX02">From bare metal to the private cloud with Microsoft System Center 2012</a>.” It is a series of 8 videos.</p> Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com0tag:blogger.com,1999:blog-7310143463713047616.post-36156175994058182482012-09-19T07:45:00.001-07:002012-09-19T07:45:43.214-07:00SharePoint 2013 External Content Types in Visual Studio–OData<p>The documentation is a bit limited currently but wanted to share how to add an External Content Type in Visual Studio.</p> <p>Starting with a standard SharePoint 2013 App Project</p> <p><a href="http://lh6.ggpht.com/-xsZXlA2Dfow/UFnafgGWJVI/AAAAAAAAAhg/40hPy8Zkcd0/s1600-h/image%25255B25%25255D.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-D00F8dM-_sM/UFnagALWVHI/AAAAAAAAAho/sX7NyhQDD7M/image_thumb%25255B8%25255D.png?imgmax=800" width="325" height="241" /></a></p> <p>Setup your App settings (SharePoint-hosted for local)</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvkQsbUbKrdhjX9LCgE09F7gG_TWlsNXNyVD8BIPMF_pr_KxqsaIRywkYtGKihFPD24lahPVYVFzbM2THY9_yyy8tJ2KXhTbirk55Wg46V2H1z06uqhA2TPdLyS3QgnpbHpd7LUFda44M/s1600-h/image%25255B26%25255D.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-NIpQMSMVYpk/UFnahDlAtXI/AAAAAAAAAh4/UgN8RKPoKc0/image_thumb%25255B9%25255D.png?imgmax=800" width="326" height="247" /></a></p> <p>Right-click the project and select Add. There is an extra menu-item called Content Types for an External Data Source.</p> <p><a href="http://lh4.ggpht.com/-cY0fhGGxibg/UFnahdEVw6I/AAAAAAAAAh8/Rhue9_wz0c0/s1600-h/image%25255B27%25255D.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-nn3ell1zWyc/UFnaht2vdOI/AAAAAAAAAiE/AkrUDCIhZpo/image_thumb%25255B10%25255D.png?imgmax=800" width="353" height="69" /></a></p> <p>Put in the OData service URL</p> <p><a href="http://lh6.ggpht.com/-6Wboadjs66w/UFnaiCjwZwI/AAAAAAAAAiQ/Nc6RhggC-L8/s1600-h/image%25255B28%25255D.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-_xlbcdUscyc/UFnaisK3PqI/AAAAAAAAAiY/Ya973vgfzN0/image_thumb%25255B11%25255D.png?imgmax=800" width="327" height="249" /></a></p> <p>Here I am using a free feed from the <a href="https://datamarket.azure.com/dataset/microsoftresearch/rmcodata">Azure Datamarket</a>.</p> <p>Here are the available data entities from this service</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxUYDG8CL6K0z-9cP2hmMxIjQ6YrPX1BShfmZscoYVShGk5qxQBC_N7VKTV7oRtLSgrJ6LYEIuoqjKEm-wyQpyfF2cpLri_1bZpdXIMtU-KwWI0d6l7fdj3PM8_DQ8pk3Juz3KAOasRU8/s1600-h/image%25255B29%25255D.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-m_LqSa6WW2g/UFnajoZ3igI/AAAAAAAAAio/zGfUfkxPF0Q/image_thumb%25255B12%25255D.png?imgmax=800" width="324" height="243" /></a></p> <p>After selecting the Event data entity the new list is setup as an External Content Type.</p> <p><a href="http://lh4.ggpht.com/-qERJQ1kWANQ/UFnakHcmVvI/AAAAAAAAAiw/j47F05dQntM/s1600-h/image%25255B30%25255D.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-vbZXkR-mPQw/UFnalRh-6lI/AAAAAAAAAi4/NQ9qiGZRfj4/image_thumb%25255B13%25255D.png?imgmax=800" width="322" height="147" /></a></p> Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com0tag:blogger.com,1999:blog-7310143463713047616.post-29865244763206365112012-05-29T08:46:00.001-07:002012-06-28T06:01:31.859-07:00SharePoint Tenant Creation with Change Request tracking in System Center Service Manager<h5>One of the more troublesome issues in SharePoint is creating new site collections when not logged into Central Administration. Because this task always requires someone with farm admin access it tends to not get high priority in a normal administrators daily role. Additionally, Governance teams should validate when site collections are being created and monitored correctly versus creating a sub site. By combining the ease of submitting a request in a SharePoint list and the Best Practice of tracking changes in Systems Center Service Manager with Opalis there is a smooth, expedient, tracked manor to provision site collections. By combining SharePoint and SCSM a decision can be made as to where the approval workflow reside. For this demonstration the site collection will be automatically provisioned and a Change Request will automatically be created inside Systems Center Service Manager. Then the SharePoint list item that originally kicked off the process will be updated to show the request has been completed. Finally the SCSM ticket will be closed automatically so there is a record of the change.</h5> <p>Requirements</p> <p>· Custom SharePoint List that includes </p> <p>§ Title column to store the type of request. The default value is defined as Site Collection Request. </p> <p>§ Site Collection URL column to the preferred url of the site. </p> <p>§ Primary Site Collection Administrator column.</p> <p>§ A Request column that is a calculated field that combines the Title and the Site Collection URL to create a unique name for reporting in SharePoint and in SCSM.</p> <p>§ A status column that is a dropdown with the values of New & Complete available.</p> <p>§ A customized All Items view that filters out all entries that do not have a status of New.</p> <p>· Systems Center Service Manager Integration Pack for Opalis</p> <p>· Systems Center Service Manager configured</p> <p>· Execute PowerShell Script Integration Pack</p> <p>· Global Variables</p> <p>Start by configuring the SharePoint Integration Pack in Opalis. Under Options Select Microsoft SharePoint (see Figure 9-50). Then add in an a configuration to point to the new SharePoint list defined in the requirements (see Figure 9-51).</p> <p><a href="http://lh3.ggpht.com/-lWtuZPj3XYM/T8TvEbpx1jI/AAAAAAAAAWs/Qg9GVdzHvhM/s1600-h/clip_image002%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcmFfq02U5_xyrkTt9_ssxTdtXe3cPnDP5N6FutUQlXXewsGFI2tpmISga-Mf3Ea-HYNmPW5TOBpCd4RO8yTP9WmJF-y77uwegn1dIRcd8U0jhjZqGD82vBq98Bs0SXE6GXMK4Pwogx4E/?imgmax=800" width="244" height="212" /></a></p> <p>Figure 9-50 Navigating to the Microsoft Configuration section in Opalis.</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvidLVNqtZjGco5Do3ecnJkjhvEk1uUpSwXh0x5nomU7wlkMyRUFcyu_IezuLzT-hXXigCuVBCjOPhSGQlDcsEVcvsEE2Jbzy8SoRKUz9eND8FPGgweDqFcR-nPavJsvhwfy07M05fAdg/s1600-h/clip_image004%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://lh3.ggpht.com/-EEcprbmJTg4/T8TvGcy1RLI/AAAAAAAAAXE/4Id_F7KBmhI/clip_image004_thumb.jpg?imgmax=800" width="244" height="169" /></a></p> <p>Figure 9-51 Defining another configuration point.</p> <p>Then add a configuration for the installed System Center Service Manager. Start by selecting Options and then select System Center Service Manager (see Figure 9-52). Then create entries to connect to the System Center instance. Finally, validate the settings by clicking the Test Connection (see Figure 9-52).</p> <p><a href="http://lh5.ggpht.com/-Nz3z1DuZaIk/T8TvG6810AI/AAAAAAAAAXM/-w23a5JcvM4/s1600-h/clip_image006%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image006" border="0" alt="clip_image006" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXW1rINkSXu53np7_HjfmvG0Lw77qcK5NgWtKuUkmcFkkGqGf0m_f6ActmkHhjkJeQr6zLdKSF2Sq6TvuCU-nCdE3p0UKhIWJNZBdUJ9K0MVfnd3191ORj3xzPTmefMYWeVLXgMAc4cZo/?imgmax=800" width="244" height="212" /></a></p> <p>Figure 9-52 Navigating to the System Center Service Manager Configuration section in Opalis.</p> <p><a href="http://lh6.ggpht.com/-7zJKmc0nI4k/T8TvHqgfbqI/AAAAAAAAAXc/kgxVZWLMLDM/s1600-h/clip_image008%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://lh5.ggpht.com/-8Z7M1afOg70/T8TvIP1U96I/AAAAAAAAAXk/RH5b0GrwUA4/clip_image008_thumb.jpg?imgmax=800" width="244" height="237" /></a></p> <p>Figure 9-53 A defined configuration to connect to System Center.</p> <p>Then expand Global Settings and right-click Variables select New then select Variable (see Figure 9-54). Rather than pass the variables from SharePoint the Global Variable functionality in Opalis will be used in case these values are required again. Create two variables (see Figure 9-55).</p> <p><a href="http://lh6.ggpht.com/-meT3ja6XD_o/T8TvIX5YjBI/AAAAAAAAAXs/Z0R93sqxx8s/s1600-h/clip_image010%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image010" border="0" alt="clip_image010" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGa8beHdHQ6zjvGzh0a3gNyl1ZXvtoD0RljoxQETVrHt-n6zLHIP7iHiJ12eVfK2jPkw3DpmuThQgy2OOluV8FKKioJ8jIHjFaL_InONS0aWqRmpZ2WpUU-1XMlWbmVInEz_A-WBsdtZw/?imgmax=800" width="244" height="187" /></a></p> <p>Figure 9-54 Creating a new Global Variable.</p> <p><a href="http://lh3.ggpht.com/-fRFofQb7taQ/T8TvJTx9CWI/AAAAAAAAAX8/SR5sBqijf3A/s1600-h/clip_image012%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image012" border="0" alt="clip_image012" src="http://lh6.ggpht.com/-U4C5KccADcI/T8TvJ1qmoqI/AAAAAAAAAYE/DcsVUTxZYfo/clip_image012_thumb.jpg?imgmax=800" width="244" height="43" /></a></p> <p>Figure 9-55 Defined Global Variables</p> <p>Then create a New Policy inside the Opalis Client and add-in the following objects</p> <p>· Microsoft SharePoint</p> <p>o Monitor List Item</p> <p>o Update List Item</p> <p>· Execute PowerShell Script</p> <p>o Execute PS Script</p> <p>· System Center Service Manager</p> <p>o Create Change with Template</p> <p>o Get Activity</p> <p>o Update Activity</p> <p>The end result should end up looking like Figure 9-56.</p> <p><a href="http://lh4.ggpht.com/-LD9T-dbWGAw/T8TvKNB3CHI/AAAAAAAAAYM/PoC9sY0xFXQ/s1600-h/clip_image014%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image014" border="0" alt="clip_image014" src="http://lh3.ggpht.com/-DKlsF6uX_EA/T8TvK_3j-mI/AAAAAAAAAYU/iICrg-ih-AI/clip_image014_thumb.jpg?imgmax=800" width="244" height="138" /></a></p> <p>Figure 9-56 A Policy setup in Opalis.</p> <h5>Configuration of the Policy objects</h5> <p><i>Monitor List Item</i></p> <p>Under Configuration select the name by choosing the name of the configured SharePoint list for creating a site collection request (see Figure 9-57).</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEingrFnd5YDH2gIkIisf62UlmOoK6oMaV1Ng1sB5ZZvtmVEycQfm_nJnaCNvgotpBv2mwLcDWn1t1gIlFQAR5dOaoMO1z5OUR1XvD0x77P8Fu5856CDSKr6_AMRHTTLUDcz5G2kX6JKbdQ/s1600-h/clip_image016%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image016" border="0" alt="clip_image016" src="http://lh4.ggpht.com/-BFh73TdB9us/T8TvLdjS9jI/AAAAAAAAAYk/WMDobNsgsyM/clip_image016_thumb.jpg?imgmax=800" width="244" height="165" /></a></p> <p>Figure 9-57 Monitor List Item object properties.</p> <p>Create Change with Template</p> <p>Under the Properties section set the Connection to the name of the System Center instance defined earlier. Then for Class choose Change Request and for Template choose Standard Change Request. The Fields need to be added to so click on Select optional Fields and choose Status, Impact, Title and Actual start date. After hitting OK individually set the values in these items (see Figure 9-58).</p> <p>· Status = New</p> <p>· Impact = Minor</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjipEwkLden9f_ZuzuQfJ4N0ozi5qH1_CBfzeXWEs6EwETpSCCyUsHjiLOoaJLqKEivHnYktBmCS576Vu0I9gyDBOU5XlBQ3nHeq2XFoUYGcQGsZHvfEBQ9UQG9127bepk0aDsZQHcWawo/s1600-h/clip_image018%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image018" border="0" alt="clip_image018" src="http://lh6.ggpht.com/-S5XhY2r_0UU/T8TvMfvQMrI/AAAAAAAAAY0/HPvA--DPdM0/clip_image018_thumb.jpg?imgmax=800" width="244" height="165" /></a></p> <p>Figure 9-58 Create Change with Template properties.</p> <p>To set the Title field by right-clicking in the Title field, select Subscribe and select Published Data (see Figure 9-59). The only available option (after connecting the two objects) is Monitor list Item. Scroll through the columns and select the Request column from SharePoint. Actual start date is defined the same way but the value is from Created.</p> <p><a href="http://lh5.ggpht.com/-vq_GrbzF7jA/T8TvSDuQiEI/AAAAAAAAAY8/ZCujyNZ0RxI/s1600-h/clip_image020%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image020" border="0" alt="clip_image020" src="http://lh5.ggpht.com/-Gr6xwpLin1c/T8TvSzAx_bI/AAAAAAAAAZE/TJfnFqeDQyo/clip_image020_thumb.jpg?imgmax=800" width="244" height="105" /></a></p> <p>Figure 9-59 Setting the Title field by subscribing to Published Data.</p> <p>Execute PS Script</p> <p>Under the Input Properties right-click the PS Script 01 and select Expand. There are five variables in the PowerShell script and just a simple concatenation of the variables. Finally the script creates a new site collection with the url and primary site collection administrator passed in as dynamic variables (see Figure 9-60).</p> <p>· #webUrl -This is subscribed to the Global Variable SharePoint Web Application URL</p> <p>· $managedPath - This is subscribed to the Global Variable SharePoint Managed Path</p> <p>· $scUrl - This is subscribed to from the Monitor List Item object.</p> <p>· $ownerAlias – This is subscribed to from the Monitor List Item object</p> <p>· $completeUrl – This concatenates $webUrl, $managedPath, and $scUrl</p> <p><a href="http://lh3.ggpht.com/-IdMDrRj47-A/T8TvTTS197I/AAAAAAAAAZM/x0I4zIPBpjU/s1600-h/clip_image022%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image022" border="0" alt="clip_image022" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3KvkrzC-JmJB3Pg0Njy9tz6F8LiMgOyG7lOxnB4QXK4TDVNPoBfdBjDP0L2KoFJjcXbyjBoMeMfZBZcbKI3cGfGu_-y_4ArksB5mclBtvAz1xexaIF7GZsXHjkXTyP0vQBZvOSmv0fmM/?imgmax=800" width="244" height="163" /></a></p> <p>Figure 9-60 PS Script 1 properties to create a dynamic site collection</p> <p>Update List Item</p> <p>The objective of the Update List Item object in this scenario is to demonstrate automated completion of the operation without the complexity of creating a SharePoint workflow. This object takes in the ID of the list item from Monitor List Item and updates the Status column to Complete (see Figure 9-61).</p> <p>Open the Configuration section of this object and select the SharePoint configuration that points the Site Collection Request list. There are two properties that are setup in this object.</p> <p>· ID – This is subscribed to from the Monitor List Item</p> <p>· Status – This is set to the value of Complete</p> <p><a href="http://lh3.ggpht.com/-e9ofyqEz-QU/T8TvUUmFNdI/AAAAAAAAAZc/9UZSPyyoWW8/s1600-h/clip_image024%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image024" border="0" alt="clip_image024" src="http://lh3.ggpht.com/-K6ogFlGn_hY/T8TvUqR4cII/AAAAAAAAAZk/yH3ORx30emI/clip_image024_thumb.jpg?imgmax=800" width="244" height="166" /></a></p> <p>Figure 9-61 Update List Item Properties.</p> <p>Get Activity</p> <p>The Get Activity object needs the Connection to point to the configured Systems Center in Opalis. The Activity Class is set to Manual Activity and Source Object Guid is subscribed to from the Create Change with Template object (see Figure 9-62).</p> <p><a href="http://lh5.ggpht.com/-Pd-eT2WwnIc/T8TvVRKLloI/AAAAAAAAAZs/irGN_FXvPrQ/s1600-h/clip_image026%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image026" border="0" alt="clip_image026" src="http://lh4.ggpht.com/-0f_CtLLizgw/T8TvV2bs6zI/AAAAAAAAAZ0/DSNlIo2BpzQ/clip_image026_thumb.jpg?imgmax=800" width="244" height="165" /></a></p> <p>Figure 9-62 Get Activity properties.</p> <p>Update Activity</p> <p>The final object in the policy updates SCSM and changes the status of the ticket to Completed. The Properties Connection needs to be set to the configured System Center in Opalis. The Activity Class is set to Manual Activity and the Object Guid is subscribed to from Get Activity. The only field utilized is the Status field and it is set to Completed (see Figure 9-63).</p> <p><a href="http://lh4.ggpht.com/-sn4GZhn1lSM/T8TvWVe6HiI/AAAAAAAAAZ4/jgafiPJ-LKI/s1600-h/clip_image028%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image028" border="0" alt="clip_image028" src="http://lh6.ggpht.com/-9rlrU_MTUv8/T8TvWti_ufI/AAAAAAAAAaE/ZQ-dvG6s2Ec/clip_image028_thumb.jpg?imgmax=800" width="244" height="165" /></a></p> <p>Figure 9-63 Update Activity properties connected to the System Center connection, set to a Manual Activity and receiving the Object Guid from Get Activity.</p> <p>Testing</p> <p>Place the Policy in Policy Test Console and click the Run button. The Monitor List Item object will be waiting for a new SharePoint list item to be created (see Figure 9-64). After the new item is detected a ticket is created (see Figure 9-65).</p> <p><a href="http://lh6.ggpht.com/-btzqBN5PAPY/T8TvXRLcUtI/AAAAAAAAAaM/HaB21JXrzA4/s1600-h/clip_image030%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image030" border="0" alt="clip_image030" src="http://lh6.ggpht.com/-HjBzej_zW28/T8TvXxVCQWI/AAAAAAAAAaU/W6XzNjU_7oo/clip_image030_thumb.jpg?imgmax=800" width="239" height="244" /></a></p> <p>Figure 9-64 Site Collection provisioning Policy in debug mode.</p> <p><a href="http://lh4.ggpht.com/-XYCBJ6oKB8w/T8TvYVBW4lI/AAAAAAAAAac/YmGoI-daUcM/s1600-h/clip_image032%25255B4%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image032" border="0" alt="clip_image032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqNCENXaB8h7gsGqcvMD9aTsK6wy4qEbGBylshI-VJVLCTS_bpkkMoj7N5oWFS6zv-c0_BWi4sgO719kx8tENOpzoQoMz7EaK2ne3Qn0SOdWvTpi3rMBKH4h89AiWaH-piLHCr59mANWA/?imgmax=800" width="438" height="147" /></a></p> <p>Figure 9-65 Site collection ticket in System Center Service Manager showing a status of completed.</p> Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com0tag:blogger.com,1999:blog-7310143463713047616.post-53384234743726718192012-05-29T08:43:00.001-07:002012-06-28T06:01:31.866-07:00Solving real world SharePoint problems with Opalis<h5>Monitoring Content DB Size and provisioning a new Content DB</h5> <p>By taking the previous example a little farther it would be possible to monitor the content databases of a SharePoint environment to prevent content databases from becoming too large. This is one of the main advantages of Opalis is that it assists in maintaining Best Practices in the enterprise (see Figure 9-49).</p> <p>Requirements </p> <p>· Initial Global scheduler to analyze the environment on a daily basis</p> <p>· PowerShell script that finds all the web application url’s, then finds the content databases that make up the site collections</p> <p>· Database query that passes in the content database name and returns the size</p> <p>· Logic that defines the maximum size of the content database</p> <p>· Logic that calculates 90% and 70% and provides alerts</p> <p>· PowerShell script that automatically provisions a new content database to the appropriate web application when the database size hits 70%. The content database should initially be offline to prevent use initially.</p> <p>· At 90% of the defined Best Practice size use a PowerShell script that automatically put the initial content database in offline mode and puts the new database in Ready mode.</p> <p><a href="http://lh6.ggpht.com/-BD28XIIFeW0/T8TumCTRjYI/AAAAAAAAAWc/qO62dHy9-3k/s1600-h/clip_image002%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://lh4.ggpht.com/-u99OR92fBXA/T8TumS1CqqI/AAAAAAAAAWk/2AE4QNubJrg/clip_image002_thumb.jpg?imgmax=800" width="244" height="115" /></a></p> <p>Figure 9-49 Policy to monitor content databases in SharePoint.</p> Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com0tag:blogger.com,1999:blog-7310143463713047616.post-29683907088963168802012-05-29T08:41:00.001-07:002012-06-28T06:01:31.856-07:00SharePoint Integration Kit<p>Opalis has built-in Integration Packs and the ability to utilized custom Integration Packs. An Integration Pack has been created for SharePoint and is available at <a href="http://opalis.codeplex.com">http://opalis.codeplex.com</a>. After installing the Integration Pack using the steps provided previously it is necessary to configure the SharePoint Integration Pack. Start by selection Options from the top menu and select Microsoft SharePoint (see Figure 9-40). After selecting that option the Configuration Window opens (see Figure 9-41). Click Add to enter the specifics about what SharePoint environment that this configuration should connect to. Every configuration can be different logins, different lists or document libraries, or different web url’s (see Figure 9-42).</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpE1hMuctWgCUL9V2BFPW_smeV4KmInSROO1tTP75qdp6asuIWaIAaiNGAZvFbXC5WL4APtZRQNw1Yn7qEmzWtVz1Aj1ridL6eqydPzppB7OtDfw5JEVPomLtCz04spdtu4YMk5SkTOj8/s1600-h/clip_image002%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://lh6.ggpht.com/-RUuR_VWzdu8/T8TuH-J-III/AAAAAAAAAUA/HgWmaJF5toM/clip_image002_thumb.jpg?imgmax=800" width="244" height="216" /></a></p> <p>Figure 9-40 Microsoft SharePoint configuration selection for the Microsoft SharePoint Integration Pack.</p> <p><a href="http://lh5.ggpht.com/-cf6QCs6tYbU/T8TuIRWXZbI/AAAAAAAAAUI/2qlG6Sw1NpY/s1600-h/clip_image004%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://lh5.ggpht.com/-JHCyXJubvXY/T8TuI6Y5fDI/AAAAAAAAAUQ/T2wj4scUNlk/clip_image004_thumb.jpg?imgmax=800" width="244" height="165" /></a></p> <p>Figure 9-41 Microsoft SharePoint configurations defined in Opalis.</p> <p><a href="http://lh4.ggpht.com/-vMvcwphQ5h0/T8TuJFMPAaI/AAAAAAAAAUU/3FAMpapoynI/s1600-h/clip_image006%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://lh3.ggpht.com/-PhoIzsdUjrA/T8TuJnv42LI/AAAAAAAAAUg/sMvvos-zsEo/clip_image006_thumb.jpg?imgmax=800" width="244" height="165" /></a></p> <p>Figure 9-42 An individual Microsoft SharePoint configuration for Opalis.</p> <h5>Database sizes into a SharePoint List</h5> <p>Over the years I have received many requests from different levels of management and normally the more difficult ones have the biggest priority. I recall an issue with another group’s database that was consistently causing issues because they were getting too large and were not being monitored correctly. So the question came up as to how do we get all the databases and their sizes provided to management on a daily basis? Normally this requires some manual intervention in Excel or providing access to the administration tools in the datacenter or the DBA’s tools. Providing ODBC access in Excel or Access has the potential to expose the username and password. What if on a daily basis, or even hourly, Opalis queried all the databases and populated a SharePoint list that could be provided to anyone? This would remove any security concerns and alleviates another request.</p> <p>Start by creating a new Policy and drag a Query Database object from the utilities section. Then enter a simple query to get the top 100 databases from the master databases and get the size into Megabytes (see Figure 9-42). Finally, define the connection and security credentials.</p> <p><i>/** Select the databases from the master database**/</i></p> <p><i>SELECT TOP (100) name, (size*8)/1024 SizeMB</i></p> <p><i>FROM sys.master_files</i></p> <p><a href="http://lh5.ggpht.com/-sHB25IDgAcA/T8TuKIZ0lPI/AAAAAAAAAUo/ZA3zreFVhfQ/s1600-h/clip_image008%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://lh6.ggpht.com/-xfjYvnm9qrU/T8TuKRz4fFI/AAAAAAAAAUw/gX1cZyjiY-Q/clip_image008_thumb.jpg?imgmax=800" width="244" height="165" /></a></p> <p>Figure 9-42 Query Database object properties displaying the SQL statement.</p> <p>Now drag a Create List Item object from the Microsoft SharePoint section of objects and drag a link from the Query Database object to the Create List Item object (see Figure 9-43).</p> <p><a href="http://lh3.ggpht.com/-Q48ojuYF59U/T8TuK73D9cI/AAAAAAAAAU4/Jr5HqQc0Dyk/s1600-h/clip_image010%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image010" border="0" alt="clip_image010" src="http://lh4.ggpht.com/-LR9jt0XDcvA/T8TuLfeWJsI/AAAAAAAAAVA/O45nueyjnq8/clip_image010_thumb.jpg?imgmax=800" width="183" height="102" /></a></p> <p>Figure 9-43 Connecting objects in Opalis.</p> <p>Double-click the Create List Item object to open the properties dialog. Under Configuration set the name to SharePoint Database List. This queries SharePoint and provides the Title field. Click Optional Properties to add-in the Size MB field and select to move to the Selected column (see Figure 9-44).</p> <p><a href="http://lh3.ggpht.com/-bQf_NBLE2Uk/T8TuL4UfBHI/AAAAAAAAAVI/OKJW8qLhjpE/s1600-h/clip_image012%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image012" border="0" alt="clip_image012" src="http://lh3.ggpht.com/-iaRFVUHEwKU/T8TuMI0m4PI/AAAAAAAAAVQ/WH_MwSTu9Zk/clip_image012_thumb.jpg?imgmax=800" width="244" height="149" /></a></p> <p>Figure 9-44 Adding properties available to a SharePoint Create List Item.</p> <p>To configure the field mapping it takes a little more configuring so since it known that the SQL Query is going to return two fields separated by a semicolon it is possible to use the following function (see Figure 9-45).</p> <p><a href="http://lh4.ggpht.com/-haNRNwXTeBA/T8TuMfLWXQI/AAAAAAAAAVY/EkOPS5uMTYw/s1600-h/clip_image014%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image014" border="0" alt="clip_image014" src="http://lh5.ggpht.com/-t9dXb2K1bi4/T8TuMiDqlNI/AAAAAAAAAVc/uQfaE5e-ZWM/clip_image014_thumb.jpg?imgmax=800" width="244" height="16" /></a></p> <p>Figure 9-45 Data manipulation function inside Opalis.</p> <p>The function passes in the familiar <i>Full line as a string with fields separated by ‘;’ </i>and passes in a delimiter and requests the first value from the pair. The field for the Size MB is similar but requests the second value. The final result looks like Figure 9-46.</p> <p><a href="http://lh6.ggpht.com/-__KPRIEN3lQ/T8TuNPTJyfI/AAAAAAAAAVg/qM6e-NHz1LY/s1600-h/clip_image016%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image016" border="0" alt="clip_image016" src="http://lh5.ggpht.com/-aPS-gtQBhRw/T8TuNYBLqHI/AAAAAAAAAVo/MVWDec6iH7M/clip_image016_thumb.jpg?imgmax=800" width="244" height="166" /></a></p> <p>Figure 9-46 Create List Item properties showing two fields populated.</p> <p>From this point it is possible to run a Test on this policy and populate the database. Figure 9-47 shows the Policy running. Figure 9-48 shows the SharePoint list being populated.</p> <p><a href="http://lh6.ggpht.com/-BazAXyNZrR8/T8TuN6Ymb4I/AAAAAAAAAVw/ah53DC95hO4/s1600-h/clip_image018%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image018" border="0" alt="clip_image018" src="http://lh5.ggpht.com/-6eqyXhVTKdQ/T8TuPx3h9nI/AAAAAAAAAWA/YMfMjhMvDVo/clip_image018_thumb.jpg?imgmax=800" width="244" height="201" /></a></p> <p>Figure 9-47 Policy populating a SharePoint list from the Policy Testing Console.</p> <p><a href="http://lh3.ggpht.com/-U753Sgb9nno/T8TuQe_5kbI/AAAAAAAAAWI/g6P-jI_smJI/s1600-h/clip_image020%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image020" border="0" alt="clip_image020" src="http://lh6.ggpht.com/-U_Qj4uAaUbU/T8TuQgEDAyI/AAAAAAAAAWM/tTQzpjMcRgw/clip_image020_thumb.jpg?imgmax=800" width="244" height="103" /></a></p> <p>Figure 9-48 SharePoint list populated with values from Opalis.</p> Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com0tag:blogger.com,1999:blog-7310143463713047616.post-24313573726665701502012-05-29T07:17:00.001-07:002012-06-28T06:01:31.852-07:00Creating a basic Policy<p><a href="http://lh5.ggpht.com/-KXOP6k1JXYM/T8TaNMVsriI/AAAAAAAAAQ0/2K-zaIC6qZ0/s1600-h/clip_image002%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://lh6.ggpht.com/-6UX2sX9MM-M/T8TaNh2zyHI/AAAAAAAAAQ8/csrrk5bR_Hw/clip_image002_thumb.jpg?imgmax=800" width="244" height="163" /></a></p> <p>Figure 9-28 The Opalis Integration Server Interface.</p> <p>By opening the Opalis Integration Server and right-clicking on the Policies tree select Policy to create a new Policy (see Figure 9-29). This will create a policy in the main section of the interface (see Figure 9-28 B). For the scenario with the new Policy we need a process to run on a schedule. Expand the section called Global Settings and right-click Schedule and select New Schedule (See Figure 9-30). For this SharePoint specific example the Schedule name is Content Databases (see Figure 9-31). By updating the Detail section this will check on the size of the content databases in a SharePoint environment once a day (see Figure 9-32).</p> <p><a href="http://lh4.ggpht.com/-Oc7U4YQ91NM/T8TaNym4FiI/AAAAAAAAARE/VfEaIfUb-zM/s1600-h/clip_image004%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://lh4.ggpht.com/-2I_B_uH3Lfc/T8TaOfuC2BI/AAAAAAAAARM/PZKev5YDqNY/clip_image004_thumb.jpg?imgmax=800" width="244" height="193" /></a></p> <p>Figure 9-29 Creating a new Policy in Opalis.</p> <p><a href="http://lh5.ggpht.com/-_ytXDv7MjAc/T8TaOy3tRuI/AAAAAAAAARU/fzDG0wYeX1U/s1600-h/clip_image006%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://lh3.ggpht.com/-rREVJNMmngk/T8TaWGpeaGI/AAAAAAAAARc/i3wpW3DG3nU/clip_image006_thumb.jpg?imgmax=800" width="223" height="244" /></a></p> <p>Figure 9-30 Creating a new Schedule in Opalis.</p> <p><a href="http://lh3.ggpht.com/-06cVl8do908/T8TaWbER_ZI/AAAAAAAAARk/cC_IOnwVn5E/s1600-h/clip_image008%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://lh4.ggpht.com/-IBWdNTRb1TY/T8TaWxmwXnI/AAAAAAAAARo/CdNmEAiyKwo/clip_image008_thumb.jpg?imgmax=800" width="244" height="168" /></a></p> <p>Figure 9-31 General Scheduling information in Opalis</p> <p><a href="http://lh3.ggpht.com/-acpO9VbhB2o/T8TaXUoFHhI/AAAAAAAAAR0/BHF6HQKloCw/s1600-h/clip_image010%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image010" border="0" alt="clip_image010" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ5rAcGG8gZL0lkK8ja9yZaUC9HgroKz9IPWYLhT2ppfUdQ8uG5P2jEzYUMpvpQY70xu9XQ2vlyZrBxmxOrW0ksjmkGrWyafe900LdvgYJkZSMV-wf_-PdwhO-w3cGCj25UfIxxY1e1nc/?imgmax=800" width="244" height="171" /></a></p> <p>Figure 9-32 Setting a Schedule in Opalis.</p> <h4>Testing</h4> <p>Opalis has the ability to run tests on the Policies created. The following example has a Custom Start object that runs a Database Query (see Figure 9-33). In the Task bar select Test to perform a test on the Policy. This brings up a new application window that allows the user Run, set Breakpoints and debug objects (see Figure 9-34).</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0tubx3eDdblNEuKa1NtXeI-99xMGHbHVpl0YU4CPh-wOEORzXYU13giiZMuo_XsB0GtyF_04QrP9bnT_rABBTA-_vAXxTnCnadEvo8EKDkw04BfKrJjHVFvoLNtqr-72yzCEKzSQtu0I/s1600-h/clip_image002%25255B4%25255D%25255B2%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002[4]" border="0" alt="clip_image002[4]" src="http://lh3.ggpht.com/-BdPturrvzXE/T8TaYzmzSWI/AAAAAAAAASM/9LWcY7dUvkg/clip_image002%25255B4%25255D_thumb.jpg?imgmax=800" width="244" height="168" /></a></p> <p>Figure 9-33 Simple Policy with two connected objects.</p> <p><a href="http://lh4.ggpht.com/-u7uPxzjYDKQ/T8TaZTXiLxI/AAAAAAAAASU/DWUGRV-4VYU/s1600-h/clip_image004%25255B4%25255D%25255B2%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image004[4]" border="0" alt="clip_image004[4]" src="http://lh5.ggpht.com/-y0DsrPabLyI/T8TaaHd44OI/AAAAAAAAASc/GWlHKXwa2AE/clip_image004%25255B4%25255D_thumb.jpg?imgmax=800" width="244" height="181" /></a></p> <p>Figure 9-34 Policy Testing Console</p> <p>In the Testing Console if an individual object is selected the properties are displayed in the Design Time Properties window (see Figure 9-35). There is a simple SQL statement that runs a built in stored procedure that returns all the databases on the SQL Database that the Query Database object is setup to connect to. By clicking the Run button the two objects will execute and provide a log of their actions, properties, and return values (if available) (see Figure 9-36).</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9Z8lXd4Mh7MW0Ttus_4vNf_fXpyAS8g7Cx3W8gy4qpERXVkGsPTweFK7Rs1LAoN_LPsbWbI69-PF8V6ZCwxonsK8hsVOaTedw4snafH-7HtpIxgjeMclPXxG4IxPgdjXDjwaKEWafjH8/s1600-h/clip_image006%25255B4%25255D%25255B2%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image006[4]" border="0" alt="clip_image006[4]" src="http://lh4.ggpht.com/-oqvPGiHXMFg/T8Taag55shI/AAAAAAAAASs/jXj81ecY5wQ/clip_image006%25255B4%25255D_thumb.jpg?imgmax=800" width="244" height="191" /></a></p> <p>Figure 9-35 Design Time Properties for the Query Database object.</p> <p><a href="http://lh3.ggpht.com/-X3TkadcCH1w/T8TabCWariI/AAAAAAAAAS0/-zkQd6OMoMc/s1600-h/clip_image008%25255B4%25255D%25255B2%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image008[4]" border="0" alt="clip_image008[4]" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifQLGPx73AJXo2-Uq0pWhW8fMHzR-_IhAMZ0mkIjoSuredr2LweW7a0xSBQUH6Yhp2n6JRSNpMNEUpRKVXm8jssWbO88rYEOSq0PI4IJSN6Ou5AtHCvPfLZNdxR1Qv_1_IpuF5NxzzoFY/?imgmax=800" width="244" height="144" /></a></p> <p>Figure 9-36 Policy Testing Console displaying the populated logs after running a policy.</p> <p>The Query Database stores all its returned values in the <i>Full lines as a string with fields separated by a ‘;’</i>. By highlighting that line in the logs the interface adds a ellipsis button. But clicking on the ellipsis button a small modal window provides the data returned but the query (see Figure 9-37). While the results are interesting the name of the modal is very important. The data is designated as Published Data. So when objects are connected in the Policy and there is a desire to interact with the data, this is the actual data that is published from the Query Database object that was defined.</p> <p><a href="http://lh4.ggpht.com/-CE-j7dnxvOs/T8TabqzhQ8I/AAAAAAAAATE/ehL3bnqm2tM/s1600-h/clip_image010%25255B4%25255D%25255B2%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image010[4]" border="0" alt="clip_image010[4]" src="http://lh3.ggpht.com/-ff-gC9tEeGQ/T8TacAwGzhI/AAAAAAAAATM/90fwPf8M4GY/clip_image010%25255B4%25255D_thumb.jpg?imgmax=800" width="244" height="211" /></a></p> <p>Figure 9-37 Published Data Browser displaying the results of the Query Database object.</p> <p>By exiting the Test client and returning to the Integration Server Client we can show how it is possible process this Published Data some more. By selecting and adding a Run .Net Script object to the Policy the capacity to run C#, Jscript, PowerShell or VB.Net code is available (see Figure 9-38). </p> <p><a href="http://lh6.ggpht.com/-LNSksQFSJZo/T8Tacl8HWcI/AAAAAAAAATU/bDVLVVJOFtw/s1600-h/clip_image012%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image012" border="0" alt="clip_image012" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZtfLTfOfnTwlkpduLXh-s-skM3wdcdqvpl_GEdVBpEirAJNekES489MdRlz9AjIiWjAzBLsRW-yHhNI64uax4o9Vt-lhc8xHr009DAnPKRmg0E9Cp6KQXLNMSwvTJEIumRAhSqXSDqAQ/?imgmax=800" width="244" height="166" /></a></p> <p>Figure 9-38 The Run .Net Script Object displaying the types of script it can run.</p> <p>After selecting PowerShell as the script type it is necessary to right-click in the Script section to open a context menu. This allows the ability to select the Published Data from the Query Database object (or from a Global Variable). Select Published Data and then the field <i>Full line as string with fields separated by ‘;</i>’ the script section will display a hyperlinked section of code that can be assigned to a variable in PowerShell. By adding a few more lines of PowerShell for processing and putting the same Policy in the Test Console again it is possible to see the first value passed in from the Query Database object into the PowerShell (when set as a breakpoint) script (see Figure 9-39).</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_vl0boPvUYsBu1aN2zt0rawjBJ5tSK3aqDYMU3CKCuOU-vCFkdmLOwP7_GiligEPi0p2Aix6TqbKLkMP1npdYhjoAJnXxo1HcTg13DAynGO-T4FK5lgHuGnh7kpahoHkwLBLenaT-j-U/s1600-h/clip_image014%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image014" border="0" alt="clip_image014" src="http://lh5.ggpht.com/-u_X7c-XbdKo/T8TaeL48PTI/AAAAAAAAATo/CJsdQMgf3mM/clip_image014_thumb.jpg?imgmax=800" width="244" height="204" /></a></p> <p>Figure 9-39 Policy Testing Console in debug mode with a breakpoint hit at the Run .Net Script object.</p> Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com0tag:blogger.com,1999:blog-7310143463713047616.post-52139620321941122242012-05-29T06:53:00.000-07:002012-06-28T06:01:31.864-07:00Automating SharePoint in a Private Cloud using Opalis<div class="LessonContent">
<div class="LessonStep top">
<div class="StepInstructions">
<ul>
<li><span style="color: black;"><strong>Define what Opalis can provide in an organization</strong></span></li>
<li><span style="color: black;"><strong>How to install Opalis</strong></span></li>
<li><span style="color: black;"><strong>Opalis Integration Packs</strong></span></li>
<li><span style="color: black;"><strong>Creating a basic Policy</strong></span></li>
<li><span style="color: black;"><strong>Testing Opalis Policies</strong></span></li>
<li><span style="color: black;"><strong>Opalis SharePoint Integration Kit</strong></span></li>
<li><span style="color: black;"><strong>Solving real world SharePoint problems with Opalis </strong></span></li>
</ul>
<span style="color: black;"><strong> Now let us focus on a specific solution that offers a unique toolset to the current mindset of datacenter administration. </strong></span><br />
<span style="color: black;"><strong>Opalis is an automation platform that improves the reliability of IT processes by orchestrating and integrating IT tools to control the cost of datacenter operations. By enabling an organization to automate best practices through workflow processes that coordinate’s System Center & management/monitoring tools to automate incident response, change & compliance, and service-lifecycle management processes.</strong></span><br />
<span style="color: black;"><strong>Opalis offers a designer for custom workflow processes, through Integration Packs, and automatically shares data and initiates tasks in System Center Operations Manager, System Center Configuration Manager, System Center Service Manager, Virtual Machine Manager, Active Directory and many other 3<sup>rd</sup> party toolsets. I have seen some impressive implementations by organizations where they can script out a remediation’s but consistently the one missing piece is the ability to track that the incident, what did it take to resolve it, and close the ticket without delayed manual intervention. Opalis offers the ability to not only configure the scripting portion but also try multiple variations of scripted solutions till a remedy is found, offer escalations through email or System Center, track/monitor incident and change requests and much, much more. Opalis offers the “Last Mile” piece many IT organizations have been trying to accomplish. By combining System Center and Opalis organizations open the doors to increased integration, efficiency and business alignment of the datacenter IT services by:</strong></span><br />
<ul>
<li><span style="color: black;"><strong>Automating cross-silo processes and enforcing best practices for incident, change and service lifecycle management.</strong></span></li>
<li><span style="color: black;"><strong>Reduce unanticipated errors and service delivery time by automating tasks cross vendor and organization silos.</strong></span></li>
<li><span style="color: black;"><strong>Integrating System Center with non-Microsoft tools to enable interoperability across the datacenter.</strong></span></li>
<li><span style="color: black;"><strong>Orchestrating tasks systems for consistent, documented, compliant activity. </strong></span></li>
</ul>
<span style="color: black;"><strong>Many organizations have successfully jumped on the PowerShell bandwagon and accomplished many automation techniques. There are now many books that have sections dedicated to PowerShell automation within the Microsoft solution space. But normally this requires multiple systems that are running timer jobs across the organization. This tends to get so overwhelming for organizations that they are unable to define where all the jobs are running or when they are running because they become so disparate and have no ability to roll up an accomplished task to a central repository (e.g. System Center) the jobs end up being lost in the organization. Consider another scenario where management starts seeing random issues with a particular job and the only fallback an administrator can provide is to attempt to find logs for a particular script and hope the logs actually caught the issue. </strong></span><br />
<span style="color: black;">Opalis Components</span><br />
<span style="color: black;"><strong>Opalis has the following main components</strong></span><br />
<span style="color: black;"><strong>Integration Server Client This is the application that creates, modifies, deploys, tests and manages policies. </strong></span><br />
<span style="color: black;"><strong>Action Server Policies are executed on the Action Servers and more than one Action Server can be created. It is possible to dedicate Action Servers for policies requiring a lot of disk space.</strong></span><br />
<span style="color: black;"><strong>Policy Testing Console - Application that allows for testing of policies configured in the Integration Server Client before being deployed to the Action Server. It also has the ability to debug and step through policies.</strong></span><br />
<span style="color: black;"><strong>Operator Console Web-Based application that allows real-time information about metrics such as policy state, duration, and capacity utilization.</strong></span><br />
<span style="color: black;"><strong>Management Server Server that provides connections from the Integration Server Clients to the Opalis Datastore for building and testing policies.</strong></span><br />
<span style="color: black;"><strong>Opalis Datastore A Oracle or Microsoft SQL Server database where configuration information, policies and logs are stored.</strong></span><br />
<span style="color: black;"><strong>Deployment Server Tool that offers a view of the entire Opalis Integration Server infrastructure and deploy Action Servers, Integration Clients, Integration Packs and hotfixes from one place.</strong></span></div>
</div>
</div>Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com1tag:blogger.com,1999:blog-7310143463713047616.post-48972886740934850422012-05-23T19:18:00.000-07:002012-06-28T06:01:31.862-07:00Opalis Installation<p>Pre-requisites</p> <p>· Windows Server 2003, 2008 or 2008 R2</p> <p>· Service account (a domain user) that is a Local Administrator</p> <p>· Microsoft SQL Server 2005, 2008, or 2008 R2. The service account must be added to the logins in SQL Server.</p> <p>Installation begins by unzipping the supplied files to retrieve the setup file (See Figure 9-1). Then begin by double-clicking Setup.exe to begin the installation. </p> <p><a href="http://lh3.ggpht.com/-Fb6hvi16XVM/T8TSFK9mhlI/AAAAAAAAAJw/E0sC4nG8hkQ/s1600-h/clip_image002%25255B4%25255D.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://lh3.ggpht.com/-QJnpoUYrS6Y/T8TSFob4x4I/AAAAAAAAAJ0/gqsmDtWXfYY/clip_image002_thumb%25255B1%25255D.jpg?imgmax=800" width="336" height="247" /></a> <br />Figure 9-1 Unzipping the Opalis files. </p> <p>After double-clicking on setup the first dialog offers the option to Install Opalis Integration Server. Select that option to begin the installation (Figure 9-2).</p> <p><a href="http://lh5.ggpht.com/-CemoMDRA02E/T8TSF6LBrrI/AAAAAAAAAJ8/LAvKPsj-83Y/s1600-h/clip_image004%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXqOH2Nw1BO_gcVYwe6sYz_wkyP7FRmhI-gRFEKov08N3_E6n3lp9xE5RpGC46fFr-IgRhPiGa4pa_12okOhBmhgUndFlFooCvrmg72kLPXyjO9ze7NFInYPpCTqC6NYITNJ2jKCeDwS4/?imgmax=800" width="244" height="127" /></a></p> <p>Figure 9-2 Initial installation dialog screen.</p> <p>Click on the Install the Management Server to begin the installation. It is a simple wizard that requires the service account information to complete (see Figure 9-3). Management server install is a basic installation that only requires a domain account for running Opalis.</p> <p><a href="http://lh3.ggpht.com/-DUaA6ejuYA0/T8TSGoNM08I/AAAAAAAAAKQ/fgOOieaWc0k/s1600-h/clip_image006%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://lh6.ggpht.com/-RdW899TPHfg/T8TSHO2p6YI/AAAAAAAAAKY/KHgrsqfu8is/clip_image006_thumb.jpg?imgmax=800" width="244" height="127" /></a></p> <p>Figure 9-3 Selecting the only available installation Install the Management Server option.</p> <h4>Configure the Datastore</h4> <p>After completing the installation of the Management Server the next option to configure the Datastore is available. By selecting this option another installation wizard is started. Currently you can select between Microsoft SQL Server and Oracle Server (see Figure 9-4)</p> <p><a href="http://lh4.ggpht.com/-ppwS2i1hlEs/T8TSHhOZpyI/AAAAAAAAAKg/ZB6n_ZgtKaE/s1600-h/clip_image008%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://lh3.ggpht.com/-1ei9bERLS8s/T8TSIGz2LFI/AAAAAAAAAKo/ycElSdF5OFU/clip_image008_thumb.jpg?imgmax=800" width="244" height="166" /></a></p> <p>Figure 9-4 Selecting the Database type in the Datastore install sequence.</p> <h4>Import a License</h4> <p>After completing the Datastore wizard the next step is available so select Import a License (see Figure 9-5). Opalis is extremely license centric and requires a license to run different components. The trial version comes with 180 day licenses which will be covered. Not only does Opalis require license files but it also requires the corresponding key (see Figure 9-6)</p> <p><a href="http://lh3.ggpht.com/-vrgq6QUIyyU/T8TSIUKN0fI/AAAAAAAAAKw/MTJQOQrwT3o/s1600-h/clip_image010%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image010" border="0" alt="clip_image010" src="http://lh5.ggpht.com/-uNrqALYXHsM/T8TSI_rh3fI/AAAAAAAAAK4/fdX5HbEoCUw/clip_image010_thumb.jpg?imgmax=800" width="244" height="194" /></a></p> <p>Figure 9-5 Opalis License Manager</p> <p><a href="http://lh3.ggpht.com/-0MJrPcXLUzQ/T8TSJJm6YpI/AAAAAAAAAK8/Z_vhsxt5W6c/s1600-h/clip_image012%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image012" border="0" alt="clip_image012" src="http://lh4.ggpht.com/-23ZLc23Ns48/T8TSJePSWOI/AAAAAAAAALI/zqddtJCKLdE/clip_image012_thumb.jpg?imgmax=800" width="244" height="91" /></a></p> <p>Figure 9-6 Opalis Key and License dialog.</p> <p>The 180 day trial comes with a variety of license files and key’s (see Figure 9-7)</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn4LLnpE7IzMfz5TPVILDVFHGQTm6Rszdk9u1XKjJgbS-6Xz2YdJBM-yVzZAOIE1_jAFEV1cIbVleDCojjht4tkAU_gwY_F78YEjzsWVSj-zZ4UpB6NRDTYBfTP32EoEOpj1_odXEc9D4/s1600-h/clip_image014%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image014" border="0" alt="clip_image014" src="http://lh6.ggpht.com/-n_qqFLrkxAo/T8TSKZdYNpI/AAAAAAAAALU/7UjPqJeGEU4/clip_image014_thumb.jpg?imgmax=800" width="244" height="133" /></a></p> <p>Figure 9-7 Sample of the licenses available in the 180 day trial download of Opalis</p> <p>The trial download also includes a Microsoft Word document that has the corresponding keys for each of the licenses (see Figure 9-8)</p> <p><a href="http://lh5.ggpht.com/-F9ZgkAOUwvk/T8TSLAd8txI/AAAAAAAAALg/CrrlvF8sUro/s1600-h/clip_image016%25255B4%25255D.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image016" border="0" alt="clip_image016" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYmR7TJkAGPcdHQZt8gfm4GEnllWzsWqg52xB8ltnfrtT-55xZsePOlIThacdyE-YFQ2FykUC8dQe1YJwuBTtd8tZ32cwg47e2ZKO6VconbxELWIZcc5fIljI9jOpn3Nfvf7PutJRhYxY/?imgmax=800" width="406" height="140" /></a></p> <p>Figure 9-8 Sample of the keys provided in the 180 trial download of Opalis</p> <p>Copy the key into the dialog box (include the brackets) and click the button with the ellipsis to point to a local folder that contains the license (.lic file) (see Figure 9-9)</p> <p><a href="http://lh3.ggpht.com/-0cOh4wBK4QE/T8TSL0ynieI/AAAAAAAAALw/Gb3Fd5nDJQA/s1600-h/clip_image018%25255B4%25255D.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image018" border="0" alt="clip_image018" src="http://lh4.ggpht.com/-rov6hozC138/T8TSMI2PJPI/AAAAAAAAAL4/PqX9DScTpbc/clip_image018_thumb%25255B1%25255D.jpg?imgmax=800" width="340" height="138" /></a></p> <p>Figure 9-9 An Opalis key and license file designated.</p> <p>After hitting OK ensure that the License Manager component is set to correct component that is going to be licensed. This examples is setting the license for Opalis Integration Server –v6 (see Figure 9-10)</p> <p><a href="http://lh5.ggpht.com/-fM5GseEjEXQ/T8TSMqPy-CI/AAAAAAAAAMA/qeHtS7Frqfo/s1600-h/clip_image020%25255B4%25255D.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image020" border="0" alt="clip_image020" src="http://lh4.ggpht.com/-fDoyhTuIzqQ/T8TSNOInp2I/AAAAAAAAAMI/3E6CwA2wz-w/clip_image020_thumb%25255B1%25255D.jpg?imgmax=800" width="424" height="345" /></a></p> <p>Figure 9-10 Selecting the correct component to associate the license to.</p> <p>The final link is now available in the Opalis installation steps after importing the Opalis License. Now select Install the Client (see Figure 9-11). </p> <p><a href="http://lh6.ggpht.com/-6GDLau7_L1s/T8TSNtg7_xI/AAAAAAAAAMQ/-cujsJk_DoQ/s1600-h/clip_image022%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image022" border="0" alt="clip_image022" src="http://lh6.ggpht.com/-kQnnfCtQYMg/T8TSOFp9HQI/AAAAAAAAAMY/7-Tqf2DwhQY/clip_image022_thumb.jpg?imgmax=800" width="244" height="186" /></a></p> <p>Figure 9-11 Start of the Client Installation wizard.</p> <h5>Upgrading from 6.2.2 to 6.3</h5> <p>In order for Opalis to be configured on a Windows Server 2008 instance it requires upgrading to version 6.3. The 6.3 release also includes new integration packs for System Center Configuration Manager, System Center Data Protection Manager, System Center Service Manager, and System Center Virtual Machine Manager. The integration pack for System Center Operations Manager has also been updated to support the 2008 platform.</p> <p>The upgrade to 6.3 is included in the 180 trial but is not intuitive or linear. The first step is to replace an .msi file from the initial installation with a newer one from version 6.3. Navigate to the current installed folder, by default is located in the system drive Program Files (x86)\Opalis Software\Opalis Integration Server. Then open the Components folder and finally the Objects folder. Then open another explorer window to find the new file. In the 6.3 upgrade folder navigate to the Opalis Integration Server folder. Copy and Replace the existing OpalisIntegrationServer_FoundationObjects.msi (see Figure 9-12). After copying the file run the OpalisIntegrationServer_ManagementService_630_Patch.msp from the 6.3 upgrade location. It is a simple wizard that does not have any customization or parameters to install.</p> <p><a href="http://lh3.ggpht.com/-vMzoFxZq874/T8TSOiYoWfI/AAAAAAAAAMg/Q89AFYFAjuo/s1600-h/clip_image024%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image024" border="0" alt="clip_image024" src="http://lh6.ggpht.com/-IsKP6ulO9o0/T8TSO1JeJ_I/AAAAAAAAAMo/u8j6qmvr4KM/clip_image024_thumb.jpg?imgmax=800" width="244" height="177" /></a></p> <p>Figure 9-12 Copying the OpalisIntegrationServer_FoundationObjects.msi file from the upgrade folder to the existing installation folder.</p> <p>After installing the Management Service Pack it is time to deploy action servers and clients. Open the Opalis Deployment Manager and right-click on Action Servers and select Deploy new Action Server (see Figure 9-13).</p> <p><a href="http://lh4.ggpht.com/-NDLKHHYzRhw/T8TSWLkb72I/AAAAAAAAAMw/e1_V427ep2Q/s1600-h/clip_image026%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image026" border="0" alt="clip_image026" src="http://lh6.ggpht.com/-e8dio4dYfck/T8TSWgBvCGI/AAAAAAAAAM4/xlQmqIZNP0A/clip_image026_thumb.jpg?imgmax=800" width="244" height="163" /></a></p> <p>Figure 9-13 Selecting to Deploy a new Action Server inside the Opalis Integration Server environment.</p> <p>Enter the machine or IP address of the machine that is desired to make an Action Server and the service account initially created (see Figure 9-14).</p> <p><a href="http://lh5.ggpht.com/-IuUuZEHhpI8/T8TSWyy1sDI/AAAAAAAAANA/kqvyi07slpE/s1600-h/clip_image028%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image028" border="0" alt="clip_image028" src="http://lh5.ggpht.com/-pOSN-8sIF_4/T8TSXP1AQuI/AAAAAAAAANI/jayoTcdIVOk/clip_image028_thumb.jpg?imgmax=800" width="244" height="190" /></a></p> <p>Figure 9-14 Specifying the Action Server to be added.</p> <p>One of the unique aspects of Opalis is that it allows the designation of Integration Packs to Action Servers. The next step in the wizard allows the ability to specify what integration packs will be allowed to run on that particular action server. This is important if you have a policy that is resource intensive. During the initial install there will be no Integration packs to choose from on this screen) (see Figure 9-15).</p> <p><a href="http://lh6.ggpht.com/-IoOc3DXnulA/T8TSXjDX9NI/AAAAAAAAANQ/9OX8AeRdC3M/s1600-h/clip_image030%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image030" border="0" alt="clip_image030" src="http://lh3.ggpht.com/-JsqtHtgg2lE/T8TSYBTCd8I/AAAAAAAAANY/ngxHJvReV-4/clip_image030_thumb.jpg?imgmax=800" width="244" height="186" /></a></p> <p>Figure 9-15 Selecting the Integration Packs allowed on a specific Action Server.</p> <p>After completing the wizard Opalis begins deploying to the defined Action Server (see Figure 9-16).</p> <p><a href="http://lh3.ggpht.com/-7ZmC8-I9Yd8/T8TSYZ7ponI/AAAAAAAAANg/k4rAOUTSvac/s1600-h/clip_image032%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image032" border="0" alt="clip_image032" src="http://lh4.ggpht.com/-q6b9ajICPx8/T8TSY9HgOwI/AAAAAAAAANo/oN7UbYtmQ60/clip_image032_thumb.jpg?imgmax=800" width="244" height="93" /></a></p> <p>Figure 9-16 Opalis deploying to the Action Server.</p> <h5>Setting up the client</h5> <p>Open the Opalis Deployment Manager and right-click Clients and select Deploy new Client (see Figure 9-17).</p> <p><a href="http://lh5.ggpht.com/-vSWgdfQ1MVM/T8TSY5DNg6I/AAAAAAAAANw/3ohjvUw5UyU/s1600-h/clip_image034%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image034" border="0" alt="clip_image034" src="http://lh4.ggpht.com/-RJ7raDju9gU/T8TSZQ6Wr7I/AAAAAAAAAN4/N4m0iC5Gv_k/clip_image034_thumb.jpg?imgmax=800" width="241" height="150" /></a></p> <p>Figure 9-17 Selecting Deploy new Client for the 6.3 upgrade.</p> <p>Add in the computer that should be added as an Opalis Client (see Figure 9-18)</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNhXZeI8U9oxKBMMnCNI1ODQTk3uLOADZIcPy6wUWH8lo7oUWrJ5mxb1lTqFzKZz4NO7qJOmI04qlJWfjzi0nUm4DayvavFIdW108Q3-M4LdM6kmwZ0JIzSGqAQzk4K1Hto9OPgn54tk0/s1600-h/clip_image036%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image036" border="0" alt="clip_image036" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg80Jz-cIWlaG6hwuOZYVsZ9tEydAjeN9NDDBxEGZ77c0Cn3bb3RI09xXesC5ZHbfJHH1tOlM74153m4IPECPWG-Xlq6BrOrlZcykV1V3fxlQdNHZ5RLxst7ZdIL9-Lo3s_AdsYGziiSNk/?imgmax=800" width="244" height="187" /></a></p> <p>Figure 9-18 Adding a computer to be defined as a client for Opalis.</p> <p>Opalis also allows the ability to define which Integration packs are visible to clients. The next step in the wizard allows the selection of which Integration Packs will be allowed to build Policies on the client (see Figure 9-19).</p> <p><a href="http://lh4.ggpht.com/-QRAVhpjwcHA/T8TSaqflx2I/AAAAAAAAAOQ/5Rf5WxtmkSo/s1600-h/clip_image038%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image038" border="0" alt="clip_image038" src="http://lh5.ggpht.com/-q_XI1bp_WIk/T8TSbDzEWdI/AAAAAAAAAOY/_H_L_QL4Hmw/clip_image038_thumb.jpg?imgmax=800" width="244" height="189" /></a></p> <p>After completing the wizard Opalis will deploy the client to the selected machine(s) (see Figure 9-19).</p> <p><a href="http://lh6.ggpht.com/-y8-nKU6PY9w/T8TSbkCfXuI/AAAAAAAAAOg/58azM5xM61M/s1600-h/clip_image040%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image040" border="0" alt="clip_image040" src="http://lh4.ggpht.com/-cq1u19j8_lY/T8TSb-pghRI/AAAAAAAAAOo/JDG4U0HwKAI/clip_image040_thumb.jpg?imgmax=800" width="244" height="93" /></a></p> <p>Figure 9-19 Opalis deploying to the client machines.</p> <h5>Client update for 6.3</h5> <p>In the upgrade folder it is now possible to run the OpalisIntegrationServer_Client_630_Patch.msp. It is a simple wizard that doesn’t allow for any customization. This is the final step in completing the upgrade to version 6.3.</p> <h4>Integration Packs</h4> <p>Integration Packs allow for integration into solutions using Web Services, SQL, WMI, and CLI. These can be Microsoft products or 3<sup>rd</sup> party systems. Opalis has an existing set of Integration Packs available to connect to System Center solution and there are new ones from providers like </p> <p>· BMC </p> <p>· CA </p> <p>· EMC </p> <p>· FTP</p> <p>· HP </p> <p>· IBM </p> <p>· Microsoft </p> <p>· Symantec </p> <p>· VMWare </p> <p>Opalis also has an SDK and a Quick Integration Kit (QIK) to create custom Integration Packs.</p> <p>Start by defining the Integration Packs that are necessary for the environment. This is done by opening the Deployment Manager and expanding Management Server then right-clicking Integration Packs and selecting Register IP with the Management Server (see Figure 9-20). It allows you to select the Integration Packs or HotFixes for Opalis.</p> <p><a href="http://lh6.ggpht.com/-MQvlMcEz1Lw/T8TSnnlLq6I/AAAAAAAAAOw/X9QVxleVe1c/s1600-h/clip_image042%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image042" border="0" alt="clip_image042" src="http://lh5.ggpht.com/-tkYNEAUHNd4/T8TSn57d7zI/AAAAAAAAAO4/sLbdO3Zh3bU/clip_image042_thumb.jpg?imgmax=800" width="244" height="145" /></a></p> <p>Figure 9-20 Context menu to Register an Integration Pack with the Management Server.</p> <p>This brings up the Integration Pack Registration Wizard (see Figure 9-21) and by clicking on Add it is possible to find the Integration Pack that is desired to install (see Figure 9-22).</p> <p><a href="http://lh6.ggpht.com/-d3jHKBLsikw/T8TTRzzu1rI/AAAAAAAAAPA/NO1u-uZq0SE/s1600-h/clip_image044%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image044" border="0" alt="clip_image044" src="http://lh6.ggpht.com/-zEb0kZAaUiM/T8TTSIZhtnI/AAAAAAAAAPE/GXlwhx4WWhw/clip_image044_thumb.jpg?imgmax=800" width="244" height="190" /></a></p> <p>Figure 9-21 Integration Pack Registration Wizard.</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLM6UBP_JB4h42LcY4A1GSy-wtT1gsI_N8kpxm0Voomyjr0xinLo_JSJAibQdBIg6SFTJypPCSewrq7gqfH2DZGXmV0XWclMxcljfDWQFzWwD23Uayx2e90GzXqi4UOq-KNG6H9AmbCcA/s1600-h/clip_image046%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image046" border="0" alt="clip_image046" src="http://lh6.ggpht.com/-bwLnD2xEVo4/T8TTS3augfI/AAAAAAAAAPU/Ww6e35WPGfw/clip_image046_thumb.jpg?imgmax=800" width="244" height="179" /></a></p> <p>Figure 9-22 Selecting the Integration Pack for Microsoft SharePoint 1.3</p> <p>After selecting the Integration Pack and completing the wizard Opalis registers the Integration Pack (see Figure 9-23)</p> <p><a href="http://lh4.ggpht.com/-0xOiQWuEyv0/T8TTTbZSlpI/AAAAAAAAAPg/TJGWqcfnOvg/s1600-h/clip_image048%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image048" border="0" alt="clip_image048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEWikeXmfT8HuyKoA-L1SAPB79bpqu0uAEgNqLXStqIDF6vtBXKuY_qcfwpHCF4cyuTPPS6ctjP_8aSwWcrkiJs6456RH-gdFnfb6kCTuKX2XIwbgw4GmWxYEjYp3rrLhflIblnHgoTg0/?imgmax=800" width="244" height="73" /></a></p> <p>Figure 9-23 Registering an Integration Pack in Opalis</p> <p>At this point the Integration Pack is only registered and has yet to have an Action Server attached to it. To deploy the Integration Pack to an Action Server select the Integration Pack(s) you wish to allow on the Action Server and right-click it to get a context menu. Select Deploy IP to Action Server or Client (see Figure 9-24).</p> <p><a href="http://lh5.ggpht.com/-fxKXk8exgYM/T8TTUE7AgHI/AAAAAAAAAPw/GL2TPGMxUr4/s1600-h/clip_image050%25255B4%25255D.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image050" border="0" alt="clip_image050" src="http://lh5.ggpht.com/-qxP3GHJNGt0/T8TTUhJiFnI/AAAAAAAAAP4/6EQWkFh5cvM/clip_image050_thumb%25255B1%25255D.jpg?imgmax=800" width="373" height="62" /></a></p> <p>Figure 9-24 Selecting an Integration Pack to be deployed.</p> <p>This action starts the Integration Pack Deployment Wizard. From here select the Integration Pack that needs to be deployed (see Figure 9-25) and then select the computer that the Integration Pack will be deployed to (see Figure 9-26). Finally, define an installation time. This allows for deployment of Integration Packs during non-peak times (see Figure 9-27).</p> <p><a href="http://lh3.ggpht.com/-QhhfOCuM_AE/T8TTUwGHtaI/AAAAAAAAAP8/2Em4yr4Qrns/s1600-h/clip_image052%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image052" border="0" alt="clip_image052" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip39yVXA6XP3hnVGWeJKvQ4K9CUyADfT68mebybZYiXNez3x3_RObOnfoibzEmd3zaLP1lGP46s29Pky0O3btO92PdYB18VkzNoIZre9AalK5yU3Tny9wCK5AC4_Zyx0K9ldgUZmw_gMU/?imgmax=800" width="244" height="190" /></a></p> <p>Figure 9-25 Selecting the Integration Pack.</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMA5JGOyNwT-n1Bi1LMoDeEWd0FKmJ4kCLzK_TC0n2QPlK9DdkvlXn6t2klkBGDcgVyzlhhUB4xNFpum4lK0I5jRmIV8KMiDJU8GcowdPEIfCedMjE9sZf__NeqPMqD82ln0u4QXkUHy0/s1600-h/clip_image054%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image054" border="0" alt="clip_image054" src="http://lh6.ggpht.com/-3p8gHYf2xDk/T8TTWesAnEI/AAAAAAAAAQY/qO1HQfvwaf8/clip_image054_thumb.jpg?imgmax=800" width="244" height="190" /></a></p> <p>Figure 9-26 Selecting the computer to deploy the Integration Pack to.</p> <p><a href="http://lh6.ggpht.com/-BEHGDjtGmns/T8TTWjkH8iI/AAAAAAAAAQg/hgdTrg2-0AI/s1600-h/clip_image056%25255B3%25255D.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image056" border="0" alt="clip_image056" src="http://lh5.ggpht.com/-GgdSMjE2qDs/T8TTW4ldspI/AAAAAAAAAQo/QcF_-WjebGI/clip_image056_thumb.jpg?imgmax=800" width="244" height="189" /></a></p> <p>Figure 9-27 Scheduling the deployment time.</p> Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com0tag:blogger.com,1999:blog-7310143463713047616.post-70010735712947269402011-09-20T08:15:00.001-07:002011-09-20T08:22:19.327-07:00Debugging ASP pages in Visual Studio 2008<div style="text-align: center;"><br /></div><div style="text-align: center;"><br /></div>So if you are like me and you occasionally get put in a position where you are rebuilding an existing classic asp program the be big question is 'How do I debug it??'<div><br /></div><div>There are plenty of useful links and most of them will get you about 80% of the way there. I came across a slick trick that works instantly.</div><div><br /></div><div>Set IIS to run in IIS 5.0 isolation mode and then to debug attach to the dllhost.ext process. And then you are set!</div><div style="text-align: center;"><br /></div><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMzJ7B6RZXZwZbwAAFoGJSlUWZHM1c56SYJqQbDzhT_VDIDX2BTeM_Gee8Ca3EeRKLoQXZO0nh7IwS4sw7uXvP78O6xX4YxcercnN4EkjeXwwyPP00jBztzLszUB18uJFEVimgFT8OBzw/s320/iis.GIF" border="0" alt="" id="BLOGGER_PHOTO_ID_5654461311690034786" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 312px; " /><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8jEN-E8gr7NdYUIyYDuvoqD7aqrqRk-m-GUuimKuhQNARBSjAA1LbXMifuk6gGf5csTCkhj4QHbIupYkdYKjror_nKOsTOQ_S3d4tnaAvw8cDbJ6DAa7-6CfnYNmuMWrKY3B6Af7aubA/s320/debug.GIF" border="0" alt="" id="BLOGGER_PHOTO_ID_5654462053021933266" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 61px; " /><div><div style="text-align: center;"><br /></div><div><div style="text-align: center;"><br /></div><div><br /></div></div></div>Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com1tag:blogger.com,1999:blog-7310143463713047616.post-83915556218467320172011-06-06T12:08:00.000-07:002011-06-06T12:13:06.292-07:00VMWare workstation missing .vmsn snapshot<div style="text-align: center;"><br /></div>So one of my external drives started showing bad sectors. I did the smart thing and took a snapshot. Or so I thought. Turns out if VMWare cannot find your snapshot you cannot start-up an existing VM!<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC8YVoF3-MkQBClv16peGbzkapf3Q3mZ6AvbGPAAi6x1mCeQerRIWq-clFCURLVEPVbB1Fn-h0eny6SdKOfBjMyPNzYfwgZ1uiXh27g-rHDg5-54oQfvl7cTJ_R1Jbl7JhrovoCL1_YoY/s320/v1.PNG" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 147px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5615186316958430210" /><div>So I opened up the .vmsd file for the VM I am working on and compared it to another VM that had never had a snapshot taken. By removing the highlighted portion and saving it I was able to boot directly into my VM with no issues!</div><div>Very slick and sad to see there is no useful info on this currently out on the net. Especially from VMWare.</div><div>I hope this saves someone else's day like it did mine.</div>Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com4tag:blogger.com,1999:blog-7310143463713047616.post-51379426801254218522010-11-24T20:28:00.000-08:002010-11-24T20:32:13.050-08:00Launch of new RBA website!I forgot to announce after I finished building this site!<br />Before I started my year of traveling I complete the RBA Consulting website. I built it using the Open Source CMS framework <a href="http://umbraco.codeplex.com/">Umbraco</a>. If you have never looked into I would watch a few videos. I have yet to come across anything as flexible.<br />The site is located at <a href="http://www.rbaconsulting.com">http://www.rbaconsulting.com</a>. Next is to convert it into SP2010!Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com0tag:blogger.com,1999:blog-7310143463713047616.post-33665424385000744992010-11-24T20:24:00.000-08:002010-11-24T20:36:23.179-08:00Launch of new site!Sorry for the long delay between posts but I have been incredibly busy! My latest public project is the release of Blue Cross Blue Shield of Louisiana's public and member website converted to SharePoint 2007. This was under a pretty tight time line considering the amount of work involved. But I believe the end result is more than worth the effort! I was the architect/lead developer on the project. I am incredibly thankful for the effort of my team for all their input, assistance and hard work.<br /><br /><a href="http://www.bcbsla.com/">http://www.bcbsla.com</a>Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com0tag:blogger.com,1999:blog-7310143463713047616.post-22473010272707543082010-04-13T22:16:00.001-07:002010-04-13T22:22:19.440-07:00Submitting items to a SharePoint list like TwitterHere is a sample I did that shows how to user a very click set of javascript combined with JQuery to make submitting items to a list function from one page.<br /><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/FD5HnyX1cLM&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/FD5HnyX1cLM&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object><br /><a href="http://darrenjohnstone.net/2008/07/22/examples-for-the-sharepoint-and-office-live-javascript-api/">Here is the cool javascript link!</a>Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com1tag:blogger.com,1999:blog-7310143463713047616.post-64318353398717122462010-03-08T15:31:00.001-08:002010-03-08T15:31:22.411-08:00SharePoint 2010 Tests now online!<div class="ms-PostBody"><div dir=""><div class="ExternalClassD02B474F0F6A40C993142ECAF46C4EF3"> <div>Microsoft has now posted the objectives for the two SharePoint 2010 developer exams:</div> <div> </div> <div>TS: Microsoft SharePoint 2010, Application Development</div> <div><u><span style="color:#8b178b;"><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-573">http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-573</a></span></u></div> <div> </div> <div>PRO: Designing and Developing Microsoft SharePoint 2010 Applications</div> <div><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-576">http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-576</a></div></div></div></div>Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com0tag:blogger.com,1999:blog-7310143463713047616.post-10472906963512651912009-08-12T00:29:00.000-07:002009-08-12T00:31:17.107-07:00Master PowerShellA free 20 chapter guide on getting started with PowerShell!<br />http://powershell.com/cs/blogs/ebook/<br />No excuses now!!Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com0tag:blogger.com,1999:blog-7310143463713047616.post-30791807552957282752009-08-12T00:15:00.000-07:002009-08-12T00:21:59.907-07:00SharePoint 2010I came across some videos regarding SharePoint 2010<br /><h4 class="BlogPostHeader">SharePoint 2010 Demo Video Downloads </h4> <div class="BlogPostContent"> <p>If you are having trouble viewing the SharePoint 2010 preview demos on the <a href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx" mce_href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx">mini-site</a>, or would like to host them internally in your environment, here are the links to the downloadable wmv's:</p><span style="color: rgb(31, 73, 125);"> <p style="margin: 0in 0in 0pt;" class="MsoNormal"><span style="color: rgb(31, 73, 125);">Overview: <a href="http://msstudios.vo.llnwd.net/o21/msstudios/0906/1001251/1001251_SharePoint2010_Overview_SneakPeek_Rizzo_mobile.wmv" target="_blank"><span style="font-family:Calibri;font-size:100%;color:#0000ff;">http://msstudios.vo.llnwd.net/o21/msstudios/0906/1001251/1001251_SharePoint2010_Overview_SneakPeek_Rizzo_mobile.wmv</span></a></span></p> <p style="margin: 0in 0in 0pt;" class="MsoNormal"><span style="color: rgb(31, 73, 125);"><o:p></o:p></span> </p> <p style="margin: 0in 0in 0pt;" class="MsoNormal">For Developers: <a href="http://msstudios.vo.llnwd.net/o21/msstudios/0906/1001251/1001251_SharePoint_SneakPeek_For_Developers_Andrew_mobile.wmv" target="_blank"><span style="font-family:Calibri;font-size:100%;color:#0000ff;">http://msstudios.vo.llnwd.net/o21/msstudios/0906/1001251/1001251_SharePoint_SneakPeek_For_Developers_Andrew_mobile.wmv</span></a></p></span><span style="color: rgb(31, 73, 125);"><o:p><span style="font-family:Calibri;font-size:100%;"> </span></o:p></span> <p><span style="font-family: 'Calibri','sans-serif'; color: rgb(31, 73, 125); font-size: 11pt;">For IT Pro's: <a href="http://msstudios.vo.llnwd.net/o21/msstudios/0906/1001251/1001251_SharePoint_SneakPeek_For_IT_Professionals_Riley_mobile.wmv" target="_blank">http://msstudios.vo.llnwd.net/o21/msstudios/0906/1001251/1001251_SharePoint_SneakPeek_For_IT_Professionals_Riley_mobile.wmv</a></span></p> <p><span style="font-family: 'Calibri','sans-serif'; color: rgb(31, 73, 125); font-size: 11pt;">Plus the Sneak Peak page http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx<br /></span></p><p><span style="font-family: 'Calibri','sans-serif'; color: rgb(31, 73, 125); font-size: 11pt;"><br /></span></p> </div>Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com0tag:blogger.com,1999:blog-7310143463713047616.post-89610150476943017722009-08-04T11:14:00.000-07:002009-08-04T11:25:18.638-07:00Access DeniedGetting Access Denied when Web Site permissions have been removed then re-added. Turns out Microsoft has a fix for that. http://support.microsoft.com/kb/945089<br /><h3 id="tocHeadRef">List of issues that are fixed</h3><script type="text/javascript"> loadTOCNode(2, 'summary'); </script>This hotfix fixes the following issue that was not previously documented in a Microsoft Knowledge Base article:<ul><li>On a SharePoint Server page, you try to access <strong class="uiterm">Site Collection Policies</strong> by clicking <strong class="uiterm">Site Collection Policies</strong> under the <strong class="uiterm">Site Collection Administration</strong> section on the <strong class="uiterm">Site Settings</strong> page. In this case, you may receive the following error message: <div class="kb_errormsgbody"><div class="kb_errorcontent"><div class="errormsg">Error: Access Denied </div></div></div>This issue occurs after you clear the <strong class="uiterm">Apply Style Sheets - Apply a style sheet (.CSS file) to the Web site</strong> check box on the <strong class="uiterm">User Permissions for Web Application</strong> page for a Web application. </li></ul>Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com0tag:blogger.com,1999:blog-7310143463713047616.post-76257688307507067462008-07-09T13:51:00.001-07:002008-08-05T21:47:42.036-07:00SharePoint Distribution List NightmaresSo now that you finally get your enterprise rolling with SharePoint you are bound to start getting request to include Distribution Lists in Alerts & Workflows.<br /><br />Well....guess what. You can't.<br /><br />Since all security for SharePoint is designed around users and security groups it is impossible(not really but completely unusable) to add a Distribution List access to a SharePoint site. And that is the part to keep in mind. Why would you add a Distribution List full of users that cannot even access the site??? So that means you just move them all to a new Security Group and you are up and running. HA!<br />That is only the beginning!<br /><br />After the new Security Groups are setup then you need email addresses for these new groups. Well now it should work right? Still no.<br />All the new groups need to be set as Universal Groups <a href="http://technet.microsoft.com/en-us/library/40300ed4-85a5-463d-bb3a-cf787bd44e9d.aspx">from MS</a> <span>"<em>Mail-enabled non-universal groups are de-emphasized in Exchange 2007 and can only exist if they were migrated from previous versions of Exchange. You cannot use Exchange 2007 to create new non-universal distribution groups."</em></span><br /><br />Then guess what! The exchange admin has to go in via Management Shell interface and email-enable this new group <span style="font-style: italic;">In Microsoft Exchange Server 2007, you can create or mail-enable only universal distribution groups.</span><br />Then specify Enable-DistribuitionGroup -Identity<br /><br />You can see in this sample image that a non-universal group cannot be email enabled.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJk-_bgFdivSFTpb-Xg9dUOfsOUaVN0SUF37SOBiMsoiB_jO7Sf5eVurOeOa-XRYsGfpFBC_pyX7nZCcoiDq5KDryZyvaLOtQdgpSV4hZxTeqsPiZcacaj-V1twtBYl3XbEOEvBxgdr8E/s1600-h/emailenable.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJk-_bgFdivSFTpb-Xg9dUOfsOUaVN0SUF37SOBiMsoiB_jO7Sf5eVurOeOa-XRYsGfpFBC_pyX7nZCcoiDq5KDryZyvaLOtQdgpSV4hZxTeqsPiZcacaj-V1twtBYl3XbEOEvBxgdr8E/s320/emailenable.png" alt="" id="BLOGGER_PHOTO_ID_5221123031026037378" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Now that all that is completed you are ready to go right! You wish!<br />Now you need to go into your Shared Services Administration under Central Admin.<br /><span style="font-size:85%;"><br /></span><span style="font-weight: bold; color: rgb(255, 0, 0);font-size:85%;" >It is EXTREMELY important to pay particular attention to you naming conventions in the newly created email-enabled Security Groups. </span><br /><br />Under the SSP that is responsible for User Profiles select "User profiles and properties."<br />Select the link next to "Import Source." Mine says "Custom Source" since I am crawling multiple domains.<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTpxYR3ePjrZcdh0cYze4aOMcAAy6iQ0qW2J0RrlocnzbP9Skc9SmK66UTktOte4e9A_RmTVn-7uHyeonJ6kaepMxPOfrItJeahfrCK3XxRNofYAO6_PTV5nf6VKNiQoc6EjpqWHVcpxo/s1600-h/Profiles.GIF"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTpxYR3ePjrZcdh0cYze4aOMcAAy6iQ0qW2J0RrlocnzbP9Skc9SmK66UTktOte4e9A_RmTVn-7uHyeonJ6kaepMxPOfrItJeahfrCK3XxRNofYAO6_PTV5nf6VKNiQoc6EjpqWHVcpxo/s320/Profiles.GIF" alt="" id="BLOGGER_PHOTO_ID_5221125056769163522" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Then you need to select "View Import Connections" from the Source section.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWVN3M6NvKA9iPV6A9Sz9yWYsirp9Td6PQyN_lZTNj4k7bN9j5ystY-tzH6Hq6w-ypO4hI_lsCH71GGFPwuovJY6EQLkTRwfZx3hFXzsWxeBQHXe37Vlv9sc8P14u-083KDc9Fkuz-Kfw/s1600-h/source.GIF"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWVN3M6NvKA9iPV6A9Sz9yWYsirp9Td6PQyN_lZTNj4k7bN9j5ystY-tzH6Hq6w-ypO4hI_lsCH71GGFPwuovJY6EQLkTRwfZx3hFXzsWxeBQHXe37Vlv9sc8P14u-083KDc9Fkuz-Kfw/s320/source.GIF" alt="" id="BLOGGER_PHOTO_ID_5221125673741320978" border="0" /></a><br /><br /><br /><br /><br />At that point Edit the connection for the domain that has the newly created groups.<br />The trick now is that your basic User Filter is only pulling in user accounts. You need to modify it so it also will pull in all the newly created Email-Enabled Security Groups but ONLY the newly created Email-Enabled Security Groups. You absolutely do not want to just pull in all the groups across your entire Active Directory into SharePoint!<br /><br />The default LDAP query looks like this <span style="font-size:85%;"><span style="font-family:courier new;">(&(objectCategory=Person)(objectClass=User))</span></span><br /><br />If your new naming convention preceded each group with SP.DL.<br /><span style="font-style: italic;font-size:85%;" >(Remember I said this was going to be important!)</span><br /><br />It needs to be modified to <span style="font-size:85%;"><span style="font-family:courier new;">(|(&(objectCategory=group)(cn=sp.dl*))(&(objectCategory=Person)(objectCategory=User)))</span></span><br /><br />Hit Ok and return to User Profiles and Properties and select "Start full import." After you have finished you can visit "View user profiles" and search for your new groups.<br /><br />At that point you are finally ready to start "using" Distribution Lists in SharePoint!Anonymoushttp://www.blogger.com/profile/02893831816488624883noreply@blogger.com2