<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-734767866321952435</id><updated>2012-01-06T03:03:37.233-08:00</updated><category term='SPRecycleBinItemCollection'/><category term='SPfarm'/><category term='Sharepoint 2003'/><category term='MOSS 2007'/><category term='CAML SPList Sharepoint WSS MOSS'/><category term='SPSite'/><category term='XSL'/><category term='SPContext'/><category term='SPListItem'/><category term='SPView'/><category term='RecycleBin'/><category term='SPRecycleBinItem'/><category term='Sharepoint'/><category term='SPList'/><category term='Sharepoint 2010'/><category term='Object Model'/><category term='CAML'/><category term='WSP'/><category term='WSS'/><category term='WSS 3.0'/><category term='Customization with Visual Studio'/><category term='Bugs From Hell'/><category term='Lixeira'/><title type='text'>Leonardo Macanudo</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>28</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-3641150535507242580</id><published>2011-09-23T08:04:00.000-07:00</published><updated>2011-09-23T08:05:08.639-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSS 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>XSL Data por extenso. (Sharepoint)</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Importante dizer que o código abaixo, funcionará somente no Sharepoint.&lt;br /&gt;Tanto versão 2007 quanto 2010.&lt;br /&gt;&lt;br /&gt;Problema:&lt;br /&gt;Formatar data no seguinte formato: "28 de Janeiro de 2011"&lt;br /&gt;&lt;br /&gt;Solução:&lt;br /&gt;&lt;br /&gt;&amp;lt;xsl:value-of select="ddwrt:FormatDateTime(string(@DataPublicacao),1046,'dd')"/&amp;gt;&lt;br /&gt;de&lt;br /&gt;&amp;lt;xsl:value-of select="ddwrt:FormatDateTime(string(@DataPublicacao),1046,'MMMM')"/&amp;gt;&lt;br /&gt;de&lt;br /&gt;&amp;lt;xsl:value-of select="ddwrt:FormatDateTime(string(@DataPublicacao),1046,'yyyy')"/&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-3641150535507242580?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/3641150535507242580/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=3641150535507242580' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/3641150535507242580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/3641150535507242580'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2011/09/xsl-data-por-extenso-sharepoint.html' title='XSL Data por extenso. (Sharepoint)'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-5518944690123410527</id><published>2011-08-31T07:45:00.000-07:00</published><updated>2011-08-31T07:46:53.959-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bugs From Hell'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint 2010'/><title type='text'>Erro "List not found" (lista inexistente) ao tentar exibir um DataFormWebPart importado de outro site</title><content type='html'>Olá amigos,&lt;br /&gt;&lt;br /&gt;Estou migrando funcionalidades de um site para outro site dentro do mesmo site collection.&lt;br /&gt;&lt;br /&gt;Precisava exibir o conteudo de uma lista que estava em outro site.&lt;br /&gt;&lt;br /&gt;Tarefa simples de ser realizada utilizando a DataFormWebPart com o parametro&lt;br /&gt;webUrl no seu datasource.&lt;br /&gt;&lt;br /&gt;O Grande problema, que mesmo a lista existindo. O Sharepoint retornava a seguinte mensagem "Lista Inexistente" (list not found)&lt;br /&gt;&lt;br /&gt;Para solucionar o problema simplesmente troca-se o atributo ViewFlag para "0"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;WebPartPages:DataFormWebPart runat="server" IsIncluded="True" AsyncRefresh="True" FrameType="None" NoDefaultStyle="TRUE" ViewFlag="0"&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;Não me perguntem o porque. Sei que funciona :)&lt;br /&gt;&lt;br /&gt;Encontrei essa pérola no seguinte site:&lt;br /&gt;&lt;br /&gt;http://www.codepoint.es/archive/2011/07/12/error-de-“list-not-found”-para-un-dataformwebpart-exportado-a-otro-sitio.aspx&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Maca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-5518944690123410527?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/5518944690123410527/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=5518944690123410527' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/5518944690123410527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/5518944690123410527'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2011/08/erro-list-not-found-lista-inexistente.html' title='Erro &quot;List not found&quot; (lista inexistente) ao tentar exibir um DataFormWebPart importado de outro site'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-5448743876510018904</id><published>2011-08-11T07:00:00.000-07:00</published><updated>2011-08-11T07:03:16.617-07:00</updated><title type='text'>Erro "Um arquivo especificado na seção de módulos deste modelo já existe."</title><content type='html'>Olá,&lt;br /&gt;&lt;br /&gt;Ao tentar ativar uma feature, recebi o seguinte erro:&lt;br /&gt;&lt;br /&gt;"Um arquivo especificado na seção de módulos deste modelo já existe."&lt;br /&gt;&lt;br /&gt;Após instalar e reinstalar feature várias vezes. (minutos perdidos da minha vida)&lt;br /&gt;&lt;br /&gt;Encontrei no o segguinte POST&lt;br /&gt;http://lawo.wordpress.com/2010/09/11/file-specified-in-the-modules-section-of-this-template-already-exists/&lt;br /&gt;&lt;br /&gt;Que descreve a solução :)&lt;br /&gt;&lt;br /&gt;Basicamente, é necessário ir no arquivo Elements do seu modulo e trocar a propriedade "IgnoreIfAlreadyExists" para "true"&lt;br /&gt;&lt;br /&gt;Abraço,&lt;br /&gt;Maca&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-5448743876510018904?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/5448743876510018904/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=5448743876510018904' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/5448743876510018904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/5448743876510018904'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2011/08/erro-um-arquivo-especificado-na-secao.html' title='Erro &quot;Um arquivo especificado na seção de módulos deste modelo já existe.&quot;'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-2250265337983423723</id><published>2011-07-15T11:52:00.000-07:00</published><updated>2011-07-15T11:59:56.370-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Como fazer deploy WSP (moss 2007) em um Sharepoint 2010 server</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Depois de 150 anos distante do blog resolvi postar novamente :)&lt;br /&gt;&lt;br /&gt;Hoje me deparei com o seguinte problema:&lt;br /&gt;&lt;br /&gt;Fazer deploy de um wsp (moss 2007) em um Sharepoint 2010.&lt;br /&gt;Fui em busca do conhecimento (by Et Bilú)  e descobri que é uma operação bastante simples.&lt;br /&gt;&lt;br /&gt;No Visual Studio 2010, sigam os seguintes passos:&lt;br /&gt;1) Crie um Novo Projeto;&lt;br /&gt;2) Selecione Import SharePoint Solution Package (dentro da aba Sharepoint)&lt;br /&gt;3) Nomeie seu Projeto&lt;br /&gt;4) Escolha a Farm Solution&lt;br /&gt;5) Faça Upload do seu WSP&lt;br /&gt;6) Troque o nome da Feature para o nome da antiga Feature (feature do wsp)&lt;br /&gt;7) Build&lt;br /&gt;8) Deploy&lt;br /&gt;9) Teste&lt;br /&gt;&lt;br /&gt;Facílimo!&lt;br /&gt;&lt;br /&gt;Até a próxima.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-2250265337983423723?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/2250265337983423723/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=2250265337983423723' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/2250265337983423723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/2250265337983423723'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2011/07/como-fazer-deploy-wsp-moss-2007-em-um.html' title='Como fazer deploy WSP (moss 2007) em um Sharepoint 2010 server'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-7705806928408523407</id><published>2009-03-25T07:28:00.000-07:00</published><updated>2009-03-25T07:38:34.213-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSS 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Customization with Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint 2003'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Fazer Download de documentos do Sharepoint 2003 usando WS nativos e sem usar OM</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Abaixo um pequeno código, que demotra como podemos baixar documentos de uma document library do SharePoint 2003.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://2.bp.blogspot.com/_ETSDbU-6ZxQ/ScpAn1QKWMI/AAAAAAAAADg/-6bM5g_UQ_M/s1600-h/p1.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_ETSDbU-6ZxQ/ScpAn1QKWMI/AAAAAAAAADg/-6bM5g_UQ_M/s320/p1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5317133363118233794" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;        public void DownloadFilesFromDocumentLibrary(string url, string documentLibraryName){&lt;br /&gt;            Lists.Lists proxy = new Lists.Lists();//set url and credentials on proxy&lt;br /&gt;            proxy.Url = url + "_vti_bin/lists.asmx";            &lt;br /&gt;            proxy.Credentials = CredentialCache.DefaultCredentials;//call get list items to retrieve document library &lt;br /&gt;            XmlNode elm = proxy.GetListItems(documentLibraryName, null, null, null, null, null);&lt;br /&gt;            XmlNamespaceManager nsMgr = new XmlNamespaceManager(elm.OwnerDocument.NameTable);&lt;br /&gt;            nsMgr.AddNamespace("rs", "urn:schemas-microsoft-com:rowset");&lt;br /&gt;            nsMgr.AddNamespace("z", "#RowsetSchema");&lt;br /&gt;            if (elm != null){&lt;br /&gt;                XmlNode dataNode = elm.SelectSingleNode("rs:data", nsMgr);&lt;br /&gt;                int itemCount = Convert.ToInt32(dataNode.Attributes.GetNamedItem("ItemCount").Value);&lt;br /&gt;                if (itemCount == 0){&lt;br /&gt;                    Console.WriteLine("Nothing to download");&lt;br /&gt;                }else{&lt;br /&gt;                    foreach (XmlNode row in dataNode.SelectNodes("z:row", nsMgr))&lt;br /&gt;                    {&lt;br /&gt;                        //Response.Write(row.Attributes.GetNamedItem("ows_LinkFilename").Value+"&lt;br /&gt;");&lt;br /&gt;                        DownLoadFile(url, documentLibraryName, row.Attributes.GetNamedItem("ows_LinkFilename").Value);&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://4.bp.blogspot.com/_ETSDbU-6ZxQ/ScpBEERjHgI/AAAAAAAAADo/-F6V5PJqCQM/s1600-h/p2.JPG"&gt;&lt;img src="http://4.bp.blogspot.com/_ETSDbU-6ZxQ/ScpBEERjHgI/AAAAAAAAADo/-F6V5PJqCQM/s320/p2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5317133848186920450" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;        public void DownLoadFile(string url, string documentLibraryName, string fileName){&lt;br /&gt;            //string downloadPage = url + "/download.aspx";&lt;br /&gt;            HttpWebRequest request = null;&lt;br /&gt;            HttpWebResponse response = null;&lt;br /&gt;            Stream responseStream = null;&lt;br /&gt;            FileStream fs = null;&lt;br /&gt;            try{&lt;br /&gt;                //request = (HttpWebRequest) HttpWebRequest.Create(downloadPage + "?SourceUrl=" + documentLibraryName + "/" + fileName);&lt;br /&gt;                request = (HttpWebRequest)HttpWebRequest.Create(SharePointHost + documentLibraryName + "/" + fileName);&lt;br /&gt;                request.Credentials = CredentialCache.DefaultCredentials;&lt;br /&gt;                request.Timeout = 6000;&lt;br /&gt;                response = (HttpWebResponse)request.GetResponse();&lt;br /&gt;                responseStream = response.GetResponseStream();//write to filesystem&lt;br /&gt;                fs = new FileStream(fileName, FileMode.Create);&lt;br /&gt;                byte[] buffer = new byte[1024];&lt;br /&gt;                int count = responseStream.Read(buffer, 0, buffer.Length);&lt;br /&gt;                while (count &gt; 0)&lt;br /&gt;                {&lt;br /&gt;                    fs.Write(buffer, 0, buffer.Length); &lt;br /&gt;                    count = responseStream.Read(buffer, 0, buffer.Length);&lt;br /&gt;                } &lt;br /&gt;            } &lt;br /&gt;            finally{&lt;br /&gt;                if(fs != null)&lt;br /&gt;                    fs.Close();&lt;br /&gt;                if(responseStream != null)&lt;br /&gt;                    responseStream.Close();&lt;br /&gt;                if(response!=null) &lt;br /&gt;                    response.Close();&lt;br /&gt;            }&lt;br /&gt;        }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-7705806928408523407?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/7705806928408523407/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=7705806928408523407' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/7705806928408523407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/7705806928408523407'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2009/03/fazer-download-de-documentos-do.html' title='Fazer Download de documentos do Sharepoint 2003 usando WS nativos e sem usar OM'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ETSDbU-6ZxQ/ScpAn1QKWMI/AAAAAAAAADg/-6bM5g_UQ_M/s72-c/p1.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-1612119167547466535</id><published>2008-12-12T05:36:00.000-08:00</published><updated>2008-12-12T05:43:29.439-08:00</updated><title type='text'>FormatDateTime - Mostrar hora no formato 24 horas</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Dica idiota, mas me custou alguns minutos da minha vida =]&lt;br /&gt;&lt;br /&gt;Eu estava usando o código, para formatar a hora no formato 12 horas&lt;br /&gt;&lt;br /&gt;&amp;lt;xsl:value-of select="ddwrt:FormatDateTime(string(@EventDate) ,1046,'hh:mm')" /&amp;gt;&lt;br /&gt;&lt;br /&gt;Precisava mostrar no formato 24 horas, para isso, foi só trocar a mascara de 'hh:mm' p/ 'HH:mm'&lt;br /&gt;&lt;br /&gt;&amp;lt;xsl:value-of select="ddwrt:FormatDateTime(string(@EventDate) ,1046,'HH:mm')" /&amp;gt;&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-1612119167547466535?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/1612119167547466535/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=1612119167547466535' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1612119167547466535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1612119167547466535'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/12/formatdatetime-mostrar-hora-no-formato.html' title='FormatDateTime - Mostrar hora no formato 24 horas'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-8812845872329914719</id><published>2008-08-22T10:19:00.001-07:00</published><updated>2008-08-22T10:29:32.372-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSS 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='SPListItem'/><category scheme='http://www.blogger.com/atom/ns#' term='SPView'/><category scheme='http://www.blogger.com/atom/ns#' term='SPList'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Lendo dados de uma View (SPView) (Exibição)</title><content type='html'>Olá PessoALL,&lt;br /&gt;&lt;br /&gt;Faz tempão que não posto e ainda por cima vou aparecer hoje por aqui para dar uma dicazinha bem simples =]&lt;br /&gt;&lt;br /&gt;Criar views (exibições) em listas do SharePoint é uma tarefa muito simples e bem poderosa. Conseguimos fazer diversas funcionalidades (agrupamento, ordenação, limitar itens) usando apenas o mouse.&lt;br /&gt;&lt;br /&gt;Então por que ao criarmos uma WebPart precisamos fazer tudo de novo? Na verdade não precisamos ^^&lt;br /&gt;Podemos ler itens diretamente de uma View (Exibição)&lt;br /&gt;&lt;br /&gt;Bem, chega de chalálá e vamos ao código:&lt;br /&gt;&lt;br /&gt;SPListItemCollection coll = spWeb.Lists["ListName"].GetItems(spWebInstance.Lists["ListName"].Views["ViewName"]);&lt;br /&gt;&lt;br /&gt;Toda malandragem envolvida neste código, está em passar a view por parâmetro para o método GetItems, se não pudéssemos fazer isso, seria necessário escrever um baita CAML para alcançar as funcionalidades (agrupamento, ordenação, limitar itens)  desejadas&lt;br /&gt;&lt;br /&gt;Maca espera ter sido útil =]&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo Macanudo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-8812845872329914719?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/8812845872329914719/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=8812845872329914719' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/8812845872329914719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/8812845872329914719'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/08/lendo-dados-de-uma-view-spview-exibio.html' title='Lendo dados de uma View (SPView) (Exibição)'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-7975959291253876481</id><published>2008-05-27T14:19:00.000-07:00</published><updated>2008-05-27T14:23:44.638-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object Model'/><category scheme='http://www.blogger.com/atom/ns#' term='WSS 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Customization with Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Collection was modified; enumeration operation may not execute</title><content type='html'>Ol&amp;aacute; Amigos,&lt;br /&gt;&lt;br /&gt;Tenho duas listas relacionadas (t&amp;oacute;picos,respostas), preciso remover todas as respostas relacionadas a um determinado t&amp;oacute;pico.&lt;br /&gt;&lt;br /&gt;O primeiro c&amp;oacute;digo que vem a cabe&amp;ccedil;a &amp;eacute; fazer um for each e deletar item por item.&lt;br /&gt;&lt;br /&gt;Como no exemplo abaixo:&lt;br /&gt;&lt;br /&gt;SPQuery q = new SPQuery();&lt;br /&gt;q.Query = &amp;quot;&amp;lt;Where&amp;gt;&amp;lt;Eq&amp;gt;&amp;lt;FieldRef Name='Topico' /&amp;gt;&amp;lt;Value Type='Lookup'&amp;gt;&amp;quot; + sTopico + &amp;quot;&amp;lt;/Value&amp;gt;&amp;lt;/Eq&amp;gt;&amp;lt;/Where&amp;gt;&amp;quot;;&lt;br&gt;  &lt;br /&gt;SPList listRespostas = SPContext.Current.Web.Lists[&amp;quot;Respostas&amp;quot;];&lt;br /&gt;SPListItemCollection itensTopicos = listRespostas.GetItems(q);&lt;br /&gt; &lt;br /&gt;foreach (SPListItem itemResposta in itensTopicosFake)&lt;br /&gt;{&lt;br /&gt;   itemResposta.Delete();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Por&amp;eacute;m quando executamos este c&amp;oacute;digo, nos deparamos com o seguinte erro.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Collection was modified; enumeration operation may not execute&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Este erro acontece porque a collection que eu estou usando no for each, est&amp;aacute; sendo modificada dentro dele mesmo.&lt;br /&gt;&lt;br /&gt;Para resolver este problema substitui o for each pelo while abaixo.&lt;br /&gt;&lt;br /&gt;while (itensTopicos.Count &amp;gt; 0)&lt;br /&gt;  itensTopicos[0].Delete();&lt;br /&gt;&lt;br /&gt;Abra&amp;ccedil;os,&lt;br /&gt;Leonardo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-7975959291253876481?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/7975959291253876481/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=7975959291253876481' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/7975959291253876481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/7975959291253876481'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/05/collection-was-modified-enumeration.html' title='Collection was modified; enumeration operation may not execute'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-161245672600261806</id><published>2008-05-23T14:36:00.000-07:00</published><updated>2008-05-23T14:41:33.225-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSS 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='XSL'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>SharePoint Data View Permissão de Usuários</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Para verificar o nível de permissão de um usuário quando estamos dentro de um XSL, devemos utilizar a função "ddwrt:IfHasRights(codigoDaPermissao)".&lt;br /&gt;&lt;br /&gt;Exemplo (Exclusão de itens):&lt;br /&gt;&lt;br /&gt;&amp;lt;xsl:if test="ddwrt:IfHasRights(8)"&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/xsl:if&amp;gt; &lt;br /&gt;&lt;br /&gt;Abaixo as permissões e seus respectivos "códigos" &lt;br /&gt;&lt;br /&gt;ViewListItems - 1 &lt;br /&gt;AddListItems - 2 &lt;br /&gt;EditListItems - 4 &lt;br /&gt;DeleteListItems - 8 &lt;br /&gt;ApproveItems - 16 &lt;br /&gt;OpenItems - 32 &lt;br /&gt;ViewVersions - 64 &lt;br /&gt;DeleteVersions - 128 &lt;br /&gt;CancelCheckout - 256 &lt;br /&gt;PersonalViews - 512 &lt;br /&gt;ManageLists - 2048 &lt;br /&gt;ViewFormPages - 4096 &lt;br /&gt;Open - 65536 &lt;br /&gt;ViewPages - 131072 &lt;br /&gt;AddAndCustomizePages - 262144 &lt;br /&gt;ApplyThemeAndBorder - 524288 &lt;br /&gt;ApplyStyleSheets - 1048576 &lt;br /&gt;ViewUsageData - 2097152 &lt;br /&gt;CreateSSCSite - 4194314 &lt;br /&gt;ManageSubwebs - 8388608 &lt;br /&gt;CreateGroups - 16777216 &lt;br /&gt;ManagePermissions - 33554432 &lt;br /&gt;BrowseDirectories - 67108864 &lt;br /&gt;BrowseUserInfo - 134217728 &lt;br /&gt;AddDelPrivateWebParts - 268435456 &lt;br /&gt;UpdatePersonalWebParts - 536870912 &lt;br /&gt;ManageWeb - 1073741824 &lt;br /&gt;UseRemoteAPIs - 137438953472 &lt;br /&gt;ManageAlerts - 274877906944 &lt;br /&gt;CreateAlerts - 549755813888 &lt;br /&gt;EditMyUserInfo - 1099511627776 &lt;br /&gt;EnumeratePermissions - 4611686018427387904 &lt;br /&gt;FullMask - 9223372036854775807&lt;br /&gt;&lt;br /&gt;É um script curto, porém esta função ainda vai salvar sua vida.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-161245672600261806?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/161245672600261806/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=161245672600261806' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/161245672600261806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/161245672600261806'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/05/sharepoint-data-view-permisso-de.html' title='SharePoint Data View Permissão de Usuários'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-1462744114931442647</id><published>2008-05-19T12:40:00.000-07:00</published><updated>2008-09-03T10:08:41.707-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSS 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='XSL'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>XSL formatar data no formato DD/MM</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Corrigindo este POST =]&lt;br /&gt;&lt;br /&gt;Abaixo vocês vão ver toda uma choradeira de minha parte e uma baita gambiarra.&lt;br /&gt;Porém existe um forma elegante sim de resolver este problema.&lt;br /&gt;&lt;br /&gt;É essa:&lt;br /&gt;&lt;br /&gt;&amp;lt;xsl:value-of select="ddwrt:FormatDateTime(string(@Data),1046,'dd/MM')"/&amp;gt;&lt;br /&gt;&lt;br /&gt;Abaixo uma pequena gambiarra criada por mim para exibir a data no formato DD/MM, tive que fazer isto, pois a função nativa do SharePoint (ddwrt:FormatDate) não oferece este formato.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo&lt;br /&gt;&lt;br /&gt;&amp;lt;xsl:choose&amp;gt;&lt;br /&gt; &amp;lt;xsl:when test="number(substring-before(@_DCDateCreated,'/')) &amp;lt;= 9"&amp;gt;0&amp;lt;xsl:value-of select="substring-before(@_DCDateCreated,'/')"/&amp;gt;&amp;lt;/xsl:when&amp;gt;&lt;br /&gt; &amp;lt;xsl:otherwise&amp;gt;&amp;lt;xsl:value-of select="substring-before(@_DCDateCreated,'/')"/&amp;gt;&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;/&lt;br /&gt;&amp;lt;xsl:choose&amp;gt;&lt;br /&gt; &amp;lt;xsl:when test="number(substring-before(substring-after(@_DCDateCreated,'/'),'/')) &amp;lt;= 9"&amp;gt;0&amp;lt;xsl:value-of select="substring-before(substring-after(@_DCDateCreated,'/'),'/')"/&amp;gt;&amp;lt;/xsl:when&amp;gt;&lt;br /&gt; &amp;lt;xsl:otherwise&amp;gt;&amp;lt;xsl:value-of select="substring-before(substring-after(@_DCDateCreated,'/'),'/')"/&amp;gt;&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;&amp;lt;/xsl:choose&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-1462744114931442647?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/1462744114931442647/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=1462744114931442647' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1462744114931442647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1462744114931442647'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/05/xsl-formatar-data-no-formato-ddmm.html' title='XSL formatar data no formato DD/MM'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-715514062847086222</id><published>2008-05-15T05:33:00.000-07:00</published><updated>2008-05-15T05:38:29.931-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CAML SPList Sharepoint WSS MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='WSS 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='CAML'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Evitar os cabelos brancos gerados CAML</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;No link abaixo vocês vão encontrar um aplicativo que torna visual a criação das querys caml.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.u2u.info/SharePoint/U2U%20Community%20Tools/Forms/AllItems.aspx"&gt;http://www.u2u.info/SharePoint/U2U%20Community%20Tools/Forms/AllItems.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Maca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-715514062847086222?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/715514062847086222/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=715514062847086222' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/715514062847086222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/715514062847086222'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/05/evitar-os-cabelos-brancos-gerados-caml.html' title='Evitar os cabelos brancos gerados CAML'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-3415618028398169049</id><published>2008-04-10T13:36:00.000-07:00</published><updated>2008-04-10T13:38:31.924-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Sharepoint User Profile</title><content type='html'>Quando vamos criar um projeto com autenticação forms no MOSS sempre nos vem a pergunta, Onde vamos guardar as informações dos usuários? Em lista, em Banco, no próprio membership onde? &lt;br /&gt;A resposta para essa pergunta é n.d.a  =]&lt;br /&gt;O jeito correto de guardar usuários é o User Profile,  com ele é possível administrar usuários em um lugar único, ou seja,  várias web app podem compartilhar os mesmos usuários.&lt;br /&gt;O User Profile já vem com diversos campos por default e também possibilita a criação de novos campos tanto via interface, quanto via Object Model. O namespace responsável por manipular o User Profile é Microsoft.Office.Server.UserProfiles.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Criando usuários:&lt;/strong&gt;&lt;br /&gt;try{&lt;br /&gt;    using (SPSite spSite = new SPSite(@"http://localhost")){&lt;br /&gt;        ServerContext siteContext = ServerContext.GetContext(spSite);&lt;br /&gt;        UserProfileManager pmManager = new UserProfileManager(siteContext);&lt;br /&gt;        Console.WriteLine("Number of users: " + pmManager.Count);&lt;br /&gt;        string strUserName = "macanudocorporation\\admin";&lt;br /&gt;        UserProfile newUser = null;&lt;br /&gt;        if (!pmManager.UserExists(strUserName))&lt;br /&gt;        {&lt;br /&gt;            newUser = pmManager.CreateUserProfile(strUserName);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}catch (Exception exp){&lt;br /&gt;Console.WriteLine(exp.Message);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Editando Usuários&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;try{&lt;br /&gt;    using (SPSite spSite = new SPSite(@"http://localhost")){&lt;br /&gt;        ServerContext siteContext = ServerContext.GetContext(spSite);&lt;br /&gt;        UserProfileManager pmManager = new UserProfileManager(siteContext);&lt;br /&gt;        Console.WriteLine("Number of users: " + pmManager.Count);&lt;br /&gt;        string strUserName = "macanudocorporation\\admin";&lt;br /&gt;        UserProfile newUser = null;&lt;br /&gt;        if (!pmManager.UserExists(strUserName))&lt;br /&gt;        {&lt;br /&gt;            user = pmManager.GetUserProfile(strUserName);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}catch (Exception exp){&lt;br /&gt;Console.WriteLine(exp.Message);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Deletando usuários&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;try{&lt;br /&gt;    using (SPSite spSite = new SPSite(@"http://localhost"))        &lt;br /&gt;    {&lt;br /&gt;        ServerContext siteContext = ServerContext.GetContext(spSite);&lt;br /&gt;        UserProfileManager pmManager = new UserProfileManager(siteContext);&lt;br /&gt;        Console.WriteLine("Number of users: " + pmManager.Count);&lt;br /&gt;        string strUserName = "macanudocorporation\\admin";&lt;br /&gt;        if (pmManager.UserExists(strUserName))&lt;br /&gt;        {&lt;br /&gt;            pmManager.RemoveUserProfile(strUserName);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}catch (Exception exp){&lt;br /&gt;    Console.WriteLine(exp.Message);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Por hora é isso! &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Maca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-3415618028398169049?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/3415618028398169049/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=3415618028398169049' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/3415618028398169049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/3415618028398169049'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/04/sharepoint-user-profile.html' title='Sharepoint User Profile'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-1601295618054626258</id><published>2008-03-13T07:24:00.001-07:00</published><updated>2008-03-13T07:33:42.254-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSS 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Customization with Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>CALLSTACK, CUSTOMERRORS &amp; DEBUG MODE</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Hoje vou postar uma importante dica =]&lt;br /&gt;Encontrei essa pérola no blog[1] do Hélio Sá Moreira.&lt;br /&gt;&lt;br /&gt;As vezes (rs) obtemos mensagens de erro nada informativas ou claras durante a utilização (ou tentativa de utilização) de alguns recursos do Sharepoint. Um caso clássico, que obtive em um ambiente que trabalhei esta semana, foi: Unknown Error Occurred OU An unspecified error has occured.&lt;br /&gt;&lt;br /&gt;Para desativa-las temos que executar o seguinte procedimento =]&lt;br /&gt;&lt;br /&gt;São basicamente 3 itens de configuração - que podem ser utilizados em conjunto ou separadamente para um processo de troubleshoot detalhado.&lt;br /&gt;&lt;br /&gt;01 - CUSTOMERRORS&lt;br /&gt;&lt;br /&gt;Essa configuração - que por padrão apresenta o valor "ON" - redireciona o tratamento de erros para um módulo de tratamento de erros do Sharepoint. Este módulo é muito importante, mas quando o mesmo não consegue classificar o erro as mensagens 'genéricas' são apresentadas.&lt;br /&gt;&lt;br /&gt;Para desabilitar este redirecionamento - retornando ao modelo padrão do ASP.Net 2.0 - podemos mudar o valor desta configuração para "OFF".&lt;br /&gt;&lt;br /&gt;No Web.Config, essa configuração pode ser encontrada no seguinte path: Configuration \ System.web \ CustomErrors.&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&amp;gt;&lt;br /&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;system.web&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;customerrors mode="On"&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Com isso, voltamos as telas de erro do ASP.Net! Vale lembrar que esta configuração deve ser realizada somente no processo de verificação de um erro - e o seu valor padrão deve ser re-configurado para que mensagens informativas aos usuários possam ser apresentadas de uma forma gerenciável e "não-agressiva"!&lt;br /&gt;&lt;br /&gt;Esta mudança já deve ajudar bastante na identificação das possíveis razões do problema ....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;02 - CALLSTACK&lt;br /&gt;&lt;br /&gt;Esta configuração é relacionada ao nível de informações e detalhes apresentados sob o erro quando o mesmo ocorre. Voltando ao cenário de troubleshoot, quando mais informações relacionadas ao problema melhor - incluindo inclusive todos os métodos envolvidos e a hierarquia de execução! ;-)&lt;br /&gt;&lt;br /&gt;Por padrão esta configuração possui o valor "FALSE" - e pode ser encontrada na seguinte estrutura: Configuration \ SharePoint \ SafeMode. Para habilitar este modo, devemos configurar o CallStack com o valor "TRUE".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;sharepoint&amp;gt;&lt;br /&gt;&amp;lt;safemode callstack="false"&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Esta configuração é relacionada ao nível de informações e detalhes apresentados sob o erro quando o mesmo ocorre. Voltando ao cenário.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;02 - DEBUG MODE&lt;br /&gt;&lt;br /&gt;Este item esta relacionado ao modelo de compilação utilizado pelo .Net Framework 2.0 (JIT - Just-in-time compilation). O valor padrão para o DEBUG é false. Mas, em um cenário de Troubleshoot o DEBUG="TRUE" aumenta o nível de detalhamento das informações repassadas ao Stack Trace e consequentemente aumenta as informações repassadas às nossas telas de erro!&lt;br /&gt;&lt;br /&gt;Este item pode ser encontrado na seguinte estrutura: Configuration \ System.Web \ Compilation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;system.web&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;compilation debug="false" batch="false"&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Maca&lt;br /&gt;&lt;br /&gt;blog&lt;br /&gt;[1] http://www.sharepointbrasil.net/default.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-1601295618054626258?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/1601295618054626258/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=1601295618054626258' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1601295618054626258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1601295618054626258'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/03/callstack-customerrors-debug-mode.html' title='CALLSTACK, CUSTOMERRORS &amp; DEBUG MODE'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-5114657362820568397</id><published>2008-02-22T06:44:00.000-08:00</published><updated>2008-02-22T06:47:27.402-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SPRecycleBinItemCollection'/><category scheme='http://www.blogger.com/atom/ns#' term='WSS 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='RecycleBin'/><category scheme='http://www.blogger.com/atom/ns#' term='Lixeira'/><category scheme='http://www.blogger.com/atom/ns#' term='SPRecycleBinItem'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Listar Arquivos da Lixeira (AdminRecycleBin e RecycleBin)</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Nos últimos dias me reparei com o seguinte problema, como fazer um relatório de páginas excluída de uma biblioteca de páginas Wiki. &lt;br /&gt;Após refletir um pouco sobre o assunto, me veio o estalo, Ler da Lixeira do site.  &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Como fazer isso?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Dentro do SPSite e SPWeb existe uma propriedade RecycleBin, esta propriedade retorna uma collection (SPRecycleBinItemCollection) com os itens (SPRecycleBinItem) da lixeira os itens.&lt;br /&gt;Após saber disso, acabaram-se as dificuldades. Só precisei fazer um foreach e verificar a propriedade ” DirName” está prorpriedade do  SPRecycleBinItem  contém o nome do local original do arquivo excluído.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Importante:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;O SPSite.RecycleBin guarda a lixeira do site collection, está lixeira tem todos os arquivos excluídos no site collection independente do usuário.&lt;br /&gt;&lt;br /&gt;O SPWeb.RecycleBin guarda a lixeira do site atual e lista apenas os arquivos excluídos pelo usuário do contexto.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Code:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;SPSite site = SPContext.Current.Site;&lt;br /&gt;foreach (SPRecycleBinItem itemGarbage in site.RecycleBin)&lt;br /&gt;{&lt;br /&gt;if (itemGarbage.DirName == "Paginas Wiki")&lt;br /&gt; {&lt;br /&gt;  Response.Write(itemGarbage.Title);&lt;br /&gt; Response.Write(itemGarbage.DeletedDate.ToString("dd/MM/yyyy"));&lt;br /&gt;  Response.Write(itemGarbage.DeletedBy);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Maca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-5114657362820568397?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/5114657362820568397/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=5114657362820568397' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/5114657362820568397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/5114657362820568397'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/02/listar-arquivos-da-lixeira.html' title='Listar Arquivos da Lixeira (AdminRecycleBin e RecycleBin)'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-8043178398396059760</id><published>2007-12-06T03:46:00.000-08:00</published><updated>2007-12-06T04:04:19.128-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CAML SPList Sharepoint WSS MOSS'/><title type='text'>Filtrar dados de uma lista através de CAML</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Ando meio sem tempo para postar, hoje vou fazer um breve post sobre como filtrar dados de uma lista.&lt;br /&gt;&lt;br /&gt;Como diria Mauro Sant'Anna "Nem tudo que pode ser inventado deve ser inventado. Um grande exemplo é o CAML" :) &lt;br /&gt;&lt;br /&gt;Ao invés de utilizarmos consultas SQL para filtrarmos listas, a Microsoft criou uma linguagem chamada CAML. O CAML é um xml para expressar queries de bancos de dados.&lt;br /&gt;&lt;br /&gt;Se você quiser aprender mais sobre CAML, verifique o link abaixo. Ele fornece uma introdução sobre o assunto.&lt;br /&gt;&lt;br /&gt;http://msdn2.microsoft.com/en-us/library/ms948028.aspx&lt;br /&gt;&lt;br /&gt;Bem, chega de conversa =] Vamos a um pequeno exemplo :)&lt;br /&gt;&lt;br /&gt;Problema:&lt;br /&gt;Criar uma webPart, que lê um parametro passado pela QueryString e filtra a lista por este parametro.&lt;br /&gt;&lt;br /&gt;//Abrindo a web&lt;br /&gt;SPWeb web = SPContext.Current.Web;&lt;br /&gt;&lt;br /&gt;//Criado o CAML&lt;br /&gt;//Note que ele faz uma comparação entre o ID passado pela queryString e a coluna ID da lista&lt;br /&gt;SPQuery q = new SPQuery();   &lt;br /&gt;q.Query = "&lt;Where&gt;&lt;Eq&gt;&lt;FieldRef Name='ID' /&gt;&lt;Value Type='Integer'&gt;" + Convert.ToString("0" + Page.Request.QueryString["ID"]) + "&lt;/Value&gt;&lt;/Eq&gt;&lt;/Where&gt;";&lt;br /&gt;&lt;br /&gt;//Carrega em itens uma colletion com os itens (tuplas) da lista task.&lt;br /&gt;SPListItemCollection itens = web.Lists["Tasks"].GetItems(q);&lt;br /&gt;&lt;br /&gt;Era isso =]&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-8043178398396059760?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/8043178398396059760/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=8043178398396059760' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/8043178398396059760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/8043178398396059760'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/12/filtrar-dados-de-uma-lista-atravs-de.html' title='Filtrar dados de uma lista através de CAML'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-779062833934777869</id><published>2007-11-07T10:45:00.001-08:00</published><updated>2007-11-07T10:53:04.402-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSS 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Configurar email no Sharepoint</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Hoje vou dar uma de administrador e mostrar como configurar email no sharepoint =]&lt;br /&gt;&lt;br /&gt;É uma operação bastante simples, não requer prática nem habilidade.&lt;br /&gt;&lt;br /&gt;Basta executar uma linha de comando.&lt;br /&gt;&lt;br /&gt;stsadm.exe -o email -outsmtpserver &lt;smtp server&gt; -fromaddress &lt;from address&gt; -replytoaddress &lt;reply-to address&gt; -codepage &lt;codepage&gt; [-url &lt;url&gt;]&lt;br /&gt;&lt;br /&gt;Por exemplo, vamos utilizar o servidor de smtp "SMTPServer", e vamos utilizar a conta de email someone@example.com como from e a mesma conta como reply-to.&lt;br /&gt;O código fica como no exemplo abaixo:&lt;br /&gt;&lt;br /&gt;stsadm.exe -o email -outsmtpserver SMTPServer -fromaddress someone@example.com -replytoaddress someone@example.com -codepage 65001 -url http://server_name&lt;br /&gt;&lt;br /&gt;Note que no último parametro configurei a url que vai utilizar esta confiuração de envio de email =]&lt;br /&gt;&lt;br /&gt;Como os amigos podem ver é bem mumuzinho =]&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-779062833934777869?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/779062833934777869/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=779062833934777869' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/779062833934777869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/779062833934777869'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/11/configurar-email-no-sharepoint.html' title='Configurar email no Sharepoint'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-1533438537325263918</id><published>2007-10-10T07:43:00.000-07:00</published><updated>2007-10-10T07:55:52.570-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SPContext'/><category scheme='http://www.blogger.com/atom/ns#' term='SPSite'/><title type='text'>Passeio pelo Object Modelo Sharepoint - Part II</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Hoje vou dar continuidade aos posts sobre o Object Model do Sharepoint.&lt;br /&gt;&lt;br /&gt;Hoje vou falar sobre uma classe estremamente útil e importante no desenvolvimento sharepoint (SPSite).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SPSite&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Através desse classe podemos acessar o nível de Site Colletion.&lt;br /&gt;Uma Site Colletion é uma coleção de sites (SPWeb)&lt;br /&gt;Cada objeto SPSite possui várias propriedades da coleção, tais como o responsável, conteúdo corrente do BD, a url do web site.&lt;br /&gt;&lt;br /&gt;SPSite mySiteColl = new SPSite("site_collection_URL");&lt;br /&gt;String siteCollOwner = mySiteColl.Owner.Name;&lt;br /&gt;String contentDB = mySiteColl.ContentDatabase.Name;&lt;br /&gt;String topLevelSite = mySiteCollection.RootWeb.Title;&lt;br /&gt;&lt;br /&gt;Importante: Existem várias maneiras de acessar uma site collection, a maneira citada acima deve ser utilizada quando estamos em uma aplicação fora do contexto do sharepoint. Se tivermos em uma webPart dentro do contexto do Sharepoint o código acima deveria ficar assim:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SPSite mySiteColl = SPContext.Current.Site;&lt;/strong&gt;&lt;br /&gt;String siteCollOwner = mySiteColl.Owner.Name;&lt;br /&gt;String contentDB = mySiteColl.ContentDatabase.Name;&lt;br /&gt;String topLevelSite = mySiteCollection.RootWeb.Title;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-1533438537325263918?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/1533438537325263918/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=1533438537325263918' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1533438537325263918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1533438537325263918'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/10/passeio-pelo-object-modelo-sharepoint_10.html' title='Passeio pelo Object Modelo Sharepoint - Part II'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-7253001598662607311</id><published>2007-10-08T10:56:00.000-07:00</published><updated>2007-10-08T11:09:13.548-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object Model'/><category scheme='http://www.blogger.com/atom/ns#' term='SPfarm'/><category scheme='http://www.blogger.com/atom/ns#' term='WSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><title type='text'>Passeio pelo Object Modelo Sharepoint - Part I</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Apartir de hoje escreverei uma serie de posts sobre o Object Model do sharepoint.&lt;br /&gt;Mas afinal, oque é object model?&lt;br /&gt;É a Arquitetura de programação do WSS, através dele conseguimos programaticamente manipular totalmente a estrutura do sharepoint.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SPFarm&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Está no topo da hierarquia do object model.&lt;br /&gt;Cada objeto SPFarm tem uma coleção de servidores associados a ele representados pelo objeto SPServerCollection object.&lt;br /&gt;Você pode usar uma estrutura de repetição para iterar em cada servidor através do objeto SPServerCollection.&lt;br /&gt;&lt;br /&gt;SPFarm myFarm = SPFarm.Local;&lt;br /&gt;SPServerCollection myServerCollection = myFarm.Servers;&lt;br /&gt;foreach (SPServer myServer in myServerCollection){&lt;br /&gt;    //adiciona o código para executar a ação&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SPWebApplication&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Representa um IIS load-balanced Web application.&lt;br /&gt;No WSS, aplicações web são representadas pela classe SPWebApplication. &lt;br /&gt;Cada objeto SPWebApplication tem uma coleção de coleções de site associadas a ele e que são representados pelo objeto SPSiteCollection. &lt;br /&gt;Você pode usar uma estrutura de repetição para interar com cada coleção de site no objeto SPSiteCollection. &lt;br /&gt;Coleções de site individuais são representadas pelos objetos SPSite.&lt;br /&gt;&lt;br /&gt;SPSite mySiteCollection =   new SPSite("site_collection_URL");&lt;br /&gt;SPWebApplication myWebApp = mySiteCollection.WebApplication;SPSiteCollection mySiteCollections =  myWebApp.Sites;&lt;br /&gt;foreach (SPSite siteCollection in mySiteCollections){&lt;br /&gt;    //executa a ação na coleção de sites&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Por hora é isso =]&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-7253001598662607311?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/7253001598662607311/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=7253001598662607311' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/7253001598662607311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/7253001598662607311'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/10/passeio-pelo-object-modelo-sharepoint.html' title='Passeio pelo Object Modelo Sharepoint - Part I'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-3721278776671054776</id><published>2007-09-17T12:30:00.000-07:00</published><updated>2007-09-17T12:44:08.205-07:00</updated><title type='text'>"Object reference not set to an instance of object" Solucionado!</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Após varias pesquisas na internet e inumeros testes,  desvendei o problema "Object reference not set to an instance of object"&lt;br /&gt;&lt;br /&gt;Inicialmente tentamos a solução apontada pelo site &lt;a href="http://www.wsswiki.com/Visual_Studio_Extensions_For_WSS_3.0"&gt;http://www.wsswiki.com/Visual_Studio_Extensions_For_WSS_3.0&lt;/a&gt; porém a mesma não surtiu resultados.&lt;br /&gt;&lt;br /&gt;Após tentamos (Sem sucesso):&lt;br /&gt;Criar um arquivo .bat com as linhas&lt;br /&gt;"%programfiles%\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" -if webpartTest.dll&lt;br /&gt;"%programfiles%\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" -uf webpartTest&lt;br /&gt;&lt;br /&gt;Até que enfim:&lt;br /&gt;&lt;br /&gt;A solução encontrada é bastante simples,  na pasta de seu projeto existe um arquivo chamado solution.xml,  este arquivo tem um GUID que é utilizado como identificador.&lt;br /&gt;&lt;br /&gt;O problema era gerado porque havia duas soluções distintas com o mesmo ID.&lt;br /&gt;Para solucionarmos:&lt;br /&gt;1 -  geramos um novo GUID&lt;br /&gt;2 - Substituimos no solution.xml (solution id="GUID" name="NOME_SOLUCAO")&lt;br /&gt;3 - Substituimos no manifest.xml (Solution SolutionId="GUID")&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo Borille de Queiroz&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-3721278776671054776?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/3721278776671054776/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=3721278776671054776' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/3721278776671054776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/3721278776671054776'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/09/object-reference-not-set-to-instance-of_17.html' title='&quot;Object reference not set to an instance of object&quot; Solucionado!'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-676364770417136021</id><published>2007-09-03T12:41:00.000-07:00</published><updated>2007-09-03T12:42:34.942-07:00</updated><title type='text'>Adicionando e deletando listas de Posts</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Abaixo um código bastante útil, ele mostra como adicionar e deletar listas em tempo de execução.&lt;br /&gt;&lt;br /&gt;using (SPSite site = new SPSite("&lt;a href="http://url/"&gt;http://URL/&lt;/a&gt;")){&lt;br /&gt;     //Adicionar Lista&lt;br /&gt;     site.AllWebs[0].Lists.Add("POSTS", "POSTS", SPListTemplateType.Posts);&lt;br /&gt;     //Adicionar Campo Descrição&lt;br /&gt;     site.AllWebs[0].Lists["POSTS"].Fields.Add("Descrição",&lt;br /&gt;SPFieldType.Note, true);&lt;br /&gt;    //Deletar Lista&lt;br /&gt;    site.AllWebs[0].Lists["POSTS"].Delete();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-676364770417136021?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/676364770417136021/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=676364770417136021' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/676364770417136021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/676364770417136021'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/09/adicionando-e-deletando-listas-de-posts.html' title='Adicionando e deletando listas de Posts'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-3269864947198727148</id><published>2007-08-28T04:38:00.000-07:00</published><updated>2007-08-28T04:51:59.629-07:00</updated><title type='text'>Como criar uma Master Page no Sharepoint  Designer</title><content type='html'>1° Abra o site&lt;br /&gt;&lt;br /&gt;2° Já até a "Galeria de Páginas Mestras"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_ETSDbU-6ZxQ/RtQKeQdHJ9I/AAAAAAAAAAM/-pTmuffh0k8/s1600-h/01.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5103715792647038930" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_ETSDbU-6ZxQ/RtQKeQdHJ9I/AAAAAAAAAAM/-pTmuffh0k8/s320/01.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;3° Duplique e renome-i para "principal.master"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_ETSDbU-6ZxQ/RtQKkgdHJ-I/AAAAAAAAAAU/eSnnTeqDFj8/s1600-h/02.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5103715900021221346" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_ETSDbU-6ZxQ/RtQKkgdHJ-I/AAAAAAAAAAU/eSnnTeqDFj8/s320/02.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_ETSDbU-6ZxQ/RtQKnQdHJ_I/AAAAAAAAAAc/fPu90wcBggY/s1600-h/03.JPG"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_ETSDbU-6ZxQ/RtQKpgdHKAI/AAAAAAAAAAk/nDz15fbhwkA/s1600-h/04.JPG"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;4° Sete a principal.master para "Custom page" &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_ETSDbU-6ZxQ/RtQKnQdHJ_I/AAAAAAAAAAc/fPu90wcBggY/s1600-h/03.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5103715947265861618" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_ETSDbU-6ZxQ/RtQKnQdHJ_I/AAAAAAAAAAc/fPu90wcBggY/s320/03.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_ETSDbU-6ZxQ/RtQKpgdHKAI/AAAAAAAAAAk/nDz15fbhwkA/s1600-h/04.JPG"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;5° Para se certificar que funcionou o processo, abra a principal.master e adicione um html ao seu gosto.Exemplo: &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_ETSDbU-6ZxQ/RtQKpgdHKAI/AAAAAAAAAAk/nDz15fbhwkA/s1600-h/04.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5103715985920567298" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_ETSDbU-6ZxQ/RtQKpgdHKAI/AAAAAAAAAAk/nDz15fbhwkA/s320/04.JPG" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;6° Duplique e renome-i a default .aspx &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/_ETSDbU-6ZxQ/RtQLNQdHKBI/AAAAAAAAAAs/blkxerEYhBw/s1600-h/05.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5103716600100890642" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_ETSDbU-6ZxQ/RtQLNQdHKBI/AAAAAAAAAAs/blkxerEYhBw/s320/05.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;7° Abra a principal.aspx e troque a master que ela herda para "custom.master" &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_ETSDbU-6ZxQ/RtQLkgdHKCI/AAAAAAAAAA0/HrP4adt7_2A/s1600-h/07.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5103716999532849186" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_ETSDbU-6ZxQ/RtQLkgdHKCI/AAAAAAAAAA0/HrP4adt7_2A/s320/07.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;8° Resultado &lt;a href="http://3.bp.blogspot.com/_ETSDbU-6ZxQ/RtQLoQdHKDI/AAAAAAAAAA8/sYr8juXU8bU/s1600-h/06.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5103717063957358642" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_ETSDbU-6ZxQ/RtQLoQdHKDI/AAAAAAAAAA8/sYr8juXU8bU/s320/06.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-3269864947198727148?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/3269864947198727148/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=3269864947198727148' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/3269864947198727148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/3269864947198727148'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/08/como-criar-uma-master-page-no.html' title='Como criar uma Master Page no Sharepoint  Designer'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ETSDbU-6ZxQ/RtQKeQdHJ9I/AAAAAAAAAAM/-pTmuffh0k8/s72-c/01.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-1916532115877970456</id><published>2007-08-27T10:48:00.000-07:00</published><updated>2007-08-27T10:50:25.345-07:00</updated><title type='text'>Entendendo Master Pages WSS/MOSS/Sharepoint</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Pode parecer meio tosco, mas eu não conseguia entender como na minha master page  ia avisar para o sharepoint que este content seria uma área para "arrastar" webparts.&lt;br /&gt;&lt;br /&gt;O que eu não sabia que é que na verdade isso não é feito na Master :)&lt;br /&gt;&lt;br /&gt;Na master você apenas cria os contents e na página aspx que utiliza a master você adiciona o código:&lt;br /&gt;&lt;br /&gt;&lt;webpartpages:webpartzone runat="server" frametype="TitleBarOnly" id="Left" title="loc:Left"&gt;&lt;br /&gt;&lt;br /&gt;Ele é responsável por fazer a mágica da aparição das webparts :)&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-1916532115877970456?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/1916532115877970456/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=1916532115877970456' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1916532115877970456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1916532115877970456'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/08/entendendo-master-pages.html' title='Entendendo Master Pages WSS/MOSS/Sharepoint'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-3767669019629419503</id><published>2007-08-21T11:59:00.001-07:00</published><updated>2007-08-21T12:02:46.463-07:00</updated><title type='text'>Logs no Sharepoint/WSS</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;As vezes recebemos a mensagem "ERRO!" e não sabemos oque fazer.&lt;br /&gt;Uma boa dica é dar uma olhada nos logs do sharepoint.&lt;br /&gt;&lt;br /&gt;Eles ficam na pasta:&lt;br /&gt; C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\LOGS&lt;br /&gt;&lt;br /&gt;Eles são txt e são gerados de 30 em 30 minutos, os registros mais novos ficam no fim do arquivo&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-3767669019629419503?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/3767669019629419503/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=3767669019629419503' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/3767669019629419503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/3767669019629419503'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/08/logs-no-sharepointwss.html' title='Logs no Sharepoint/WSS'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-8122791196271530756</id><published>2007-08-20T14:15:00.000-07:00</published><updated>2007-08-20T14:17:37.034-07:00</updated><title type='text'>Como resolver o problema: O modelo escolhido é inválido ou não pode ser encontrado.</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Estava recebendo essa mensagem no momento que tentava criar um site com um site definition criado por mim.&lt;br /&gt;&lt;br /&gt;Para solucionar este enigma realize os seguintes passos:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1° Baixar o&lt;br /&gt;Windows SharePoint Services 3.0 Application Template: Application Template Core&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C1039E13-94DA-4D7D-8CAE-3B96FA5A4045&amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=C1039E13-94DA-4D7D-8CAE-3B96FA5A4045&amp;amp;displaylang=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2°  Abra o cmd e execute&lt;br /&gt;stsadm.exe -o addsolution -filename ApplicationTemplateCore.wsp&lt;br /&gt;&lt;br /&gt;3° &lt;br /&gt;stsadm.exe -o deploysolution -name ApplicationTemplateCore.wsp -immediat&lt;br /&gt;e -allowGacDeployment&lt;br /&gt;&lt;br /&gt;4°&lt;br /&gt;stsadm.exe -o copyappbincontent&lt;br /&gt;&lt;br /&gt;&lt;a href="http://forums.microsoft.com/Technet-BR/ShowPost.aspx?PostID=1590759&amp;SiteID=29"&gt;http://forums.microsoft.com/Technet-BR/ShowPost.aspx?PostID=1590759&amp;amp;SiteID=29&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;5°No diretório do site definition existe um arquivo chamado solution.xmlNeste arquivo existe um nodo manifest , existe um atributo "templateid", para cada template troque o valor para um número maior que 10000 (o valor default é 10000) e que cada site definition tenha seu próprio número.&lt;manifest id="b12a042d-79af-4a27-8fea-0de970866f69" title="Patio" description="" imageurl="/_layouts/images/stsprev.png" templateid="10526" displaycategory="Development"&gt;&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-8122791196271530756?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/8122791196271530756/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=8122791196271530756' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/8122791196271530756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/8122791196271530756'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/08/como-resolver-o-problema-o-modelo.html' title='Como resolver o problema: O modelo escolhido é inválido ou não pode ser encontrado.'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-1864180218527586032</id><published>2007-08-06T10:58:00.000-07:00</published><updated>2007-08-06T11:06:54.208-07:00</updated><title type='text'>Criar blog site via código C# e asp.net no WSS 3.0</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Hoje vou mostrar uma pequena variação do post anterior.&lt;br /&gt;É possível criar sites com templates pré-definidos (blog, wiki, etc..)&lt;br /&gt;&lt;br /&gt;Exemplo:&lt;br /&gt;&lt;br /&gt;      SPSite mySite = new SPSite("http://vm-wssadted/");&lt;br /&gt;      SPWebCollection sp = mySite.AllWebs;&lt;br /&gt;      //cria blog site&lt;br /&gt;      SPWeb myBlogsite = sp.Add("site", "titulo", "descricao", 1046, SPWebTemplate.WebTemplateBLOG, false, false);&lt;br /&gt;&lt;br /&gt;Todo o segredo está no:&lt;br /&gt;SPWebTemplate.WebTemplateBLOG&lt;br /&gt;&lt;br /&gt;Se fosse a criação de um Wiki, seria:&lt;br /&gt;SPWebTemplate.WebTemplateWIKI&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Maca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-1864180218527586032?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/1864180218527586032/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=1864180218527586032' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1864180218527586032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1864180218527586032'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/08/criar-blog-site-via-cdigo-c-e-aspnet-no.html' title='Criar blog site via código C# e asp.net no WSS 3.0'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-785675804136833161</id><published>2007-08-02T11:12:00.000-07:00</published><updated>2007-08-02T11:16:40.346-07:00</updated><title type='text'>Criar site via código C# e asp.net no WSS 3.0</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;O mecanismo é bem simples.&lt;br /&gt;&lt;br /&gt;SPSite mySite = new SPSite("http://seusite/");&lt;br /&gt;SPWebCollection sp = mySite.AllWebs;&lt;br /&gt;SPWeb mynewsite = sp.Add('novoSite');&lt;br /&gt;&lt;br /&gt;Esta é a maneira mais simples, mas funciona :)&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-785675804136833161?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/785675804136833161/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=785675804136833161' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/785675804136833161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/785675804136833161'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/08/criar-site-via-cdigo-c-e-aspnet-no-wss.html' title='Criar site via código C# e asp.net no WSS 3.0'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-4926346325386172614</id><published>2007-07-30T05:21:00.001-07:00</published><updated>2007-07-30T05:22:31.565-07:00</updated><title type='text'>Criar Tema</title><content type='html'>Olá,&lt;br /&gt;&lt;br /&gt;Outro link :)&lt;br /&gt;&lt;br /&gt;Este explica como criar temas para sharepoint.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sharepointblogs.com/jeanmarc/archive/2007/07/20/3190.aspx"&gt;http://www.sharepointblogs.com/jeanmarc/archive/2007/07/20/3190.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Abraços&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-4926346325386172614?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/4926346325386172614/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=4926346325386172614' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/4926346325386172614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/4926346325386172614'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/07/criar-tema.html' title='Criar Tema'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-5952711590523223706</id><published>2007-07-26T12:36:00.000-07:00</published><updated>2007-07-26T12:46:10.282-07:00</updated><title type='text'>Criar webpart com formulário (WSS)</title><content type='html'>Olá Pessoal,&lt;br /&gt;&lt;br /&gt;Abaixo um excelente link, sobre como criar uma webpart que tenha um formulário.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/aspnet/SharePointFormControls.asp"&gt;http://www.codeproject.com/aspnet/SharePointFormControls.asp&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/734767866321952435-5952711590523223706?l=leonardomacanudo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/5952711590523223706/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=734767866321952435&amp;postID=5952711590523223706' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/5952711590523223706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/5952711590523223706'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/07/criar-webpart-com-fomulrio-wss.html' title='Criar webpart com formulário (WSS)'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
