Project

General

Profile

« Previous | Next » 

Revision 7394

integrate ecoinformatics login with the CIlogon identity mapping flow so that a user is directed through the process with no manual navigation needed (at least in the url bar). https://redmine.dataone.org/issues/1480

View differences:

lib/metacat.properties
357 357

  
358 358
######## Skins  #########################################
359 359

  
360
skin.names=default,nceas,esa,knb,kepler,lter,ltss,obfs,nrs,sanparks,saeon,first,parc
360
skin.names=default,nceas,esa,knb,kepler,lter,ltss,obfs,nrs,sanparks,saeon,first,parc,dataone
361 361
######## Document Section  #########################################
362 362

  
363 363
#The flag to indicate if invalidated eml 201 documents were corrected.
lib/style/skins/dataone/index.jsp
54 54
}
55 55
if (sessionId == null || !SessionService.getInstance().isSessionRegistered(sessionId)) {
56 56
	// redirect to the login page
57
	response.sendRedirect(STYLE_SKINS_URL + "/dev/login.html");
57
	response.sendRedirect(STYLE_SKINS_URL + "/dataone/login.jsp");
58 58
	return;
59 59
}
60 60
String userName = SessionService.getInstance().getRegisteredSession(sessionId).getUserName();
......
156 156
	<ul></ul>
157 157

  
158 158
	<div id="mapping">
159
		<p>Use this form to connect your old KNB account to your new DataONE identity. 
159
		<p>
160
		Use this form to connect your old <i>ecoinformatics</i> account to your new DataONE identity.
161
		</p>
162

  
163
		<p>
160 164
		You will need to be logged into both systems at the same time in order for the mapping to take place.
161 165
		</p>
162
		
163
		Your current KNB account:
166

  
167
		<br/>
168

  
169
		Your current ecoinformatics account (<a href="<%=SERVLET_URL %>?action=logout&qformat=dataone">logout</a>):
164 170
		<div>
165 171
		<%=userName %>
166 172
		</div>
173

  
167 174
		<br/>
168 175

  
169 176
		Will be mapped to this DataONE account*: 
lib/style/skins/dataone/login.jsp
1
<%@ page language="java"%>
2
<%
3
	/**
4
	 *  '$RCSfile$'
5
	 *      Authors: Matt Jones
6
	 *    Copyright: 2008 Regents of the University of California and the
7
	 *               National Center for Ecological Analysis and Synthesis
8
	 *  For Details: http://www.nceas.ucsb.edu/
9
	 *
10
	 *   '$Author$'
11
	 *     '$Date$'
12
	 * '$Revision$'
13
	 * 
14
	 * This is an HTML document for loading an xml document into Oracle
15
	 *
16
	 * This program is free software; you can redistribute it and/or modify
17
	 * it under the terms of the GNU General Public License as published by
18
	 * the Free Software Foundation; either version 2 of the License, or
19
	 * (at your option) any later version.
20
	 *
21
	 * This program is distributed in the hope that it will be useful,
22
	 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23
	 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24
	 * GNU General Public License for more details.
25
	 *
26
	 * You should have received a copy of the GNU General Public License
27
	 * along with this program; if not, write to the Free Software
28
	 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
29
	 */
