diff --git a/.idea/misc.xml b/.idea/misc.xml index 5f61bad4..c8b3ad63 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -10,7 +10,7 @@ - + \ No newline at end of file diff --git a/WebContent/WEB-INF/classes/messages.properties b/WebContent/WEB-INF/classes/messages.properties index 6fb7f65e..332ca475 100755 --- a/WebContent/WEB-INF/classes/messages.properties +++ b/WebContent/WEB-INF/classes/messages.properties @@ -39,7 +39,8 @@ sidecar-top.upload-sidecar-no-archive = Please import any number of emails first sidecar.upload.sidecar-file = Upload a sidecar file sidecar.upload.upload-button = Upload - +sidecar.management-title = Sidecar file listing +sidecar.management-no-file = No Uploaded Sidecar File #Advnanced-search.jsp file advanced-search.head-advanced-search = Advanced Search @@ -597,6 +598,7 @@ export.export-mbox-message = Export Messages in MBOX Format export.mess-all = All Messages export.mess-non-restricted = Non-Restricted Messages export.mess-restricted = Restricted Messages +export.export-archive = Exported Archive Name #This section corresponds to Correspondents correspondents.head-correspondents = Correspondents @@ -626,7 +628,7 @@ browse.loading = Loading browse.messages = Messages browse.label-all-messages = Label all these Messages -browse.export-message = Download Messages +export.export-message = Download Messages browse.previous-message = Previous Message browse.next-message = Next Message diff --git a/WebContent/WEB-INF/classes/messages_de.properties b/WebContent/WEB-INF/classes/messages_de.properties new file mode 100644 index 00000000..36307631 --- /dev/null +++ b/WebContent/WEB-INF/classes/messages_de.properties @@ -0,0 +1,444 @@ +# Note: if you want a single quote in the message, write _two_ single quotes here as this is required by the MessageFormatter. +# Otherwise, these messages can generally rendered as HTML, and HTML rules for formatting and escape characters should be followed. +# Do not attempt more than light formatting as it may interfere with the CSS on the page. +# Please encode resource bundles as UTF-8 if using i18n chars. + +#Entity-types jsp page +entity-types.head-entities= Objekte (Entitäten) +entity-types.profile-entity-types= Objekt Typen +entity-types.download-in-csv-file= Alle Objekte in CSV datei (kommaseparierte Werte) runterladen +entity-types.download-as-csv= Alle Objekte als CSV (kommaseparierte Werte) runterladen +entity-types.entity-type= Objekt Typ +entity-types.entities= Objekte + +#Help Bar present at top of every page +help.documentation= Dokumentation +help.user-forum= Benutzer Foren +help.report-problem= Ein Problem melden +help.about-epadd= Über ePADD + +#Part of profile-block.jsp which contains information about a particular archive +profile-block.info-about-archive= Informationen über dieses Archiv + +profile-block.institution= Institution: +profile-block.repository= Repositorium: +profile-block.collection-id= Sammlungs-ID: +profile-block.contact-email= Kontakt E-Mail: +profile-block.preservation-actions= Erhaltungs Maßnahmen: +profile-block.renamed-files= Umbenannte Dateien: +profile-block.normalized-files= Normalisierte Dateien: +profile-block.close=Schließen + +profile-block.archive-owner-name= Name des Archiv Besitzers: +profile-block.archive-owner-email= E-mail Adresse des Archiv Besitzers: +profile-block.date-range= Datumsbereich: +profile-block.to= bis +profile-block.undated= undatiert +profile-block.messages= Nachrichten: +profile-block.sent-by-owner= Vom Besitzer versendet: +profile-block.attachments= Anhänge +profile-block.images= Bilder: +profile-block.documents= Dokumente: +profile-block.others= Andere: + +# For Collections---------------------------- +collection.head-collections= Sammlungen + +collection.welcome-processing= Willkommen zum ePADD Processing Modul. +collection.welcome-delivery= Willkommen zum ePADD Discovery Modul. +collection.welcome-discover= Endecken Sie historische E-Mails aus aller Welt +collection.welcome-appraisal= Diese Seite ist im Appraisal Modus leider nicht verfügbar. + +collection.image.upload= Ein Landingpage Bild hochladen (4 : 3 Bildformat). +collection.image.file= Datei +collection.image.upload-button= Hochladen +collection.landing-page-image-request= Bitte geben sie den Pfad des Landingpage Bildes an. +collection.error-in-image= Fehler beim Hochladen des Landingpage Bildes + +collection.no-title= (Kein Titel) +collection.no-description= (Keine Beschreibung) + +#Collection-Detail----------------------------------------------- +collection-detail.head-collection-details= Sammlungs Details +collection-detail.about-collection= Über diese Sammlung +collection-detail.summary= Zusammenfassung (Summary) +collection-detail.institution= Institution +collection-detail.repository= Repositorium +collection-detail.coll-id= Sammlungs-ID +collection-detail.coll-title= Sammlungs Titel +collection-detail.date-range= Datumsbereich +collection-detail.date-undated= undatiert +collection-detail.messages= Nachrichten: +collection-detail.sent-by-owner= Vom Besitzer gesendet: +collection-detail.attachments= Anhänge: +collection-detail.images= Bilder: +collection-detail.documents= Dokumente: +collection-detail.others= Anderes: +collection-detail.con-email= Kontakt E-mail +collection-detail.finding-aid= Suchhilfe +collection-detail.catalog-rec= Katalog Eintrag +collection-detail.enter-button= Eingabe +collection-detail.scope-content= Umfang und Inhalt +collection-detail.rights-cond= Rechte und Bedingungen +collection-detail.notes= Anmerkungen + +collection-detail.acc.acc-id= Accession (Sammlungs) ID: +collection-detail.acc.acc-title= Titel +collection-detail.acc.scope-content= Umfang und Inhalt +collection-detail.acc.rights-cond= Rechte und Bedingungen +collection-detail.acc.notes= Anmerkungen +collection-detail.acc.add-acc= Eine Accession (Sammlung) hinzufügen +collection-detail.image-upload= Einen Banner hochladen (11:3 Bildformat) +collection-detail.image-file= Datei +collection-detail.upload-button= Hochladen + + +#Edit-Collection-Metadata----------------------------------------- +edit-collection-metadata.head-collection-metadata= Metadaten der Sammlung +edit-collection-metadata.collection= Sammlung: +edit-collection-metadata.institution= Institution +edit-collection-metadata.repository= Repositorium: +edit-collection-metadata.collection-title= Sammlungs Titel +edit-collection-metadata.short-title= Kurztitel +edit-collection-metadata.collection-id= Sammlungs-ID +edit-collection-metadata.aid-link= Link zum Findmittel +edit-collection-metadata.record-link= Katalogdatensatz Link +edit-collection-metadata.contact-email= Kontakt E-Mail Adresse +edit-collection-metadata.short-desc= Kurzbeschreibung +edit-collection-metadata.about= Impressum +edit-collection-metadata.rights-cond= Rechte und Bedingungen +edit-collection-metadata.notes= Anmerkungen +edit-collection-metadata.scope-content= Umfang und Inhalt +edit-collection-metadata.save-button=Speichern + + + +#Add-Accession---------------------------------------------------- +add-accession.head-add= Eine Accession (Sammlung) hinzufügen +add-accession.new-collection= Eine neue Sammlung beginnen +add-accession.accession-folder= Order mit Accession (Sammlung)* +add-accession.browse-button= Browse +add-accession.accession-id= Accession ID* +add-accession.accession-title= Accession Titel +add-accession.accession-date= Accession Datum +add-accession.scope-content= Umfang und Inhalt +add-accession.rights-condition= Rechte und Bedingungen +add-accession.notes= Anmerkungen +add-accession.import-accession-button= Accession einlesen + + +# Made for testing Appraisal | Dashboard part +profile-mode.appraisal= Appraisal +profile-mode.processing= Processing +profile-mode.discovery= Discovery +profile-mode.delivery= Delivery + +#Heading tabs of all pages +appraisal.email-sources.import= Import +browse-top.title-browse= Browse +browse-top.title-search= Suchen +browse-top.title-export= Exportieren +browse-top.title-save= Speichern +browse-top.title-authorities= Authorities +browse-top.title-close= Schließen + +collections.title-collection= Sammlungen +collections.title-add= Hinzufügen +#------------------------------------------------------------------------ +# This section corresponds to email sources page +appraisal.email-sources.head-specify-source= E-Mails einlesen + +#First box +appraisal.email-sources.about-archive= Über diese Archiv +appraisal.email-sources.owner-name= Name des Archiv Eigentümers +appraisal.email-sources.p-email= Primäre E-Mail Adresse +appraisal.email-sources.archive-title= Archiv Titel + +#Second box +appraisal.email-sources.public-imap = IMAP E-Mail Account von einem öffentlichen Provider (GMX, Web.de, T-Online, Gmail, etc.) +appraisal.email-sources.public-imap-email= E-Mail Adresse +appraisal.email-sources.public-imap-pass= Passwort +appraisal.email-sources.another-public-imap = ein weiterer IMAP E-Mail Account von einem öffentlichen Provider + +#Third box +appraisal.email-sources.private-imap = IMAP E-Mail Account von einem privaten Provider (Google Apps, Universitäts Account, Firmen Account, etc.) +appraisal.email-sources.private-imap-server= IMAP Server +appraisal.email-sources.private-imap-email= E-Mail Adresse +appraisal.email-sources.private-imap-pass= Passwort +appraisal.email-sources.another-private-imap = Einen weitern E-Mail account von einem privaten Provider hinzufügen + +#Fourth box +appraisal.email-sources.mbox-file= MBOX Dateien +appraisal.email-sources.f-location=Verzeichnis oder Datei +appraisal.email-sources.browse= Browsen +appraisal.email-sources.source-name= Namer E-Mail Quelle +appraisal.email-sources.add-folder= VERZEICHNIS HINZUFÜGEN + +appraisal.email-sources.next= WEITER + +#---------------------------------------------------------------------- +#This section corresponds to browse top page +browse-top.head-archive-info= Archiv Informationen +browse-top.profile-dashboard= Dashboard + +#For Uploading image +browse-top.upload-profile-pic.title= Ein Profil Foto hochladen (1:1 Bildformat) +browse-top.upload-profile-pic.file= Datei +browse-top.upload-profile-pic.upload= Hochladen + +#Different Classification titles +browse-top.title-correspondents= Personen +browse-top.title-entities= Objekte (Entitäten) +browse-top.title-labels= Labels +browse-top.title-image-attach= Bild Anhänge +browse-top.title-other-attach= Andere Anhänge +browse-top.title-folders= Verzeichnisse +browse-top.title-lexicon-search= Lexikon Suche +browse-top.title-reports= Reporte +browse-top.title-more= Mehr + +#This section corresponds to Search-Query page +search-query.head-search= Suche +search-query.profile-search= Suche +search-query.simple-title= Einfache Suche +search-query.multi-entity-title= Suche mit mehreren Objekten +search-query.multi-term-title= Suche mit mehreren Begriffen +search-query.correspondent-title= Listen Suche Empfänger/Sender +search-query.search= Suche +search-query.simple-search-description= Suchanfrage +search-query.multi-entity-search-description= Hier Text eingeben oder kopieren um das Archiv nach allen passenden Entitäten zu durchsuchen. Wählen sie nach der Suche eine hervorgehobene Entität aus um alle ensprechenden Nachrichten anzuzeigen. +search-query.multi-term-search-description= Hier Text eingeben (eine Zeile pro Begriff) um das Archiv nach allen Treffern zu durchsuchen. Wählen sie nach der Suche einen hervorgehobenen Begriff aus um alle entsprechenden Nachrichten anzuzeigen. +search-query.correspondent-list-search-description= Hier Email Adressen eingeben oder kopieren (eine pro Zeile). + +search-query.pre-advanced-text= Mehr Suchmöglichkeiten? Versuche +search-query.advanced-search= Erweiteterte Suche + +#Thi section corresponds to export page +export.head-export= ePADD Export +export.profile-export= Archiv exportieren + +export.next-module= Zum nächsten ePADD Modul exportieren +export.specify-location= Speicherort +export.browse-button= Browsen +export.export-button= Exportieren +export.export-attachments= Anhänge exportieren +export.unrecog-by-apache= Nicht erkannt nur von Apache Tika +export.file-type= Dateityp +export.select= Auswählen +export.other-extension= Andere Namenerweiterungen +export.export-mbox-message= Nachrichten im MBOX Format exportieren. +export.mess-all= Alle Nachrichten +export.mess-non-restricted= Nicht begrenzte Nachrichten +export.mess-restricted= Begrenzte Nachrichten + +#This section corresponds to Correspondents +correspondents.head-correspondents= Empfänger/Sender +correspondents.profile-correspondents= Empfänger/Sender + +correspondents.graph= Zur Diagrammansicht +correspondents.edit= Empfänger/Sender editieren +correspondents.upload= Empfänger/Sender hochladen +correspondents.upload.addr-file= Ein Adressbuch hochladen +correspondents.upload.file= Datei +correspondents.upload.upload-button= Hochladen +correspondents.download= Empfänger/Sender herunterladen + +correspondents.name= Name +correspondents.sent= Gesendete Nachrichten +correspondents.received= Empfangene Nachrichten +correspondents.received-from-owner= Empfangen vom Archiv Besitzer + +#This section corresponds to Browse +browse.sort= Sortieren nach +browse.sort.most-relevant= Wichtigste +browse.sort.newest-first= Neue zuerst +browse.sort.oldest-first= Ältere zuerst + +browse.loading= Laden +browse.messages= Nachrichten + +browse.label-all-messages= All diese Nachrichten kennzeichnen +browse.download-as-mbox= Nachrichten als MBOX herunterladen +browse.previous-message= Vorangegangene Nachricht +browse.next-message= Nächste Nachricht + +browse.message-annotation= Nachricht Anmerkung +browse.get-message-id= Nachricht Nummer +browse.open-thread= Forumsthread öffnen +browse.scroll-for-attach= Zu den Anhängen herunter scrollen +browse.annotation.head= Anmerkungen + +browse.label= Label +browse.label.restriction= Begrenzungs Label +browse.label.general= Allgemeine Label +browse.label.reviewed= überprüft +browse.label.rest.no-transfer= Nicht übertragen + +browse.correspondent= Empfänger/Sender + +browse.annotation.title-edit= Anmerkungen bearbeiten +browse.annotation.overwrite= Überschreiben +browse.annotation.append= Anhängen +browse.annotation.apply-to-this= Für diese Nachricht ausführen +browse.annotation.apply-to-all= Für alle Nachrichten ausführen + + +label-manager.restrict.no-transfer= Nicht übertragen +label-manager.restrict.no-transfer.mess= Diese Nachricht nicht übertragen. +label-manager.general.reviewed= überprüft +label-manager.general.reviewed.mess= Diese Nachricht wurde überprüft. +label-manager.general.clear-for-release= Frei zum übertragen +label-manager.general.clear-for-release.mess= Diese nachricht ist frei zum übertragen zur nächsten Phase +label-manager.general.no-date= Kein Datum +label-manager.general.no-date.mess= Kein Datum gefunden für diese Nachricht. +label-manager.general.bad-date= Möglicherweise falsches Datum +label-manager.general.bad-date.mess= Das Datum dieser Nachricht ist möglicherweise korrupt +label-manager.general.attach-error= Fehler im Anhang +label-manager.general.attach-error.mess= Diese Nachricht hat entweder einen oder mehrere Anhänge ohne Datei Namen oder der Parser war nicht in der Lage die Namen zu extrahieren. +label-manager.general.error-while-parsing= Anderer parsing fehler +label-manager.general.error-while-parsing.mess= Fehler beim parsen des Email Textes +label-manager.general.error-in-corres= Fehler Empfänger/Sender +label-manager.general.error-in-corres.mess= Diese Nachricht hat fehlende Empfänger/Sender + +label-manager.label-mess.start= Label +label-manager.label-mess.later= wird auf einige Nachrichten angewandt. Wenn Sie dieses Label entfernen stellen sie sicher dass es von allen Nachrichten entfernt ist. +label-manager.remove-label= Label entfernen + +#----------------------------------------------------------------- + +email-sources.help.head-import= Import Help + +#------------------------------------THE--END---------------------------------------------- +#-------------------All Key and Values below are not currently used------------------------ + +#Previously written keys and values +welcome =

