From ae6a2a72517d62b2b1bd32221eb668267243c4bc Mon Sep 17 00:00:00 2001 From: Jim Blake Date: Mon, 9 Jun 2014 15:14:16 -0400 Subject: [PATCH] VIVO-719 Improve the user interface --- .../freemarker/BaseSiteAdminController.java | 1 - .../controller/jena/JenaIngestController.java | 11 +++- webapp/web/jenaIngest/ingestMenu.jsp | 6 +- .../body/datatools/datatools-dumpRestore.ftl | 65 +++++++++++-------- .../siteAdmin/siteAdmin-advancedDataTools.ftl | 3 - 5 files changed, 53 insertions(+), 33 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BaseSiteAdminController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BaseSiteAdminController.java index a05a2a5d8..5bcdbc53e 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BaseSiteAdminController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BaseSiteAdminController.java @@ -204,7 +204,6 @@ public class BaseSiteAdminController extends FreemarkerHttpServlet { urls.put("rdfData", UrlBuilder.getUrl("/uploadRDFForm")); urls.put("rdfExport", UrlBuilder.getUrl("/export")); urls.put("sparqlQueryBuilder", UrlBuilder.getUrl("/admin/sparqlquerybuilder")); - urls.put("dumpRestore", UrlBuilder.getUrl("/dumpRestore")); } if (PolicyHelper.isAuthorizedForActions(vreq, SimplePermission.USE_SPARQL_QUERY_PAGE.ACTION)) { urls.put("sparqlQuery", UrlBuilder.getUrl("/admin/sparqlquery")); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java index ba60e33d7..aa8ae4c88 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java @@ -65,6 +65,7 @@ import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.beans.Ontology; import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess; import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess.ModelID; import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess.ModelMakerID; @@ -180,6 +181,9 @@ public class JenaIngestController extends BaseEditController { } else if("mergeResult".equals(actionStr)){ processMergeResultRequest(vreq, response); return; + } else if ("dumpRestore".equals(actionStr)) { + processDumpRestore(vreq, response); + return; } else { @@ -1175,7 +1179,12 @@ public class JenaIngestController extends BaseEditController { vreq.setAttribute("bodyJsp",LIST_MODELS_JSP); } - private class CollationSort implements Comparator { + private void processDumpRestore(VitroRequest vreq, + HttpServletResponse response) throws ServletException, IOException { + vreq.getRequestDispatcher("/dumpRestore").forward(vreq, response); + } + + private class CollationSort implements Comparator { Collator collator; diff --git a/webapp/web/jenaIngest/ingestMenu.jsp b/webapp/web/jenaIngest/ingestMenu.jsp index 8049dd970..924887628 100644 --- a/webapp/web/jenaIngest/ingestMenu.jsp +++ b/webapp/web/jenaIngest/ingestMenu.jsp @@ -30,4 +30,8 @@ \ No newline at end of file + + + diff --git a/webapp/web/templates/freemarker/body/datatools/datatools-dumpRestore.ftl b/webapp/web/templates/freemarker/body/datatools/datatools-dumpRestore.ftl index fd9142d34..ddca7a077 100644 --- a/webapp/web/templates/freemarker/body/datatools/datatools-dumpRestore.ftl +++ b/webapp/web/templates/freemarker/body/datatools/datatools-dumpRestore.ftl @@ -1,38 +1,38 @@ <#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> -

Dump/Restore knowledge base

+ -

Before you start:

-
    -
  • - Content models hold the data that VIVO contains and operates on. - This includes the ABox and the TBox, instances and ontologies, assertions and inferences. -
  • -
  • - Configuration models hold the data that controls VIVO, - including display options, privacy restrictions, and user accounts. -
  • -
  • - Dumping the content models make take several minutes, and may produce large files. - For example, dumping a fully populated VIVO instance may take 20 minutes and produce a file of 3 gigabytes. -
  • -
  • - The restore process is additive: it will not delete existing triples. - However, duplicate triples will not be stored. -
  • -
  • - After restoring, the search index should be re-built. - The data will probably not require re-inferencing, - since the dump includes both assertions and inferences. -
  • -
+

Dump or Restore the knowledge base

+ +

+ Content models hold the data that VIVO contains and operates on. + This includes the ABox and the TBox, instances and ontologies, assertions and inferences. +

+

+ Configuration models hold the data that controls VIVO, + including display options, privacy restrictions, and user accounts. +


Dump

+

+ Dumping the content models make take several minutes, and may produce large files. + For example, dumping a fully populated VIVO instance may take 20 minutes and produce a file of 3 gigabytes. +

+
- +
@@ -63,6 +63,17 @@

Restore

+

+ The restore process is additive: it will not delete existing triples. +

+

+ Choosing to purge large models can result in an OutOfMemory error. + It is better to start with a small or empty knowledge base. +

+

+ After restoring, it is not necessary to rebuild the search index, or re-inference the data. +

+ <#if tripleCount?? >

Loaded ${tripleCount} triples

@@ -70,7 +81,7 @@ -
Select models Select format
+
diff --git a/webapp/web/templates/freemarker/body/siteAdmin/siteAdmin-advancedDataTools.ftl b/webapp/web/templates/freemarker/body/siteAdmin/siteAdmin-advancedDataTools.ftl index 4985d9a4c..6485df7d5 100644 --- a/webapp/web/templates/freemarker/body/siteAdmin/siteAdmin-advancedDataTools.ftl +++ b/webapp/web/templates/freemarker/body/siteAdmin/siteAdmin-advancedDataTools.ftl @@ -22,9 +22,6 @@ <#if dataTools.sparqlQueryBuilder?has_content>
  • ${i18n().sparql_query_builder}
  • - <#if dataTools.dumpRestore?has_content> -
  • ${i18n().dump_restore}
  • - \ No newline at end of file
    Select models Select a file to restore from