Oficiální dokumentace se nachází u Microsoftu na několika místech New Persistent Chat Server Features, Deploying Persistent Chat Server, Managing Lync Server 2013, Persistent Chat Server, Planning for Persistent Chat Server, Persistent Chat Database Schema. Pouze jako zmínku si uvedeme, že je možno stáhnout Lync Server 2013 Persistent Chat Resource Kit Tools.
Offline uživatelský návod Lync 2013 Quick Reference Persistent Chat obsahuje pouze pár základních informací. K dispozici je ještě pár online materiálů, třeba What is persistent chat?, Create and manage a Lync chat room, Post a message in a Lync chat room, Use topic feeds to monitor Lync chat room aktivity, Search for messages in or across chat rooms, Use notifications to monitor chat room aktivity, Follow a chat room.
Systémové požadavky
Pro Persistent Chat potřebujeme jednu nebo dvě SQL server instance. Do Persistent Chat Store se ukládá obsah místností a metadata, do volitelné Persistent Chat Compliance Store se ukládají data kvůli požadavkům na shodu. Při instalaci role Persistent Chat volíme, jestli chceme Compliance využívat a podle toho je třeba tato DB instance.
V našem případě můžeme (a v popisu to tak uděláme) instalovat DB instanci přímo na lokální SQL Server Express na Standard Edition serveru (samozřejmě MS doporučuje použít samostatný server). Další možností je využít Back End Server u Enterprise verze nebo samostatný SQL server.
Na Front End serveru musí být instalována Windows komponenta Message Queuing (MSMQ). V našem návodě k instalaci Lync serveru jsme ji instalovali rovnou.
Nasazení role Persistent Chat
Persistent Chat se přidává jako standardní role, takže celý proces se provádí běžným jednoduchým způsobem, jako úprava libovolné role. Na Front End serveru upravíme topologii, poté znovu spustíme instalaci Lync serveru a provedeme konfiguraci vlastností role.
Úprava topologie
Připojíme se na Lync Front End server a spustíme Lync Server Topology Builder. Zvolíme Download Topology from existing deployment a uložíme ji do nějakého souboru. Rozklikneme naši lokalitu a Lync Server 2013, poté klikneme pravým tlačítkem na Persistent Chat pools a zvolíme New Persistent Chat pool.
V prvním kroku průvodce zadáme FQDN našeho Front End serveru, kde budeme přidávat roli Persistent Chat. Také vybereme Single computer pool.
Zadáme nějaký název pro Persistent Chat (z důvodu, že bychom jich měli více) a ideálně ponecháme defaultní port 5041
. Můžeme zapnout Compliance.
Nastavíme SQL server, kde se vytvoří nová DB. Zde využijeme existující na Front End serveru.
Zadáme File Share, zde opět využijeme již existující.
Dokončíme průvodce a pomocí Publish Topology vypublikujeme změny topologie.
Chyba při publikaci topologie
Publikace topologie mi skončila chybou na File Share (obdobně jako v popisu Migrace z Lync 2010 na Lync 2013 část 1 - Front End). Problém byl v právech na složku, kdy se instalátoru nepodařilo vytvořit podsložku a nastavit práva. Jde o chybu Windows Server 2012 (bohužel tento OS má chyb extrémně mnoho, dnes bych ho nikomu do produkčního prostředí nedoporučil), pokud bychom používali Windows Server 2008 R2, tak chyba patrně nenastane. Takže jsem kroky, které měl provést instalátor, provedl ručně (kdy pod stejným uživatelem proběhly bez chyby) a pak již vše fungovalo. První chyba byla:
InvalidFolder: Invalid share. Error: Caller does not have the required permission to create directory \\lyncfe.firma.local\LyncShare\1-PersistentChatService-13\PersistentChat. Verify that your user account has administrative privileges, and that you selected "Run as administrator" when you started Windows PowerShell.
Vytvořil jsem ručně neexistující složky v dané cestě \\lyncfe.firma.local\LyncShare\1-PersistentChatService-13\PersistentChat
.
Při další publikaci topologie se zobrazila další chyba:
ACLError: Access permissions error. Error: Failed to save permissions on "\\lyncfe.firma.local\LyncShare\1-PersistentChatService-13\PersistentChat". ACLError: Failed adding "AccessWrite" permissions for "RTCComponentUniversalServices" on "\\lyncfe.firma.local\LyncShare \1-PersistentChatService-13\PersistentChat". Access control list (ACL) might fail on UNIX file shares. Refer to the deployment guide to manually set the ACLs in the file share.
Na složku PersistentChat
jsem nastavil práva RTCComponentUniversalServices
modify a RTCUniversalServerAdmins
read.
Instalace role Persistent Chat
Připojíme se na Lync Front End server a spustíme Lync Server Deployment Wizard. Na hlavní stránce zvolíme Install or Update Lync Server System. Klikneme na Step 2: Setup or Remove Lync Server Components.
Zkontrolují se požadavky, nainstaluje se MgcServer.msi
a vytvoří se databáze mgc
pro Persistent Chat Store, případně i mgccomp
pro Persistent Chat Compliance Store.
Po instalaci nám přibude nová služba Lync Server Persistent Chat, kterou musíme nastartovat. Můžeme k tomu využít Step 4: Start Services.
Konfigurace Persistent Chat
Konfiguraci provedeme pomocí Lync Server Control Panel, samozřejmě je možno i pomocí Lync Server Management Shell.
Nejprve musíme funkci Persistent Chat zapnout. Zde si to předvedeme jednoduše globálně pro všechny uživatele, ale můžeme vytvářet politiky pro uživatele, pool nebo site. Pod Persistent Chat - Persistent Chat Policy otevřeme Global politiku, zatrhneme Enable Persistent Chat a uložíme pomocí Commit.
Každá Chat Room, kterou budeme vytvářet, musí být zařazená do nějaké kategorie (Category), takže nejprve musíme vytvořit alespoň jednu kategorii. Kategorie primárně určuje, kdo může být členem vytvořené místnosti. Pokud nepotřebujeme striktně rozdělovat práva, tak se doporučuje vytvořit pouze jednu kategorii, kam zařadíme všechny uživatele. Práva na místnost pak řešíme pomocí zařazení do skupiny členů (Members). Stejně tak běžně můžeme povolit všem uživatelům vytvářet nové místnosti (takže skupina Creators je stejná jako AllowedMembers).
Vytvoření kategorie provedeme v Persistent Chat - Category. U kategorie musíme zařadit uživatele do skupin Allowed members (tito uživatelé mohou získat přístup do místností), Denied members (zakážeme přistup vybraným uživatelům, kteří byli povoleni v předchozí skupině) a Creators (mohou vytvářet místnosti v dané kategorii a zařazovat do nich uživatele). Do skupin můžeme zařazovat AD DS uživatele, domény, distribuční skupiny a organizační jednotky.
V této chvíli, když nově nastartujeme Lync 2013 klienta, se v něm zobrazí nová ikona (záložka) Chat Rooms.
Chyba v nastavování práv
Myslím si, že v nastavování práv u místnosti je chyba (bug). Při určitém nastavení Allowed members v kategorii, se při vytváření nebo editaci místnosti, zobrazí jedna či obě chyby:
Invalid managers: Bouška Petr; Invalid members: Bouška Petr;
Problém u mne nastal, když jsem vytvořil Category, kde jsem do Allowed members zadal distribuční skupinu, která obsahuje všechny zaměstnance. Poté jsem uživatelem, který byl zadán v Creators, vytvořil novou místnost. Automaticky se vyplnilo jeho jméno do Managers i Members. Když jsem chtěl místnost uložit, dostal jsem výše uvedenou chybu. Stejná chyba nastala při zadání libovolných osob, místnost šla uložit pouze bez vyplněných lidí.
Pokusy jsem zjistil, že když se do Allowed members zadá celá doména nebo organizační jednotka (OU), tak vše funguje jak má.
Používání Persistent Chat
Vytvoření (editace) místnosti
Asi prvním, co budeme potřebovat, je vytvoření chatovací místnosti. Jako správce to můžeme provést pomocí cmdletu, tím způsobem můžeme pracovat i se všemi existujícími místnostmi. Ale uživatelsky jednodušší je využít Lync 2013 klienta. Ten nám ovšem pouze otevírá webovou stránku, kde vytváření a editaci provádíme. Neměl by být problém, otevřít webovou stránku rovnou, standardní adresa je https://lyncfe.firma.local/PersistentChat/RM/
.
V Lync 2013 se na záložce Chat Rooms vpravo nachází ikona plus v kolečku. Kliknutím na ikonu se zobrazí menu, kde je položka Create a Chat Room.
Tím se nám otevře webová stránka, kde se buď přihlásíme, nebo zafunguje nastavené Single Sign-On. Na stránce vidíme svoje místnosti a můžeme založit novou, pokud máme alespoň v jedné kategorii (Category) práva vytvářet (Creators). Vytvářená místnost může být tří typů soukromí (Privacy):
- Open - kdokoliv může tuto místnost nalézt, číst a vkládat příspěvky (nezadává se zde členství)
- Closed - každý může tuto místnost nalézt a vidět seznam členů, ale pouze členové mohou číst a vkládat příspěvky
- Secret - pouze členové mohou tuto místnost najít, číst a vkládat příspěvky
Každá místnost musí mít unikátní název. Je vhodné vyplňovat i popis (Description), protože v budoucnu může existovat velké množství místností, tak aby bylo možno vyhledat tu správnou. Pokud máme práva do více kategorií, tak můžeme vybrat, do které bude patřit tato místnost.
Dále nastavujeme seznam správců místnosti Managers, kam je automaticky umístěn náš účet. Tyto osoby mohou editovat parametry místnosti a zařazovat členy. Podle typu místnosti určujeme členy Members, opět náš účet je automaticky vložen. V parametrech kategorie se určuje, jestli se nově přidaným členům skupiny zasílá upozornění. Máme možnost nastavit, že se žádná informace nezasílá No invitation sent to members.
Vyhledání místnosti a zpráv
Po zapnutí Persistent Chat nám vyhledávací řádek v Lync 2013 hledá nejen uživatele a telefonní čísla, ale také místnosti. Je třeba se jen správně přepínat mezi NAME a CHAT ROOMS. Vyhledávání funguje nejen podle názvu, ale i podle slov, která jsou obsažená ve jméně a popisu.
Nalezenou místnost můžeme rovnou otevřít nebo začít sledovat, pokud máme práva. Nebo si ve webovém prohlížeči zobrazit Contact Card, informace o místnosti.
V místnostech se ukládá veškerá historie a tu můžeme procházet. Máme také k dispozici vyhledávání, kde můžeme nastavit řadu parametrů. Hledání otevřeme kliknutím na ikonu lupy v levém dolním rohu otevřené místnosti. Nebo v menu, kde se nachází vytvoření nové místnosti, tedy modré plus. Položka Search Room History. Při hledání zadáváme klíčová slova nebo frázi, hledání mezi místnostmi, kde jsme členem nebo které sledujeme, v určitém časovém rozmezí, od určitých osob.
Místnosti a upozornění
Pokud jsme nově zařazeni jako člen nějaké místnosti, tak se nám v Lync 2013 zobrazí číslice upozornění na záložce Chat Rooms a místnost vidíme v NEW. Všechny místnosti, kde jsme členem, vidíme v MEMBER OF.
Místnost, kde jsme členem, nebo jde o typ Open, můžeme přidat do oblíbených tak, že ji následujeme. Najedeme na místnost a zvolíme Follow this Room, takovou místnost pak vidíme v záložce FOLLOWED. U těchto místností se nám zobrazuje upozornění, když přijde nová zpráva. Formu upozornění můžeme konfigurovat.
Pro jemnější možnost upozorňování jsou zde Topic Feeds. Tak můžeme zadat klíčová slova, která nás zajímají, a pokud se objeví v některé z našich sledovaných (followed) místností, tak budeme upozorněni. Jeden Topic Feed je vytvořen automaticky, jmenuje se Ego Feed a upozorňuje nás na zprávy, které obsahují naše jméno.
Mazání místností
Správce místnosti nemůže smazat ani jím vytvořenou místnost. Má pouze možnost místnost vyřadit (Disable). Takovou místnost může administrátor znovu obnovit a zůstanou ji všechna nastavení, ale vyřazená místnost se pro uživatele chová jako neexistující. Smazat místnost může pouze administrátor pomocí PowerShell cmdletu Remove-CsPersistentChatRoom
.
Využití PowerShellu
Je dost pravděpodobné, že se nám při pokusech, ale možná i při běžném užívání, stane, že ztratíme práva k nějaké místnosti. Jediná možnost, jak ji pak konfigurovat (a třeba si práva vrátit) je využít Lync Server Management Shell. Podrobná dokumentace je Configuring Persistent Chat Server by Using Windows PowerShell Cmdlets.
Situace, jak můžeme přijít o práva k místnosti, kterou jsme sami vytvořili, je pokud po jejím vytvoření upravíme práva na kategorii. Když náš uživatel přijde o práva k místnosti, tak se jeho účet odstraní z Managers i Members.
Užitečným cmdletem určitě je zobrazení existujících místností či vypnutých místností.
Get-CsPersistentChatRoom Get-CsPersistentChatRoom -Disabled $true
Dále se může hodit nastavení práv na místnost.
Set-CsPersistentChatRoom -Identity "lyncfe.firma.local\Test Closed Room" -Managers @{Add="sip:bouska@firma.cz"} -Members @{Add="sip:bouska@firma.cz"}
Ale PowerShell nám dovolí i třeba smazat určité zprávy z místnosti (dle data a filtru).
Remove-CsPersistentChatMessage -Identity <string> [-UserUri <string>] [-StartDate <DateTime>] [-EndDate <DateTime>] [-Filter <string>] [-MatchClause <AndOr> {And | Or | Exact}] [-CaseSensitive <bool>] [-ReplaceMessage <string>] [-WhatIf] [-Confirm] [<CommonParameters>]
Zatím zde nejsou žádné komentáře.