Welcome to ePADD.

ePADD comprises several modules designed to facilitate the process of working with email archives. \ +

The ePADD project is managed by the Department of Special Collections & University Archives at the Stanford University Libraries \ +with funding by the National Historical Publications and Records Commission (NHPRC).\ +

The ePADD software is based upon the MUSE program developed by the Stanford Mobisocial Lab. \ +ePADD is open source and licensed under an Apache Public License, v2.0. \ +

More information about the project can be found here. + +welcome.appraisal = Provides donors, curators, and archivists with a toolset to load, review, and manage an email archive prior to \ +accessioning that archive to a repository. This module includes various methods to help a user determine the relevance and importance of \ +email messages, to identify and flag sensitive messages, and to impose restrictions on access. + +welcome.processing = Enables an archivist to organize and edit an email archive following the initial appraisal of materials. \ +This module includes the ability to annotate messages, to identify and flag sensitive information, and to further refine entity extraction. + +welcome.discovery = Provides the tools for archival repositories to remotely share a redacted view of email archives with users through a \ +web server discovery environment. + +welcome.delivery = Provides end users with a suite of sophisticated search functionality to query and review the full content of emails in a collection. \ +This is a client-facing module that is designed to provide mediated access to the processed email archive from a managed workstation. + +welcome.administration = Offers direct access to back-end administrative functioning of ePADD. \ +This module allows archivists and others to manage programmatic aspects of ePADD at a high level, \ +including associating incoming email archives to accessions and collections. + +appraisal.welcome = The Appraisal Module provides donors, curators, and archivists with a toolset to review and manage an email archive prior to \ +accessioning that archive to a repository. This module includes various means to help a user determine the relevance and importance of email messages, \ +to identify and flag sensitive messages, and to impose restrictions on access. + +appraisal.step1 = Specify email sources +appraisal.step2 = Review email messages using a variety of analysis tools: confirm correspondents inferred by ePADD; \ +analyze named entities extracted by ePADD (personal, organization, and location); \ +edit default lexicon and assess results of lexicon analysis; review attachments by type. +appraisal.step3 = Appraise messages: search messages by your own keywords; annotate messages; \ +flag messages that should not be transferred to the repository, or should be restricted after transfer. +appraisal.step4 = Export email archive for transfer to a repository. + +appraisal.email-sources.welcome = The Appraisal Module is designed to assist the user in reviewing email from one or more sources \ +or accounts that are being considered for transfer to an archival repository. \ +

