Comments (6)
Minor clarification: by "associations" I mean peer-to-peer (graph) associations
as well as non-standard (non cm:contains) parent/child (hierarchical)
associations.
Standard (cm:contains) parent/child associations are already supported by the
bulk filesystem tool via the folder hierarchy of the source directory.
Original comment by [email protected]
on 4 Dec 2010 at 2:03
- Added labels: ****
- Removed labels: ****
from alfresco-bulk-filesystem-import.
[deleted comment]
from alfresco-bulk-filesystem-import.
Note: associations can currently be loaded by specifying the NodeRef of the
target, but this is problematic for 2 reasons:
1. NodeRefs are a fragile way of specifying the target of an association
2. if an association is being created between two files that are part of the
same import, the user has no way of knowing what the NodeRef of the target file
will be (since it doesn't have a NodeRef until such time as the BFSIT loads
it). Chicken, meet egg!
The solution I'm envisaging involves allowing associations to be specified some
other way (e.g. using a path), and then having the BFSIT figure out what the
NodeRef is based on that path. This also explains why the process will have to
be two pass - it's possible that file A has an association to file B, but gets
imported first (meaning that file B doesn't have a NodeRef yet). The solution
is to load all the files first, then go back and "decorate" them with their
associations (with the obvious performance optimisation that if file B does
happen to have been loaded already, the association from file A would be
created immediately, in the first pass).
Original comment by [email protected]
on 28 Aug 2011 at 5:01
- Added labels: ****
- Removed labels: ****
from alfresco-bulk-filesystem-import.
This concept also extends to properties of type d:noderef - conceptually they
are equivalent to "true" associations.
This is relevant because tags are of type d:category, which is actually
implemented in exactly the same way as d:noderef (they both share the same
underlying Java implementation class), and tags are a commonly used in imports.
Original comment by [email protected]
on 7 Oct 2011 at 5:26
- Added labels: ****
- Removed labels: ****
from alfresco-bulk-filesystem-import.
Note to self: mixing up reads (SELECT) and writes (INSERT / UPDATE / DELETE) in
the same database transaction can have a significant impact on performance due
to blocking and the potential for deadlocks.
For that reason the import tool attempts to only perform INSERTs in the "write"
transactions it performs, since INSERTs cannot block each other (and hence also
can't deadlock).
The risk inherent in this issue is that it involves reads (SELECT) in order to
convert a path reference to a NodeRef, so any solution needs to think very
carefully about how that's done. It may be possible to use a short,
independent, R/O transaction for this step, for example.
Of course this still isn't ideal, since reads (for any reason) tend to be seeky
in nature, hurting the database's I/O performance even if no blocking occurs.
Original comment by [email protected]
on 26 Oct 2012 at 4:58
- Added labels: ****
- Removed labels: ****
from alfresco-bulk-filesystem-import.
Migrated to https://github.com/pmonks/alfresco-bulk-import/issues/16
Original comment by [email protected]
on 12 Dec 2013 at 9:25
- Changed state: Migrated
- Added labels: ****
- Removed labels: ****
from alfresco-bulk-filesystem-import.
Related Issues (20)
- Status graphs don't work on SSL connections HOT 8
- Notification or Message system for batching bulk import from external program HOT 1
- Autosized thread pool should be the default but isn't HOT 1
- Improve support for Multi-Valued properties HOT 5
- Content URLs longer than 256 characters need to halt bulk import HOT 1
- Update build to use alfresco-maven-plugin HOT 1
- Create "contrib" area for 3rd parties to contribute tools / scripts that interoperate with the tool HOT 2
- Investigate parallel import of batches within a single source directory HOT 1
- Provide estimate of percentage complete HOT 1
- The replacement of "Company Home" to site name is not working perfectly HOT 2
- simpleyui.js should be included into source code HOT 1
- Consider migrating to a project hosting service that supports pull requests (or equivalent) HOT 1
- Current 1.3 release appears to be built with Java 1.7, making it incompatible with 4.0.x and 4.1.x, which require Java 1.6 HOT 1
- Problem with major version comparison HOT 5
- Problem with buildContentProperty() HOT 1
- Content nodes missing for version history HOT 10
- In-place imports write incorrect content URLs when configured contentstore has a trailing '/' character HOT 5
- Bulk import switches to streaming when dir.root starts with a lower case letter on Windows HOT 3
- Redirect is not properly configured HOT 2
- Invalid Filename HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from alfresco-bulk-filesystem-import.