diff --git a/ingest/complex-partial-ingest/ap-and-as.sh b/ingest/complex-partial-ingest/ap-and-as.sh
new file mode 100755
index 0000000..ebc1581
--- /dev/null
+++ b/ingest/complex-partial-ingest/ap-and-as.sh
@@ -0,0 +1,115 @@
+
+TMP_MP="$(mktemp)"
+TMP_DC="$(mktemp)"
+START="$(date -d "1 min" --utc +%Y-%m-%dT%H:%MZ)"
+END="$(date -d "2 min" --utc +%Y-%m-%dT%H:%MZ)"
+
+echo '
+
+ demo
+ demo
+ '"${START}"'
+ start='"${START}"'; end='"${END}"'; scheme=W3C-DTF;
+ demo
+ demo
+ eng
+ pyca
+ ap and as
+' > "${TMP_DC}"
+
+# Create media package
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/createMediaPackage" -o "${TMP_MP}"
+
+# Add DC catalog
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addDCCatalog" -F "mediaPackage=<${TMP_MP}" \
+ -F "dublinCore=<${TMP_DC}" -o "${TMP_MP}"
+
+
+# Add Presenter Audio Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_5s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_2s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="9000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="12000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+# Add Presentation Audio Tracks --------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_5s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_2s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="9000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="12000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+
+# ingest and start workflow ----------------------------------------------------
+
+
+curl -f -v -i --digest -u ${USER}:${PASSWORD} \
+ -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/ingest/${WORKFLOW}" \
+ -F "mediaPackage=<${TMP_MP}"
+
+rm -f "${TMP_MP}" "${TMP_DC}"
\ No newline at end of file
diff --git a/ingest/complex-partial-ingest/ap-and-vas.sh b/ingest/complex-partial-ingest/ap-and-vas.sh
new file mode 100755
index 0000000..a2b6675
--- /dev/null
+++ b/ingest/complex-partial-ingest/ap-and-vas.sh
@@ -0,0 +1,147 @@
+
+TMP_MP="$(mktemp)"
+TMP_DC="$(mktemp)"
+START="$(date -d "1 min" --utc +%Y-%m-%dT%H:%MZ)"
+END="$(date -d "2 min" --utc +%Y-%m-%dT%H:%MZ)"
+
+echo '
+
+ demo
+ demo
+ '"${START}"'
+ start='"${START}"'; end='"${END}"'; scheme=W3C-DTF;
+ demo
+ demo
+ eng
+ pyca
+ ap and vas
+' > "${TMP_DC}"
+
+# Create media package
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/createMediaPackage" -o "${TMP_MP}"
+
+# Add DC catalog
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addDCCatalog" -F "mediaPackage=<${TMP_MP}" \
+ -F "dublinCore=<${TMP_DC}" -o "${TMP_MP}"
+
+
+
+# Add Presenter Video Tracks ------------------------------------------------------------
+
+
+
+
+# Add Presenter Audio Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_5s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_2s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="9000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="12000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+
+
+# Add Presentation Video Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="1000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_5s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_2s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="10000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_1s.mp4 -o "${TMP_MP}"
+
+
+# Add Presentation Audio Tracks --------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_5s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_2s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="9000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="12000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+
+
+# ingest and start workflow ----------------------------------------------------
+
+curl -f -v -i --digest -u ${USER}:${PASSWORD} \
+ -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/ingest/${WORKFLOW}" \
+ -F "mediaPackage=<${TMP_MP}"
+
+rm -f "${TMP_MP}" "${TMP_DC}"
\ No newline at end of file
diff --git a/ingest/complex-partial-ingest/ap-and-vs.sh b/ingest/complex-partial-ingest/ap-and-vs.sh
new file mode 100755
index 0000000..92b1932
--- /dev/null
+++ b/ingest/complex-partial-ingest/ap-and-vs.sh
@@ -0,0 +1,111 @@
+
+TMP_MP="$(mktemp)"
+TMP_DC="$(mktemp)"
+START="$(date -d "1 min" --utc +%Y-%m-%dT%H:%MZ)"
+END="$(date -d "2 min" --utc +%Y-%m-%dT%H:%MZ)"
+
+echo '
+
+ demo
+ demo
+ '"${START}"'
+ start='"${START}"'; end='"${END}"'; scheme=W3C-DTF;
+ demo
+ demo
+ eng
+ pyca
+ ap and vs
+' > "${TMP_DC}"
+
+# Create media package
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/createMediaPackage" -o "${TMP_MP}"
+
+# Add DC catalog
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addDCCatalog" -F "mediaPackage=<${TMP_MP}" \
+ -F "dublinCore=<${TMP_DC}" -o "${TMP_MP}"
+
+
+
+# Add Presenter Video Tracks ------------------------------------------------------------
+
+
+
+
+# Add Presenter Audio Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_5s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_2s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="9000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="12000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+
+
+# Add Presentation Video Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="1000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_5s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_2s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="10000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_1s.mp4 -o "${TMP_MP}"
+
+
+# Add Presentation Audio Tracks --------------------------------------------------------
+
+
+# ingest and start workflow ----------------------------------------------------
+
+curl -f -v -i --digest -u ${USER}:${PASSWORD} \
+ -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/ingest/${WORKFLOW}" \
+ -F "mediaPackage=<${TMP_MP}"
+
+rm -f "${TMP_MP}" "${TMP_DC}"
\ No newline at end of file
diff --git a/ingest/complex-partial-ingest/ap.sh b/ingest/complex-partial-ingest/ap.sh
new file mode 100755
index 0000000..d1ea97f
--- /dev/null
+++ b/ingest/complex-partial-ingest/ap.sh
@@ -0,0 +1,86 @@
+
+TMP_MP="$(mktemp)"
+TMP_DC="$(mktemp)"
+START="$(date -d "1 min" --utc +%Y-%m-%dT%H:%MZ)"
+END="$(date -d "2 min" --utc +%Y-%m-%dT%H:%MZ)"
+
+echo '
+
+ demo
+ demo
+ '"${START}"'
+ start='"${START}"'; end='"${END}"'; scheme=W3C-DTF;
+ demo
+ demo
+ eng
+ pyca
+ ap
+' > "${TMP_DC}"
+
+# Create media package
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/createMediaPackage" -o "${TMP_MP}"
+
+# Add DC catalog
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addDCCatalog" -F "mediaPackage=<${TMP_MP}" \
+ -F "dublinCore=<${TMP_DC}" -o "${TMP_MP}"
+
+
+
+# Add Presenter Video Tracks ------------------------------------------------------------
+
+# Add Presenter Audio Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_5s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_2s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="9000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="12000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+
+
+# Add Presentation Video Tracks ------------------------------------------------------------
+
+# Add Presentation Audio Tracks --------------------------------------------------------
+
+
+# ingest and start workflow ----------------------------------------------------
+
+curl -f -v -i --digest -u ${USER}:${PASSWORD} \
+ -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/ingest/${WORKFLOW}" \
+ -F "mediaPackage=<${TMP_MP}"
+
+rm -f "${TMP_MP}" "${TMP_DC}"
\ No newline at end of file
diff --git a/ingest/complex-partial-ingest/as.sh b/ingest/complex-partial-ingest/as.sh
new file mode 100755
index 0000000..1531dd0
--- /dev/null
+++ b/ingest/complex-partial-ingest/as.sh
@@ -0,0 +1,91 @@
+
+TMP_MP="$(mktemp)"
+TMP_DC="$(mktemp)"
+START="$(date -d "1 min" --utc +%Y-%m-%dT%H:%MZ)"
+END="$(date -d "2 min" --utc +%Y-%m-%dT%H:%MZ)"
+
+echo '
+
+ demo
+ demo
+ '"${START}"'
+ start='"${START}"'; end='"${END}"'; scheme=W3C-DTF;
+ demo
+ demo
+ eng
+ pyca
+ as
+' > "${TMP_DC}"
+
+# Create media package
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/createMediaPackage" -o "${TMP_MP}"
+
+# Add DC catalog
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addDCCatalog" -F "mediaPackage=<${TMP_MP}" \
+ -F "dublinCore=<${TMP_DC}" -o "${TMP_MP}"
+
+
+
+# Add Presenter Video Tracks ------------------------------------------------------------
+
+
+
+# Add Presenter Audio Tracks ------------------------------------------------------------
+
+
+
+# Add Presentation Video Tracks ------------------------------------------------------------
+
+
+
+# Add Presentation Audio Tracks --------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_5s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_2s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="9000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="12000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+
+
+# ingest and start workflow ----------------------------------------------------
+
+curl -f -v -i --digest -u ${USER}:${PASSWORD} \
+ -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/ingest/${WORKFLOW}" \
+ -F "mediaPackage=<${TMP_MP}"
+
+rm -f "${TMP_MP}" "${TMP_DC}"
\ No newline at end of file
diff --git a/ingest/complex-partial-ingest/p_audio_1s.mp3 b/ingest/complex-partial-ingest/p_audio_1s.mp3
new file mode 100644
index 0000000..baae247
Binary files /dev/null and b/ingest/complex-partial-ingest/p_audio_1s.mp3 differ
diff --git a/ingest/complex-partial-ingest/p_audio_2s.mp3 b/ingest/complex-partial-ingest/p_audio_2s.mp3
new file mode 100644
index 0000000..0a34e78
Binary files /dev/null and b/ingest/complex-partial-ingest/p_audio_2s.mp3 differ
diff --git a/ingest/complex-partial-ingest/p_audio_5s.mp3 b/ingest/complex-partial-ingest/p_audio_5s.mp3
new file mode 100644
index 0000000..45f0d57
Binary files /dev/null and b/ingest/complex-partial-ingest/p_audio_5s.mp3 differ
diff --git a/ingest/complex-partial-ingest/partial-import-encoding-profiles.properties b/ingest/complex-partial-ingest/partial-import-encoding-profiles.properties
new file mode 100644
index 0000000..fc2dd77
--- /dev/null
+++ b/ingest/complex-partial-ingest/partial-import-encoding-profiles.properties
@@ -0,0 +1,46 @@
+
+# the audiomerge profile is optional.. the audio merge workflow should
+# use a default, if this encoding profile is not present
+profile.audiomerge.work.name = audiomerge
+profile.audiomerge.work.input = visual
+profile.audiomerge.work.output = visual
+profile.audiomerge.work.suffix = -merged.mkv
+profile.audiomerge.work.ffmpeg.command = #{audioMergeCommand} \
+ -c:a flac \
+ #{out.dir}/#{out.name}#{out.suffix}
+
+profile.partial-import-preencode.name = partial-import-preencode
+profile.partial-import-preencode.input = audiovisual
+profile.partial-import-preencode.output = audiovisual
+profile.partial-import-preencode.suffix = -preencoded.mp4
+profile.partial-import-preencode.mimetype = video/mp4
+profile.partial-import-preencode.ffmpeg.command = -i #{in.video.path} \
+ -filter:v scale=1920:-2,fps=30 \
+ -shortest -c:v libx264 -pix_fmt yuv420p \
+ -c:a aac -b:a 196k \
+ -ar 44100 -max_muxing_queue_size 9999 \
+ #{out.dir}/#{out.name}#{out.suffix}
+
+profile.concat.work.name = concat
+profile.concat.work.input = visual
+profile.concat.work.output = visual
+profile.concat.work.suffix = -concatenated.mkv
+profile.concat.work.ffmpeg.command = #{concatCommand} \
+ -c:v libx264 -crf 10 -preset fast \
+ -c:a flac \
+ #{out.dir}/#{out.name}#{out.suffix}
+
+profile.trim.work.name = trim track
+profile.trim.work.input = stream
+profile.trim.work.output = visual
+profile.trim.work.suffix = -trimmed.#{in.video.suffix}
+profile.trim.work.ffmpeg.command = -ss #{trim.start} -i #{in.video.path} -t #{trim.duration} -c copy #{out.dir}/#{out.name}#{out.suffix}
+
+profile.encode.partial-import.name = editor
+profile.encode.partial-import.input = audiovisual
+profile.encode.partial-import.output = audiovisual
+profile.encode.partial-import.suffix = -editor.mp4
+profile.encode.partial-import.mimetype = video/mp4
+profile.encode.partial-import.ffmpeg.command = -i #{in.video.path} \
+ -filter:v crop=trunc(iw/2)*2:trunc(ih/2)*2,fps=25 -shortest -c:v libx264 -preset superfast -pix_fmt yuv420p -crf 18 -c:a aac -b:a 196k \
+ #{out.dir}/#{out.name}#{out.suffix}
\ No newline at end of file
diff --git a/ingest/complex-partial-ingest/partial-import-test.xml b/ingest/complex-partial-ingest/partial-import-test.xml
new file mode 100644
index 0000000..7dcc7ce
--- /dev/null
+++ b/ingest/complex-partial-ingest/partial-import-test.xml
@@ -0,0 +1,93 @@
+
+
+
+ partial-import-test
+ Partial import - Test audio merge
+
+ archive
+
+ 1000
+
+ Uses partial import, merges audio, concats videos and saves result in assets.
+
+
+
+
+
+ ]]>
+
+
+
+
+
+
+ */source
+ +archive
+
+
+
+
+
+ archive
+
+
+
+
+
+
+ false
+ false
+ true
+
+
+
+
+
+ presenter/source
+ presentation/source
+ smil/source+partial
+ presentation/unified
+ presenter/unified
+ partial-import-preencode
+ concat.work
+ audiomerge.work
+ trim.work
+ encode.partial-import
+
+
+
+
+
+ */*
+ +archive
+
+
+
+
+
+ archive
+
+
+
+
+
diff --git a/ingest/complex-partial-ingest/partial-ingest.sh b/ingest/complex-partial-ingest/partial-ingest.sh
new file mode 100755
index 0000000..26fbb85
--- /dev/null
+++ b/ingest/complex-partial-ingest/partial-ingest.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+set -eux
+
+HOST="http://127.0.0.1:8080"
+
+if [ $# -ge 1 ]; then
+ HOST=$1
+fi
+
+USER="opencast_system_account"
+PASSWORD="CHANGE_ME"
+WORKFLOW='partial-import-test'
+
+if [ $# -ge 2 ]; then
+ WORKFLOW=$2
+fi
+
+# v = video, a = audio, p = presenter, s = presentation (s like slides)
+# ap = audio presenter
+# vap = video + audio presenter
+# vp and vas = video presenter and video + audio presentation
+
+# go through all combinations
+
+. ./ap.sh
+. ./ap-and-as.sh
+. ./ap-and-vs.sh
+. ./ap-and-vas.sh
+
+. ./vp.sh
+. ./vp-and-as.sh
+. ./vp-and-vs.sh
+. ./vp-and-vas.sh
+
+. ./vap.sh
+. ./vap-and-as.sh
+. ./vap-and-vs.sh
+. ./vap-and-vas.sh
+
+. ./as.sh
+. ./vs.sh
+. ./vas.sh
diff --git a/ingest/complex-partial-ingest/readme.md b/ingest/complex-partial-ingest/readme.md
new file mode 100644
index 0000000..c76e2c4
--- /dev/null
+++ b/ingest/complex-partial-ingest/readme.md
@@ -0,0 +1,3 @@
+The main script is partial-ingest.sh. It includes all the other scripts in this directory.
+You can configure some values in the partial-ingest.sh script, like your opencast url, the user and the name of the workflow.
+There is also a Workflow that can be included into a running Opencast instance for testing purposes.
\ No newline at end of file
diff --git a/ingest/complex-partial-ingest/s_audio_1s.mp3 b/ingest/complex-partial-ingest/s_audio_1s.mp3
new file mode 100644
index 0000000..354652b
Binary files /dev/null and b/ingest/complex-partial-ingest/s_audio_1s.mp3 differ
diff --git a/ingest/complex-partial-ingest/s_audio_2s.mp3 b/ingest/complex-partial-ingest/s_audio_2s.mp3
new file mode 100644
index 0000000..1f68466
Binary files /dev/null and b/ingest/complex-partial-ingest/s_audio_2s.mp3 differ
diff --git a/ingest/complex-partial-ingest/s_audio_5s.mp3 b/ingest/complex-partial-ingest/s_audio_5s.mp3
new file mode 100644
index 0000000..0318b1a
Binary files /dev/null and b/ingest/complex-partial-ingest/s_audio_5s.mp3 differ
diff --git a/ingest/complex-partial-ingest/vap-and-as.sh b/ingest/complex-partial-ingest/vap-and-as.sh
new file mode 100755
index 0000000..4bb581e
--- /dev/null
+++ b/ingest/complex-partial-ingest/vap-and-as.sh
@@ -0,0 +1,147 @@
+
+TMP_MP="$(mktemp)"
+TMP_DC="$(mktemp)"
+START="$(date -d "1 min" --utc +%Y-%m-%dT%H:%MZ)"
+END="$(date -d "2 min" --utc +%Y-%m-%dT%H:%MZ)"
+
+echo '
+
+ demo
+ demo
+ '"${START}"'
+ start='"${START}"'; end='"${END}"'; scheme=W3C-DTF;
+ demo
+ demo
+ eng
+ pyca
+ vap and as
+' > "${TMP_DC}"
+
+# Create media package
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/createMediaPackage" -o "${TMP_MP}"
+
+# Add DC catalog
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addDCCatalog" -F "mediaPackage=<${TMP_MP}" \
+ -F "dublinCore=<${TMP_DC}" -o "${TMP_MP}"
+
+
+
+# Add Presenter Video Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="1000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_1s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_2s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_5s.mp4 -o "${TMP_MP}"
+
+
+
+
+# Add Presenter Audio Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_5s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_2s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="9000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="12000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+
+
+# Add Presentation Video Tracks ------------------------------------------------------------
+
+
+# Add Presentation Audio Tracks --------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_5s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_2s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="9000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="12000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+
+
+# ingest and start workflow ----------------------------------------------------
+
+curl -f -v -i --digest -u ${USER}:${PASSWORD} \
+ -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/ingest/${WORKFLOW}" \
+ -F "mediaPackage=<${TMP_MP}"
+
+rm -f "${TMP_MP}" "${TMP_DC}"
\ No newline at end of file
diff --git a/ingest/complex-partial-ingest/vap-and-vas.sh b/ingest/complex-partial-ingest/vap-and-vas.sh
new file mode 100755
index 0000000..55d57e5
--- /dev/null
+++ b/ingest/complex-partial-ingest/vap-and-vas.sh
@@ -0,0 +1,168 @@
+
+TMP_MP="$(mktemp)"
+TMP_DC="$(mktemp)"
+START="$(date -d "1 min" --utc +%Y-%m-%dT%H:%MZ)"
+END="$(date -d "2 min" --utc +%Y-%m-%dT%H:%MZ)"
+
+echo '
+
+ demo
+ demo
+ '"${START}"'
+ start='"${START}"'; end='"${END}"'; scheme=W3C-DTF;
+ demo
+ demo
+ eng
+ pyca
+ vap and vas
+' > "${TMP_DC}"
+
+# Create media package
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/createMediaPackage" -o "${TMP_MP}"
+
+# Add DC catalog
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addDCCatalog" -F "mediaPackage=<${TMP_MP}" \
+ -F "dublinCore=<${TMP_DC}" -o "${TMP_MP}"
+
+
+
+# Add Presenter Video Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="1000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_1s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_2s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_5s.mp4 -o "${TMP_MP}"
+
+
+
+
+# Add Presenter Audio Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_5s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_2s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="9000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="12000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+
+
+# Add Presentation Video Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="1000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_5s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_2s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="10000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_1s.mp4 -o "${TMP_MP}"
+
+
+# Add Presentation Audio Tracks --------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_5s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_2s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="9000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="12000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+
+
+# ingest and start workflow ----------------------------------------------------
+
+curl -f -v -i --digest -u ${USER}:${PASSWORD} \
+ -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/ingest/${WORKFLOW}" \
+ -F "mediaPackage=<${TMP_MP}"
+
+rm -f "${TMP_MP}" "${TMP_DC}"
\ No newline at end of file
diff --git a/ingest/complex-partial-ingest/vap-and-vs.sh b/ingest/complex-partial-ingest/vap-and-vs.sh
new file mode 100755
index 0000000..9eb6752
--- /dev/null
+++ b/ingest/complex-partial-ingest/vap-and-vs.sh
@@ -0,0 +1,132 @@
+
+TMP_MP="$(mktemp)"
+TMP_DC="$(mktemp)"
+START="$(date -d "1 min" --utc +%Y-%m-%dT%H:%MZ)"
+END="$(date -d "2 min" --utc +%Y-%m-%dT%H:%MZ)"
+
+echo '
+
+ demo
+ demo
+ '"${START}"'
+ start='"${START}"'; end='"${END}"'; scheme=W3C-DTF;
+ demo
+ demo
+ eng
+ pyca
+ vap and vs
+' > "${TMP_DC}"
+
+# Create media package
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/createMediaPackage" -o "${TMP_MP}"
+
+# Add DC catalog
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addDCCatalog" -F "mediaPackage=<${TMP_MP}" \
+ -F "dublinCore=<${TMP_DC}" -o "${TMP_MP}"
+
+
+
+# Add Presenter Video Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="1000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_1s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_2s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_5s.mp4 -o "${TMP_MP}"
+
+
+
+
+# Add Presenter Audio Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_5s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_2s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="9000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="12000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+
+
+# Add Presentation Video Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="1000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_5s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_2s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="10000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_1s.mp4 -o "${TMP_MP}"
+
+
+# Add Presentation Audio Tracks --------------------------------------------------------
+
+
+# ingest and start workflow ----------------------------------------------------
+
+curl -f -v -i --digest -u ${USER}:${PASSWORD} \
+ -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/ingest/${WORKFLOW}" \
+ -F "mediaPackage=<${TMP_MP}"
+
+rm -f "${TMP_MP}" "${TMP_DC}"
\ No newline at end of file
diff --git a/ingest/complex-partial-ingest/vap.sh b/ingest/complex-partial-ingest/vap.sh
new file mode 100755
index 0000000..e7fc3fa
--- /dev/null
+++ b/ingest/complex-partial-ingest/vap.sh
@@ -0,0 +1,112 @@
+
+TMP_MP="$(mktemp)"
+TMP_DC="$(mktemp)"
+START="$(date -d "1 min" --utc +%Y-%m-%dT%H:%MZ)"
+END="$(date -d "2 min" --utc +%Y-%m-%dT%H:%MZ)"
+
+echo '
+
+ demo
+ demo
+ '"${START}"'
+ start='"${START}"'; end='"${END}"'; scheme=W3C-DTF;
+ demo
+ demo
+ eng
+ pyca
+ vap
+' > "${TMP_DC}"
+
+# Create media package
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/createMediaPackage" -o "${TMP_MP}"
+
+# Add DC catalog
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addDCCatalog" -F "mediaPackage=<${TMP_MP}" \
+ -F "dublinCore=<${TMP_DC}" -o "${TMP_MP}"
+
+
+
+# Add Presenter Video Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="1000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_1s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_2s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_5s.mp4 -o "${TMP_MP}"
+
+
+
+
+# Add Presenter Audio Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_5s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_2s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="9000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="12000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@p_audio_1s.mp3 -o "${TMP_MP}"
+
+
+
+# Add Presentation Video Tracks ------------------------------------------------------------
+
+
+# Add Presentation Audio Tracks --------------------------------------------------------
+
+
+
+# ingest and start workflow ----------------------------------------------------
+
+curl -f -v -i --digest -u ${USER}:${PASSWORD} \
+ -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/ingest/${WORKFLOW}" \
+ -F "mediaPackage=<${TMP_MP}"
+
+rm -f "${TMP_MP}" "${TMP_DC}"
\ No newline at end of file
diff --git a/ingest/complex-partial-ingest/vas.sh b/ingest/complex-partial-ingest/vas.sh
new file mode 100755
index 0000000..dbfa296
--- /dev/null
+++ b/ingest/complex-partial-ingest/vas.sh
@@ -0,0 +1,109 @@
+
+TMP_MP="$(mktemp)"
+TMP_DC="$(mktemp)"
+START="$(date -d "1 min" --utc +%Y-%m-%dT%H:%MZ)"
+END="$(date -d "2 min" --utc +%Y-%m-%dT%H:%MZ)"
+
+echo '
+
+ demo
+ demo
+ '"${START}"'
+ start='"${START}"'; end='"${END}"'; scheme=W3C-DTF;
+ demo
+ demo
+ eng
+ pyca
+ vas
+' > "${TMP_DC}"
+
+# Create media package
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/createMediaPackage" -o "${TMP_MP}"
+
+# Add DC catalog
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addDCCatalog" -F "mediaPackage=<${TMP_MP}" \
+ -F "dublinCore=<${TMP_DC}" -o "${TMP_MP}"
+
+
+
+# Add Presenter Video Tracks ------------------------------------------------------------
+
+
+# Add Presenter Audio Tracks ------------------------------------------------------------
+
+
+# Add Presentation Video Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="1000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_5s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_2s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="10000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_1s.mp4 -o "${TMP_MP}"
+
+
+# Add Presentation Audio Tracks --------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_5s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_2s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="9000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="12000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+
+
+# ingest and start workflow ----------------------------------------------------
+
+curl -f -v -i --digest -u ${USER}:${PASSWORD} \
+ -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/ingest/${WORKFLOW}" \
+ -F "mediaPackage=<${TMP_MP}"
+
+rm -f "${TMP_MP}" "${TMP_DC}"
\ No newline at end of file
diff --git a/ingest/complex-partial-ingest/video_1s.mp4 b/ingest/complex-partial-ingest/video_1s.mp4
new file mode 100644
index 0000000..16d5340
Binary files /dev/null and b/ingest/complex-partial-ingest/video_1s.mp4 differ
diff --git a/ingest/complex-partial-ingest/video_2s.mp4 b/ingest/complex-partial-ingest/video_2s.mp4
new file mode 100644
index 0000000..a68eb68
Binary files /dev/null and b/ingest/complex-partial-ingest/video_2s.mp4 differ
diff --git a/ingest/complex-partial-ingest/video_5s.mp4 b/ingest/complex-partial-ingest/video_5s.mp4
new file mode 100644
index 0000000..4ea56e3
Binary files /dev/null and b/ingest/complex-partial-ingest/video_5s.mp4 differ
diff --git a/ingest/complex-partial-ingest/vp-and-as.sh b/ingest/complex-partial-ingest/vp-and-as.sh
new file mode 100755
index 0000000..6d5b29b
--- /dev/null
+++ b/ingest/complex-partial-ingest/vp-and-as.sh
@@ -0,0 +1,109 @@
+
+TMP_MP="$(mktemp)"
+TMP_DC="$(mktemp)"
+START="$(date -d "1 min" --utc +%Y-%m-%dT%H:%MZ)"
+END="$(date -d "2 min" --utc +%Y-%m-%dT%H:%MZ)"
+
+echo '
+
+ demo
+ demo
+ '"${START}"'
+ start='"${START}"'; end='"${END}"'; scheme=W3C-DTF;
+ demo
+ demo
+ eng
+ pyca
+ vp and as
+' > "${TMP_DC}"
+
+# Create media package
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/createMediaPackage" -o "${TMP_MP}"
+
+# Add DC catalog
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addDCCatalog" -F "mediaPackage=<${TMP_MP}" \
+ -F "dublinCore=<${TMP_DC}" -o "${TMP_MP}"
+
+
+
+# Add Presenter Video Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="1000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_1s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_2s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_5s.mp4 -o "${TMP_MP}"
+
+
+# Add Presenter Audio Tracks ------------------------------------------------------------
+
+
+# Add Presentation Video Tracks ------------------------------------------------------------
+
+
+# Add Presentation Audio Tracks --------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_5s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_2s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="9000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="12000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+
+
+# ingest and start workflow ----------------------------------------------------
+
+curl -f -v -i --digest -u ${USER}:${PASSWORD} \
+ -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/ingest/${WORKFLOW}" \
+ -F "mediaPackage=<${TMP_MP}"
+
+rm -f "${TMP_MP}" "${TMP_DC}"
\ No newline at end of file
diff --git a/ingest/complex-partial-ingest/vp-and-vas.sh b/ingest/complex-partial-ingest/vp-and-vas.sh
new file mode 100755
index 0000000..5af5188
--- /dev/null
+++ b/ingest/complex-partial-ingest/vp-and-vas.sh
@@ -0,0 +1,132 @@
+
+TMP_MP="$(mktemp)"
+TMP_DC="$(mktemp)"
+START="$(date -d "1 min" --utc +%Y-%m-%dT%H:%MZ)"
+END="$(date -d "2 min" --utc +%Y-%m-%dT%H:%MZ)"
+
+echo '
+
+ demo
+ demo
+ '"${START}"'
+ start='"${START}"'; end='"${END}"'; scheme=W3C-DTF;
+ demo
+ demo
+ eng
+ pyca
+ vp and vas
+' > "${TMP_DC}"
+
+# Create media package
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/createMediaPackage" -o "${TMP_MP}"
+
+# Add DC catalog
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addDCCatalog" -F "mediaPackage=<${TMP_MP}" \
+ -F "dublinCore=<${TMP_DC}" -o "${TMP_MP}"
+
+
+
+# Add Presenter Video Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="1000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_1s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_2s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_5s.mp4 -o "${TMP_MP}"
+
+
+
+
+# Add Presenter Audio Tracks ------------------------------------------------------------
+
+
+# Add Presentation Video Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="1000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_5s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_2s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="10000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_1s.mp4 -o "${TMP_MP}"
+
+
+# Add Presentation Audio Tracks --------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_5s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_2s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="9000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="12000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@s_audio_1s.mp3 -o "${TMP_MP}"
+
+
+
+# ingest and start workflow ----------------------------------------------------
+
+curl -f -v -i --digest -u ${USER}:${PASSWORD} \
+ -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/ingest/${WORKFLOW}" \
+ -F "mediaPackage=<${TMP_MP}"
+
+rm -f "${TMP_MP}" "${TMP_DC}"
\ No newline at end of file
diff --git a/ingest/complex-partial-ingest/vp-and-vs.sh b/ingest/complex-partial-ingest/vp-and-vs.sh
new file mode 100755
index 0000000..29411ec
--- /dev/null
+++ b/ingest/complex-partial-ingest/vp-and-vs.sh
@@ -0,0 +1,97 @@
+
+TMP_MP="$(mktemp)"
+TMP_DC="$(mktemp)"
+START="$(date -d "1 min" --utc +%Y-%m-%dT%H:%MZ)"
+END="$(date -d "2 min" --utc +%Y-%m-%dT%H:%MZ)"
+
+echo '
+
+ demo
+ demo
+ '"${START}"'
+ start='"${START}"'; end='"${END}"'; scheme=W3C-DTF;
+ demo
+ demo
+ eng
+ pyca
+ vp and vs
+' > "${TMP_DC}"
+
+# Create media package
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/createMediaPackage" -o "${TMP_MP}"
+
+# Add DC catalog
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addDCCatalog" -F "mediaPackage=<${TMP_MP}" \
+ -F "dublinCore=<${TMP_DC}" -o "${TMP_MP}"
+
+
+
+# Add Presenter Video Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="1000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_1s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_2s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_5s.mp4 -o "${TMP_MP}"
+
+
+
+
+# Add Presenter Audio Tracks ------------------------------------------------------------
+
+
+# Add Presentation Video Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="1000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_5s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_2s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="10000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_1s.mp4 -o "${TMP_MP}"
+
+
+
+# Add Presentation Audio Tracks --------------------------------------------------------
+
+
+# ingest and start workflow ----------------------------------------------------
+
+curl -f -v -i --digest -u ${USER}:${PASSWORD} \
+ -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/ingest/${WORKFLOW}" \
+ -F "mediaPackage=<${TMP_MP}"
+
+rm -f "${TMP_MP}" "${TMP_DC}"
\ No newline at end of file
diff --git a/ingest/complex-partial-ingest/vp.sh b/ingest/complex-partial-ingest/vp.sh
new file mode 100755
index 0000000..949f86e
--- /dev/null
+++ b/ingest/complex-partial-ingest/vp.sh
@@ -0,0 +1,75 @@
+
+TMP_MP="$(mktemp)"
+TMP_DC="$(mktemp)"
+START="$(date -d "1 min" --utc +%Y-%m-%dT%H:%MZ)"
+END="$(date -d "2 min" --utc +%Y-%m-%dT%H:%MZ)"
+
+echo '
+
+ demo
+ demo
+ '"${START}"'
+ start='"${START}"'; end='"${END}"'; scheme=W3C-DTF;
+ demo
+ demo
+ eng
+ pyca
+ vp
+' > "${TMP_DC}"
+
+# Create media package
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/createMediaPackage" -o "${TMP_MP}"
+
+# Add DC catalog
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addDCCatalog" -F "mediaPackage=<${TMP_MP}" \
+ -F "dublinCore=<${TMP_DC}" -o "${TMP_MP}"
+
+
+
+# Add Presenter Video Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="1000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_1s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="3000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_2s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presenter/source \
+ -F startTime="5000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_5s.mp4 -o "${TMP_MP}"
+
+
+
+
+# Add Presenter Audio Tracks ------------------------------------------------------------
+
+
+# Add Presentation Video Tracks ------------------------------------------------------------
+
+
+# Add Presentation Audio Tracks --------------------------------------------------------
+
+
+# ingest and start workflow ----------------------------------------------------
+
+curl -f -v -i --digest -u ${USER}:${PASSWORD} \
+ -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/ingest/${WORKFLOW}" \
+ -F "mediaPackage=<${TMP_MP}"
+
+rm -f "${TMP_MP}" "${TMP_DC}"
\ No newline at end of file
diff --git a/ingest/complex-partial-ingest/vs.sh b/ingest/complex-partial-ingest/vs.sh
new file mode 100755
index 0000000..80c3ccb
--- /dev/null
+++ b/ingest/complex-partial-ingest/vs.sh
@@ -0,0 +1,73 @@
+
+TMP_MP="$(mktemp)"
+TMP_DC="$(mktemp)"
+START="$(date -d "1 min" --utc +%Y-%m-%dT%H:%MZ)"
+END="$(date -d "2 min" --utc +%Y-%m-%dT%H:%MZ)"
+
+echo '
+
+ demo
+ demo
+ '"${START}"'
+ start='"${START}"'; end='"${END}"'; scheme=W3C-DTF;
+ demo
+ demo
+ eng
+ pyca
+ vs
+' > "${TMP_DC}"
+
+# Create media package
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/createMediaPackage" -o "${TMP_MP}"
+
+# Add DC catalog
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addDCCatalog" -F "mediaPackage=<${TMP_MP}" \
+ -F "dublinCore=<${TMP_DC}" -o "${TMP_MP}"
+
+
+
+# Add Presenter Video Tracks ------------------------------------------------------------
+
+
+# Add Presenter Audio Tracks ------------------------------------------------------------
+
+
+# Add Presentation Video Tracks ------------------------------------------------------------
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="1000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_5s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="8000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_2s.mp4 -o "${TMP_MP}"
+
+curl -f --digest -u ${USER}:${PASSWORD} -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/addPartialTrack" \
+ -F flavor=presentation/source \
+ -F startTime="10000" \
+ -F "mediaPackage=<${TMP_MP}" \
+ -F Body=@video_1s.mp4 -o "${TMP_MP}"
+
+
+# Add Presentation Audio Tracks --------------------------------------------------------
+
+
+# ingest and start workflow ----------------------------------------------------
+
+curl -f -v -i --digest -u ${USER}:${PASSWORD} \
+ -H "X-Requested-Auth: Digest" \
+ "${HOST}/ingest/ingest/${WORKFLOW}" \
+ -F "mediaPackage=<${TMP_MP}"
+
+rm -f "${TMP_MP}" "${TMP_DC}"
\ No newline at end of file