lcnetdev / bfe Goto Github PK
View Code? Open in Web Editor NEWLicense: Creative Commons Zero v1.0 Universal
License: Creative Commons Zero v1.0 Universal
this issue was reported on the transformation project:
ntra00/marc2bibframe#92
Filling in Add holding template discovered that multiple call # instances display in one field in the bibframe editor. Compare shelfmark input with callNumber field output below which captures both possible 050's but does not separate them.
bf:shelfMarkLcc
TN1.U6
bf:authorizedAccessPoint
Production of industrial explosives in the United States, during the calendar year ... (Washington: U.S.G.P.O., 1942-1944.)
ID: _:b20resourcesinstances0034358710001
Type(s)
http://bibframe.org/vocab/Organization
bf:label
United States. Bureau of Mines.
http://www.w3.org/2000/01/rdf-schema#label
United States. Bureau of Mines.
http://www.loc.gov/mads/rdf/v1#authoritativeLabel
United States. Bureau of Mines.
http://www.loc.gov/mads/rdf/v1#elementList
_:b28resourcesinstances0034358710001
ID: _:b29resourcesinstances0034358710001
Type(s)
http://www.loc.gov/mads/rdf/v1#NameElement
http://www.w3.org/1999/02/22-rdf-syntax-ns#rest
_:b031
http://www.loc.gov/mads/rdf/v1#elementValue
United States.
ID: http://id.loc.gov/resources/instances/0034358710001
Type(s)
http://bibframe.org/vocab/Instance
bf:title
Production of industrial explosives in the United States, during the calendar year ...
bf:variantTitle
Production of industrial explosives in the United States
Production of industrial explosives in United States
Production of industrial explosives in the U.S
Production of industrial explosives
bf:contributor
_:b20resourcesinstances0034358710001
bf:provider
_:b35resourcesinstances0034358710001
bf:placePub
_:b39resourcesinstances0034358710001
bf:pubDate
1942-1944.
bf:callNumber
TN1 .U6 TP270.A1 P7
LDAP
Currently the editor throws errors in the console if the user is not authorized to access the Verso endpoints. It should instead present better feedback to the user.
The cursor should default to the first input box in a modal window.
The label for composite properties should select all the labels from the subproperties - e.g. Contributor should have the label Agent, role not "Contributor".
The labels for subjects repeat when loaded.
In a lookup with a unique ID (e.g. names) allow the user to type in the lccn instead of the name.
Allow switching from bnode to canonical.
3.1.5 Prepare editor to send and receive API calls for sending and receiving profiles, templates, etc. to ML database.
Profiles are stored in a database not a file system (aka verso/marklogic)
@kirkhess I am starting to document the places where Stanford needed to make changes to this file. This is the first one... - Josh
Line 415 in 4169fdc
"headers": {
'Access-Control-Allow-Origin': '*',
'Content-Type':'application/json',
'Access-Control-Allow-Methods': 'DELETE, HEAD, GET, OPTIONS, POST, PUT',
'Access-Control-Allow-Headers': 'Content-Type, Content-Range, Content-Disposition, Content-Description',
'Access-Control-Max-Age': '1728000'
},
Simplify deployment (grunt? Incl. npm install package.json in Readme)
Cloud9 instructions
move profiles into profile dir.
Editor gets a MARC record from designated place and transforms it using marc2bibframe2 (aka metaproxy), “screens” it, employing result of 3.2.2
BFE's JSON-LD Expanded output seems to be invalid. An attempt to load sample output into Fuseki throws an error: "invalid type value: @type value must be a string or array of strings." Current BFE output has "@type": [{"@id": "http://bibframe.org/vocab/Work"}]
, whereas well-formed JSON-LD would be "@type": ["http://bibframe.org/vocab/Work"]
.
After cloning this repository when I load either index.html or development.html in Firefox or Chome and clicking on any of the profiles, the editor does not load. I might be missing a crucial step but under both I'm receiving this javascript error:
dropping module because define wasn't a string. bfe.min.js:1,
I thought the issue might be because I need the run the editor as a node.js application but when I try running node bfe
I'm receiving a similar error:
(function (exports, require, module, __filename, __dirname) { define(function(
^
ReferenceError: define is not defined
at Object. (C:\Users\jernelson\Development\bfe\src\bfe.js:1:63)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
As an alternative/complement to lookups, I'd like to be able to define a list of values to select from a drop-down menu. The BFE's implementation of the Profiles spec lets users define default values for resource properties ("defaultURI" and "defaultLiteral"). It would also be great to have something like "optionalURIs" and "optionalLiterals" that a user could easily choose from, without having to do multiple lookups.
Out of the box, the bfe ouputs json-ld expanded and it can load jsonp. Has it been 'plugged into' a store using these formats? If so, perhaps some details could be provided in the docs?
When I try to start the rectum, I get the following error:
body-parser deprecated bodyParser: use individual json/urlencoded middlewares node_modules/ldpjs/index.js:22:9
body-parser deprecated undefined extended: provide extended option node_modules/body-parser/index.js:105:29
[Function: createIndexDoc]
(node:30) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
listening on 3000
/app/node_modules/mongodb/lib/utils.js:671
throw error;
^
MongoNetworkError: failed to connect to server [localhost:27017] on first connect [Error: connect ECONNREFUSED 127.0.0.1:27017
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) {
name: 'MongoNetworkError'
}]
at Pool.<anonymous> (/app/node_modules/mongodb/lib/core/topologies/server.js:438:11)
at Pool.emit (events.js:316:20)
at /app/node_modules/mongodb/lib/core/connection/pool.js:562:14
at /app/node_modules/mongodb/lib/core/connection/pool.js:995:11
at /app/node_modules/mongodb/lib/core/connection/connect.js:32:7
at callback (/app/node_modules/mongodb/lib/core/connection/connect.js:280:5)
at Socket.<anonymous> (/app/node_modules/mongodb/lib/core/connection/connect.js:310:7)
at Object.onceWrapper (events.js:423:26)
at Socket.emit (events.js:316:20)
at emitErrorNT (internal/streams/destroy.js:84:8)
at processTicksAndRejections (internal/process/task_queues.js:84:21) {
name: 'MongoNetworkError'
}
[nodemon] app crashed - waiting for file changes before starting...
But, my connection uri is correct. On the verso, it works very well
The LC Children's subject headings are part of the subject lookup, and it would be give them the same pop-up treatment. Content-wise it’s the same as subjects (variants, broader, narrower terms)
When I start the server the console errors with 404 for these files:
http://0.0.0.0:8000/static/profiles/bibframe/BIBFRAME%202.0%20Load.json
http://0.0.0.0:8000/static/profiles/bibframe/BIBFRAME%202.0%20IBC.json
Can you include these in the new Master branch?
Hi,
I try to enable external access to the server but it does not work. My installation works locally (wget localhost: 3000, it works) but not from the outside (the server is correctly configured, there are no firewalls, etc.)
I have changed the variable:
rightBase = "http: // localhost: 3000"; with my "myIP": 3000 in config-dev.js file
What other configuration am I forgetting?
Some paths from file configurations are linked to LoC servers. Can be they a problem?
Best,
Isaac
Import and clone
Currently LOC uses builds/bfe.dev.js
for active development. This seems counter to suggested software development practice when using Grunt where code editing occurs in src
or app
and the distribution files are located in the build
including the minified versions of the source code (both javascript and css to start).
Extending the existing Grunt.js
grunt file, the current master branch of Sinopia BFE (based on the LOC development branch) has moved the builds/bfe.dev.js
to src/bfe.js
. The files in the builds directory are not under source control but instead are generated with the default grunt task.
As the Sinopia development ramps up, we have started deconstructing the bfe code base to be more modular for better change management, programmer coordination, and testing coverage. We would still like to continue to pull in upstreams changes but would propose that LOC merge our changes and start developing on the src/bfe.js
to facilitate continued collaboration moving forward. If this agreeable, we can do a pull request from Sinopia but would require manual merging of the most recent commits of bfe.
If it would help, I would be happy to do a conference call to explain these changes in more detail.
Enable adding new element not in the profile being used, then display
As mentioned on a listserv post, we're requesting that the BFE UI labels be either more closely aligned with or replaced with the actual bf: vocab to promote understanding of and familiarity with the vocab. While some of the examples below are clearly more confusing than others, when we stop to look these things up in the vocab and can’t readily find a match or the definition seems out of whack, we lose focus and momentum.
These comments are based on work with the BFE demo New Monograph forms and the comparisons are made to the list view of the vocab – I’ve gone through the Work and Instance sections of New Monograph for examples, but not the Holdings.
UI Label/bf vocab term
Variant title type/bf:titleType
Variant title data/bf:titleVariationDate
Other Authority Information/bf:referenceAuthority
Authority information/bf:hasAuthority
Creator role/bf:creator (actually, I’d prefer bf term to change here as the label is more descriptive)
Contributor role/bf:contributor (again, the label is more descriptive than the bf term)
Work content category/bf:contentCategory (I think this is the correct pairing per the BFE output, but the label for contentCategory in the vocab list view is Content type)
Local identifier/bf:local (again, the label is more descriptive than the bf term)
Part title enumeration/bf:partNumber (the vocab shows the label for this term as Part Number)
Other attribute of title/bf:titleAttribute (the vocab shows the label for this term as Other title attribute)
Edition Statement/bf:edition
Media type/bf:mediaCategory
Carrier/bf:carrierCategory (but the vocab shows the label as Carrier type)
Page nos./bf:extent
‘Has derivative’ is a UI label in the Instance form, but the definition of bf:hasDerivative is “Work has a modification for which it is the source” – so is this an Instance property?
‘Is Derivative of’ is a UI label in the Instance form but the definition of bf:derivativeOf (bf:isDerativeOf is no longer valid) is “Work is a modification of a source work”, so is this an Instance property? Should this actually be bf:derivedFrom in the Instance form?
Author, Editor, and Publication have no corresponding vocab terms, and while we obviously understand what the expected data is about, it’s not clear up front how that data is resolving in BF, e.g., as a BF Authority for author. Most people will not have the same depth of familiarity with the BF model that you and I have, so while it may seem patently clear to us that Author data resolves to a BF Authority, it may not be as clear to others (at least at the start).
Another lookup to add is bf:genreForm. Content-wise it’s the same as subjects (variants, broader, narrower terms)
In the BFE Simple Monograph/New Work and New Monograph forms the only Classification options are DDC and LCC, which are insufficient. Please add, at least, NLM and the generic Classification. Thanks.
From Paul:
There is a good use case for creating a template that will have text that might be repeated across descriptions. For example, I am describing multiple resources that have the same Publication, Distribution, Manufacture Information; and the same Provider statement. Is there a way to key in data and have it saved as part of the template? It could be for look-up text, literal text, or both. So, in this case, for look-up, if I selected this:
which would default to this on the template page:
is there a way to save that data as part of the template?
For look-up text, the same idea, could something like this become part of a template, so I would not need to key it each time?:
It would be great if code-built artifacts weren't checked into the git repo. It avoids confusion downstream when you, for example, run grunt and correctly overwrite something and then discover that your new file shows changes because it was checked into git.
I'm new to grunt and this ecosystem, but removing all the contents of the builds directory would be a great start, and then adding builds/*
to .gitignore
(I'm working with @jermnelson at Stanford if this seems like it's coming out of nowhere. We've already made this change in our downstream app. I can do a PR if you'd like.)
From Dan Tam Do via Jackie Shieh:
Editor's New Instance form and have identified at least one problem with it: it currently provides no way to enter more than one Provider Entity, i.e., no way to enter a co-publisher, printer, distributor, etc.
Acknowledged. Add a publisher/Provider and then try to add another one. Just opens the one that was just added.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.