30
%>
31

  
32
<%@ include file="../../common/common-settings.jsp"%>
33
<%@ include file="../../common/configure-check.jsp"%>
34
<html>
35
<head>
36
<title>Login</title>
37
<link rel="stylesheet" type="text/css" href="<%=STYLE_COMMON_URL%>/jquery/jqueryui/css/smoothness/jquery-ui-1.8.6.custom.css">
38
<link rel="stylesheet" type="text/css" href="dataone.css" />	
39
<script language="javascript" type="text/javascript" src="<%=STYLE_COMMON_URL%>/jquery/jquery.js"></script>
40
<script language="javascript" type="text/javascript" src="<%=STYLE_COMMON_URL%>/jquery/jqueryui/js/jquery-ui-1.8.6.custom.min.js"></script>
41
<script language="JavaScript" type="text/javascript">
42

  
43
function submitform(formObj) {
44

  
45
  if (trim(formObj.elements["loginAction"].value)!="Login") return true;
46
  //trim username & passwd:
47
  var username = trim(formObj.elements["uid"].value);
48
  var organization  = trim(formObj.elements["organization"].value);
49
  var password      = trim(formObj.elements["password"].value);
50

  
51
  if (username=="") {
52
    alert("You must type a username. \n"+popupMsg);
53
    formObj.elements["uid"].focus();
54
    return false;
55
  }
56

  
57
  if (organization=="") {
58
    alert("You must select an organization. \n"+popupMsg);
59
    formObj.elements["organization"].focus();
60
    return false;
61
  }
62

  
63
  if (password=="") {
64
    alert("You must type a password. \n"+popupMsg);
65
    formObj.elements["password"].focus();
66
    return false;
67
  }
68

  
69
  formObj.username.value="uid="+formObj.elements["uid"].value+",o="+formObj.elements["organization"].value+",dc=ecoinformatics,dc=org";
70
  return true;
71
}
72

  
73
function trim(stringToTrim) {
74
  return stringToTrim.replace(/^\s*/, '').replace(/\s*$/,'');
75
}
76

  
77
function initTabs() {
78
	$(function() {
79
		$("#tabs").tabs();
80
		$("#tabs").tabs("add", "#login", "Ecoinformatics Login");	
81
	});
82
}
83
function init() {
84
	initTabs();
85
}
86
</script>
87
</head>
88

  
89
<body onload="init()">
90
<!-- dataone logo header -->
91
<div class="logoheader">
92
	<h1></h1>
93
</div>
94

  
95
<div id="tabs">
96
	<!-- place holder for tabs -->
97
	<ul></ul>
98

  
99
	<div id="login">
100
		<p>
101
		Login with your legacy <i>ecoinformatics</i> identity.
102
		</p>
103

  
104
		<form name="loginform" method="post" action="../../../metacat"
105
			target="_top" onsubmit="return submitform(this);" id="loginform">
106
		<input type="hidden" name="action" value="login"> <input
107
			type="hidden" name="username" value=""> <input type="hidden"
108
			name="qformat" value="dataone"> <input type="hidden"
109
			name="enableediting" value="false">
110
		
111
		<table>
112
			<tr valign="middle">
113
				<td align="left" valign="middle" class="text_plain">username:</td>
114
		
115
				<td width="173" align="left" class="text_plain"
116
					style="padding-top: 2px; padding-bottom: 2px;"><input name="uid"
117
					type="text" style="width: 140px;" value=""></td>
118
			</tr>
119
		
120
			<tr valign="middle">
121
				<td height="28" align="left" valign="middle" class="text_plain">organization:</td>
122
		
123
				<td align="left" class="text_plain"
124
					style="padding-top: 2px; padding-bottom: 2px;"><select
125
					name="organization" style="width: 140px;">
126
					<option value="" selected>&#8212; choose one &#8212;</option>
127
					<option value="NCEAS">NCEAS</option>
128
					<option value="LTER">LTER</option>
129
					<option value="UCNRS">UCNRS</option>
130
					<option value="PISCO">PISCO</option>
131
					<option value="OBFS">OBFS</option>
132
					<option value="OSUBS">OSUBS</option>
133
					<option value="SAEON">SAEON</option>
134
					<option value="SANParks">SANParks</option>
135
					<option value="SDSC">SDSC</option>
136
					<option value="KU">KU</option>
137
					<option value="DATAONE">DATAONE</option>
138
					<option value="unaffiliated">unaffiliated</option>
139
				</select></td>
140
			</tr>
141
		
142
			<tr valign="middle">
143
				<td width="85" align="left" valign="middle" class="text_plain">password:</td>
