IBM Connections: Adicionar Widgets do Sametime no Connections

From Wiki

Itens incluídos:

  • Adição de Widgets:
    • Meeting Rooms widgets
    • Video Chat widget


Procedimento

[Linux] Instalando os arquivos do Meeting Room Widgets

1) Via terminal Linux, conectar nas máquinas dos Applications Servers e realizar o sudo.

2) Baixar os widgets do Sametime

3) Instalar Meeting SPI

mkdir -p /opt/IBM/WebSphere/AppServer/optionalLibraries/MeetingRoomsSPI/lib
mkdir -p /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/connectionsCell/Communities.ear/comm.web.war/MeetingRoomsWidget
cd /opt/IBM/WebSphere/AppServer/optionalLibraries/MeetingRoomsSPI
cp -R /tmp/C45-WidgetsAjustes20150506/MeetingRoomsSPI/* .
cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/connectionsCell/Communities.ear/comm.web.war/MeetingRoomsWidget
cp -R /tmp/C45-WidgetsAjustes20150506/MeetingRoomsWidgetfiles/* .
cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/connectionsCell/Communities.ear/comm.web.war/
cp -R /tmp/C45-WidgetsAjustes20150506/SametimeVideo.xml .

[Connections] Configurando no Connections

Configurando o widgets-config.xml

1) Via terminal Linux, conectar no DMGR e realizar o sudo

# mkdir -p /root/Temp

# cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin

Executar wsadmin.sh

# ./wsadmin.sh -lang jython -username wsadmin -password <ALTERAR_SENHA>

wsadmin> execfile("communitiesAdmin.py")

Connections Administration initialized

Faça o CheckOut dos Arquivos

wsadmin> CommunitiesConfigService.checkOutWidgetsConfig("/root/Temp",AdminControl.getCell()) 

 Connections configuration file successfully checked out

Em outro terminal

cd /root/Temp

cp widgets-config.xml widgets-config.xml_20150506

Editar o arquivo e adicionar antes da tag </definitions>

 <!--RLIXXXXXX ... by ebasso - start -->
<widgetDef defId="Meeting Rooms" primaryWidget="false" modes="view fullpage" url="/communities/MeetingRoomsWidget/MeetingRoomsWidget1.xml" 
  uniqueInstance="true" iconUrl="/communities/MeetingRoomsWidget/meetings-icon.jpg">
  <itemSet>
     <item name="sametimeMeetingsServerUrl" value="https://reuniao.empresa.com.br:443" />
     <item name="widgetFilePath" value="/communities/MeetingRoomsWidget/" />
 </itemSet>
</widgetDef>
<widgetDef defId="Video" primaryWidget="false" modes="view" uniqueInstance="true" url="{communitiesSvcRef}/SametimeVideo.xml">
<itemSet>
<item name="sametimeMeetingServerUrl" value="http://reuniao.empresa.com.br:80/stmeetings" />
<item name="ssl_sametimeMeetingServerUrl" value="https://reuniao.empresa.com.br:443/stmeetings" />
<item name="communitiesBaseUrl" value="{communitiesSvcRef}"/>
</itemSet>
</widgetDef> 
<!--... by ebasso - end -->
</definitions>

Localize o código e adicione o local do widget em negrito

<layout resourceSubType="default">
    <page pageId="communityOverview">
    <widgetInstance uiLocation="col2recentposts" defIdRef="RecentUpdates"/>
    <widgetInstance uiLocation="col3" defIdRef="Members"/>
    <widgetInstance uiLocation="col3" defIdRef="Videos"/>

Salve e feche o arquivo

Faça o CheckIn dos Arquivos

wsadmin> CommunitiesConfigService.checkInWidgetsConfig()
...
...
Communities widgets configuration file successfully checked in

Sincronize os nós

Configurando o Ajax Proxy no Connections

wsadmin> execfile("connectionsConfig.py")

Connections Administration initialized

Faça o CheckOut dos Arquivos

wsadmin> LCConfigService.checkOutProxyConfig("/root/Temp",AdminControl.getCell()) 

 Connections configuration file successfully checked out

Em outro terminal

cd /root/Temp

cp  proxy-config.tpl  proxy-config.tpl_20150506

Editar o arquivo e adicionar após da tag </proxy:policy>

<proxy:policy url="https://reuniao.empresa.com.br:443/*" acf="none">
<proxy:actions>
 <proxy:method>GET</proxy:method>
 <proxy:method>HEAD</proxy:method>
 <proxy:method>POST</proxy:method>
 <proxy:method>PUT</proxy:method>
 <proxy:method>DELETE</proxy:method>
</proxy:actions>
<proxy:headers>
 <proxy:header>X-ST-CSRF-Token</proxy:header> 
 <proxy:header>User-Agent</proxy:header>
 <proxy:header>Accept.*</proxy:header>
 <proxy:header>Content.*</proxy:header>
 <proxy:header>Authorization.*</proxy:header>
 <proxy:header>If-.*</proxy:header>
 <proxy:header>Pragma</proxy:header>
 <proxy:header>Cache-Control</proxy:header>
 <proxy:header>X-Update-Nonce</proxy:header>
 <proxy:header>WWW-Authenticate.*</proxy:header>
 <proxy:header>Access.*</proxy:header> 
</proxy:headers>
<proxy:cookies>
 <proxy:cookie>LtpaToken</proxy:cookie>
 <proxy:cookie>LtpaToken2</proxy:cookie>
 <proxy:cookie>JSESSIONID</proxy:cookie>
</proxy:cookies>
</proxy:policy>

Salve e Feche o arquivo

Faça o CheckIn dos Arquivos

wsadmin> LCConfigService.checkInProxyConfig()
...
...
Connections configuration file successfully checked in

Registrando o Event Handler

wsadmin> execfile("connectionsConfig.py")

Connections Administration initialized

Faça o CheckOut dos Arquivos

wsadmin> LCConfigService.checkOutEventsConfig("/root/Temp",AdminControl.getCell()) 

 Connections configuration file successfully checked out

Em outro terminal

cd /root/Temp

cp  events-config.xml  events-config.xml_20150506

Editar o arquivo e adicionar após da tag </proxy:policy>

<postHandler enabled="true" invoke="ASYNC" name="MeetingRoomsMembershipSynchroniser" class="meetings.MeetingRoomsMembershipSynchroniser">
 <subscriptions>
    <subscription source="COMMUNITIES"  type="MEMBERSHIP" eventName="*"/>
 </subscriptions>
</postHandler>

Salve e Feche o arquivo

Faça o CheckIn dos Arquivos

wsadmin> LCConfigService.checkInEventsConfig()
...
...
Connections configuration file successfully checked in


Sincronize os nós

wsadmin> synchAllNodes()

Nodes synchronized

Saia do wsadmin

wsadmin> exit

[WAS] Configurando as Shared Libraries

Criando a Shared Library

1) Acessar o DMGR

2) Clique em Environment -> Shared libraries

3) Selecione o escopo connectionsCell

4) Clique New

5) Adicione os campos

Name:

MeetingRoomsSPI

Classpath:

${WAS_INSTALL_ROOT}/optionalLibraries/MeetingRoomsSPI/MeetingRoomsMembershipSynchroniser.jar
${WAS_INSTALL_ROOT}/optionalLibraries/MeetingRoomsSPI/lib/commons-logging-1.1.jar
${WAS_INSTALL_ROOT}/optionalLibraries/MeetingRoomsSPI/lib/httpclient-4.0.1.jar
${WAS_INSTALL_ROOT}/optionalLibraries/MeetingRoomsSPI/lib/httpcore-nio-4.0.1.jar
${WAS_INSTALL_ROOT}/optionalLibraries/MeetingRoomsSPI/lib/httpmime-4.0.1.jar
${WAS_INSTALL_ROOT}/optionalLibraries/MeetingRoomsSPI/lib/meeting.client.core.jar

6) clique em OK e depois em Salvar

Shared Library para o Comunities

1) Acessar o DMGR

2) Clique em Applications -> Application Types -> WebSphere Enterprise Applications -> News -> References -> Shared library references

3) Selecione Comunities e clique em Reference shared libraries

4) Selecione MeetingRoomsSPI e mova para a direita com a Setaa =>

6) clique em OK e depois em Salvar


Shared Library para o Comunities Web UI Module

1) Acessar o DMGR

2) Clique em Applications -> Application Types -> WebSphere Enterprise Applications -> News -> References -> Shared library references

3) Selecione Communities Web UI e clique em Reference shared libraries

4) Selecione MeetingRoomsSPI e mova para a direita com a Setaa =>

6) clique em OK e depois em Salvar


Shared Library para o News

1) Acessar o DMGR

2) Clique em Applications -> Application Types -> WebSphere Enterprise Applications -> News -> References -> Shared library references

3) Selecione News e clique em Reference shared libraries

4) Selecione MeetingRoomsSPI e mova para a direita com a Setaa =>

5) clique em OK e depois em Salvar


Criando um usuário de Login

1) Acessar o DMGR

2) Clique em Security > Global security > Java Authentication and Authorization Service > J2C authentication data.

3) Desmarque Prefix new alias names with the node name of the cell (for compatibility with earlier releases) e clique em Apply e depois em Salvar

4) Clique em Security > Global security > Java Authentication and Authorization Service > J2C authentication data. e clique em New...

5) Informe os campos

Alias: meetingsAdmin

User ID: wsadmin

Password:  SENHA_DO_WSADMIN_DO_SAMETIME

6) clique em OK e depois em Salvar

Shared Library para o News

1) Acessar o DMGR

2) Clique em Environment->WebSphere variables e clique em New... (certifique-se que o escopo é connectionsCell)

3) Informe os campos

Name: MEETINGS_URL

Value: https://reuniao.empresa.com.br:443

4) clique em OK e depois em Salvar

Sincronizando os nós

Procedimento:

1) Acessar o IBM System Console

https://<IP_DO_DMGR>:9043/ibm/console

2) Clique em System Administration -> Nodes

3) Selecione os nós, e clique em Full Resyncronize

Reiniciando os Applications Servers

1) Abra o IBM System Console e reinicie os servidores

a) https://<IP_DO_DMGR>:9043/ibm/console/

b) Clique em Servers -> Clusters -> WebSphere application server clusters

c) Selecione os clusters 

* clNews
* clCommunities

e clique Ripplestart

Ver também