eudat-b2share / b2share Goto Github PK
View Code? Open in Web Editor NEWB2SHARE software for the EUDAT CDI services.
Home Page: https://b2share.eudat.eu
License: GNU General Public License v2.0
B2SHARE software for the EUDAT CDI services.
Home Page: https://b2share.eudat.eu
License: GNU General Public License v2.0
(EUDAT-364b on the CSC JIRA)
When uploading several files, if you stop and start the upload quickly, occasionally, the red "Stop Upload" button is placed to the right of the green "Start Upload" button, and both are briefly visible. I was unable to consistently generate this error, and it does not happen every time.
This is a minor error, as the problem fixes itself, and the files themselves appear to be uploaded correctly.
https is not needed for oai2d-interface (as it is public data) and OAI-PMH standard requires http so that path needs to be changed to answer through http.
The B2SHARE UI must have an section with a CAPTCHA protected form for "Report Abuse or Inappropriate Content" which creates a B2SHARE-Abuse RT Ticket
The Form must contain following fields:
Report Subject: Abuse or Inappropriate content | Copyrighted material | No research data | Illegal content (choose one)
URL of Inappropriate content within B2SHARE
Why is the content Inappropriate? (500 char)
Your claim is based on: The content violates my rights | I am annoyed by the content | I am the legal owner of the content
Your name:
Your affiliation
Your email address
Your address
Your phone number
B2SHARE UI must also contain a valid link to B2SHARE ToU (Terms of Use)
change the contact link on the pages to point support request form @ http://www.eudat.eu/support-request
is now running the same version of Invenio + Simplestore as KTH.
There was some config issues, though. Because the older version of
Invenio/Simplestore uses Jinja 2.6 and the new one Jinja 2.7
From /opt/invenio/lib/python/invenio/jinja2utils.py
had to be commented off:
I guess it's because jinja2 2.6 had _markupsafe-subdir under the jinja2 dir
and jinja2 2.7 uses the MarkupSafe-module. And the requirements for the jinja2 was
installed orginally from the requirements which we got from:
https://raw.github.com/SimpleStore/invenio-scripts/master/install/install-invenio-deps-rh.sh
https://b2share.eudat.eu is still running the version, which is installed from the git.
(split the issue as needed, guys)
We now have several testing records (search for empty string to list):
https://b2share.eudat.eu/search?p=&action_search=z
OAI-PMH server displays no records:
https://b2share.eudat.eu/oai2d?verb=ListRecords&metadataPrefix=oai_dc
After the metadata fields are filled in and the "Deposit" button is clicked, there is a pause while a PID is retrieved from the EPIC server. There should be some feedback to the user while this is happening, similar to the "Loading Form" message after you select a Domain.
The CSC guys deployed the HEAD revision from our repository, but the instance at http://b2share.eudat.eu has a few diferences compared to Ilja's KTH instance:
Find out where the problem is and explain, so that CSC team can fix it.
See related ticket: Create abuse form - basic
A confirmation email should be sent to the requestor address above, after that a RT ticket can be created
After that, a confirmation email for created RT ticket is to be sent to the submitter:
" Thank you for submitting an abuse resolve request to B2SHARE Abuse. Your request will be handled by our administrators. You will receive an reply to your request.
**
Note. Also consider how to implement the mail intergation so that email cannot be used by spammers to relay spam,,...
See file etc/bibformat/format_templates/OAI_DC.xsl, check whether this is the one used for OAI-PMH, add more informations to it.
Configure it as suggested in #12 by Ilja. Look into the relevant parts of user feedback in https://jira.csc.fi/browse/EUDAT-364.
Leave it for the subdomains if required.
If one goes to the record page describing a specific resource (e.g. https://b2share.eudat.eu/record/24) on the right a Metadata area shows up. The PID link inside is a local handle system prefix (currently epic.sara.nl/v2/handles) instead of the global hdl.handle.net/ prefix. Change this to point to the global handle system URL.
On the logs it will generate error:
2013-12-18 08:15:06 --> Input file '/invenioupload/var/tmp-shared/webdeposit_2013-12-18_08:13:57NTUywM.marcxml', input mode 'replace'.
2013-12-18 08:15:06 --> Stage 2 failed: Error while elaborating FFT tags: Incorrect padding
2013-12-18 08:15:06 -->
The correct order should be:
Add intros to b2share.
Use the latest stable release of Invenio to test B2SHARE deployment.
If this works, we move to this stable release as our base.
Use CFG_HANDLE_SYSTEM_BASEURL instead of the 'location'.
Just like #20
I've now played around a little bit more now with this persistent XSS-issue and it seems that the description/tag-fields are atleast vulnerable, possible others also. How it works is that the attacker can add some malicious code in <script></script>-tags to description/tag field (possible to others also) and after that it can be executed for example when some other user finds the malicious record from the search-records.
Solution is that the input from the fields needs to be also escaped. There are some good ways explained in http://en.wikipedia.org/wiki/Cross-site_scripting
This is more Simplestore-related issue, and not in relation to the reflected cross-size scripting issue which was found in Invenio
(Copied from CSC JIRA)
The formatting of the metadata fields is poor: "Description" is aligned to the top of the text entry, and the "Open Access" switch button is the wrong size or should be aligned right. (It's not totally clear which is better.)
Sign in to https://b2share.eudat.eu/youraccount/login/ with nonsense information. The page just silently reloads giving no feedback on what happened.
Uploading to B2Share seems to be quite slow. Check what is causing this (http-server config? invenio? hw?
We need a way for developers to work in the same environment, especially configured in the same way, as the deployment machine uses.
CSC guys already have a common development VM for us, which has the same environment as the public deployment at b2share.eudat.eu.
So we need an efficient way for each developer to request (or make himself) a clone of this common dev virtual machine.
This is a blocker issue. Until it is resolved we can't solve quite a few other things.
(EUDAT-364c on CSC JIRA)
When uploading a file, the file is split into chunks, and then recombined when the entire file is uploaded. When stopping the upload of a large file, the progress bar goes back down to zero. If you resume the upload, the upload starts again from scatch, instead of resuming from where it left off, (or starting again with the first uncompleted chunk.)
If a file upload is permanently halted, the chunks remain in the upload directory.
Running on a virtual machine with limited space and memory, I was unable to test how the upload performs with really large data, but I verified that it works on a file size of 354MB. The upload for that file took about 4 minutes, even though it was on a local machine.
The new design implemented by Emanuel.
In the search box open the options-ticker. There is "Browse" button down that should show all records. It shows none.
In simplestore-addmeta-table.html, there are options at the bottom of the file for how the tooltip should appear. These are not currently working - instead default values are being used. There is no delay, and the trigger is set to both hover & focus.
(EUDAT-364d on CSC JIRA)
On the login page the is a link marked "Lost your password?" Following that link leads to a 404 error.
accounts seems to be usable even without account activation and account policy is requiring account activation
When searching with an empty string. Logs below.
2014-01-14 19:00:50,181 ERROR: Exception on /search [GET] [in /usr/lib/python2.6/site-packages/flask/app.py:1423]
Traceback (most recent call last):
File "/usr/lib64/python2.6/site-packages/invenio/webinterface_handler_flask.py", line 244, in __call__
response = self.app.full_dispatch_request()
File "/usr/lib/python2.6/site-packages/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python2.6/site-packages/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib/python2.6/site-packages/flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python2.6/site-packages/flask/app.py", line 1461, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/usr/lib64/python2.6/site-packages/invenio/webinterface_handler_flask_utils.py", line 199, in decorated_function
return render(template_name, **ctx)
File "/usr/lib/python2.6/site-packages/flask/templating.py", line 128, in render_template
context, ctx.app)
File "/usr/lib/python2.6/site-packages/flask/templating.py", line 110, in _render
rv = template.render(context)
File "/usr/lib/python2.6/site-packages/jinja2/environment.py", line 969, in render
return self.environment.handle_exception(exc_info, True)
File "/usr/lib/python2.6/site-packages/jinja2/environment.py", line 742, in handle_exception
reraise(exc_type, exc_value, tb)
File "/opt/invenio/etc/templates/websearch_search.html", line 21, in top-level template code
{% from "websearch_results.html" import render_search_results with context %}
File "/usr/lib/python2.6/site-packages/jinja2/environment.py", line 1013, in make_module
return TemplateModule(self, self.new_context(vars, shared, locals))
File "/usr/lib/python2.6/site-packages/jinja2/environment.py", line 1070, in __init__
self._body_stream = list(template.root_render_func(context))
File "/opt/invenio/etc/templates/websearch_results.html", line 225, in top-level template code
{{ render_search_results(recids, collection, pagination, format_record) }}
File "/opt/invenio/etc/templates/page.html", line 114, in top-level template code
{% block page_body -%}
File "/opt/invenio/etc/templates/page.html", line 146, in block "page_body"
{% block body %}
File "/opt/invenio/etc/templates/websearch_results.html", line 222, in block "body"
{{ render_search_results(recids, collection, pagination, format_record) }}
File "/opt/invenio/etc/templates/websearch_results.html", line 159, in template
{%- if of[0] == 'h' -%}
File "/usr/lib/python2.6/site-packages/jinja2/environment.py", line 378, in getitem
return obj[argument]
UndefinedError: 'of' is undefined
Because we only copy templates/*.html files to the invenio directory we don't have our markdown files there. These markdown files provide the content for about/faq/tou and therefore we need to copy them. This is solved with pull request #48
(Issue copied from CSC JIRA)
Once bibupload is done, the temporary uploaded file can be safely deleted.
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.