144
		
145
				<td colspan="2" align="left" class="text_plain"
146
					style="padding-top: 2px; padding-bottom: 2px;">
147
				<table width="100%" border="0" cellpadding="0" cellspacing="0">
148
					<tr>
149
						<td width="150" align="left"><input name="password"
150
							type="password" maxlength="50" style="width: 140px;" value=""></td>
151
		
152
						<td align="center" class="buttonBG_login"><input type="submit"
153
							name="loginAction" value="Login" class="button_login"></td>
154
		
155
						<td align="left">&nbsp;</td>
156
					</tr>
157
				</table>
158
				</td>
159
			</tr>
160
		</table>
161
		</form>
162
	</div>
163
</body>
164
</html>
0 165

  
lib/style/skins/dataone/dataone.properties.metadata.xml
1
<?xml version="1.0"?>
2

  
3
<metadataConfig>
4
	<group>
5
		<index>1</index>
6
		<name>Skins Configuration</name>
7
		<comment>Choose configure the skins that will be available in this instance of MetaCat.</comment> 
8
		<description>Skin Configuration Values.</description>
9
	</group>
10

  
11
	<config>
12
		<key>registry.show.siteList</key>
13
		<label>Show Site List</label>
14
		<group>1</group>
15
		<index>1</index>
16
		<fieldType>checkbox</fieldType>
17
		<description>Show the site list in the registry.</description>
18
		<helpFile>properties.html#registry.show.siteList</helpFile>
19
	</config>
20

  
21
	<config>
22
		<key>registry.show.wgList</key>
23
		<label>Show Work Group List</label>
24
		<group>1</group>
25
		<index>2</index>
26
		<fieldType>checkbox</fieldType>
27
		<description>Show the work group list in the registry.</description>
28
		<helpFile>properties.html#registry.show.wgList</helpFile>
29
	</config>
30

  
31
	<config>
32
		<key>registry.show.organization</key>
33
		<label>Show Organization List</label>
34
		<group>1</group>
35
		<index>3</index>
36
		<fieldType>checkbox</fieldType>
37
		<description>Show the organization list in the registry.</description>
38
		<helpFile>properties.html#registry.show.organization</helpFile>
39
	</config>
40

  
41
	<config>
42
		<key>registry.modules.taxonomic</key>
43
		<label>Show Taxonomic Module</label>
44
		<group>1</group>
45
		<index>4</index>
46
		<fieldType>checkbox</fieldType>
47
		<description>Show the taxonmic section in the registry.</description>
48
		<helpFile>properties.html#registry.modules.taxonomic</helpFile>
49
	</config>
50
	
51
	<config>
52
		<key>registry.modules.method</key>
53
		<label>Show Method Module</label>
54
		<group>1</group>
55
		<index>5</index>
56
		<fieldType>checkbox</fieldType>
57
		<description>Show the method section in the registry.</description>
58
		<helpFile>properties.html#registry.modules.method</helpFile>
59
	</config>
60
	
61
	<config>
62
		<key>registry.modules.spatial</key>
63
		<label>Show Spatial Module</label>
64
		<group>1</group>
65
		<index>6</index>
66
		<fieldType>checkbox</fieldType>
67
		<description>Show the spatial section in the registry.</description>
68
		<helpFile>properties.html#registry.modules.spatial</helpFile>
69
	</config>
70

  
71
	<config>
72
		<key>registry.modules.keyword</key>
73
		<label>Show Keyword Module</label>
74
		<group>1</group>
75
		<index>7</index>
76
		<fieldType>checkbox</fieldType>
77
		<description>Show the keyword section in the registry.</description>
78
		<helpFile>properties.html#registry.modules.keyword</helpFile>
79
	</config>
80

  
81
	<config>
82
		<key>registry.modules.temporal</key>
83
		<label>Show Temporal Module</label>
84
		<group>1</group>
85
		<index>8</index>
86
		<fieldType>checkbox</fieldType>
87
		<description>Show the temporal section in the registry.</description>
88
		<helpFile>properties.html#registry.modules.temporal</helpFile>
89
	</config>
90
	
91
	<config>
92
		<key>registry.modules.upload</key>
93
		<label>Show Upload Module</label>
94
		<group>1</group>
95
		<index>9</index>
96
		<fieldType>checkbox</fieldType>
97
		<description>Show the upload section in the registry.</description>
98
		<helpFile>properties.html#registry.modules.upload</helpFile>
99
	</config>
100
	
101
	<config>
102
		<key>registry.required.temporal</key>
103
		<label>Temporal Value Required</label>
104
		<group>1</group>
105
		<index>10</index>
106
		<fieldType>checkbox</fieldType>
107
		<description>Determine if temporal value must be entered.</description>
108
		<helpFile>properties.html#registry.required.temporal</helpFile>
109
	</config>
110
	
111
	<config>
112
		<key>registry.required.spatial</key>
113
		<label>Spatial Value Required</label>
114
		<group>1</group>
115
		<index>11</index>
116
		<fieldType>checkbox</fieldType>
117
		<description>Determine if spatial value must be entered.</description>
118
		<helpFile>properties.html#registry.required.spatial</helpFile>
119
	</config>
120
	
121
	<config>
122
		<key>registry.required.contactEmailAddress</key>
123
		<label>Contact Email Address Required</label>
124
		<group>1</group>
125
		<index>12</index>
126
		<fieldType>checkbox</fieldType>
127
		<description>Determine if contact email address must be entered.</description>
128
		<helpFile>properties.html#registry.required.contactEmailAddress</helpFile>
129
	</config>
130

  
131
</metadataConfig>
0 132

  
lib/style/skins/dataone/dataone.properties
1
#
2
# General configuration parameters
3
#
4
registry.config.username=TBD
5
registry.config.password=your-pw-goes-here
6
registry.config.scope=dataone
7
registry.config.organization=DataONE
8
registry.config.abbrev=DataONE
9
registry.config.url=http://www.dataone.org/
10
registry.config.site=station
11
registry.config.type=Repository
12
registry.config.debug=1
13

  
14
# template settings
15
registry.templates.response=genericResponse.tmpl
16
registry.templates.entry=entryForm.tmpl
17
registry.templates.guide=genericGuide.tmpl
18
registry.templates.login=loginForm.tmpl
19
registry.templates.confirmData=confirmData.tmpl
20
registry.templates.deleteData=deleteData.tmpl
21
registry.templates.header=genericHeader.tmpl
22
registry.templates.footer=genericFooter.tmpl
23
# ESA-skin specific templates
24
registry.templates.modEmailNotification=
25
registry.templates.modResult=
26
registry.templates.getReviews=
27

  
28
# email settings
29
email.sender=DataONE <help@dataone.org>
30
email.recipient=help@dataone.org
31
email.admin=the repository administrator
32

  
33
# registry display settings
34
registry.show.siteList=true
35
registry.show.wgList=true
36
registry.show.organization=true
37
# registry module display
38
registry.modules.taxonomic=true
39
registry.modules.method=true
40
registry.modules.spatial=true
41
registry.modules.keyword=true
42
registry.modules.temporal=true
43
registry.modules.upload=false
44

  
45
registry.required.temporal=true
46
registry.required.spatial=true
47
registry.required.contactEmailAddress=false
48

  
49
# NCEAS specific
50
registry.db.connection=
51
registry.db.user=
52
registry.db.password=
53

  
54
# imported properties from lib/skin.configs/default/default.properties
55
# java code usage
56
lsidauthority=
57
registryurl=
58
registryname=
0 59

  
lib/style/skins/dataone/dataone.xml
1
<?xml version="1.0"?>
2
<style-set name="default">
3
<!-- general login & search -->
4
  <default-style>/style/common/ascii-treeview.xsl</default-style>
