Wednesday, October 12, 2016
O Tempo passa depressa....
Impressionante como hoje dei para mim a olhar para os blogs... E passou 8 anos desde o meu ultimo post neste blog... Impressionante? Sim, bastante... Como uma ideia interessante é posta de lado rapidamente.
E o que estive eu a fazer nestes últimos anos? Bastante por acaso.
Estive em projectos .Net, projectos SharePoint, projectos Android, atravessei um divorcio e estive 3 anos a trabalhar na Microsoft como Support Escalation Engineer.
Agora que me lembrei da existência deste blog, vou tentar voltar a escrever aqui.
Se ainda alguém estiver a seguir este blog e tiver duvidas ou sugestões, não hesitem.
Cumprimentos!
Wednesday, May 14, 2008
Falta de Tempo
Para pedidos de ajuda vitor(ponto)monteiro(arroba)gmail(ponto)com
Wednesday, March 19, 2008
Sharepoint Tech
Novidades Brevemente.
Tuesday, May 22, 2007
Questão Permente - DataQuery
Uma das questões mais permentes são as DataQuerys aos sites de sharepoint 2007, usando as DataQueryWebParts as vezes não se consegue obter resultados devido a uma certa dificuldade em implementar a devida Query/Resultados no site.
Então, para alguns casos, pode ser mais eficiente criar um novo controlo/webpart para esta situação. O código é facilmente implementando e segue-se um exemplo:
SPWeb thisweb = SPControl.GetContextWeb(Context);
SPSiteDataQuery sitequery = new SPSiteDataQuery();
sitequery.Webs = "<Webs Scope=\"Recursive\" />";
sitequery.Query = "<Where><And><Eq><FieldRef Name=\"ContentType\" /><Value Type=\"Choice\">Artigo</Value></Eq><Eq><FieldRef Name=\"Destaque\" /><Value Type=\"Boolean\">1</Value></Eq></And></Where>";
sitequery.ViewFields = "<FieldRef Name=\"Title\" /><FieldRef Name=\"Sinopse\" /><FieldRef Name=\"Imagem_x0020_Pequena\" /><FieldRef Name=\"LinkFilename\" />";
sitequery.Lists = "<Lists BaseType=\"1\" />";
System.Data.DataTable results = thisweb.GetSiteData(sitequery);
Ora vamos lá analizar o codigo, começamos por defenir um SPWeb que será a web
corrente que será obtida atravez do SPControl.GetContextWeb(Context). Depois, define-se um objecto do tipo SPSiteDataQuery. Este objecto tem varias propriedades, as que usamos são "Webs", "Query", "ViewFields" e "Lists".
Na propriedade "Webs" definimos o "Scope" da pesquisa, ou a zona onde ele vai pesquisar, neste caso usamos "<webs scope="Recursive"<" que basicamente vai tornar a pesquisa recuriva, ou seja, vai procurar e todos os sub-sites/sub-webs do Site actual.
Outras opções são o URL do Site a pesquisar e outra é "SiteCollection" para procurar em todo o Portal. Note-se que todos os parametros são definidos em XML.
Na propriedade Query, definimos a Query a ser utilizada, notar que esta query em definida em CAML como está presente no código acima. É onde são definidos os campos de selecção de pesquisa como por exemplo, para fazer uma query que retorne objecto de um determinado content-type seria uma query do genero "<where><eq><fieldref name="ContentType"><value type="Choice">Noticia</value></eq></where>".
A propriedade de "ViewFields" vai definir as colunas a serem retornadas, por exemplo, para a query que definimos no parametro anterior, queremos retornar apenas o valor de um campo de CAML que será "Titulo", seria definida assim "<fieldref name="Titulo">". Seria apenas necessário definir esta propriedade e só seria apresentado resultados da coluna "Titulo" do Content-Type "Noticia".
A Propriedade "Lists" permite incluir listas especificas nos resultados apartir do GUID como por exemplo:
<lists>
<list id="7A9FDBE6-0841-430a-8D9A-53355801B5D5">
<list id="3D18F506-FCA1-451e-B645-2D720DC84FD8">
</lists>
Ou então definir apenas o BaseType como na query exemplo em cima em que os Base-Type são:
0 - Generic List
1 - Document Library
3 - Discussion Forum
4 - Vote or Survey
5 - Issues List
Após estes parâmetros estarem definidos, basta usar o objecto de SPWeb que está definido, que será o objecto "thisweb" e chamar o método .GetSiteData(SPSiteDataQuery) que irá retornar um objecto do tipo DataTable.
Após execução do método, a DataTable conterá os resultados obtidos na DataQuery e basta dar-lhes o tratamento adequado necessário para a funcionalidade a implomentar.
Cumprimentos.
Monday, May 7, 2007
Criação do Site
Vamos a ver:
Qual a Finalidade deste Blog?
Este blog basicamente será "tipo" workshop de de Sharepoint onde deixarei de vez em quando exemplos de funcionalidades que se podem implementar e/ou posts de ajuda a quem tenha necessidade de um pequeno "empurrão" nos meandros do Sharepoint 2003/2007.
Para Quem se Destina este Blog?
Este blog destina-se a toda a comunidade Developer em particular e para toda a comunidade informática em geral.
Qual a frequencia da actulização/posting deste Blog
Nem eu sei. Visto que estarei fora de projectos de Sharepoint durante uns tempos, vou colocando post à medida que for necessário.
Como posso pedir ajuda?
Mandem mails...
Cumprimentos,
Vitor Monteiro