Pavel Novotný

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

SharePoint: Odstranění konfigurační cache

SharePoint je plný magie, nainstalujete a nakonfigurujete farmu, všechno běží jak má, uplyne několik týdnů či měsíců a najednou se začne celá farma chovat nedeterministicky (možná po instalaci nějakých CU), v logu se zobrazují hlášky jako "Cannot connect to the configuration database”, SqlException, padá služba časovače Windows SharePoint Services Timer V4, nespouštějí se workflow nebo padají na chyby atd.

Příčina porušení konfiguračních XML cache mi není jasná, nečekaný výpadek elektrického proudu a nekonzistentní stav? Nevím. V každém případě sám SharePoint  není schopen tento stav opravit a je nutné znovu přegenerovat tyto soubory.

  • Otevřete Administrative Tools a Services
  • Zastavte službu Windows SharePoint Services Timer V4 (případně pomocí příkazu net stop sptimerv4)
  • Otevřete pomocí Exploreru cestu %ALLUSERSPROFILE% \Application Data\Microsoft\SharePoint\Config\
  • Tato cesta obsahuje několik adresářů ve tvaru GUID, odstraňte veškerý obsah těchto adresářů – samotný adresář s název ve tvaru GUID musí zůstat!!! Pouze jejich obsah smažte.
  • Znovu spusťte službu Windows SharePoint Services Timer V4 (případně pomocí příkazu net start sptimerv4)
  • Mělo by dojít k automatickému vygenerování nových konfiguračních XML souborů
  • Restartujte IIS server pomocí IISRESET.EXE
  • Hotovo

Hromadné označení událostí v Outlooku jako privátních

V Outlooku z nějakého zajímavého důvodu nelze označit více vybraných kontaktů příznakem “privátní”, při výběru více událostí toto tlačítko zašedne.

Jako nejsnazší cesta se ukázalo nastavení pomocí makra:

  1. Otevřete Outlook
  2. Stiskněte ALT+F11
  3. Otevře se Visual Basic for Applications
  4. Přidejte nový “Module”
  5. Do modulu vložte kód:

    [code:vb]
    Dim myOlApp As New Outlook.Application
    Public myOlItems As Outlook.Items

    Public Sub MarkCalendarItemsAsPrivate()
    Set myOlItems = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderCalendar).Items
    For Each Appointment In myOlItems
    Appointment.Sensitivity = olPrivate
    Appointment.Save
    Next Appointment
    End Sub
    [/code]

  6. Makro spusťte
  7. Hotovo

Error 348: Compilation failed. Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

Tuto chybu jsem tak nějak nepochopil, zřejmě je to bug ve Visual Studiu 2010. Projekt nelze kompilovat a hlásí to chybu “error 348: Compilation failed. Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.”

Na jediné řešení na které jsem přišel je, že je potřeba otevřít .csproj v poznámkovém bloku a odstranit elementy <ProjectTypeGuids>, následně znovu otevřít projekt.

Zvláštní, ale funguje to.