ePADD can process email stored in the Mbox format, as well as email from an existing online account using the IMAP protocol.\ +

Once one or more email sources have been selected and loaded, ePADD will give you the opportunity to select or deselect individual \ +email folders associated with those accounts. \ +

For email using other protocols or formats besides Mbox, please seek help from your local repository, or contact epadd_support@lists.stanford.edu.� + +appraisal.email-sources.details = Personal Details +appraisal.email-sources.name = Name of email account holder (Personal/Organizational) +appraisal.email-sources.primary-email = Email address associated with this account holder + +appraisal.email-sources.imap-help = ePADD will use your password to communicate with your email service provider using SSL-encryption. \ +Email will be downloaded from your email service provider to your computer.�Your password is never saved or logged by ePADD. + + +appraisal.folders.help = Note:
Please select email folders to review for potential transfer to an archival repository. \ +Message counts for each folder are in parentheses.� +appraisal.folders.date-range = This is optional. You may want to specify the range if you have submitted email to the repository before. + +appraisal.email-sources.mbox=Add Mbox Email folder location +appraisal.email-sources.mbox-help = You can specify either a file or a folder. If you choose a folder, ePADD will look for all Mbox files within \ +that folder and all of its subfolders. \ +

If this is your first time loading these email sources, it may take some time for ePADD to perform this step. \ +The email archive will be cached locally for faster retrieval in the future. + +appraisal.email-sources.another-mbox = Add another folder + +edit-correspondents = Below is the "address book" inferred by ePADD during ingest of the email archive. \ +All names and email addresses currently associated with a single correspondent are entered on consecutive lines. \ +Individuals are separated by a line containing only the characters "--". The first individual listed is considered the owner of the archive, \ +also indicated by the inclusion of the entry "self". \ +

