Pavel Novotný

.NET Framework, SharePoint, Dynamics CRM, RC Helicopters, Honda VFR CrossRunner

Jak aktivovat debug mód Sharepointu?

Nestačí Vám standardní cool hlášky Sharepointu?

  • “Object reference not set to an instance of an object” – při volání příkazu STSADM –ADDSOLUTION tento příkaz znamená, že nemáte oprávnění :)
  • “File not found”
  • “Access Denied”
  • “Unknown Error”
  • “Unexpected Error has Occured”
  • a mnoho dalších libových hlášek

Pokud chcete vědět více o chybě, je potřeba zapnout ve webové aplikaci podporu ladění, která umožní zobrazení zásobníku, ze kterého je možné vyčíst již mnohem více informací (minimálně pro další googlování).

Otevřete si web.config webové aplikace v poznámkovém bloku, změňte následující hodnoty:

Více...

Celosvětový web VOLVO CARS je postaven na MOSS 2007, aneb Sharepoint není jen náhrada síťového disku pro ukládání dokumentů

Není to sice žádná velká novinka, ale spousta lidi stále ani netuší, že Sharepoint Server je možné přestavět i na velice silný nástroj pro internetovou prezentaci, počet implementací webových prezentací provozovaných na platformě MOSS neuvěřitelně roste, mezi další se nyní řadí například společnost Volvo:

http://www.volvocars.com/cz/Pages/default.aspx

image

Více...

Pozor na ukládání aplikačních parametrů do SPWeb.Properties

Už jsem za svou praxi s vývojem aplikací pro Sharepoint viděl spoustu custom řešení/rozšíření, spousta z nich má však jednu pěknou vlastnost, a to že svá různá nastavení zapisuje do property bagu SPWeb.Properties. Na tom by samo o sobě nebylo nic špatného, špatné je to, že někteří jedinci (i tzv. “specialisti” a velké SW firmy) tam zapisují data typu hesla zcela nešifrovaně v plaintextu, případně v nějaké serializované XML struktuře!!! Není nic jednoduššího, než si otevřít Sharepoint Designer a přes menu Site –> Site Settings –> záložka Parameters si zobrazit kompletní seznam oněch parametrů, heslo si přečíst a použít… Nemyslím, že by byl takový problém alespoň ono heslo zašifrovat pomocí TripleDES /statické klíče mohou být v assembly, ty už běžný správce nebo editor obsahu hledat nebude/.

 

image 

image

BlogEngine.NET Extension: nastavení data vytvoření a popisku galerie

O původním rozšíření galerie pro BlogEngine.NET načítané z Sharepointu se dočtete zde:

http://www.pavelnovotny.info/post/BlogEngineNET-Extension-zobrazeni-lightbox-galerie-obrazku-ziskane-z-Sharepointu-(WSS-MOSS).aspx

 

Nyní jsem projekt malinko upravil tak, aby bylo možné uložit ke každé galerii popisek a její datum vytvoření, protože v předchozí verzi se jako datum vytvoření zobrazoval pouze datum vytvoření samotné knihovny, nešlo tedy alespoň trošku intuitivně nastavit zpětný datum.

Nyní je to možné v nastavení knihovny:

image

image

Zde je možné stejně jako přes menu akcí povolit přístup k vybrané galerii, nastavit datum pořízení + víceřádkový popis galerie. Výsledné zobrazení je možné si prohlédnout zde:

http://www.pavelnovotny.info/SharepointExtensions/Gallery.aspx

 

Aktualizovaná verze zdrojových souborů a instalačního balíku je opět zde:

http://www.pavelnovotny.info/public/BlogEngineExtensions.zip

Error message when you use SharePoint 3.0 Central Administration to try to re-add a content database in Windows SharePoint Services 3.0

Tato chyba se zobrazí v případě pokusu o připojení obsahové databáze Sharepointu na jinou verzi SP, vzhledem k nutnosti provést upgrade schématu není možné tuto akci provést přes webové rozhraní, ale je potřeba tuto databázi připojit ke kolekci webů pomocí příkazu stsadm:

stsadm.exe -o addcontentdb -url http://mujsharepoint/ -databasename Mojedatabaze

Více v KB:

http://support.microsoft.com/kb/926961

WSS: Exception from HRESULT: 0x81070215

Otevřete si svoje schema.xml pro list, který se aktuálně snažíte vytvořit a změňte atribut "Name" na stejný název jako je název adresáře ve kterém je schéma listu uloženo, stejnou akci proveďte i v XML souboru s definicí ListTemplate pro toto schéma.

WSS: zjištění URL adresy Central Administration

Čekal jsem, že objekt SPFarm bude obsahovat nějakou property určující Url adresu centrální administrace WSS, to jsem se bohužel spletl a několik hodin jsem řešil tuto zdánlivě jednoduchou otázku, nakonec jsem přišel na následující funkci:

public static string GetCentralAdminUrl()
{
     SPWebService service = SPFarm.Local.Services.GetValue<SPWebService>("WSS_Administration");
     if (service != null)
     {
          SPAdministrationWebApplication application = service.WebApplications.GetValue<SPAdministrationWebApplication>();
          if (application != null)
               return application.GetResponseUri(SPUrlZone.Default).ToString();
      }
      return null;
}

Snad to ušetří čas i ostatním.

WSS: Rozšíření /zvětšení šířky/ multiple lookup fieldu v new a edit formu javascriptem

Pokud nechcete převádět List Form v Sharepoint Designeru na custom a ztratit tak možnost snadného přidávání/editaci fieldů v daném listu nebo knihovně dokumentů, stačí přidat na konec daného formuláře tento javascript:

[code:js]

<script language="javascript" type="text/javascript"> 
   var inputs = document.getElementsByTagName("select");    
   for(var i=0;i<inputs.length;i++)
   {      
      if(inputs[i].id.indexOf("_SelectCandidate") >= 0)
         inputs[i].parentNode.style.width = 300;
      if(inputs[i].id.indexOf("_SelectResult") >= 0)
         inputs[i].parentNode.style.width = 300;
   }
</script>

[/code]

Ten najde všechny vícenásobné výběry na stránce a nastaví jim šířku na 300px. Každou lepší variantu vítám, toto bylo nejrychlejší řešení co mě napadlo :)

Výsledek: