Skip to content

Commit 3a1c903

Browse files
committed
Merge branch 'hotfix/2019.1.1'
2 parents 8cf2a6c + faf11cf commit 3a1c903

File tree

24 files changed

+187
-146
lines changed

24 files changed

+187
-146
lines changed

.travis.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,6 @@ after_success:
2727
- aws s3 --region us-east-1 cp --recursive s3://edalexdev/equella_artifacts/$TRAVIS_BRANCH/$TRAVIS_BUILD_NUMBER/ s3://edalexdev/equella_artifacts/$TRAVIS_BRANCH/latest/
2828
env:
2929
global:
30-
- secure: t1XK7R/R3+gYgJCL+YNFPfpew+QZXl5b7jFkfNOwKDG+gGEApZCrx5NNkA+anPbK4VLnmjGz4EgIItfsSOmEQL6W4jr1MiD6cQV8RV9tYHhPmfPiJy0aDWOgIWIxPtpzAcSvgkZzCheHxY8PGbTi+XStRMfF6/Iat6cN7erHcO9Ur3ri10uas01xPaJJC+naXZGx0JZDTRLmGc8GFzgOwaiIUWOzPZyqsqnBEytvyuJFGe1BUfVEvr4UUb/LBiH0UgpganncFy2WHX+CWT8VFemIoNCM7jAp5oKCTHWyEH72WzGGo6+RCnmJs3Loc+6IUT2M7qNhEm8+PmQwWL9d5ihb6OSnJG9u+Pmq88E+E0eOzZnhQ3XpRjI1CRYYOKi8RBPAjlGDYBMSOo0HRzDJnuU+ZdwdJCZ0x7a/2xCgpxA2YpH+FycGWQo9b+n5JYl++n7gfaJhVcbxrob5TfcgDyj4M3Mkr0bsAwueYG1hY9vFNq9wbgFXA5UPL/khJt9OtR3akEBnrx9lySK0tXtq7zj+KKit92Ty+EfhtEF29IHHHn/pyvFBzWjO1VqsRm+cnOIyY2nLz9D8SZGaaJy7elbXc+PLjd8eHSwX/dY7DyB4MO0td4E40H+Wwxy0pfZXW5x+tdo0UGLBb9i5OoLuKFcRjmj02WcIi6TqJ3EbNdQ=
31-
- secure: fao/RBFgwO/kaxMGbAsR2xuQgnXebRSPgIrASx/W7ELrZoHB3Jvz5ES7danGYXfONUKaPCdqe1/JTm34aDrp/sER6CMYlz4LvlzzhxV+ajo1kFqgzaUWquzGtQ3STXu5BiPEITVqm4CYOZ8bB7yr3HnmPRBOPvJIG0xg3Cehwz0Ux8Yc/YFJbfpr9p97U+x+JJfa+g1sRRXTQHUPdTl3uBJOtk5shCWoDSJl0Axe1gJ37gNUnJOZUwL6Ejb2Hlv2CuxBjglIZ7mhJkOiL9ALbNDOsjp+Xx6ieSSEVAEmqtQdzAVO63GmXVBQcyWIrisgLzTRbMM0ZPtraUXgN6b44ijw6kS5miQvd0vDenFVailgyizjqO28n1xhYyX+uEqz+BMFS4VybTKSdZHjDHRHhFXK6oSqcmKN941X+LsGu7rWp5aVyu1hJjaKz3InjheZphILY7sbLEzoOckicH3TikliwxNEbUCFUOtkmutY+B3SVy9SNyoCW2vjhbiP9ZeXW0hxjG0SvJxOXzWJknY4cnpO7ee5UcBDYmlSdOlA192FO4UfyqgHrL5hVRCYKGB2xD+XHy+XYKFUV+VpWiiMQXCxV1FmRHeZlS144/07H+DIlkeUapLn7Cdj/NhDjSn9fXnSNbA/qbs9aIYm1Wx4pRoj0S2iVRe4FE6RFJWMgyk=
30+
- secure: m/3VbdtVnnEb8J4MrEhH4w8ELHTu4yGPkHcLQ9WSVNnZ6PskuHvxxpsAVVHz9WKj/9WVI4RJdpv5iouj+gugYUOo2cRGcg9hW9He554fbRfudnkAzBLUV4an71vnoxbSTdc+doGNpyF4rt/jdgVDzpGEsgv61By8C+oPpPjZiXcnjPmuVUyPaJWaJpp9/BpQusAiRjFqcphWeHAAd5Gp76D7OhEGL+y8q4fWXsvN58kbDKMXzs8F3aGyZ0QIApHDdT4FdgVFrt2kjrw/4V8ZaB4poR/8slK1pbsiklY+oamXk+e0Xkwf/B23KEWZZObWlUGIZX40EuzVBSGGq1eLWE96SM+HXN39PYvGPSRJ2lGuGvAr1NSlFwFIukTpW58ZiOVsK/IDoahj1zmhr1xvPmoc6YceSpVqqh2g4UDWJU3mQwNnGwhfn2K/td4pDsazaWYhnm2DjW5e7a03uA5ccf4Cfb2AaqE5ED7hGnTifkQbnykaNXtVLyDVzHf44022FM6ldpEWP2yWrLUhKJ9yNMsmMeYYdWRj/itSdZ895hzXtFO4kcY4NR8MF+7njTx1rwFk1kTsLZ0OX6Z36LUvnVpisLxaRuiN+LGSoTRzPpzVDnGa3lL9TQw3eVbqEUuRDlg1rDOf42KNMhT6nttCwqTthKTewuXA9QuYV5VTuXs=
31+
- secure: kUfo8ful+ObyD6zPttIxB5dHwCbvUhgZBhvb7cJQ+6xnqdI5WPnSDes2zYyPklh9+p7bt00v3vGLhNem719a3Me3Ju2QjTSZiOtLvZod3klZRokNsgDkJNjNRhtgflThSvcYUbclNZe9pyQ6lz1EOffbTSMJx09OcdkF/gN7B0xK04ha+pWyNb6lqPeKx6q44k+qVotflpFh56eiyNoC4VZ6MgF+N51A/dDQyJJpPhqWkIup7Q8uD2bzPWcz5PN4YBqezrwT4qxbdeejzQ+fwCIT0Ls7B59rivyDp7Esp35TamTbZLK24Je0/Lg/hsW5ybA3/PmFOU2QUdzc2YZ8aT6p9QQjr1F3EDRsyMYmqYUtuFI9KzROoNaQ21If1HoGXZkL83RvCuE36xTDOuLifVWNiEOdII2hb62lW2s/JBcSUS0BlFd2UoxsrPzohBF4gQjQTbWwV9HW+sdHxk20YpU4IG7pyEiQO2Hsuau/M9iCdp0lsgKo6My43kzQSGZTPgESNKWg+YKxy07mgptttErHuDyVrVq6qMMFX+OI8QmUb31GR5j0g3lTPrfpAYyL/Vzlg/T9b8BUc7WYWWL5P41TIb9WMIgmLtARsGkEz/fsa1Cb9tMiZ7jOQLRxq455f54tC55LzhgrO+2elFku8a/cbWXguHzyKf301qHoZGI=
3232
- NODE_JS_VERSION=8.11.3

Installer/build.sbt

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ lazy val upgradeManager = LocalProject("UpgradeManager")
2727
installerZip := {
2828
val log = streams.value.log
2929
val ver = equellaVersion.value
30-
val dirname = s"equella-installer-${ver.majorMinor}"
30+
val dirname = s"equella-installer-${ver.semanticVersion}"
3131
val outZip = target.value / s"$dirname.zip"
3232
val serverData = baseDirectory.value / "data/server"
3333
val allServerFiles = serverData ** "*" pair (relativeTo(serverData), false)

Source/Plugins/Core/com.equella.core/js/package.json

+12-10
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,20 @@
2424
"bundleps:langbundle": "cross-env-shell \"purs bundle \"${npm_package_config_psglob}\" -m Tools.GenLangStrings --main Tools.GenLangStrings -o target/genlang.js\""
2525
},
2626
"dependencies": {
27-
"@date-io/luxon": "1.3.5",
27+
"@date-io/luxon": "1.3.7",
2828
"@material-ui/core": "3.9.3",
2929
"@material-ui/icons": "3.0.2",
3030
"@material-ui/lab": "3.0.0-alpha.30",
3131
"@material-ui/styles": "3.0.0-alpha.10",
32-
"@tinymce/tinymce-react": "3.1.1",
32+
"@tinymce/tinymce-react": "3.2.0",
3333
"axios": "0.19.0",
3434
"create-react-class": "15.6.3",
3535
"downshift": "2.2.3",
3636
"es6-object-assign": "1.1.0",
37-
"history": "4.7.2",
37+
"history": "4.9.0",
3838
"jspolyfill-array.prototype.find": "0.1.3",
39-
"luxon": "1.11.4",
39+
"luxon": "1.16.0",
40+
"lodash": "4.17.11",
4041
"material-ui-pickers": "2.2.4",
4142
"oeq-cloudproviders": "git+https://github.com/apereo/openEQUELLA-cloudprovidersdk.git#32d958ddfff64ca748e7e1b2eae0f0487946a487",
4243
"parcel-bundler": "1.12.1",
@@ -66,16 +67,17 @@
6667
"license": "Apache-2.0",
6768
"devDependencies": {
6869
"@types/jest": "22.2.3",
69-
"@types/luxon": "1.11.1",
70+
"@types/luxon": "1.15.1",
71+
"@types/lodash": "4.14.136",
7072
"@types/tinymce": "4.5.22",
71-
"@types/node": "9.6.48",
72-
"@types/react": "16.8.19",
73-
"@types/react-autosuggest": "9.3.8",
73+
"@types/node": "9.6.49",
74+
"@types/react": "16.8.23",
75+
"@types/react-autosuggest": "9.3.9",
7476
"@types/react-color": "2.17.0",
7577
"@types/react-dom": "16.8.4",
7678
"@types/react-redux": "5.0.21",
77-
"@types/react-router": "5.0.1",
78-
"@types/react-router-dom": "4.3.3",
79+
"@types/react-router": "5.0.2",
80+
"@types/react-router-dom": "4.3.4",
7981
"@types/react-swipeable-views": "0.12.2",
8082
"@types/redux-logger": "3.0.7",
8183
"@types/sprintf-js": "1.1.2",

Source/Plugins/Core/com.equella.core/js/tsrc/components/AppBarQuery.tsx

+30-5
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@ import { WithStyles, Icon, withStyles, Theme } from "@material-ui/core";
33
import { fade } from "@material-ui/core/styles/colorManipulator";
44
import { createStyles } from "@material-ui/core/styles";
55
import { commonString } from "../util/commonstrings";
6+
import { debounce } from "lodash";
67

78
interface AppBarQueryProps {
89
onSearch?: (query?: string) => void;
910
onChange: (query: string) => void;
1011
query: string;
1112
}
12-
13+
interface AppBarQueryState {
14+
searchText: string;
15+
}
1316
const styles = (theme: Theme) =>
1417
createStyles({
1518
queryWrapper: {
@@ -46,17 +49,39 @@ const styles = (theme: Theme) =>
4649
});
4750

4851
class AppBarQuery extends React.Component<
49-
AppBarQueryProps & WithStyles<"queryWrapper" | "queryIcon" | "queryField">
52+
AppBarQueryProps & WithStyles<"queryWrapper" | "queryIcon" | "queryField">,
53+
AppBarQueryState
5054
> {
5155
constructor(
5256
props: AppBarQueryProps &
5357
WithStyles<"queryWrapper" | "queryIcon" | "queryField">
5458
) {
5559
super(props);
60+
this.state = {
61+
searchText: ""
62+
};
5663
}
5764

65+
// Do a search after user stops typing for 500 milliseconds.
66+
// Purescript passes a concrete search function to onChange.
67+
debouncedSearch = debounce(() => {
68+
this.props.onChange(this.state.searchText);
69+
}, 500);
70+
71+
handleTextChange = (e: React.ChangeEvent<HTMLInputElement>) => {
72+
this.setState(
73+
{
74+
searchText: e.target.value
75+
},
76+
() => {
77+
this.debouncedSearch();
78+
}
79+
);
80+
};
81+
5882
render() {
59-
const { classes, onChange, query } = this.props;
83+
const { classes } = this.props;
84+
const { searchText } = this.state;
6085
return (
6186
<div className={classes.queryWrapper}>
6287
<div className={classes.queryIcon}>
@@ -66,8 +91,8 @@ class AppBarQuery extends React.Component<
6691
type="text"
6792
aria-label={commonString.action.search}
6893
className={classes.queryField}
69-
value={query}
70-
onChange={e => onChange(e.target.value)}
94+
value={searchText}
95+
onChange={this.handleTextChange}
7196
/>
7297
</div>
7398
);

Source/Plugins/Core/com.equella.core/scalasrc/com/tle/web/api/wizard/WizardApi.scala

+3
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ import javax.servlet.http.HttpServletRequest
4545
import javax.ws.rs._
4646
import javax.ws.rs.core.Response.{ResponseBuilder, Status}
4747
import javax.ws.rs.core.{Context, Response, StreamingOutput, UriInfo}
48+
import org.jboss.resteasy.annotations.cache.NoCache
4849

4950
import scala.collection.JavaConverters._
5051
import scala.concurrent.ExecutionContext.Implicits
@@ -82,6 +83,7 @@ class WizardApi {
8283
}
8384

8485
@GET
86+
@NoCache
8587
@Path("state")
8688
def getState(@PathParam("wizid") wizid: String, @Context req: HttpServletRequest): ItemState = {
8789
withWizardState(wizid, req, false) { wsi =>
@@ -182,6 +184,7 @@ class WizardApi {
182184

183185
}
184186

187+
@NoCache
185188
@GET
186189
@Path("provider/{providerId}/{serviceId}")
187190
def proxyGET(@PathParam("wizid") wizid: String,

Source/Plugins/Core/com.equella.core/src/com/tle/core/qti/service/impl/QtiAssessmentResultServiceImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
@Singleton
6666
public class QtiAssessmentResultServiceImpl implements QtiAssessmentResultService {
6767
private static final URI URI_SOURCE =
68-
URI.create("uri://equella/" + ApplicationVersion.get().getMmr());
68+
URI.create("uri://equella/" + ApplicationVersion.get().getSemanticVersion());
6969

7070
@Inject private QtiAssessmentResultDao dao;
7171

Source/Plugins/Core/com.equella.core/src/com/tle/web/institution/tab/HealthTab.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ public SectionResult renderHtml(RenderEventContext context) throws Exception {
273273
.getBody()
274274
.addReadyStatements(
275275
CHECK_VERSION,
276-
version.getMmr(),
276+
version.getSemanticVersion(),
277277
version.getCommit(),
278278
version.getDisplay(),
279279
VERSION_SERVER_URL,

Source/Plugins/Core/com.equella.core/src/com/tle/web/resources/ResourcesService.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
@SuppressWarnings("nls")
2727
@NonNullByDefault
2828
public class ResourcesService {
29-
private static String baseUrl = "p/r/" + ApplicationVersion.get().getMmr() + '/';
29+
private static String baseUrl = "p/r/" + ApplicationVersion.get().getSemanticVersion() + '/';
3030

3131
private static Map<String, String> renamed =
3232
ImmutableMap.<String, String>builder()

Source/Plugins/Core/com.equella.core/src/com/tle/web/template/section/FooterSection.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ public SectionResult renderHtml(RenderEventContext context) {
6565
if (!guest) {
6666
Version version = ApplicationVersion.get();
6767
model.setDisplayVersion(version.getDisplay());
68-
model.setFullVersion(MessageFormat.format("{0} {1}", version.getMmr(), version.getCommit()));
68+
model.setFullVersion(
69+
MessageFormat.format("{0} {1}", version.getSemanticVersion(), version.getCommit()));
6970
}
7071
model.setDisplayLinks(!guest);
7172

Source/Plugins/Core/com.equella.serverbase/src/com/tle/core/replicatedcache/impl/ReplicatedCacheServiceImpl.java

+14-3
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,12 @@
5151
import java.io.Serializable;
5252
import java.util.Date;
5353
import java.util.Iterator;
54+
import java.util.concurrent.ExecutionException;
5455
import java.util.concurrent.TimeUnit;
5556
import javax.inject.Inject;
5657
import javax.inject.Singleton;
58+
import org.apache.commons.logging.Log;
59+
import org.apache.commons.logging.LogFactory;
5760

5861
@Singleton
5962
@NonNullByDefault
@@ -71,6 +74,8 @@ public class ReplicatedCacheServiceImpl
7174
/** Caches identified by cacheId. */
7275
private final Cache<String, ReplicatedCacheImpl<?>> caches = CacheBuilder.newBuilder().build();
7376

77+
private static final Log LOGGER = LogFactory.getLog(ReplicatedCacheServiceImpl.class);
78+
7479
@Override
7580
public synchronized <V extends Serializable> ReplicatedCache<V> getCache(
7681
String cacheId, long maxLocalCacheSize, long ttl, TimeUnit ttlUnit) {
@@ -144,15 +149,21 @@ public Optional<ExpiringValue<V>> load(String key)
144149
@Override
145150
public synchronized Optional<V> get(@NonNull String key) {
146151
checkNotNull(key);
152+
if (zookeeperService.isCluster()) {
153+
cache.refresh(CurrentInstitution.get());
154+
}
147155

148-
LoadingCache<String, Optional<ExpiringValue<V>>> c =
149-
cache.getIfPresent(CurrentInstitution.get());
150-
if (c != null) {
156+
LoadingCache<String, Optional<ExpiringValue<V>>> c;
157+
try {
158+
c = cache.get(CurrentInstitution.get());
151159
Optional<ExpiringValue<V>> op = c.getUnchecked(key);
152160
if (op.isPresent()) {
153161
V ev = op.get().getValue();
154162
return Optional.fromNullable(ev);
155163
}
164+
165+
} catch (ExecutionException e) {
166+
LOGGER.error("Fail to access cache of institution " + CurrentInstitution.get());
156167
}
157168
return Optional.absent();
158169
}

Source/Plugins/Core/com.equella.serverbase/src/com/tle/core/services/impl/ClusteredTaskServiceImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ public void init() {
130130
if (version.isDevelopment()) {
131131
prefix = "tasksdev/";
132132
} else {
133-
prefix = "tasks-" + version.getMmr() + '/';
133+
prefix = "tasks-" + version.getSemanticVersion() + '/';
134134
}
135135
ZK_TASKPATH = prefix + ZK_TASKPATH;
136136
ZK_GLOBALTASKPATH = prefix + ZK_GLOBALTASKPATH;

Source/Plugins/Platform/com.tle.platform.equella/src/com/dytech/edge/common/Version.java

+14-16
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727

2828
@SuppressWarnings("nls")
2929
public final class Version {
30-
private final String mmr; // MMR = major.minor.revision
31-
private final String display;
30+
private final String displayName;
31+
private final String semanticVersion;
3232
private final String commit;
3333
private boolean dev;
3434

@@ -49,17 +49,15 @@ public static Version load(Properties p) {
4949
if (p == null) {
5050
return new Version("dev" + new Random().nextInt(1000), "Development", "dev (dev)", true);
5151
} else {
52-
return new Version(
53-
p.getProperty("version.mmr"),
54-
p.getProperty("version.display"),
55-
p.getProperty("version.commit"),
56-
false);
52+
String displayName = p.getProperty("version.display");
53+
String semanticVersion = displayName.substring(0, displayName.indexOf("-"));
54+
return new Version(semanticVersion, displayName, p.getProperty("version.commit"), false);
5755
}
5856
}
5957

60-
private Version(String mmr, String display, String commit, boolean dev) {
61-
this.mmr = mmr;
62-
this.display = display;
58+
private Version(String semanticVersion, String displayName, String commit, boolean dev) {
59+
this.semanticVersion = semanticVersion;
60+
this.displayName = displayName;
6361
this.commit = commit;
6462
this.dev = dev;
6563
}
@@ -72,16 +70,16 @@ public String getCommit() {
7270
return commit;
7371
}
7472

75-
public String getMmr() {
76-
return mmr;
73+
public String getSemanticVersion() {
74+
return semanticVersion;
7775
}
7876

7977
public String getDisplay() {
80-
return display;
78+
return displayName;
8179
}
8280

8381
public String getFull() {
84-
return MessageFormat.format("{0} ({1})", mmr, display);
82+
return MessageFormat.format("{0} ({1})", semanticVersion, displayName);
8583
}
8684

8785
/**
@@ -111,11 +109,11 @@ public boolean greaterVersionThan(String otherVersion) {
111109

112110
// Empty or non-digit this.version? Allow anything. Either way return
113111
// false.
114-
if (Check.isEmpty(mmr) || !Character.isDigit(mmr.charAt(0))) {
112+
if (Check.isEmpty(semanticVersion) || !Character.isDigit(semanticVersion.charAt(0))) {
115113
return false;
116114
}
117115

118-
return getMajorMinorValue(mmr) > getMajorMinorValue(otherVersion);
116+
return getMajorMinorValue(semanticVersion) > getMajorMinorValue(otherVersion);
119117
}
120118

121119
/**

Source/Server/equellaserver/build.sbt

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import Path.rebase
2+
import java.time.LocalDate
3+
import java.time.format.DateTimeFormatter
24

35
javacOptions ++= Seq("-source", "1.8")
46

@@ -18,7 +20,7 @@ val axis2Version = "1.6.2"
1820
val TomcatVersion = "8.5.41"
1921
val SwaggerVersion = "1.5.22"
2022
val RestEasyVersion = "3.5.0.Final"
21-
val simpledbaVersion = "0.1.8-SNAPSHOT"
23+
val simpledbaVersion = "0.1.9"
2224
val circeVersion = "0.11.1"
2325
val jsoupVersion = "1.11.3"
2426
val sttpVersion = "1.5.11"
@@ -328,10 +330,11 @@ additionalPlugins := {
328330
}
329331

330332
upgradeZip := {
331-
val log = streams.value.log
332-
val ver = equellaVersion.value
333+
val log = streams.value.log
334+
val ver = equellaVersion.value
335+
var releaseDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"))
333336
val outZip
334-
: File = target.value / s"tle-upgrade-${ver.majorMinor}.r${ver.commits} (${ver.majorMinor}-${ver.releaseType}).zip"
337+
: File = target.value / s"tle-upgrade-${ver.major}.${ver.minor}.r${releaseDate} (${ver.semanticVersion}-${ver.releaseType}).zip"
335338
val plugVer = ver.fullVersion
336339
val zipFiles = Seq(
337340
assembly.value -> "equella-server.jar",

Source/Tools/UpgradeInstallation/src/com/tle/upgrade/upgraders/UpgradeToEmbeddedTomcat.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -197,9 +197,10 @@ public void upgrade(UpgradeResult result, File tleInstallDir) throws Exception {
197197

198198
private File getUpgradeZip(Path installPath, File versionProps) throws ConfigurationException {
199199
final PropertiesConfiguration props = new PropertiesConfiguration(versionProps);
200-
final String mmr = (String) props.getProperty("version.mmr");
201-
final String display = (String) props.getProperty("version.display");
202-
String filename = MessageFormat.format("tle-upgrade-{0} ({1}).zip", mmr, display);
200+
final String displayName = (String) props.getProperty("version.display");
201+
final String semanticVersion = displayName.substring(0, displayName.indexOf("-"));
202+
String filename =
203+
MessageFormat.format("tle-upgrade-{0} ({1}).zip", semanticVersion, displayName);
203204
return installPath.resolve("manager/updates/" + filename).toFile();
204205
}
205206

Source/Tools/UpgradeManager/resources/templates/main.st

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ $("templates/page")(script={
4444
<form id="mainform" action="$buttonAction$" method="get">
4545
<dl id="statusversion">
4646
<dt>Deployed Version:</dt>
47-
<dd>$version.displayName$ <span style="color: #AAAAAA;"> ($version.mmr$) </span></dd>
47+
<dd>$version.displayName$ <span style="color: #AAAAAA;"> ($version.semanticVersion$) </span></dd>
4848
<dt>Server Status:</dt>
4949
<dd id="ajaxstatus">...</dd>
5050
</dl>
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
$("templates/heading-content")(heading=heading, content={
22
$if(versions)$
33
<ul>
4-
$versions:{<li><input id="version$it.mmr$" class="version-item" type="radio" name="version" value="$it.filename$" /><label for="version$it.mmr$">$it.displayName$ <span style="color: #AAAAAA;"> ($it.mmr$) </span></label> </li>}$
4+
$versions:{<li><input id="version$it.semanticVersion$" class="version-item" type="radio" name="version" value="$it.filename$" /><label for="version$it.semanticVersion$">$it.displayName$ <span style="color: #AAAAAA;"> ($it.semanticVersion$) </span></label> </li>}$
55
</ul>
66
$else$
77
No versions found
88
$endif$
9-
})$
9+
})$

0 commit comments

Comments
 (0)