This address book can be edited to disambiguate correspondents. \ +Editing the address book will improve the functionality of ePADD by increasing the accuracy of indexing and search results. \ +For example, if ePADD incorrectly infers that multiple individuals constitute a single correspondent, this can be manually corrected here. \ +The address book can also be used to force ePADD to distinguish between multiple names and email addresses accurately associated with a single individual, \ +for instance, to differentiate a correspondent''s work-related account from a personal account. + +correspondents.help = Note:
ePADD merges the identity of correspondents using name information extracted from email address fields. \ +It will also apply some intelligent guesses -- for example, the name "Barack Obama" will be treated the same as "Obama, Barack" and an email address like \ +john.doe@example.com will automatically infer the name "John Doe", even if the email address does not have a name associated with it. \ +Select Edit Correspondents from the Appraisal Menu to edit names and email addresses that ePADD has associated with particular correspondents. + +entities.help = Note:
ePADD uses the Apache OpenNLP natural language processing toolkit to extract \ +Person, Organization, and Location entities from English text. ePADD may occasionally tag invalid terms as names. \ +More information about entity extraction can be found here. \ +The table view displays all identified entities of a given type. The graph view charts the most frequently occurring entities over time. + +graph.help = Note:
This graph shows the frequency of messages over time. \ +Each layer in the graph shows the frequency of messages with the label of the associated color. \ +Click on a label to turn the corresponding layer on or off. + +search.help = Note:
ePADD supports search stemming. Bulk search performs entity extraction on text pasted in the search box, \ +then compares the extracted entities against the entity index for the email archive. + +search.all.help = Searches all text in the body of the message (including forwarded or quoted text), header information, \ +and the title of any document attachments, as well as text within those attachments. \ +Note: ePADD can only search the text of document attachments recognized by Apache Tika (http://tika.apache.org/1.4/formats.html). + +search.original.help = Searches the content of email messages, excluding any forwarded or quoted text included in the body of the message. +search.subject.help = Searches header information for matching subject. +search.correspondents.help = Searches header information for matching correspondents. +bulk-search.help = ePADD has performed entity extraction on the supplied text, and has matched the results against the email archive''s entity index. \ +Matching terms are highlighted below. Click on highlighted terms to view messages in the email archive that contain those terms. \ +Terms from your search that do not have a match in the entity index are displayed with a red dotted line. +annotation.label = Add an annotation + +processing = Notes:
Importing an accession is the first step in using the Processing Module. \ +The accession specified above is typically exported through the Appraisal Module. \ +Importing the accession will copy the archive under your ePADD repository folder ({0}). \ +The original accession will not be modified and its files are not needed after the import has been performed. \ +This process can take a while for large archives. + +list-accessions = Accessions saved in ePADD repository: {0}
Click on a row to load the archive and view or edit its metadata. +assign-authorities = Notes
ePADD compares an email archive''s entity index against popular controlled vocabularies to enable users \ +to link correspondents and extracted entities to established authority records. \ +ePADD relies on FAST for name authorities and Freebase for place authorities. +export-processing = Notes
Click Browse to select a directory in which to export the processed email archive. +export-complete-processing = Notes
This export includes a version of the archive for public display, a second version that includes restricted materials \ +and annotations, and a CSV file containing authority information. + +discovery.list-archives=Welcome to the ePADD Discovery module. \ +This module displays metadata extracted from email collections held by {0}. \ +Email messages can be browsed and searched in several ways. For privacy reasons, email addresses and the text of email messages have been redacted in this module, \ +and are not visible online.

\ +For access to the full content of the email collections in the {1}, please contact {2}

\ +For more information about the ePADD project, please visit the project home page. + +delivery.list-archives=Welcome to the ePADD Delivery module. Listed below are the archives available. Click on any one to search and browse the archive. + +image-attachments=Notes:
\ +Click on the thumbnail to open a larger image. Each unique image is shown only once, even if it is attached to multiple messages. The images are ordered most recent first. + +non-image-attachments=Notes:
\ +Please select an attachment name to download it. Selecting the Message ID will take you to the associated message. diff --git a/WebContent/WEB-INF/web.xml b/WebContent/WEB-INF/web.xml index 2bff0e0e..644e5a62 100755 --- a/WebContent/WEB-INF/web.xml +++ b/WebContent/WEB-INF/web.xml @@ -662,6 +662,15 @@ /report + + sidecarFiles + /sidecarFiles.jsp + + + sidecarFiles + /sidecarFiles + + error-404 diff --git a/WebContent/ajax/async/export-from-appraisal.jsp b/WebContent/ajax/async/export-from-appraisal.jsp index 3bbe39b3..9698db91 100755 --- a/WebContent/ajax/async/export-from-appraisal.jsp +++ b/WebContent/ajax/async/export-from-appraisal.jsp @@ -1,3 +1,8 @@ +<% +/* + 2022-10-28 Allow custom naming in Export to next ePADD module +*/ +%> <%@page language="java" contentType="application/json;charset=UTF-8"%> <%@page trimDirectiveWhitespaces="true"%> <%@page language="java" import="java.io.*"%> @@ -67,6 +72,8 @@ //writeProfileBlock(out, archive, "Export archive"); String rawDir = JSPHelper.getParam(params,"dir"); String error=""; +// 2022-10-28 + String dir_name = JSPHelper.getParam(params,"dir_name"); /* List pathTokens = Util.tokenize(dir, "\\/"); @@ -78,8 +85,11 @@ if (!file.isDirectory() || !file.canWrite()) { error = "Sorry, the directory " + dir + " is not writable. Please select a different directory."; }else{ - - String folder = dir + File.separator + "ePADD archive of " + bestName; +// 2022-10-28 +// String folder = dir + File.separator + "ePADD archive of " + bestName; + String folder; + if (dir_name != null && dir_name != "") folder = dir + File.separator + dir_name; + else folder = dir + File.separator + "ePADD archive of " + bestName; List docsToExport = new ArrayList<>(); docsToExport = archive.getDocsForExport(Archive.ExportMode.EXPORT_APPRAISAL_TO_PROCESSING); diff --git a/WebContent/css/bootstrap-datetimepicker.min.css b/WebContent/css/bootstrap-datetimepicker.min.css new file mode 100644 index 00000000..c1b1c171 --- /dev/null +++ b/WebContent/css/bootstrap-datetimepicker.min.css @@ -0,0 +1,6 @@ +/*! + * Datetimepicker for Bootstrap 3 + * version : 4.17.47 + * https://github.com/Eonasdan/bootstrap-datetimepicker/ + */ + .bootstrap-datetimepicker-widget{list-style:none}.bootstrap-datetimepicker-widget.dropdown-menu{display:block;margin:2px 0;padding:4px;width:19em}@media (min-width:768px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:992px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:1200px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}.bootstrap-datetimepicker-widget.dropdown-menu:before,.bootstrap-datetimepicker-widget.dropdown-menu:after{content:'';display:inline-block;position:absolute}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);top:-7px;left:7px}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after{border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid white;top:-6px;left:8px}.bootstrap-datetimepicker-widget.dropdown-menu.top:before{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;border-top-color:rgba(0,0,0,.2);bottom:-7px;left:6px}.bootstrap-datetimepicker-widget.dropdown-menu.top:after{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid white;bottom:-6px;left:7px}.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after{left:auto;right:7px}.bootstrap-datetimepicker-widget .list-unstyled{margin:0}.bootstrap-datetimepicker-widget a[data-action]{padding:6px 0}.bootstrap-datetimepicker-widget a[data-action]:active{box-shadow:none}.bootstrap-datetimepicker-widget .timepicker-hour,.bootstrap-datetimepicker-widget .timepicker-minute,.bootstrap-datetimepicker-widget .timepicker-second{width:54px;font-weight:700;font-size:1.2em;margin:0}.bootstrap-datetimepicker-widget button[data-action]{padding:6px}.bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Increment Hours"}.bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Increment Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Decrement Hours"}.bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Decrement Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Show Hours"}.bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Show Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Toggle AM/PM"}.bootstrap-datetimepicker-widget .btn[data-action="clear"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Clear the picker"}.bootstrap-datetimepicker-widget .btn[data-action="today"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Set the date to today"}.bootstrap-datetimepicker-widget .picker-switch{text-align:center}.bootstrap-datetimepicker-widget .picker-switch::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Toggle Date and Time Screens"}.bootstrap-datetimepicker-widget .picker-switch td{padding:0;margin:0;height:auto;width:auto;line-height:inherit}.bootstrap-datetimepicker-widget .picker-switch td span{line-height:2.5;height:2.5em;width:100%}.bootstrap-datetimepicker-widget table{width:100%;margin:0}.bootstrap-datetimepicker-widget table td,.bootstrap-datetimepicker-widget table th{text-align:center;border-radius:4px}.bootstrap-datetimepicker-widget table th{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget table th.picker-switch{width:145px}.bootstrap-datetimepicker-widget table th.disabled,.bootstrap-datetimepicker-widget table th.disabled:hover{background:none;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget table th.prev::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Previous Month"}.bootstrap-datetimepicker-widget table th.next::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Next Month"}.bootstrap-datetimepicker-widget table thead tr:first-child th{cursor:pointer}.bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background:#eee}.bootstrap-datetimepicker-widget table td{height:54px;line-height:54px;width:54px}.bootstrap-datetimepicker-widget table td.cw{font-size:.8em;height:20px;line-height:20px;color:#777}.bootstrap-datetimepicker-widget table td.day{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget table td.day:hover,.bootstrap-datetimepicker-widget table td.hour:hover,.bootstrap-datetimepicker-widget table td.minute:hover,.bootstrap-datetimepicker-widget table td.second:hover{background:#eee;cursor:pointer}.bootstrap-datetimepicker-widget table td.old,.bootstrap-datetimepicker-widget table td.new{color:#777}.bootstrap-datetimepicker-widget table td.today{position:relative}.bootstrap-datetimepicker-widget table td.today:before{content:'';display:inline-block;border:solid transparent;border-width:0 0 7px 7px;border-bottom-color:#337ab7;border-top-color:rgba(0,0,0,.2);position:absolute;bottom:4px;right:4px}.bootstrap-datetimepicker-widget table td.active,.bootstrap-datetimepicker-widget table td.active:hover{background-color:#337ab7;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.bootstrap-datetimepicker-widget table td.active.today:before{border-bottom-color:#fff}.bootstrap-datetimepicker-widget table td.disabled,.bootstrap-datetimepicker-widget table td.disabled:hover{background:none;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget table td span{display:inline-block;width:54px;height:54px;line-height:54px;margin:2px 1.5px;cursor:pointer;border-radius:4px}.bootstrap-datetimepicker-widget table td span:hover{background:#eee}.bootstrap-datetimepicker-widget table td span.active{background-color:#337ab7;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.bootstrap-datetimepicker-widget table td span.old{color:#777}.bootstrap-datetimepicker-widget table td span.disabled,.bootstrap-datetimepicker-widget table td span.disabled:hover{background:none;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget.usetwentyfour td.hour{height:27px;line-height:27px}.bootstrap-datetimepicker-widget.wider{width:21em}.bootstrap-datetimepicker-widget .datepicker-decades .decade{line-height:1.8em!important}.input-group.date .input-group-addon{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.bootstrap-datetimepicker-widget table td{height:auto;line-height:inherit;width:auto}.bdpw-clock-digit,.bdpw-timepicker-btn{width:32px!important;height:36px!important;line-height:36px!important;text-align:center;font-weight:700;font-size:1.2em;margin:0}.bdpw-clock-digit{color:gray}.bdpw-clock-digit.center{color:#333}.bootstrap-datetimepicker-widget table td .bdpw-clock-digit.disabled{color:#ccc}.bdpw-clock-digit.cursor{color:#337ab7}.bdpw-clock-digit.left{position:relative;left:-8px}.bdpw-clock-digit.right{position:relative;left:8px}.bdpw-clock-digit.top{position:relative;top:-5px}.bdpw-clock-digit.bottom{position:relative;top:5px}.bootstrap-datetimepicker-widget .timepicker{border:2px dotted #a5a5a5;border-radius:30px;margin:0 5px;padding:0 5px;background:url(../images/clock-bg-sm.png) center no-repeat;background-size:192px}.bootstrap-datetimepicker-widget table td span.bdpw-timepicker-colon{display:inline;font-weight:700}.bootstrap-datetimepicker-widget.dropdown-menu{width:294px;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.bootstrap-datetimepicker-widget table td span.pm-digit{display:none}.bootstrap-datetimepicker-widget .pm-view td span.am-digit{display:none}.bootstrap-datetimepicker-widget .pm-view td span.pm-digit{display:inline-block}.bootstrap-datetimepicker-widget .table-condensed>thead>tr>th,.bootstrap-datetimepicker-widget .table-condensed>tbody>tr>td,.bootstrap-datetimepicker-widget .table-condensed>tfoot>tr>td{padding:5px} \ No newline at end of file diff --git a/WebContent/email-sources.jsp b/WebContent/email-sources.jsp index 4a793baa..9dae6768 100755 --- a/WebContent/email-sources.jsp +++ b/WebContent/email-sources.jsp @@ -1,15 +1,19 @@ <%@page contentType="text/html; charset=UTF-8"%> <%@page trimDirectiveWhitespaces="true"%> -<%@page language="java" import="edu.stanford.muse.AddressBookManager.AddressBook"%> -<%@page language="java" import="edu.stanford.muse.index.Archive"%> -<%@page language="java" import="java.util.Set"%> -<%@ page import="edu.stanford.muse.webapp.ModeConfig" %> +<%@page language="java" import="edu.stanford.epadd.util.EmailConvert"%> +<%@page language="java" %> +<%@page language="java" %> <%@page language="java" %> <%-- <%@ page import="Internationalisation.ReadFromProp"%> --%> - +<% + EmailConvert.activateLicense(); +/* + 2022-11-09 Added Sidecar file listing +*/ +%> @@ -279,7 +283,7 @@ if (archive != null) { - + @@ -353,6 +357,12 @@ if (archive != null) {

+ + <% if (archiveID != null) { %> + + <% } %>
@@ -408,6 +418,13 @@ if (archive != null) {