Skip to content

Commit 40b8491

Browse files
committed
Merge branch 'release/2.0.0-beta.1' into 2.0-master
2 parents bae546c + b6e78e4 commit 40b8491

File tree

140 files changed

+8706
-2179
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

140 files changed

+8706
-2179
lines changed

.travis.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,4 @@ before_install:
77
- ./.travis/download.sh
88

99
script:
10-
- docker-compose build
1110
- docker-compose run marklogic

.travis/Dockerfile-ml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,25 @@
11
FROM centos:centos7
22

33
ENV LANG C.UTF-8
4-
4+
ENV JAVA_VERSION 8u131
5+
ENV BUILD_VERSION b11
6+
ENV SUM d54c1d3a095b4ff2b6607d096fa80163
57
RUN yum -y install glibc.i686 \
68
gdb.x86_64 redhat-lsb.x86_64 vim \
79
bzip2 \
810
unzip \
9-
xz-utils \
10-
java-1.8.0-openjdk-devel 2>&1 > /dev/null
11+
wget \
12+
xz-utils 2>&1 > /dev/null
13+
14+
# Downloading Java
15+
RUN wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION-$BUILD_VERSION/$SUM/jdk-$JAVA_VERSION-linux-x64.rpm" -O /tmp/jdk-8-linux-x64.rpm
16+
RUN yum -y install /tmp/jdk-8-linux-x64.rpm
17+
18+
RUN alternatives --install /usr/bin/java jar /usr/java/latest/bin/java 200000
19+
RUN alternatives --install /usr/bin/javaws javaws /usr/java/latest/bin/javaws 200000
20+
RUN alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 200000
21+
22+
ENV JAVA_HOME /usr/java/latest
1123

1224
# Install MarkLogic
1325
COPY ./MarkLogic.rpm /tmp/MarkLogic.rpm
@@ -29,7 +41,7 @@ VOLUME /marklogic-data-hub
2941
ADD ./ /marklogic-data-hub
3042
WORKDIR /marklogic-data-hub
3143

32-
RUN ./gradlew tasks 2>&1 > /dev/null
44+
RUN ./gradlew build -x test 2>&1 > /dev/null
3345

3446
# Define default command (which avoids immediate shutdown)
3547
CMD /tmp/startml.sh && ./gradlew test

.travis/download.sh

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,7 @@
11
#!/bin/bash
22

3-
# runs command from parameters and exits with the eoror code of the command
4-
# if it fails
5-
function successOrExit {
6-
"$@"
7-
local status=$?
8-
if [ $status -ne 0 ]; then
9-
echo "$1 exited with error: $status"
10-
exit $status
11-
fi
12-
}
3+
echo "Logging in to Docker registry"
4+
docker login -u ${DOCKER_USER} -p ${DOCKER_PASSWORD}
135

