Permalink
Browse files

added many help docs

add folder div now also assigns a UUID-based PID, like capture
add slf4j logging to crosswalk plugin
attempted to remove system.out calls from crosswalks..
  • Loading branch information...
1 parent 43afa39 commit 5abe53ba71991dc4be0479f1317aafca0180ed80 @gregjan gregjan committed Aug 2, 2012
@@ -15,4 +15,5 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport,
org.eclipse.core.resources,
mods.model;bundle-version="0.0.0",
- mets.model;bundle-version="0.0.0"
+ mets.model;bundle-version="0.0.0",
+ org.slf4j.api;bundle-version="1.6.4"
@@ -28,6 +28,8 @@
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import crosswalk.CrosswalkPackage;
import crosswalk.DataException;
@@ -50,6 +52,9 @@
* @generated
*/
public class DateRecognizerImpl extends WalkWidgetImpl implements DateRecognizer {
+
+ @SuppressWarnings("unused")
+ private static final Logger LOG = LoggerFactory.getLogger(DateRecognizerImpl.class);
/**
* The cached value of the '{@link #getOutput() <em>Output</em>}' reference.
* <!-- begin-user-doc --> <!--
@@ -186,15 +191,15 @@ public Object getResult() throws DataException {
Object o = this.getOutput().getResult();
if (o != null && o instanceof String) {
String input = (String) o;
- System.out.println("got an input string: "+input);
+ LOG.debug("got an input string: "+input);
for (String format : this.getFormats()) {
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
sdf.setLenient(false);
Date dt = sdf.parse(input);
- System.out.println("parsed a date: "+dt.toString());
+ LOG.debug("parsed a date: "+dt.toString());
ImpreciseDate.DatePrecision precision = ImpreciseDate.getFormatPrecision(format);
- System.out.println("get precision: "+precision);
+ LOG.debug("get precision: "+precision);
result = new ImpreciseDate(dt);
if (precision != null) {
result.setPrecision(precision);
@@ -13,6 +13,8 @@
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import crosswalk.CrosswalkPackage;
import crosswalk.DateToISO8601StringConversion;
@@ -29,6 +31,9 @@
* @generated
*/
public class DateToISO8601StringConversionImpl extends EObjectImpl implements DateToISO8601StringConversion {
+
+ @SuppressWarnings("unused")
+ private static final Logger LOG = LoggerFactory.getLogger(DateToISO8601StringConversionImpl.class);
//private static final SimpleDateFormat centuryFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
//private static final SimpleDateFormat decadeFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
private static final SimpleDateFormat yearFormat = new SimpleDateFormat("yyyy");
@@ -68,7 +73,7 @@ public Object convert(Object input) {
}
if(input instanceof ImpreciseDate) {
ImpreciseDate date = (ImpreciseDate)input;
- System.out.println("got imprecise date with precision: "+date.getPrecision());
+ LOG.debug("got imprecise date with precision: "+date.getPrecision());
if(DatePrecision.Year.equals(date.getPrecision())) {
return yearFormat.format(date);
} else if(DatePrecision.Month.equals(date.getPrecision())) {
@@ -16,6 +16,8 @@
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.EObjectImpl;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import crosswalk.ContextProvider;
import crosswalk.ConversionStrategy;
@@ -44,6 +46,9 @@
* @generated
*/
public class MappedAttributeImpl extends EObjectImpl implements MappedAttribute {
+
+ @SuppressWarnings("unused")
+ private static final Logger LOG = LoggerFactory.getLogger(MappedAttributeImpl.class);
/**
* The default value of the '{@link #getException() <em>Exception</em>}' attribute.
* <!-- begin-user-doc -->
@@ -504,7 +509,7 @@ public Class getInputType() {
*/
public void updateRecord(EObject record) {
EAttribute myAttribute = this.getMappedFeature();
- System.out.println("my type: " + myAttribute.toString());
+ LOG.debug("my type: " + myAttribute.toString());
// the value to set
Object setting = null;
@@ -22,6 +22,8 @@
import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.util.InternalEList;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import crosswalk.ContextProvider;
import crosswalk.CrosswalkPackage;
@@ -46,6 +48,9 @@
* @generated
*/
public class MappedElementImpl extends EObjectImpl implements MappedElement {
+
+ @SuppressWarnings("unused")
+ private static final Logger LOG = LoggerFactory.getLogger(MappedElementImpl.class);
/**
* The default value of the '{@link #getException() <em>Exception</em>}' attribute.
@@ -278,9 +283,9 @@ else if (eNotificationRequired())
public void updateRecord(EObject record) {
if (this.getMappedFeature() != null && this.getMappedFeature().getEReferenceType() != null) {
EClass mytype = this.getMappedFeature().getEReferenceType();
- System.out.println("my type: " + mytype.toString());
+ LOG.debug("my type: " + mytype.toString());
EObject myobject = mytype.getEPackage().getEFactoryInstance().create(mytype);
- System.out.println("my object: " + myobject.toString());
+ LOG.debug("my object: " + myobject.toString());
for (MappedAttribute ma : this.getAttributes()) {
ma.updateRecord(myobject);
}
@@ -298,7 +303,7 @@ public void updateRecord(EObject record) {
record.eSet(getMappedFeature(), myobject);
}
}
- System.out.println("my modified parent: " + record.toString());
+ LOG.debug("my modified parent: " + record.toString());
}
}
@@ -27,14 +27,13 @@
import java.util.Map.Entry;
import java.util.Set;
-import org.eclipse.core.resources.IFolder;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import crosswalk.CrossWalk;
import crosswalk.CrosswalkPackage;
@@ -62,6 +61,8 @@
* @generated
*/
public class OriginalNameRecordMatcherImpl extends WalkWidgetImpl implements OriginalNameRecordMatcher {
+
+ private static final Logger LOG = LoggerFactory.getLogger(OriginalNameRecordMatcherImpl.class);
/**
* The cached value of the '{@link #getOutput() <em>Output</em>}' reference.
* <!-- begin-user-doc --> <!--
@@ -338,7 +339,7 @@ public void run() throws DataException {
}
MetsType mets = crosswalk.getMetsSource().getMets();
- System.out.println("Running the original name record matcher.");
+ LOG.debug("Running the original name record matcher.");
Map<DivType, String> matches = new HashMap<DivType, String>();
Map<String, Set<DivType>> divPatterns = new HashMap<String, Set<DivType>>();
Map<String, Set<String>> recordPatterns = new HashMap<String, Set<String>>();
@@ -421,7 +422,7 @@ private void processRecord(DataSource ds, Map<String, Set<String>> recordPattern
}
}
String recordID = ds.getRecordID();
- System.out.println("processMember( pattern:"+pattern+", "+recordID);
+ LOG.debug("processMember( pattern:"+pattern+", "+recordID);
if (recordPatterns.containsKey(pattern)) {
recordPatterns.get(pattern).add(recordID);
} else {
@@ -439,7 +440,7 @@ private void processRecord(DataSource ds, Map<String, Set<String>> recordPattern
private void processMembers(DivType container, Map<String, Set<DivType>> divPatterns) throws CoreException {
for (DivType div : container.getDiv()) {
String pattern = getDivPattern(div);
- // System.out.println("processMember( pattern:"+pattern+", "+r.toString());
+ // LOG.debug("processMember( pattern:"+pattern+", "+r.toString());
if (divPatterns.containsKey(pattern)) {
divPatterns.get(pattern).add(div);
} else {
@@ -62,7 +62,7 @@
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-jsch</artifactId>
- <version>1.7.0</version>
+ <version>1.8.4</version>
</dependency>
<dependency>
<groupId>ant-contrib</groupId>
@@ -97,6 +97,7 @@
keyfile="${cw.deploy.keyfile}"
trust="true"
command="rm -rf --preserve-root ${cw.deploy.basedir}/${project.version}"
+ verbose="true"
failonerror="false" />
</then>
</if>
@@ -106,13 +107,15 @@
passphrase="${cw.deploy.passphrase}"
keyfile="${cw.deploy.keyfile}"
trust="true"
+ verbose="true"
command="mkdir ${cw.deploy.basedir}/${project.version}" />
<sshexec
host="${cw.deploy.host}"
username="${cw.deploy.username}"
passphrase="${cw.deploy.passphrase}"
keyfile="${cw.deploy.keyfile}"
trust="true"
+ verbose="true"
command="mkdir ${cw.deploy.basedir}/${project.version}/repository" />
<scp
todir="${cw.deploy.username}@${cw.deploy.host}:${cw.deploy.basedir}/${project.version}/repository"
@@ -130,6 +133,7 @@
passphrase="${cw.deploy.passphrase}"
keyfile="${cw.deploy.keyfile}"
trust="true"
+ verbose="true"
command="mkdir ${cw.deploy.basedir}/${project.version}/products" />
<scp
todir="${cw.deploy.username}@${cw.deploy.host}:${cw.deploy.basedir}/${project.version}/products"
@@ -152,4 +156,4 @@
</plugin>
</plugins>
</build>
-</project>
+</project>
View
No changes.
@@ -7,20 +7,34 @@
</head>
<body>
<h1>Arrangement</h1>
- <p>After capture and staging, a logical representation of the
- original files appears in the Arrangement section of the Project
- Navigation window. This hierarchy can be edited. Files the user may
- not want to appear in the end result (e.g. metadata files or
- file-system generated files) may be removed from this hierarchy. At
- the point of capture, the logical hierarchy mirrors that of the
- original folder structure, but you may choose to modify this
- arrangement and organize materials differently (e.g. one may wish to
- facilitate the discovery of files by end-users).</p>
+ <p>
+ After <a href="capture.html">capture</a> a logical representation of
+ the original file tree appears in the arrangement section of the
+ project navigator. The arrangement tree can be edited. All changes
+ affect the logical representation of files in the METS manifest and
+ have no affect on the original files.
+ </p>
- <p>Additionally, item- and folder-level description may be added in
- the Arrangement section of the Project Navigation Window. Files and
- folders may be renamed. It is important to bear in mind that these
- changes only affect the logical representation of the files, not the
- originals themselves.</p>
+ <p>Files may be removed or deleted from the arrangement, which is
+ the same as un-capturing them. When initially captured, the
+ arrangement tree mirrors the original captured folder tree, but you
+ may modify it and organize materials differently. For instance, you
+ may want to create an arrangement that facilitates discovery of
+ materials by end-users.</p>
+
+ <p>The arrangement represents the objects as they are organized and
+ described in the manifest and in the repository, after submission.
+ File and folder-level descriptions may be added in the arrangement.
+ Files and folders may be renamed.
+ <p>If your repository supports compatible metadata, you can use the
+ arrangement to assign many more properties to your objects:
+ <ul>
+ <li>assign roles to groups for access controls</li>
+ <li>set default sort order for folders</li>
+ <li>define collections and aggregate works</li>
+ <li>assign thumbnail images to collection and other containers
+ </p>
+ <li>describe any part of the tree in a MODS record</li>
+ </ul>
</body>
</html>
@@ -7,10 +7,9 @@
</head>
<body>
<h1>Capture</h1>
- <p>The process by which the workbench begins its manifest of your
- originals. The workbench includes the original arrangement and
- location of the files and folders in this manifest and creates a new,
- editable list in the Arrangement section of the Project Navigation
- window.</p>
+ <p>Capture records your originals in the METS manifest for a project.
+ Once captured, originals will be represented in the project <a href="arrangement.html">arrangement</a>, which
+ is really a view into the METS structMap for the project. Captured originals
+ are marked as captured and any files captured are also queued for <a href="staging.html">staging</a>.</p>
</body>
</html>
@@ -10,17 +10,18 @@
<p>The workbench now supports the design of deposit forms for
particular audiences and uses. Forms are built from descriptive text
blocks and data entry fields. The data entry fields are connected via
- crosswalk-like mappings to the intended MODS elements.</p>
+ crosswalk-like mappings to the intended MODS elements. Most of the time the
+ mappings used in forms are taken from a <a href="dictionaries.html">data dictionary</a>.</p>
<p>If you need to support web-based deposit of materials, then this
forms feature is one approach to consider. The forms feature
simplifies the creation of ad hoc deposit forms, shifting the design
- task from software developers to curators, who are more familiar with
- their depositor community and MODS descriptive standards.</p>
+ task from software developers to librarians and archivists, who are more familiar with
+ the depositor community and MODS descriptive standards.</p>
<p>Form definitions created in the workbench must be deployed to a
web server in order to be used on the web. The CDR has written a
form-based deposit service that performs repository ingest of
- materials via the SWORD protocol. Similar form-based deposit services
- may be written to deposit via other protocols or package submitted
+ described materials via the SWORD protocol. Similar form-based deposit services
+ may be written to deposit via other protocols or to package submitted
materials in a staging location.</p>
</body>
</html>
@@ -5,20 +5,21 @@
</head>
<body>
<h1>Originals</h1>
- <p>Originals refer to the objects and files you are working on,
- although the term is a bit misleading. Although these are the data
- that the workbench allow you to inspect and capture, the workbench
- does not modify or move the original files, nor will it allow the user
- any means to modify, open, or delete the original files. For this
- reason, the workbench refers to adding originals to a project as
- "linking to originals".</p>
- <p>Once you point the workbench to the original files, they will
+ <p>Originals refer to the files and folders you are accessioning.
+ The workbench will only read and make copies of these original files and
+ will not modify them. They are left in their original location on the local,
+ removable or network drive. For this reason we say that the project is
+ "linked to originals", since originals are not really moved inside of the project.</p>
+ <p>Once you link your project to some original files, they will
appear in the Project Navigator window under Originals. The file tree
- will reflect their arrangment as it exists in the file system. While
+ will reflect their arrangement as it exists in the file system. While
you can view the filenames and structure of the directories, you
- cannot modify the file in any way. If you wish to inspect its
- contents, you can open a copy in its default application by
- right-clicking a file. For instance, a .csv file will open a temporary
- copy in Microsoft Excel.</p>
+ cannot modify the file in any way.</p>
+ <p>Many file viewers in your operating system are also editors. Therefore you
+ risk altering a file when you open it in such a viewer. For this reason the workbench
+ makes it convenient to open a temporary copy of any original file in the default viewer.
+ If you wish to view an original file, right-click on it.
+ For instance, a .xls file will be copied first and then the copy will open
+ in Microsoft Excel.</p>
</body>
</html>
@@ -16,5 +16,10 @@
one export format: submission to the Carolina Digital Repository. The
export format is a METS XML file, with MODS elements included from a
crosswalk or other user-added description.</p>
+ <p>Other forms of export are also available from the Export Menu. These
+ include export of the project's Arrangement to a CSV file and export
+ of the entire project to another location or a ZIP archive.</p>
+ <p>New forms of project export are possible to support work flow
+ needs. Share your needs on GitHub or via the users forum.</p>
</body>
</html>
Oops, something went wrong.

0 comments on commit 5abe53b

Please sign in to comment.