• No results found

Byt delade grupper vid spegling

Om sidorna som visas externt skall ha en annorlunda layout (t.ex. sidhuvud, sidfot och huvudmeny) än de som visas internt, så löser man det på följande sätt:

• Lägg in de layout-specifika modulerna i delade grupper, en grupp som skall användas på interna sidor (här kallad "InternGrupp"), och en som skall visas på externa sidor (här kallad "ExternGrupp").

• Högerklicka på "InternGrupp" i gruppträdet, välj Egenskaper och fliken Inställningar. Där anger man "ExternGrupp" i fältet Speglingsgrupp. Se bilden här intill.

• Gör en sidmall för den interna sidan där man

inkluderar "InternGrupp". Basera de interna sidorna på denna sidmall.

Om man har gjort detta så kommer "InternGrupp" att bytas mot "ExternGrupp" varje gång de aktuella sidorna speglas ut till målservern.

Säkerhet

För att kunna spegla information från en Web Portal-server till en annan krävs en

autentisering av användaren. Autentiseringen görs i filen ”remoteservers.conf”. Samtidigt måste parametern ”openMirror” i filen ”sys.conf” ges värdet ”false” för att målservern ska skyddas från anonym inspegling. Inställningen ”openMirror=true” gör det möjligt för vem som helst med en Web Portal-server att, med hjälp av IP-adressen, spegla in information till vilken annan Web Portal-server som helst.

JSP

I modulen JSP kan man få tillgång till och visa intern information från Web Portal.

Nedanstående exempel på JSP-filer visar hur detta kan gå till.

Inkludera aktuell cell

Filen hämtar ut data om den egna modulens data:

<jsp:useBean id="webportalcell" scope="request"

class="com.telia.intracom.layout.Cell"/>

<b>Cell access, The cell provides the location and size of the area provided by Sirius Web Portal for writing output from the JSP-Script</b><br>

<%

out.println("Cell name: " +webportalcell.name +"<br>");

out.println("Cell x: " +webportalcell.x +"<br>");

out.println("Cell y: " +webportalcell.y +"<br>");

out.println("Cell width: " +webportalcell.y +"<br>");

out.println("Cell height: " +webportalcell.height +"<br>");

%>

Inkludera aktuell användarsession

Filen hämtar ut data om den aktuella webbplatsbesökarens användarsession:

<jsp:useBean id="webportalsession" scope="request"

class="com.telia.intracom.security.Session"/>

<b>Session access, the session provides user properties and the ability to store session specific properties or objects.</b><BR>

<%

out.println("User address: " +webportalsession.getAddress() +"<br>");

out.println("User DN: " + webportalsession.getUser().getName() +"<br>");

out.println("User name: " + webportalsession.getUser().getFullname() +"<br>");

out.println("Browser: " + webportalsession.getBrowser() +"<br>");

out.println("Browser ver : " + webportalsession.getBrowserVersion() +"<br>");

%>

<b>Store and retrieve session properties.</b><br>

<b>Ex storing a string "My string" with id "myid".</b><br>

<%

webportalsession.setProperty("myid", "My string");

%>

<b>Retrieving "myid".</b><br>

<%

out.println("Stored property: " + webportalsession.getProperty("myid") +"<br>");

%>

Inkludera egenskaper för aktuell sida

Filen hämtar ut data om egenskaperna för den sida där JSP-modulen ligger:

<jsp:useBean id="pageprops" scope="request" class="java.util.Hashtable"/>

<%

String path = (String)pageprops.get("path");

String url = (String)pageprops.get("url");

String Created = (String)pageprops.get("Created");

String CreatedByName = (String)pageprops.get("CreatedByName");

String CreatedByFullname = (String)pageprops.get("CreatedByFullname");

String CreatedByMail = (String)pageprops.get("CreatedByMail");

String LastModified = (String)pageprops.get("LastModified");

String LastModifiedByName = (String)pageprops.get("LastModifiedByName");

String LastModifiedByFullname = (String)pageprops.get("LastModifiedByFullname");

String LastModifiedByMail = (String)pageprops.get("LastModifiedByMail");

%>

<table border="0" cellspacing="0" cellpadding="1" ><tr><td>

<table width="450" border="0" cellspacing="0" cellpadding="4" >

<tr><td><B>name: </B></td><td><%= name %></td></tr>

<tr><td><B>path: </B></td><td><%= path %></td></tr>

<tr><td><B>url: </B></td><td><%= url %></td></tr>

<tr><td><B>Created: </B></td><td><%= Created %></td></tr>

<tr><td><B>CreatedByName: </B></td><td><%= CreatedByName %></td></tr>

<tr><td><B>CreatedByFullname: </B></td><td><%= CreatedByFullname

%></td></tr>

<tr><td><B>CreatedByMail: </B></td><td><%= CreatedByMail %></td></tr>

<tr><td><B>LastModified: </B></td><td><%= LastModified %></td></tr>

<tr><td><B>LastModifiedByName: </B></td><td><%= LastModifiedByName

%></td></tr>

<tr><td><B>LastModifiedByFullname:</B></td><td><%=LastModifiedByFullname%>

</td></tr>

<tr><td><B>LastModifiedByMail: </B></td><td><%= LastModifiedByMail

%></td></tr>

</table></td></tr>

</table>

Inkludera sidinformation

Filen hämtar ut data om sidstrukturen i Web Portal, vilken kan användas för att bygga egna typer av menyer. Antalet sidnivåer som skall inkluderas samt från och med vilken sida kan anges:

<jsp:useBean id="webportalpages" scope="request" class="java.util.Vector"/>

<b>Page structure access, this data can be used for generating dynamic menus.</b><BR>

<%

for (int i=0;i< webportalpages.size();i++) {

java.util.StringTokenizer st = new java.util.StringTokenizer( (String) webportalpages.elementAt(i), "#");

int level = Integer.parseInt(st.nextToken());

int siblingcount = Integer.parseInt(st.nextToken());

String name = st.nextToken();

String url = st.nextToken();

String levelstr = "";

for (int n=0;n<level;n++){

levelstr += "&nbsp";

}

out.println(levelstr +"<A HREF=\"" +url +"\">" +name +"</A><br>");

}

%>

Inkludera databas

Filen hämtar ut data om valfri databas från Web Portals databaspool:

<jsp:useBean id="webportaldatabase" scope="request"

class="com.telia.intracom.database.DatabaseHandle"/>

<b>Database access, the connection has been established by the Database pool in Sirius Web Portal.</b><BR>

<%

try {

out.println("<b>Database ID: " +Web Portaldatabase.id +"</b><br>");

webportaldatabase.executeQuery("select * from customers");

while(webportaldatabase.next()) {

out.println(webportaldatabase.getString("name") +"<br>");

}

String newname="John";

String query = "UPDATE customers SET name='"+newname+"' WHERE name='Lisa';

webportaldatabase.executeUpdate(query);

}catch (Exception e){e.printStackTrace();}

%>

Inkludera metadata

Filen hämtar metadatafälten sidansvarigNamn och sidansvarigEpost och skapar en klickbar ”mailto”-länk:

<%@ page import="com.telia.intracom.policy.meta.*" %> <

jsp:useBean id="metadata" scope="request" class="java.util.Hashtable"/>

<%

String name = ((MetaData)metadata.get("sidansvarigNamn")).getValue();

String email = ((MetaData)metadata.get("sidansvarigEpost")).getValue();

%>

<a href="mailto:<%=email%>"><%=name%></a>

Related documents