morsecodemedia / veeva-template

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Veeva Template

This is a blank template for a Veeva CLM presentation that can utilize Shared Resources, provide some convenience methods and basic library support. Code is namespaced and easily extensible.

Installing / Getting started

Clone, fetch, or download this repo into your new project folder.

	make install

After running make install you will be prompted for the name of the project. Enter a name using lowercase letters and dashes for spaces (e.g., "sample-project" or "magic-beans-are-cool"). The project will update paths and package names to match your input.

Developing

This template utilizes my Veeva framework and stubs out a sample project library. The code is namespaced and suggestive of a style, but everything is extremely flexible. Individual Slides can use their own build tools, structure, and media type without conflict.

Building

To build the project:

	make build

The default task is build, so you can just run make if you prefer. The build task will cycle through each Slide in the presentation and attempt to run a build script or gulp task if appropriate.

Deploying / Publishing

The first step in deploying Veeva presentations is to generate the slide zip files.

	make zip

This will create a zip file for each slide in the presentation and store them in the zip folder at the root of the project. If SHARED_RESOURCES_SUPPORT is true in the Makefile, this will also generate a zip for the project shared resource. Otherwise the contents of the project shared resource will be included in place in each zip.

Features

Primarily this template is about the organization of Slides and shared resources and simple automation of build tasks. Some sample code is present as a template suggestion, as is the use of my Veeva framework.

Configuration

There are some options available for configuration with this template.

Shared Resources

If your Veeva installation supports Shared Resources, set this property to true to enable the appropriate zip structure. Setting this to false will embed the contents of the shared folder into each Slide instead.

Locate the following line in Makefile to adjust:

	SHARED_RESOURCES_SUPPORT=true

Presentation Structure

After installation your project will have a shared resource project folder located within the shared folder. In this folder will be ./js/project.js. Editing this file reveals some project level configuration.

Near the top of this file you will find presentationStructure, an object that associates your local Slides and Presentation with your settings in Salesforce. Match up the presentation values with those of your Presentation in Salesforce. For each Slide, in order of appearance in your presentation, give a short id, a keyMessage value that matches that of the zip you will upload, and optionally a jobCode which can be used for display.

Without this section configured, some of the Veeva framework built in navigation functions will not operate correctly. Warnings will be provided in the console for incorrect configuration.

Contributing

If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcomed.

Licensing

The code in this project is licensed under MIT license with the exception of bundled 3rd party libraries such as (but not limited to):

  • Greensock Animation Platform
  • jQuery TouchSwipe

About


Languages

Language:JavaScript 46.9%Language:Makefile 21.5%Language:SCSS 20.3%Language:HTML 11.3%