cad-curriculum(1)

Michael Slinn (mslinn@micronauticsresearch.com)

10 May 2019

NAME

The following 5 Cadenza Client™ commands share similar options and structure:

cad site(1) - manage site-level curriculum content.

cad group(1) - manage group-level curriculum content.

cad course(1) - manage course-level curriculum content.

cad section(1) - manage section-level curriculum content.

cad lecture(1) - manage lecture-level curriculum content.

SYNOPSIS

General Format

cad [OPTION]… site | group | course | section | lecture [ACTION_OPTIONS]… id [ACTION]

Subcommand Variations

cad [OPTION]… site | group | course | lecture id aa

cad [OPTION]… site | group | course | lecture id ai

cad [OPTION]… site | group | course | lecture id audioFromTitles

cad [OPTION]… site | group | course | lecture id backup

cad [OPTION]… site | group | course | section | lecture [ACTION_OPTIONS]… id code

cad [OPTION]… site | group | course | lecture [ -r | -f] id deleteRepo

cad [OPTION]… site | group | course | lecture id dir

cad [OPTION]… site | group | course | lecture id dw

cad [OPTION]… site | group | course | section | lecture [ -r ] id fetch

cad [OPTION]… site | group | course | section | lecture [ -r ] id listAssets

cad [OPTION]… site | group | course | lecture id newAudio

cad [OPTION]… site | group | course | lecture id newAudios

cad [OPTION]… site | group | course | lecture id newCreative [template]

cad [OPTION]… site | group | course | lecture id newRepo

cad [OPTION]… site | group | course | section | lecture id publish

cad [OPTION]… site | group | course | lecture id pp

cad [OPTION]… site | group | course | section | lecture id status

cad [OPTION]… site | group | course | section | lecture [ -r ] id updateAll

cad [OPTION]… site | group | course | section | lecture [ -r ] id updateDb

cad [OPTION]… site | group | course | section | lecture [ -r ] id updateGit

cad [OPTION]… site | group | course | section | lecture [ -r ] id updateS3

ACTION_OPTIONS

Most of the following switches are common to all curriculum management commands:

-D
Dry run.
-r
Recurse (does not apply to lecture command).
-o
Overwrite any pre-existing HTML5 content in cadenzaCurriculum.
-q
Quiet mode.
-R
Reinitialize any pre-existing git repo.

ACTIONS

The following are common to all curriculum management commands:

aa
Launches Adobe Audition and loads all of the set of the site|group|course|lecture -level audio projects within $cadenzaCreative.
ai
Launches Adobe Illustrator, does not set the directory or load a file.
audioFromTitles
Creates an Adobe Audition project within $cadenzaCreative for every heading in the $cadenzaCurriculum site|group|course|section|lecture -level transcript. Informs the user that the fetch should be performed if the content has not yet been downloaded. If an Adobe Audition project already exists, prompts the user if they want to overwrite it.
backup [-rf]

Copy the cadenzaCreative subdirectory for this site|group|course|section|lecture to the same subdirectory within cadenzaCreativeBackup. The -r switch does not apply to lectures because it causes recursive backups. An error is generated if the destination directory has new contents than the source directory, and the -f switch is not specified. Backups delete or overwrite all previous contents of the destination directory. Backups are possible to s3 buckets, and remote directories via scp, according to the prefix of cadenzaCreativeBackup. The cadenzaCreativeBackup prefix values are:

s3:
Backup to a S3 bucket.
*.
Use scp protocol if a colon appears before a slash and backup is not to s3
Default
Copy local files
code
TODO What does this do?
deleteRepo [-rf]
Deletes the local git repo for this site|group|course|section|lecture. Invokes the fetch action if the content has not yet been downloaded. Specifying the -r option causes a recursive deleteRepo for all of the site|group|course|section’s courses, sections and lectures. If the -f switch was not specified and a GitHub repo exists for this group, asks the user if the GitHub repo should also be deleted.
dir
Returns the directory name within cadenzaCreative that contains this site|group|course|section|lecture.
dw
Launches Adobe DreamWeaver with the specified site|group|course|lecture -level $cadenzaCurriculum project. Informs the user that the fetch command should be performed if the content has not yet been downloaded. Creates the site’s DreamWeaver lecture.ste, course.ste, group.ste or site.ste file if it does not yet exist. Only allowed for a site if the -a switch was not specified.
fetch [-r]
(Re)download the HTML5 project associated with this site|group|course|section|lecture in the $cadenzaCurriculum directory; Reads the database records and obtains the specified site|group|course|section|lecture’s HTML5 curriculum content, then writes the information into the directory structure under $cadenzaCurriculum.
listAssets
Lists all assets used by this site|group|course|section|lecture.
newAudio
Invoked by newAudios, can also be invoked manually. Type cad site|group|course|lecture newAudios -h for details.
newAudios
Invoked by newCreative. Type cad site|group|course|lecture newCreative -h for details. Reads headings out of specified entity description and transcript. Uses cadLectureProps to create the directory for the lecture video project, under the $cadenzaCreative directory. Uses this template: $cadenzaCreative/templates/audition. Reads from the $cadenzaCurriculum directory, and writes to the $cadenzaCreative directory.
newCreative [template]
Currently new site|group|course|lecture -level HTML5 projects are created online using a Cadenza-powered web site such as ScalaCourses.com. This command creates a new site|group|course|lecture -level $cadenzaCreative project. This command should not be run until after the writing and editing of the site|group|course|lecture -level curriculum content is finished. The command parses the curriculum transcript and uses the HTML headings to create a new Adobe Creative Suite project in $cadenzaCreative. If the template is not specified then template_2017.prproj is used. Templates are stored in $cadenzaCreative/templates by default. The default template directory can be changed by editing the templates property in $cadenzaCreative/cadenzaCreative.json. The default template directory for lectures can be changed by editing the defaultLectureTemplate property in $cadenzaCreative/cadenzaCreative.json, and the default template within that directory can be changed by editing the defaultLecturePPproj property. Similarly, the default course, group and site template directories can be changed by editing the defaultCourseTemplate, defaultGroupTemplate and defaultSiteTemplate properties, and the templates are specified by the defaultCoursePPproj, defaultGroupPPproj and defaultSitePPproj properties.
render
Invoke Adobe Media Encoder on all the Premiere Pro projects associated with this site.
status
TODO what does this do?
updateAll
Updates the production database, AWS S3 bucket and curriculum git repository. Invokes updateDb, updateGit and updateS3.
updateDb

Updates (pushes to) production database record for the site|group|course|section|lecture. Copies the 4 text fields of a site|group|course|section|lecture -level $cadenzaCurriculum project from the local machine to the production database. Works from the 4 scalaCoursesLectureXXXEdit.html files, creates or updates scalaCoursesLectureXXXDone.html files, which are uploaded. The header and footer from the Edit.html files are stripped away when creating the Done.html versions.

If lectureId is not present the script exits with an error.

This will change soon: If directory is not specified, the current directory is assumed to be a git repository containing the lecture to be uploaded, according to the value in lectureId.

updateGit
Updates (commits to) the courseCurriculum git repository from the user’s local machine. If lectureId is not present the script exits with an error. Accepts an optional comment.
updateS3
Updates (uploads) assets in AWS S3 bucket. Copies all assets (e.g. images) of a site|group|course|section|lecture to AWS S3. If lectureId is not present the script exits with an error. aws-cli is automatically installed if not found.

SEE ALSO

cad site, cad group, cad course, cad section and cad lecture.