14-
set | grep TRAVIS
15-
16-
test $1 && arg1=$1
17-
18-
ver=${ML_VERSION}
19-
fname=MarkLogic-RHEL7-${ver}.x86_64.rpm
20-
fnamedeb="marklogic_"
21-
fnamedeb=$fnamedeb$ver
22-
suff="_amd64.deb"
23-
fnamedeb=$fnamedeb$suff
24-
25-
echo "Logging in for Download"
26-
curl -s -c cookies.txt --data "email=${MLBUILD_USER}&password=${MLBUILD_PASSWORD}" https://developer.marklogic.com/login > /dev/null 2>&1
27-
28-
echo
29-
echo "Getting Download Link"
30-
dl_link=$(curl -s -b cookies.txt --data "download=/download/binaries/8.0/${fname}" https://developer.marklogic.com/get-download-url | perl -pe 's/.*"path":"([^"]+).*/\1/')
31-
url="https://developer.marklogic.com${dl_link}"
32-
33-
echo "********* Downloading MarkLogic $ver"
34-
successOrExit curl -s -k -o ./MarkLogic.rpm $url
6+
echo "Getting Docker Image"
7+
docker pull marklogiccommunity/marklogic-datahub-2x

CHANGELOG.md

Lines changed: 102 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,108 @@
11
# Change Log
22

3-
## [Unreleased](https://github.com/marklogic/marklogic-data-hub/tree/v2.0.0-alpha.2)
3+
## [Unreleased](https://github.com/marklogic/marklogic-data-hub/tree/v2.0.0-beta.2)
44

5+
[Full Changelog](https://github.com/marklogic/marklogic-data-hub/compare/v1.1.3...v2.0.0-beta.2)
6+
7+
**Implemented enhancements:**
8+
9+
- Add a code editor [\#418](https://github.com/marklogic/marklogic-data-hub/issues/418)
10+
11+
**Fixed bugs:**
12+
13+
- Entity properties starting with a capital generate templates with a preceding dash in var names [\#350](https://github.com/marklogic/marklogic-data-hub/issues/350)
14+
15+
## [v1.1.3](https://github.com/marklogic/marklogic-data-hub/tree/v1.1.3) (2017-05-24)
16+
[Full Changelog](https://github.com/marklogic/marklogic-data-hub/compare/v2.0.0-alpha.4...v1.1.3)
17+
18+
**Implemented enhancements:**
19+
20+
- Expose the ability to pass custom properties via gradle [\#416](https://github.com/marklogic/marklogic-data-hub/issues/416)
21+
- Add gradle wrapper to scaffolded project [\#415](https://github.com/marklogic/marklogic-data-hub/issues/415)
22+
- Entity view: show "Loading entities..." rather than "You don't have any entities yet" [\#411](https://github.com/marklogic/marklogic-data-hub/issues/411)
23+
- Better default document format for input flow [\#410](https://github.com/marklogic/marklogic-data-hub/issues/410)
24+
- Add button to sync indexes [\#393](https://github.com/marklogic/marklogic-data-hub/issues/393)
25+
- ugly scrollbars appear on project list in quickstart [\#385](https://github.com/marklogic/marklogic-data-hub/issues/385)
26+
- Handle Batch Flow Errors [\#379](https://github.com/marklogic/marklogic-data-hub/issues/379)
27+
- Default the harmonize collector to only get items in a standard input collection [\#344](https://github.com/marklogic/marklogic-data-hub/issues/344)
28+
- Add ability to specify source/target database for a Harmonize flow [\#319](https://github.com/marklogic/marklogic-data-hub/issues/319)
29+
30+
**Fixed bugs:**
31+
32+
- MLCP options: Output URI Replace is not working as expected [\#414](https://github.com/marklogic/marklogic-data-hub/issues/414)
33+
- Can't do load on Windows [\#407](https://github.com/marklogic/marklogic-data-hub/issues/407)
34+
- Illegal/unsupported escape sequence in Windows 10 when creating entities [\#406](https://github.com/marklogic/marklogic-data-hub/issues/406)
35+
- Better feedback for client-side validation failures [\#398](https://github.com/marklogic/marklogic-data-hub/issues/398)
36+
- XQuery bug detected but not shown on QuickStart GUI [\#395](https://github.com/marklogic/marklogic-data-hub/issues/395)
37+
- Save Options in Input Flow doesn't save changes to 'Output URI Replace' [\#390](https://github.com/marklogic/marklogic-data-hub/issues/390)
38+
- Default forests are created/attached even with custom forest JSON definitions [\#389](https://github.com/marklogic/marklogic-data-hub/issues/389)
39+
- mlReloadModules may not work [\#386](https://github.com/marklogic/marklogic-data-hub/issues/386)
40+
- Can't run harmonize on 2.0.0-alpha.2 [\#382](https://github.com/marklogic/marklogic-data-hub/issues/382)
41+
- Compile issue [\#381](https://github.com/marklogic/marklogic-data-hub/issues/381)
42+
- When one item fails in a harmonize batch run, other items in the chunk do not get processed [\#279](https://github.com/marklogic/marklogic-data-hub/issues/279)
43+
44+
**Closed issues:**
45+
46+
- Need to update my forest location while setting up the datahub framework; [\#356](https://github.com/marklogic/marklogic-data-hub/issues/356)
47+
- Harmonization flow not hitting staging port defined in gradle.properties [\#342](https://github.com/marklogic/marklogic-data-hub/issues/342)
48+
- gradle commands for flow creation [\#339](https://github.com/marklogic/marklogic-data-hub/issues/339)
49+
- gradle hubInit failing [\#307](https://github.com/marklogic/marklogic-data-hub/issues/307)
50+
- QuickStart App data loaded to incorrect directory? [\#251](https://github.com/marklogic/marklogic-data-hub/issues/251)
51+
- Allow Ingest to feed directly to conform w/o storing data [\#186](https://github.com/marklogic/marklogic-data-hub/issues/186)
52+
- DataHub::isInstalled\(\) is not sufficient [\#165](https://github.com/marklogic/marklogic-data-hub/issues/165)
53+
- Auto Generate Indexes based on entity defs [\#105](https://github.com/marklogic/marklogic-data-hub/issues/105)
54+
- Allow Exploration on the staged, raw data [\#2](https://github.com/marklogic/marklogic-data-hub/issues/2)
55+
56+
**Merged pull requests:**
57+
58+
- display a "Loading" message while retrieving entities [\#412](https://github.com/marklogic/marklogic-data-hub/pull/412) ([dmcassel](https://github.com/dmcassel))
59+
- disabled frame options in quickstart so it can be run inside an iframe [\#364](https://github.com/marklogic/marklogic-data-hub/pull/364) ([ryan321](https://github.com/ryan321))
60+
61+
## [v2.0.0-alpha.4](https://github.com/marklogic/marklogic-data-hub/tree/v2.0.0-alpha.4) (2017-05-12)
62+
[Full Changelog](https://github.com/marklogic/marklogic-data-hub/compare/v2.0.0-alpha.3...v2.0.0-alpha.4)
63+
64+
## [v2.0.0-alpha.3](https://github.com/marklogic/marklogic-data-hub/tree/v2.0.0-alpha.3) (2017-05-08)
65+
[Full Changelog](https://github.com/marklogic/marklogic-data-hub/compare/v1.1.2...v2.0.0-alpha.3)
66+
67+
## [v1.1.2](https://github.com/marklogic/marklogic-data-hub/tree/v1.1.2) (2017-04-12)
68+
[Full Changelog](https://github.com/marklogic/marklogic-data-hub/compare/v1.1.1...v1.1.2)
69+
70+
**Fixed bugs:**
71+
72+
- null pointer exception on logout [\#383](https://github.com/marklogic/marklogic-data-hub/issues/383)
73+
74+
**Closed issues:**
75+
76+
- gradle version check fails on multiple dots [\#384](https://github.com/marklogic/marklogic-data-hub/issues/384)
77+
- QuickStart Template Compile Error 2.0-alpha.2 [\#380](https://github.com/marklogic/marklogic-data-hub/issues/380)
78+
79+
## [v1.1.1](https://github.com/marklogic/marklogic-data-hub/tree/v1.1.1) (2017-03-20)
80+
[Full Changelog](https://github.com/marklogic/marklogic-data-hub/compare/v2.0.0-alpha.2...v1.1.1)
81+
82+
**Implemented enhancements:**
83+
84+
- customize session name to avoid conflicts [\#369](https://github.com/marklogic/marklogic-data-hub/issues/369)
85+
- Change Java Client API dependency to stable build [\#358](https://github.com/marklogic/marklogic-data-hub/issues/358)
86+
- Update Hub to use latest ml-gradle [\#355](https://github.com/marklogic/marklogic-data-hub/issues/355)
87+
88+
**Closed issues:**
89+
90+
- Entities and custom modules fail to deploy - v1.1.0 [\#377](https://github.com/marklogic/marklogic-data-hub/issues/377)
91+
- See if we can bail if the gradle version is too low [\#376](https://github.com/marklogic/marklogic-data-hub/issues/376)
92+
- Unable to login marklogic using hub frame work received "500 Internal Server Error" [\#374](https://github.com/marklogic/marklogic-data-hub/issues/374)
93+
- gradle plugin gets confused about users [\#371](https://github.com/marklogic/marklogic-data-hub/issues/371)
94+
- can't put binary inside envelope [\#366](https://github.com/marklogic/marklogic-data-hub/issues/366)
95+
- MLCP can't find /etc/hadooop [\#365](https://github.com/marklogic/marklogic-data-hub/issues/365)
96+
- Add CLA requirement to CONTRIBUTING [\#361](https://github.com/marklogic/marklogic-data-hub/issues/361)
97+
- Bug: QuickStart Login screen: Long paths aren't completely visible in Chrome [\#354](https://github.com/marklogic/marklogic-data-hub/issues/354)
98+
99+
**Merged pull requests:**
100+
101+
- Adds CLA requirement \(\#361\) [\#363](https://github.com/marklogic/marklogic-data-hub/pull/363) ([jmakeig](https://github.com/jmakeig))
102+
- Adds CLA requirement \(\#361\) [\#362](https://github.com/marklogic/marklogic-data-hub/pull/362) ([jmakeig](https://github.com/jmakeig))
103+
- Updates Java Client API dependency to stable build [\#359](https://github.com/marklogic/marklogic-data-hub/pull/359) ([jmakeig](https://github.com/jmakeig))
104+
105+
## [v2.0.0-alpha.2](https://github.com/marklogic/marklogic-data-hub/tree/v2.0.0-alpha.2) (2017-01-16)
5106
[Full Changelog](https://github.com/marklogic/marklogic-data-hub/compare/v1.1.0...v2.0.0-alpha.2)
6107

7108
**Implemented enhancements:**

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ plugins {
7171
...
7272
7373
// comment out this line. It pulls the version from the cloud
74-
// id 'com.marklogic.ml-data-hub' version '2.0.0-alpha.4'
74+
// id 'com.marklogic.ml-data-hub' version '2.0.0-beta.1'
7575
}
7676
7777
// this tells gradle to apply the plugin you included above in the buildscript section

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ _The Data Hub Framework is free and open source under the [Apache 2 License](htt
1111

1212
## WARNING!!!! This is the the 2.0 branch of The MarkLogic Data Hub Framework. The 2.0 version is only compatible with MarkLogic 9.0 which is currently in Early Access and not generally available.
1313

14-
Go from nothing to Enterprise Data Hub in a matter of minutes.
14+
Go from nothing to Operational Data Hub in a matter of minutes.
1515

16-
This project allows you to deploy a skeleton Data Hub into MarkLogic. With some basic configuration you will be running an Enterprise Data Hub in no time.
16+
This project allows you to deploy a skeleton Data Hub into MarkLogic. With some basic configuration you will be running an Operational Data Hub in no time.
1717

1818
# Getting Started
1919

@@ -48,7 +48,7 @@ Alternatively you can include the jar file as a build dependency in your Java pr
4848
**Gradle**
4949

5050
```groovy
51-
compile('com.marklogic:marklogic-data-hub:2.0.0-alpha.4')
51+
compile('com.marklogic:marklogic-data-hub:2.0.0-beta.1')
5252
```
5353

5454
**Maven**
@@ -57,15 +57,15 @@ compile('com.marklogic:marklogic-data-hub:2.0.0-alpha.4')
5757
<dependency>
5858
<groupId>com.marklogic</groupId>
5959
<artifactId>marklogic-data-hub</artifactId>
60-
<version>2.0.0-alpha.4</version>
60+
<version>2.0.0-beta.1</version>
6161
<type>pom</type>
6262
</dependency>
6363
```
6464

6565
**Ivy**
6666

6767
```xml
68-
<dependency org='com.marklogic' name='marklogic-data-hub' rev='2.0.0-alpha.4'>
68+
<dependency org='com.marklogic' name='marklogic-data-hub' rev='2.0.0-beta.1'>
6969
<artifact name='$AID' ext='pom'></artifact>
7070
</dependency>
7171
```
@@ -76,7 +76,7 @@ If you prefer to use gradle for all of your hub interactions then you can includ
7676

7777
```groovy
7878
plugins {
79-
id 'com.marklogic.ml-data-hub' version '2.0.0-alpha.4'
79+
id 'com.marklogic.ml-data-hub' version '2.0.0-beta.1'
8080
}
8181
```
8282

docker-compose.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
version: '2'
22
services:
33
marklogic:
4-
build:
5-
context: ./
6-
dockerfile: .travis/Dockerfile-ml
4+
image: marklogiccommunity/marklogic-datahub-2x
75
ports:
86
- "8000-8020"
7+
volumes:
8+
- .:/marklogic-data-hub

examples/spring-batch/build.gradle

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,38 @@
11
plugins {
22
id 'java'
3-
id 'eclipse'
4-
id 'idea'
53
id 'application'
64
id 'net.saliman.properties' version '1.4.6'
7-
id 'com.marklogic.ml-data-hub' version '2.0.0-alpha.4'
5+
id 'com.marklogic.ml-data-hub' version '2.0.0-beta.1'
86
}
97

108
repositories {
9+
mavenLocal()
1110
jcenter()
1211
maven {url 'http://developer.marklogic.com/maven2/'}
1312
}
1413

1514
dependencies {
16-
compile 'com.marklogic:marklogic-data-hub:2.0.0-alpha.4'
17-
compile 'com.marklogic:marklogic-spring-batch-core:0.6.0'
18-
compile 'com.marklogic:ml-javaclient-util:4.0.alpha2'
19-
testCompile 'com.marklogic:marklogic-spring-batch-test:0.6.0'
20-
}
15+
compile 'com.marklogic:marklogic-data-hub:2.0.0-beta.1'
16+
compile "com.marklogic:marklogic-spring-batch-core:0.7.4"
17+
compile 'com.marklogic:ml-javaclient-util:4.0.alpha4'
2118

22-
distributions {
23-
main {
24-
baseName = 'baseJob'
25-
}
19+
testCompile "com.marklogic:marklogic-spring-batch-test:0.7.4"
20+
runtime "com.marklogic:marklogic-spring-batch-core:0.7.2"
2621
}
2722

28-
mainClassName = "com.marklogic.spring.batch.hub.HubJobRunner"
23+
mainClassName = "com.marklogic.spring.batch.Main"
24+
25+
task importMonsters(type: JavaExec) {
26+
classpath = sourceSets.main.runtimeClasspath
27+
main = "com.marklogic.spring.batch.Main"
28+
args = [
29+
"--config", "example.LoadAndRunFlow",
30+
"--project_dir", ".",
31+
"--env", "local",
32+
"--input_file_path", "./input",
33+
"--input_file_pattern", ".*\\.xml",
34+
"--entity_name", "Monster",
35+
"--flow_name", "ingest-monster",
36+
"--chunk", "100"
37+
]
38+
}

examples/spring-batch/gradle.properties

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,65 @@
88
#
99
# ....
1010
mlHost=localhost
11-
mlAppName=data-hub
1211

12+
# Your MarkLogic Username and Password
1313
mlUsername=admin
1414
mlPassword=admin
1515

16+
# If specified, the manage username/password combo is used with the ML Management REST API for managing application
17+
# resources; this user must have the manage-admin and rest-admin roles.
18+
#
19+
# If these are not set, then mlUsername/mlPassword is used for managing application resources.
20+
# mlManageUsername=
21+
# mlManagePassword=
22+
23+
# If specified, these values can override where the DHF thinks
24+
# MarkLogic default ports are at. You would only use this if you
25+
# have changed the ports on which MarkLogic listens
26+
#
27+
# mlAppServicesPort=8000
28+
# mlAdminPort=8001
29+
# mlManagePort=8002
30+
31+
# If specified, the admin username/password combo is used with the ML Management REST API for creating users and roles. This
32+
# user must have the manage-admin or admin role. A good practice is to use your admin account here to create app-specific
33+
# users and roles, which can then be used as mlManageUsername/mlManagePassword and mlUsername/mlPassword.
34+
#
35+
# These properties are also used for connecting to the admin application on port 8001 - e.g. for initializing ML and for
36+
# waiting for ML to restart.
37+
#
38+
# If these properties are not set, then mlUsername/mlPassword will be used.
39+
# mlAdminUsername=
40+
# mlAdminPassword=
41+
1642
mlStagingAppserverName=data-hub-STAGING
1743
mlStagingPort=8010
1844
mlStagingDbName=data-hub-STAGING
1945
mlStagingForestsPerHost=4
46+
mlStagingAuth=digest
2047

2148
mlFinalAppserverName=data-hub-FINAL
2249
mlFinalPort=8011
2350
mlFinalDbName=data-hub-FINAL
2451
mlFinalForestsPerHost=4
52+
mlFinalAuth=digest
2553

2654
mlTraceAppserverName=data-hub-TRACING
2755
mlTracePort=8012
2856
mlTraceDbName=data-hub-TRACING
2957
mlTraceForestsPerHost=1
58+
mlTraceAuth=digest
3059

3160
mlJobAppserverName=data-hub-JOBS
3261
mlJobPort=8013
3362
mlJobDbName=data-hub-JOBS
3463
mlJobForestsPerHost=1
64+
mlJobAuth=digest
3565

3666
mlModulesDbName=data-hub-MODULES
3767
mlTriggersDbName=data-hub-TRIGGERS
3868
mlSchemasDbName=data-hub-SCHEMAS
69+
70+
# The name of the Role to create for Hub Access
71+
mlHubUserRole=data-hub-ROLE
72+
mlHubUserName=data-hub-user

0 commit comments

Comments
 (0)