5

  
6
	<!-- login/authentication -->  
7
	<doctype publicid="-//NCEAS//login//EN">
8
		<target publicid="-//W3C//HTML//EN">/style/skins/dataone/login.xsl</target>
9
	</doctype>
10
	
11
</style-set>
0 12

  
lib/style/skins/dataone/login.xsl
1
<?xml version="1.0"?>
2
<!--
3
  *  '$RCSfile$'
4
  *      Authors: Jivka Bojilova
5
  *    Copyright: 2000 Regents of the University of California and the
6
  *               National Center for Ecological Analysis and Synthesis
7
  *  For Details: http://www.nceas.ucsb.edu/
8
  *
9
  *   '$Author$'
10
  *     '$Date$'
11
  * '$Revision$'
12
  * 
13
  * This program is free software; you can redistribute it and/or modify
14
  * it under the terms of the GNU General Public License as published by
15
  * the Free Software Foundation; either version 2 of the License, or
16
  * (at your option) any later version.
17
  *
18
  * This program is distributed in the hope that it will be useful,
19
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21
  * GNU General Public License for more details.
22
  *
23
  * You should have received a copy of the GNU General Public License
24
  * along with this program; if not, write to the Free Software
25
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26
  *
27
  * This is an XSLT (http://www.w3.org/TR/xslt) stylesheet designed to
28
  * convert an XML file with information about login action
29
  * into an HTML format suitable for rendering with modern web browsers.
30
-->
31
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
32
  <xsl:output method="html"/>
33

  
34
  <xsl:template match="/">
35
    <html>
36
      <xsl:apply-templates/>
37
    </html>
38
  </xsl:template>
39

  
40
  <xsl:template match="*" name="login">
41
  <xsl:choose>
42

  
43
    <xsl:when test="name(self::node())='login'">
44
      <head>
45
        <link rel="stylesheet" type="text/css" href="./style/skins/dataone/dataone.css" />
46
        <script language="JavaScript">
47
          <![CDATA[
48
          window.location="./style/skins/dataone/index.jsp"
49
          ]]>
50
        </script>
51
      </head>
52
      <body class="emlbody">
53
      </body>
54
    </xsl:when>
55

  
56
    <xsl:when test="name(self::node())='unauth_login'">
57
      <head>
58
        <link rel="stylesheet" type="text/css" href="./style/skins/dataone/dataone.css" />
59
        <script language="JavaScript">
60
              <![CDATA[
61
              window.location="./style/skins/dataone/login.jsp"
62
              ]]>
63
        </script>
64
      </head>
65
      <body class="emlbody">
66
      </body>
67
    </xsl:when>
68

  
69
    <xsl:when test="name(self::node())='logout'">
70
      <head>
71
        <link rel="stylesheet" type="text/css" href="./style/skins/dataone/dataone.css" />
72
        <script language="JavaScript">
73
              <![CDATA[
74
              window.location="./style/skins/dataone/index.jsp"
75
              ]]>
76
        </script>
77
      </head>
78
      <body class="emlbody">
79
      </body>
80
    </xsl:when>
81

  
82
    <xsl:when test="name(self::node())='error_login'">
83
      <head>
84
        <link rel="stylesheet" type="text/css" href="./style/skins/dataone/dataone.css" />
85
      </head>
86
      <body class="emlbody">
87
        <p style="color:red"> <b> Error Page </b> </p>
88
        <p> <xsl:value-of select="message"/> </p>
89
        <p> <a href="./style/skins/dataone/login.jsp">Try again</a> 
90
            <a href="./style/skins/dataone/index.jsp">Continue</a>  </p>
91
      </body>
92
    </xsl:when>
93

  
94
  </xsl:choose>
95
  </xsl:template>
96

  
97
</xsl:stylesheet>
0 98

  

Also available in: Unified diff