Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

March release #657

Merged
merged 941 commits into from Mar 17, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
941 commits
Select commit Hold shift + click to select a range
8407884
Remove the full tree indexing again
marktriggs Feb 27, 2017
59e4191
I18n the digital object type in the digital object tree summary
payten Feb 24, 2017
fc511ef
AR-1660 use pui_repos config settings for repository email addresses
payten Feb 27, 2017
0879737
Merge pull request #627 from archivesspace/march-release-old-public
payten Feb 27, 2017
e612f1c
Add dates to archival object title in tree
payten Feb 24, 2017
88decf3
Style the enable reorder button green if enabled (to better distingui…
payten Feb 24, 2017
24b034f
AR-1647 add container inventory and top container pages to show what'…
payten Feb 22, 2017
2add644
Merge pull request #626 from archivesspace/container-summaries-for-th…
marktriggs Feb 28, 2017
55917ec
Refactor DB module to let us create multiple pools. Modify sequences…
marktriggs Feb 27, 2017
77c05ea
Merge pull request #623 from archivesspace/AR-1647
marktriggs Feb 28, 2017
efb01fc
Merge pull request #628 from archivesspace/refactored-db-module
payten Feb 28, 2017
3063082
Refactor indexer in preparation for PUI indexer changes
marktriggs Feb 28, 2017
ab1661b
Improve efficiency of PUI tree record indexing
marktriggs Feb 28, 2017
d839df5
Check for JSONModelType when checking for uris on incoming batch records
payten Feb 28, 2017
561bc83
Reduce crazy metaprogramming
marktriggs Feb 28, 2017
b8185c3
STANDARDS MUST REMAIN
marktriggs Feb 28, 2017
058e4ca
Do not allow cut of the root row
payten Feb 28, 2017
a373398
Add Transfer to AO tree toolbaR
payten Feb 28, 2017
220f6e7
Add header to infinite scroll page with bootstrap styling too
payten Feb 28, 2017
d77dc9c
Add copied tree resources to gitignore
payten Feb 28, 2017
32635f6
Disable turbolinks (we need control of the hashchange event to naviga…
payten Mar 1, 2017
ed69123
Allow the largetree to sync to the infinite tree
payten Mar 1, 2017
d5b134a
Handle a hash already on the path, so record is loaded and scrolled t…
payten Mar 1, 2017
561ad71
Rework the node_from_root endpoint to support batching
marktriggs Mar 1, 2017
956a2ec
Sync infinite panel with the large tree based on the element closest …
payten Mar 1, 2017
6b430d5
Use has_key? when checking for defaults to allow us to have boolean f…
marktriggs Mar 1, 2017
7c810a3
Add the option to exclude published/suppressed items
marktriggs Mar 1, 2017
aa4fb89
Remove stupid typo
marktriggs Mar 1, 2017
31272e3
No more fetch_tree
marktriggs Mar 1, 2017
f3c8430
Index the path from root in the format we're expecting
marktriggs Mar 1, 2017
77b9daa
Allow infinite records to link to their detailed pages. Also limit t…
payten Mar 1, 2017
847d8a4
Add a callback to the infinite scroll so we only setup sync'ing once …
payten Mar 1, 2017
12cb017
More work on the treesync code
marktriggs Mar 1, 2017
036e6d1
Add the tree view to digital object and classification record types
payten Mar 1, 2017
b1421af
Remove duplicate callback
marktriggs Mar 1, 2017
f9f64e1
Rename variables to apply to all tree types
marktriggs Mar 1, 2017
cad5fee
Add collection arrangement to resource and ao pages (reuses infinite …
payten Mar 1, 2017
be78c7e
In node_from_root, return title and collection information
marktriggs Mar 1, 2017
4f62fc0
Fix nesting of sidebars
payten Mar 1, 2017
849b945
Return the parent's title when building up the path to root
payten Mar 2, 2017
8cb382f
Add breadcrumbs for tree node records
payten Mar 2, 2017
5dc1630
Remove scroll from largetree displayNode and replace with scrollTo dr…
payten Mar 2, 2017
770bbd9
Fix transfer action should only be available on edit screen
payten Mar 2, 2017
5df6f5f
When a tree node is deleted, mark its root record for reindexing
marktriggs Mar 2, 2017
d8a233d
PUI indexer changes:
marktriggs Mar 2, 2017
96cefef
Always index record types configured for record inheritance
marktriggs Mar 2, 2017
9e847ab
Correct the PUI archival object parent record
marktriggs Mar 2, 2017
1bb3086
Typo fix
marktriggs Mar 2, 2017
0cffe07
Don't let an action on the dropdown menu clear the selection
marktriggs Mar 2, 2017
71e7fcc
Add move menu actions for nodes when in reorder mode
payten Mar 2, 2017
6fefff7
Ensure the self.node_selected_callback is executed when redrawing the…
payten Mar 2, 2017
695384d
Fix tree move action options not being rendered if tree branches were…
payten Mar 2, 2017
a15bc4a
Fix layout of publish form option on archival object form
payten Mar 2, 2017
5a63d5d
Only execute self.node_selected_callback for the current node, not ev…
payten Mar 2, 2017
961669a
Fix layout of publish form option on digital object component form
payten Mar 2, 2017
be5572f
Have the PUI Indexer record indexer states as it goes
marktriggs Mar 2, 2017
f7dc8e7
Update inheritiance test to match new composite identifier formatting…
payten Mar 2, 2017
41ceda4
Optimize fetching of top containers
marktriggs Mar 3, 2017
207917f
Merge pull request #634 from archivesspace/march-release-top-containe…
jambun Mar 3, 2017
c822633
Fix error calcualating path_to_root when node doesn't have a parent
payten Mar 3, 2017
01c8fe4
Reimplement plus-one form submissions on tree nodes
payten Mar 3, 2017
0cd88f5
Fix Add Child for root level records
payten Mar 3, 2017
13e49c4
Check for presence of errors to determine form has been submitted
payten Mar 3, 2017
28edb4a
Retry on LESS compile fail
marktriggs Mar 3, 2017
ea27de0
Remove double logging
marktriggs Mar 3, 2017
346e39b
Expand tree node upon page load (if has children)
payten Mar 3, 2017
f190e52
Ensure root uri is set on rde form rows this is now proactively valid…
payten Mar 3, 2017
5cf87db
Only raise error on sanity check if we're checking a hash
payten Mar 3, 2017
f32493e
Allow repo label in header toolbar to link to the repo details page
payten Mar 6, 2017
476e326
Ensure the hash is changed after a creating a new node
payten Mar 6, 2017
a883ff9
Use html_safe for message
mark-cooper Mar 1, 2017
071336e
Refactor the selenium test tree helper and fix tree related tests. Al…
payten Mar 3, 2017
0da13e5
Merge pull request #631 from mark-cooper/message_always_html_safe
marktriggs Mar 6, 2017
d628a3a
Fix exception caused by trying to DISTINCT a result set containing mu…
payten Mar 6, 2017
888276f
Merge pull request #635 from archivesspace/selenium-tests-for-the-new…
jambun Mar 6, 2017
b77bb8b
Rework tree ordering to be more efficient for large trees
marktriggs Mar 6, 2017
9d382d4
Roll back multi DB pool stuff in favor of using READ_COMMITTED for PO…
marktriggs Mar 6, 2017
50db466
Support indentation up to 16
marktriggs Mar 6, 2017
bf1adb1
Use DB distinct for a small performance boost
marktriggs Mar 6, 2017
054b0b7
Add a position migration
marktriggs Mar 6, 2017
a6ea6ac
Remove resequence refs
marktriggs Mar 7, 2017
093a6c0
Remove useless begin/end
marktriggs Mar 7, 2017
6187169
Merge pull request #637 from archivesspace/tree-position-rejig
payten Mar 7, 2017
bd4dd97
AR-1628 disable the bookmark and print page actions until the bookbag…
payten Mar 7, 2017
d5327e8
AR-1647 allow container display string to be overriden and default it…
payten Mar 7, 2017
7a007fd
AR-1647 show series as a facet for the top containers listing
payten Mar 7, 2017
4e6a273
Don't calculate series or collections more than once
marktriggs Mar 7, 2017
30e50de
Update top container mtimes on transfer
marktriggs Mar 7, 2017
20f1030
Reindex top containers when transferring nodes between resources
marktriggs Mar 7, 2017
e400e6e
Test fixes for transfers and batch imports
marktriggs Mar 7, 2017
4fb6ebf
Remove largetree.js from the public codebase
marktriggs Mar 7, 2017
6e58c83
Remove the run_report_please API endpoint (was for development only a…
payten Mar 8, 2017
9f9046c
Fix duplicate PUI indexer run on archival objects and also use the Re…
payten Mar 8, 2017
b405a93
Smooth out the drag/drop action to make it less jumpy
marktriggs Mar 8, 2017
e762dd9
Expand waypoints when removing elements
marktriggs Mar 8, 2017
0c8adb1
Keep track of scroll events that fire while we're populating waypoints
marktriggs Mar 8, 2017
d1fe868
Rollback last misguided change. Fix the real bug.
marktriggs Mar 8, 2017
e645bb5
Up the scroll delay a little bit
marktriggs Mar 8, 2017
4dc42d9
Consider populating the waypoint at startIdx immediately, since that'…
marktriggs Mar 8, 2017
3c12221
Handle pending events for considering the next round of waypoint popu…
marktriggs Mar 8, 2017
a898002
No need for Rails to parse and reserialize our JSON
marktriggs Mar 8, 2017
55085ff
Add a progress indicator!
marktriggs Mar 8, 2017
4b81862
Support shift click
marktriggs Mar 9, 2017
494b3b6
Hide buttons and record when in reorder mode
marktriggs Mar 9, 2017
ebe7222
Use the right offset for the root node
marktriggs Mar 9, 2017
47a8df3
Add missing WHERE clause for root_record_id
marktriggs Mar 9, 2017
c1b8d29
Don't require update_from_json to specify a position
marktriggs Mar 9, 2017
6ef4766
Position should not be nullable
marktriggs Mar 9, 2017
d4e2e22
Update public interface to use node_ids param instead of node_id
marktriggs Mar 9, 2017
5182f65
Change click behavior for drag/drop:
marktriggs Mar 9, 2017
71c96ea
Make the highlighted rows more obvious
marktriggs Mar 9, 2017
cad3a3e
Don't clear the selection when we're just resizing the panel
marktriggs Mar 9, 2017
b9aac23
Just show cut/paste in reorder mode
marktriggs Mar 9, 2017
c8811ca
In redisplayAndShow only expandNode if a node, assume we're done if t…
payten Mar 10, 2017
49cd9cb
Upgrade JRuby to latest point release
marktriggs Mar 10, 2017
df4f734
Fix indexing on Windows
marktriggs Mar 11, 2017
5b2b5f3
Need tzdata for Windows
marktriggs Mar 11, 2017
ad12c30
Create empty solr_home to keep Windows happy
marktriggs Mar 11, 2017
64817a4
Don't bother touching all mtimes when importing under Derby
marktriggs Mar 11, 2017
3cd0f78
Reintroduce explicit Content-Length header
marktriggs Mar 11, 2017
e020e99
Replace Puma with Mizuno
marktriggs Mar 11, 2017
06e6ef2
Run selenium tests in RAILS_ENV=test to avoid reloading concurrency i…
marktriggs Mar 11, 2017
ec47a05
Specify text/json for POST requests to ensure they don't come through…
marktriggs Mar 11, 2017
ccdee45
Fix location_holdings_report query to join the instance with subconta…
payten Mar 13, 2017
0f6b0ab
Remove silly decimal points from backend response times
marktriggs Mar 11, 2017
107d285
Auto indent location_holdings_report.rb
payten Mar 13, 2017
eb8639b
Fix integration tests
marktriggs Mar 12, 2017
939de34
Fix mixed_content_parser to whitelist title and unitdate elements
payten Mar 7, 2017
2dc9117
AR-1483 parse mixed content in tree titles into a new parsed_title at…
payten Mar 7, 2017
1c1fcfb
Handle nil or empty content in the MixedContentParser
payten Mar 7, 2017
b289bce
Handle AO items in tree with dates instead of title
payten Mar 7, 2017
c24b73c
Suppress line breaks in breadcrumbs with CSS
payten Mar 7, 2017
ebc315f
Merge pull request #648 from archivesspace/location_holdings_report-bug
jambun Mar 13, 2017
200fc26
Fix nulls in digital object component tree node titles by gathering b…
payten Mar 8, 2017
ea9e546
Introduce new tree_rendener to be shared between the infinite record …
payten Mar 8, 2017
e0b222b
Merge pull request #640 from archivesspace/AR-1483-mixed-content
jambun Mar 13, 2017
ac0fae0
AR-1672 fix mets exporter and mimetype handling for all exports and a…
jambun Mar 14, 2017
95e8b05
Upgrade Selenium and rework test suite for behaviour changes
payten Mar 9, 2017
d50a41c
AR-1619 allow more than one background job thread
jambun Feb 12, 2017
dbb573c
Changes for trees in old public interface
marktriggs Mar 15, 2017
8e544f5
AR-1619 include job thread name when logging
jambun Feb 13, 2017
f82184e
And fixes for indexer running in test mode
marktriggs Mar 15, 2017
9d363ca
AR-1619 tidying up job runner to make it a bit easier to subclass
jambun Feb 28, 2017
f6f3757
Reset back to the front page to avoid state leaking between the tests
marktriggs Mar 15, 2017
4a81975
AR-1619 move job runners to a subdir and load them from plugins
jambun Feb 28, 2017
1c3b29d
AR-1619 remove job_type and its enum, let the enclosed job's jsonmode…
jambun Mar 1, 2017
f049384
AR-1619 use the JobRunner to get a list of job types instead of the j…
jambun Mar 1, 2017
6337979
AR-1619 include object_id in background job thread name
jambun Mar 2, 2017
c596371
AR-1619 implement run_concurrently flag
jambun Mar 3, 2017
3beac38
AR-1619 move modelly things into the job model, and a bit more tidyin…
jambun Mar 3, 2017
65fca6e
AR-1619 refactor the handling of 'stale' jobs
jambun Mar 3, 2017
d7f92f0
AR-1619 reintroduce job_type as a readonly for convenience
jambun Mar 4, 2017
2dbb95a
AR-1619 handle case where another thread canceled an unwatched job
jambun Mar 4, 2017
f31f9d4
AR-1619 use memoryleak for job_types and sub menu for create
jambun Mar 4, 2017
d1e8d0a
AR-1619 make frontend work with refactored jobs
jambun Mar 6, 2017
5d6a16f
AR-1619 example plugin to add a background job type
jambun Mar 6, 2017
15335f7
AR-1619 sort required files for consistent results
jambun Mar 7, 2017
5a66a67
AR-1619 only cancel stale jobs on start up
jambun Mar 7, 2017
4a1a079
AR-1619 bump migration number and put enum deletes in a transaction
jambun Mar 7, 2017
03213e7
AR-1619 make slow nothing runner concurrent
jambun Mar 7, 2017
ee812bc
AR-1619 use && for consistency
jambun Mar 7, 2017
cd6bb8c
AR-1619 add a default job_type to make derby happy
jambun Mar 7, 2017
b160615
AR-1619 fix finish call with new finish!
jambun Mar 7, 2017
2826481
AR-1619 fix require path after move to job_runners dir
jambun Mar 7, 2017
90469d7
AR-1619 remove super call in run method, and unnecessary requires in …
jambun Mar 7, 2017
ac9452e
AR-1619 fixed tests for refactored job handling
jambun Mar 7, 2017
4ebfe15
AR-1619 fixed for refactored job handling
jambun Mar 7, 2017
44aadf8
AR-1619 allow job runners to specify permissions
jambun Mar 8, 2017
551cfe2
AR-1619 use job permissions to only show available actions
jambun Mar 8, 2017
92c68ee
AR-1619 mention converters and job_runners in plugin readme
jambun Mar 8, 2017
95a5cc4
AR-1619 force validation of the inner job at create time
jambun Mar 13, 2017
fcfdb58
AR-1619 more backend tests for JobRunner
jambun Mar 13, 2017
2134e43
AR-1619 tidied up spec
jambun Mar 13, 2017
891262e
AR-1619 renamed example plugin and improved readme
jambun Mar 14, 2017
2068a92
AR-1619 added background jobs readme
jambun Mar 14, 2017
416427e
AR-1619 let the nothing job do something
jambun Mar 14, 2017
846d92f
AR-1619 fixed selenium tests
jambun Mar 15, 2017
f665e8c
Merge pull request #636 from archivesspace/AR-1619-background-jobs
payten Mar 15, 2017
85bc735
Wait on pagination
marktriggs Mar 15, 2017
04b95e5
More robustness fixes
marktriggs Mar 15, 2017
484b7de
Remove bridge bit for new Selenium
marktriggs Mar 15, 2017
c673585
Fix for default values test
marktriggs Mar 15, 2017
37cb2ab
Fixes for location and pagination
marktriggs Mar 15, 2017
94c1f7c
Sleep less!
marktriggs Mar 15, 2017
cd9de74
Less chatty
marktriggs Mar 15, 2017
bd5c166
Job spec fixes
marktriggs Mar 15, 2017
8248bea
Upgrade selenium for the public tests
payten Mar 15, 2017
ade0162
Remove FIXME now fixed
payten Mar 15, 2017
6a452f2
No more retrying!
marktriggs Mar 15, 2017
1ff7ab6
Update the public demo plugin name and README
payten Mar 15, 2017
04a1660
Catch a thread dump when saving a screenshot. Seems to be hanging?
marktriggs Mar 15, 2017
5b0d077
More logging!
marktriggs Mar 15, 2017
ffaff7b
sudo true again...
marktriggs Mar 15, 2017
b274d66
Increase frontend memory for Travis
marktriggs Mar 15, 2017
db908de
Increase wait_for_url timeouts
marktriggs Mar 15, 2017
510acbb
Upgrade parallel tests and fail fast
marktriggs Mar 15, 2017
151cbec
Use net/http to upload our screenshots/logs
marktriggs Mar 15, 2017
1a35c68
Be sure the space_calculator_spec.rb checkbox is being clicked
payten Mar 15, 2017
838def4
Make jobs_spec.rb more robust
payten Mar 15, 2017
75f150d
Make locations_spec.rb more robust
payten Mar 15, 2017
358313c
Add wait_for_page_ready upon click_and_wait_until_element_gone or cli…
payten Mar 15, 2017
92f958f
Allow Element to be able to wait_for_page_ready
payten Mar 15, 2017
3f36908
revert fallback version to v1.5.3.a
jambun Mar 15, 2017
c070165
remove print statement
jambun Mar 15, 2017
a725262
Up the default memory allocation for travis tests
payten Mar 16, 2017
df98ab6
Up the logout retries with some logging
payten Mar 16, 2017
fcc8624
Make resources_spec.rb more robust
payten Mar 16, 2017
042c74e
find_last_element implementation should block!
marktriggs Mar 16, 2017
5126e8c
Remove backup file. Oops.
marktriggs Mar 16, 2017
05869ff
Add I18n for all new tree strings
payten Mar 16, 2017
4b79e95
Remove jstree from the frontend
payten Mar 16, 2017
bd59d80
Bump the travis Xmx to 512m
payten Mar 16, 2017
a109fa3
Remove resolved FIXME
marktriggs Mar 16, 2017
0f5ea96
Remove stray FIXMEs
marktriggs Mar 16, 2017
55c4fb9
Make good on some TODOs
marktriggs Mar 16, 2017
eca568d
Remove obsolete RVM bits
marktriggs Mar 16, 2017
e9a3b8f
Define blocking_find_elements on the Element too
marktriggs Mar 16, 2017
0971916
Add a missing star
marktriggs Mar 16, 2017
5854787
OK, that didn't work...
marktriggs Mar 16, 2017
a45632f
Oops, checked the wrong element was initialised
marktriggs Mar 16, 2017
a0bf7b0
Bump number of retries
marktriggs Mar 16, 2017
7c69c56
reindex all record types to pick up indexer changes
jambun Mar 15, 2017
89aa600
Merge pull request #653 from archivesspace/another-reindex-thingy
marktriggs Mar 16, 2017
0ef1745
Don't include aspace-public-formats in the default plugins if running…
jambun Mar 15, 2017
d40d583
Focus the "add note" button before we click it
marktriggs Mar 16, 2017
fea11d7
Bigger!
marktriggs Mar 16, 2017
db4e551
AR-1570 AR-1571 AR-1572 Introduce UI to support empty values in advan…
payten Nov 21, 2016
eb31b04
AR-1570 fix the keyboard entry behaviour of the advanced search date …
payten Dec 30, 2016
4ddd329
AR-1572 disable the 'is empty' search for keyword text search
payten Dec 27, 2016
134fa19
AR-1571 add a separator between the control value enum options and th…
payten Dec 27, 2016
189b4e8
AR-1571 lowercase unassigned for control value option
payten Dec 27, 2016
3c4bf21
AR-1570 AR-1571 AR-1572 revert empty option for boolean field queries
payten Dec 27, 2016
39b47b0
AR-1570 AR-1571 AR-1572 support negated empty searches
payten Dec 30, 2016
5790d28
Bug fix: convert dates to UTC before searching
marktriggs Jan 3, 2017
a7764ca
Use something a little less likely to collide...
marktriggs Mar 16, 2017
44b5094
Merge pull request #655 from archivesspace/AR-1570_AR-1571_AR-1572
marktriggs Mar 16, 2017
1e241c3
Have the barcode length check deal with our new UUIDs
marktriggs Mar 16, 2017
24979bc
Pass through use_literal to the AdvancedQueryString, it's important
payten Mar 16, 2017
52624e5
Another robustness fix for events
marktriggs Mar 16, 2017
86de9c3
Simplify enumeration_management_spec.rb now that click_and_wait_until…
payten Mar 16, 2017
1488f21
Make subjects_spec.rb and repositories_spec.rb more robust
payten Mar 16, 2017
ab20f49
Make default_values_spec.rb, digital_objects_spec.rb, groups_spec.rb …
payten Mar 16, 2017
349c954
Clear the blockout pane when exiting reorder mode
marktriggs Mar 17, 2017
e7bcaad
If our AJAX response comes in and the hash has changed, ignore the re…
marktriggs Mar 17, 2017
d89b136
When a tree node is selected, expand it.
marktriggs Mar 17, 2017
b432f3a
Correct EAD imports for records with titlepage element
marktriggs Mar 17, 2017
f20e764
Remove greeting...
marktriggs Mar 17, 2017
a64a1e1
Robustness fix for locations
marktriggs Mar 17, 2017
a7af7a7
Increase the Selenium read timeout
marktriggs Mar 17, 2017
2d424f7
Whoops. I was a little over-zealous in removing the greeting :)
marktriggs Mar 17, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitignore
Expand Up @@ -20,6 +20,7 @@ build/target
build/solr
build/solr_index
build/indexer_state
build/indexer_pui_state
build/archivesspace_demo_db
build/*.tmp
build/.gem
Expand All @@ -41,3 +42,5 @@ Gemfile.local
supervisord.*
mysql-connector*.jar
common/config/config.rb
public-new/vendor/assets/stylesheets/largetree.less
public-new/vendor/assets/javascripts/largetree.js.erb
13 changes: 9 additions & 4 deletions .travis.yml
Expand Up @@ -22,18 +22,19 @@ env:
- TASK=dist
before_install:
- /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile
--background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 2560x1700x24
--background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 2560x10240x24
- export DISPLAY=:99.0
before_script:
- (cd /tmp; wget 'https://ftp.mozilla.org/pub/firefox/releases/47.0.1/linux-x86_64/en-US/firefox-47.0.1.tar.bz2'; tar xvjf firefox-47.0.1.tar.bz2)
- free -m
- (cd /tmp; wget 'https://ftp.mozilla.org/pub/firefox/releases/52.0/linux-x86_64/en-US/firefox-52.0.tar.bz2'; tar xvjf firefox-52.0.tar.bz2)
- sleep 3
- if [[ "$DB" == "mysql" ]]; then (mkdir lib; cd lib; curl -Oq http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.39/mysql-connector-java-5.1.39.jar );
fi
- if [[ "$DB" == "mysql" ]]; then export JAVA_OPTS="-Daspace.config.db_url=jdbc:mysql://localhost:3306/archivesspace?useUnicode=true&characterEncoding=UTF-8&user=root";
fi
- if [[ "$DB" == "mysql" ]]; then mysql -e "create database archivesspace default
character set utf8;"; fi
- 'export JAVA_OPTS="-Xmx1G $JAVA_OPTS"'
- 'export JAVA_OPTS="-Xmx512m -verbose:gc $JAVA_OPTS"'
- 'export PATH="/tmp/firefox:$PATH"'
- firefox --version
branches:
Expand All @@ -44,6 +45,7 @@ script:
notifications:
irc: irc.freenode.org#archivesspace
email: false
bundler_args: --retry 5
addons:
artifacts:
debug: true
Expand All @@ -54,4 +56,7 @@ addons:
- $( ls /var/tmp/*.html | tr "\n" ":" )
- $( ls /var/log/mysql/* | tr "\n" ":" )
- $( ls /var/tmp/aspace-integration.log | tr "\n" ":" )
sudo: false
sudo: true
after_failure:
- if [[ -e "/tmp/firefox_console" ]]; then cat /tmp/firefox_console; fi
- dmesg | tail -500
9 changes: 1 addition & 8 deletions README.md
Expand Up @@ -39,13 +39,6 @@ You can check your Java version by running the command:

java -version

<!-- I think the caution about Java 1.8 is no longer relevant per messages from Chris in 2015. -- Christine
Currently, if you want to use Java 1.8, you will need to remove the
jdt-compiler jar library from the java classpath ( lib directory of
your ArchivesSpace directory). This will disable the use of Jasper
reports ( but not regular reports).
--->

When you extract the `.zip` file, it will create a directory called
`archivesspace`. To run the system, just execute the appropriate
startup script for your platform. On Linux and OSX:
Expand Down Expand Up @@ -285,7 +278,7 @@ schema and data to a file. It's a good idea to run this with the
`--single-transaction` option to avoid locking your database tables
while your backups run. It is also essential to use the `--routines`
flag, which will include functions and stored procedures in the
backup (which ArchivesSpace uses at least for Jasper reports).
backup (which ArchivesSpace uses at least for reports).

If you are running with the demo database, you can create periodic
database snapshots using the following configuration settings:
Expand Down
84 changes: 84 additions & 0 deletions README_BACKGROUND_JOBS.md
@@ -0,0 +1,84 @@
Background Jobs
==============

ArchivesSpace provides a mechanism for long running processes to run asynchronously. These processes are called `Background Jobs`.

## Managing Jobs in the Staff UI

The `Create` menu has a `Background Job` option which shows a submenu of job types that the current user has permission to create. (See below for more information about job permissions and hidden jobs.) Selecting one of these options will take the user to a form to enter any parameters required for the job and then to create it.

When a job is created it is placed in the `Background Job Queue`. Jobs in the queue will be run in the order they were created. (See below for more information about multiple threads and concurrent jobs.)

The `Browse` menu has a `Background Jobs` option. This takes the user to a list of jobs arranged by their status. The user can then view the details of a job, and cancel it if they have permission.


## Permissions

A user must have the `create_job` permission to create a job. By default, this permission is included in the `repository_basic_data_entry` group.

A user must have the `cancel_job` permission to cancel a job. By default, this permission is included in the `repository_managers` group.

When a JobRunner registers it can specify additional create and cancel permssions. (See below for more information)


## Types, Runners and Schemas

Each job has a type, and each type has a registered runner to run jobs of that type and JSONModel schema to define its parameters.

#### Registered JobRunners

All jobs of a type are handled by a registered `JobRunner`. The job runner classes are located here:

backend/app/lib/job_runners/

It is possible to define additional job runners from a plugin. (See below for more information about plugins.)

A job runner class must subclass `JobRunner`, reigister to run one or more job types, and implement a `#run` method for jobs that it handles.

When a job runner registers for a job type, it can set some options:

* `:hidden`
* Defaults to `false`
* If this is set then this job type will not be shown in the list of available job types.
* `:run_concurrently`
* Defaults to `false`
* If this is set to true then more than one job of this type can run at the same time.
* `:create_permissions`
* Defaults to `[]`
* A permission or list of permissions required, in addition to `create_job`, to create jobs of this type.
* `:cancel_permissions`
* Defaults to `[]`
* A permission or list of permissions required, in addition to `cancel_job`, to cancel jobs of this type.

For more information about defining a job runner, see the `JobRunner` superclass:

backend/app/lib/job_runner.rb

#### JSONModel Schemas

A job type also requires a JSONModel schema that defines the parameters to run a job of the type. The schema name must be the same as the type that the runner registers for. For example:

common/schemas/import_job.rb

This schema, for `JSONModel(:import_job)`, defines the parameters for running a job of type `import_job`.


## Concurrency

ArchivesSpace can be configured to run more than one background job at a time. By default, there will be two threads available to run background jobs. The configuration looks like this:

AppConfig[:job_thread_count] = 2

The `BackgroundJobQueue` will start this number of threads at start up. Those threads will then poll for queued jobs and run them.

When a job runner registers, it can set an option called `:run_concurrently`. This is `false` by default. When set to `false` a job thread will not run a job if there is already a job of that type running. The job will remain on the queue and will be run when there are no longer any jobs of its type running.

When set to `true` a job will be run when it comes to the front of the queue regardless of whether there is a job of the same type running.


## Plugins

It is possible to add a new job type from a plugin. ArchivesSpace includes a plugin that demonstrates how to do this:

plugins/jobs_example

4 changes: 2 additions & 2 deletions _yard/Gemfile.lock
@@ -1,8 +1,8 @@
GEM
remote: https://rubygems.org/
specs:
kramdown (1.11.1)
yard (0.9.0)
kramdown (1.13.2)
yard (0.9.8)

PLATFORMS
java
Expand Down
28 changes: 15 additions & 13 deletions backend/Gemfile
@@ -1,36 +1,36 @@
source "https://rubygems.org"

gem "atomic", '= 1.0.1'
gem "sinatra", "1.3.6", :require => false
gem 'rack', '= 1.4.7'
gem "sinatra-reloader", :require => false
gem "sinatra", "1.4.7", :require => false
gem "sinatra-contrib", "1.4.7", :require => false
gem "sequel", "~> 4.20.0"
gem "rack-session-sequel", "0.0.1"
gem "jdbc-mysql", "5.1.13", :group => :development
gem "jdbc-derby", "10.6.2.1"
gem "jdbc-derby", "10.12.1.1"
gem "bcrypt", "3.1.7"
gem 'json', "1.8.0"
gem 'json', "1.8.6"
gem "json-schema", "1.0.10"
gem "jruby-jars", "= 1.7.21"
gem "nokogiri", '~> 1.6.1'
gem "jruby-jars", "= 9.1.8.0"
gem "nokogiri", "1.7.0.1"
gem "saxerator", "~> 0.9.2"
gem 'saxon-xslt'
gem 'tzinfo', '~> 0.3.48'
gem 'tzinfo'
gem "rufus-scheduler", "~> 2.0.24"
gem "rufus-lru", "1.0.5"
gem "net-ldap", "0.6.1"
gem "puma", "2.8.2"
gem "mizuno", "0.6.11"
gem "i18n", ">= 0.6.4"

gem "axlsx", "2.0.1"

gem "warbler", "1.4.9", :group => :build
gem "warbler", "2.0.4", :group => :build


group :test do
gem "factory_girl", "~> 4.1.0"
gem "rspec", "~> 3.3.0"
gem "rspec-core", "~> 3.3.0"
gem "factory_girl"
gem "activesupport", "5.0.1" # Loaded by factory_girl
gem "rspec"
gem "rspec-core"
gem "ladle", "0.2.0"
gem "simplecov", "0.7.1"
end
Expand All @@ -43,6 +43,8 @@ gem "rjack-jackson", "1.8.11.0"
gem "rubyzip", "1.0.0"
gem "zip-zip", "0.3"

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

# Allow plugins to provide their own Gemfiles too.
require 'asutils'
Expand Down