Document Creation
Manual, 1.00.00 |
Copyright NoticeThis material is copyright protected. No material may be reproduced or transmitted in any form or by any means for any purpose without expressed written consent of VideoRay LLC. Copyright © 2022, VideoRay LLC - The Global Leader in Micro-ROV Technology |
Document Creation
Manual, 1.00.00 |
Table of ContentsSection# Topic
|
Document Creation
Manual, 1.00.00 |
About this DocumentOnline ManualThis printed Quick Start Guide is a subset of the full version of this manual, which is available on the Document Creation control panel and online in the following formats:
This document provides information about developing documentation projects from an administrative and implementation perspective. Technical aspects of using DynaDoc can be found in the DyanDoc Operator's Manual. Document ConventionsSeveral symbols are used throughout this documentation to add emphasis and to assist in relocating important information. The following table describes these symbols and their uses.
Beyond this DocumentThere is no substitute for experience and/or training, especially with respect to the real purpose for which you plan to use this equipment. We encourage you to explore options beyond the scope of these materials to expand your knowledge and skills necessary to support your applications. In addition to this documentation, VideoRay offers training and technical support and hosts a general user discussion forum and user image gallery. We also realize that collectively, users of our products spend considerably more time operating our systems than we do ourselves. Users also encounter more diverse operating environments across an extremely broad range of applications. We highly value this vast experience base, and invite and encourage you to share your experiences and suggestions with us. Please feel free to contact us by any of the methods listed below. Quality CommitmentVideoRay strives to design, manufacture, deliver and support the highest quality products and services, including this documentation. We have made every effort to ensure that this documentation is accurate and provides you with the most up-to-date information. If you find any errors in this documentation or have suggestions for improvements, each page contains a "Help us improve this document" feedback link in the left margin (you must be connected to the Internet to use this link).
DisclaimerThis document is deemed accurate at the time of its writing, however it is not a legal contract and the information contained herein should not be construed to represent any form of commitment. This document as well as the associated products and services are subject to change without notice. |
Document Creation
Manual, 1.00.00 |
How to Get HelpHelp for your Document Creation is available through several channels. All Hours Self-Service / Crowd-Source Tools
Global Support
Regional Support
Training
Operational Strategies and Tactics SupportIf you need help understanding how to apply your system to a specific project, contact VideoRay or you local VideoRay dealer. We can provide guidance or help you find a certified consultant. |
Before Contacting SupportPlease make sure to consider the following information before contacting VideoRay's Technical Support to report a problem. The following information should available:
Once you have collected the recommended information, visit the "How to Get Help" page for contact information. In addition, please review VideoRay's Support website for additional information about:
|
Document Creation
Manual, 1.00.00 |
Document Creation Process OverviewThe VideoRay document creation process relies on DynaDoc and several supporting PHP programs. In addition, several other free or open source tools are required. The VideoRay proprietary programs, including DynaDoc, are archived in private Git repositories on BitBucket. Other tools can be found on the Internet. These programs can be installed on a local computer to enable a stand-alone document production environment. Information about downloading and installing the required programs and setting up the development environment can be found in the Environment Configuration section of this guide. Documents are written in HTML with each page being a modular HTML file. JavaScript can be added to make the pages dynamic. A template and CSS files control the page layout, so the author only needs to concentrate on the content of each page. The sequence of the pages in the final document is defined in the DynaDoc script. The results are in the format of this manual, with an automatically generated menu, table of contents and other features. For more information about the technical aspects of using DynaDoc, see the DynaDoc Operator's Manual. Documentation projects are version controlled using Git and archived in public repositories on GitHub. Completed documents are published to VideoRay product computers and the Internet. This guide provides step-by-step instructions on how to create and publish VideoRay documents. The basic process is outlined below and details are included in the sections that follow.
|
Document Creation
Manual, 1.00.00 |
Computer Environment ConfigurationPrior to working on documentation projects, several software utilities need to be installed on your local computer and the environment must be set up. The default document development folder is: C:\www\. Create the VideoRay folder if it does not exist, but do not create the www folder yet. The environment requirements include:
The following sections provide information about configuring your system for these requirements. You will also need BitBucket and GitHub accounts and to be assigned to the VideoRay Documentation team on each website. |
Text EditorDocumentation is written primarily in HTML. Most HTML editors are either expensive or produce poorly formatted results. Several good choices for advanced text editors are listed below:
If you have a preferred text editor, feel free to use it instead. Configure windows to display file extensions.
Configure your editor to automatically open .txt, .htm and .php files.
|
GitGit is a version control and archiving platform. Files and changes to the files are stored in repositories. VideoRay uses private repositories on BitBucket to store DynaDoc and other proprietary utilities and public repositories on GitHub to store the document source (The source is the same as the published content, except in a different format, so it does not need to be protected). Git Client
BitBucketYou will need to clone the www repository from BitBucket before you can start creating documents.
GitHubGitHub is required to clone a document set to your local computer for editing and to push documents back to GitHub for version control and archiving.
At this point, you will not need to access GitHub any further for preparing your environment. You will need to access GitHub when you start to work on documentation projects as explained in the Document Setup section. |
XAMPPXAMPP provides a suite of products for hosting a local web server on your computer to run DynaDoc and other PHP scripts.
The www repository (which should have been downloaded earlier) has an index.htm file that is set up with links for DynaDoc and other required PHP programs. To access the web server, open a browser and enter http://localhost or http://127.0.0.1 in the address bar. You should see a page with Web tools, Apps, DynaDoc and Glossary links. You can create an index.php file and include your own links, then at the bottom use the PHP include command to include the index.htm file with the DynaDoc links. <?php
|
Additional Recommended UtilitiesThere are several other utilities that you may find useful in developing documentation projects. These utilities are all free.
As with all software recommendations, if you have another tool that you you are more comfortable with that performs similar functions, feel free to use that instead. |
Document Creation
Manual, 1.00.00 |
Project SetupAfter your computer environment has been set up, you can start working on documentation projects. The instructions in this guide are for a representative documentation project. The nature of your project may vary and may require implementation of different features or elements. The DynaDoc EnvironmentThe dynadoc.php program is installed when you clone the www repository. See the Dynadoc manual for more information about using Dynadoc. dynadoc_manage.php is an optional layer that helps you work with multiple projects. Rather than have to use the dynadoc.php form and fill in the project information every time you want to update a project, dynadoc_manage.php can do this for you using links. dynadoc_manage.php also provides an easy interface to launch many of the DynaDoc utility programs. See the Configuring DynaDoc page for more information. Creating a New Document Project
Editing an Existing Document Project
|
Configuring DynaDocAll DynaDoc PHP programs can be accessed directly, or through dynadoc_manage.php. dynadoc_manage.php is preferred and provides an easy to use interface with buttons and links on the home and categories pages. Information about creating a new dynadoc environment or setting up your computer to work in an existing DynaDoc environment is provided below. Creating a New DynaDoc Project EnvironmentIf you are setting up your computer for working in an existing DynaDoc environment (when you have cloned the www repository), you can skip this section. If starting from scratch, you will need to create a category list file (dynadoc_create.lst) and a dynadoc_catName.lst file for each category. An example category list file is shown below: categoryName|displayName| _rov|ROVs| The first line is a header that describes the record format. The second and subsequent lines include a category mnemonic and display name. In this example, _rov is the catName and ROVs is the display name. This file must be created and updated manually to add categories. At least one category must exist, and the trailing "|" is required. An example category project list file (dyandoc_rov.lst) is shown below: Name|Project|Source Dir|Out Dir|List?| The first line is a header that describes the record format. Additional lines are automatically created by dynadoc_create.php.
If Name preceded by a space, this row will be indented when displayed. This may be helpful for projects that use multiple concurrent versions in separate html folders. If Name is preceded by a +, a second "view" link we be created to the html folder. See the Advanced Techniques and Multiple Versions Example sections for more information. The easiest way to use dynadoc_manage.php is to create a link to it in an HTML file such as index.html. An example line in an index.html file is shown below: <a href="dynadoc_manage.php?category=_rov">ROVs</a> Additional lines can be created for each category. This file must be created and updated manually. Setting Up Your Computer for Working in an Existing DynaDoc EnvironmentIf you are creating a new DynaDoc environment, you can skip this section. If you are setting up your computer for working in an existing DynaDoc environment, DynaDoc and its utilities are included in the www repository. DynaDoc will already be configured for all of the projects that exist at the time you clone the www repository to your system and will be updated each time you "pull" the www repository to your system. This does not include the actual projects. If you want to edit an existing project, you will need to clone the project repository to your system (as described in the previous section about Git Repository Creation / Cloning). This only needs to be done once for each project. Then as you make changes to the project, you will "push" your changes to the project repository on GitHub. |
Git Repository Creation / CloningIf creating a new document, you need to create a GitHub repository to store a copy of your documentation project online and manage changes to it, and then clone this repository to your local computer for editing. If you are editing an existing document that you have not yet configured locally, you need to clone the existing repository to your local computer and then you can edit it. Creating a Document RepositoryIf you are planning to edit an existing document, skip this section.
The repository exists on the GitHub server now, but it needs to be cloned to you local machine as well in order to work on it. Cloning the Document Repository to Your Local Computer.These steps apply to newly created project repositories as well as for preparing to edit an existing project that you have not yet configured locally.
You should now have the repository (including its contents if editing) on your local machine. There are few more steps required to configure DynaDoc to work with this document. These steps are explained in the next section. |
Dynadoc New Project PreparationIf you are creating a new project, in addition to creating and cloning the project (as described in the previous section about Git Repository Creation / Cloning), you will need to configure DynaDoc to recognize the project and then "push" the www repository to GitHub so that others can keep their system up-to-date with all projects as well. Configuring DynaDoc for a new project is a semi-automated process which uses the dynadoc_create.php program for these steps. dynadoc_create.php is included in the www repository and is accessed using the dynadoc_manage.php program, which runs when you click on a category link on the home page. If you are creating a new project, these steps will configure DynaDoc and copy the project template files to the project folder. If you are editing an existing project, you do not need to perform these steps.
The dynadoc_create.php program will prepare DyanDoc to work with your document. The next section will describe content creation - for more information about using DynaDoc to create and edit documents, see the following sections and the DynaDoc Operator's Manual. |
Document Creation
Manual, 1.00.00 |
Content CreationThe content creation process includes edit and review cycles. The summary of steps is:
The information provided here is just the essentials. For more detailed information, see the DyanDoc Operator's Manual. Now that you have set everything up, you can start to work on your document. First, let's take a look at the provided files and a general structure of the files we'll be working with. A typical project folder will look something like this.
The required folder (installed as part of the www repository) is to be used for any common elements, such as images for the logo and page navigation, or local css. The local folders should only be used for project specific content. The template folder (installed as part of the www repository) is used to create new projects. Git does not include empty folders, so the template will not include all folders above. You can add desired folders like |
DynaDoc ScriptThe DynaDoc script is a text file that you create in the root folder of your project. It defines some document parameters and the sequence of pages of the document. The DynaDoc script is described in more detail in the DynaDoc Operator's Manual. The DynaDoc script for this document is shown below. The display below is dynamically included as part of the document generation process using the <--i--> and <--i--> tags and will reflect the state of the script file when this document was generated. #Document Commands !PRODUCT,Document Creation !VERSION, 1.00.00 !DOC_TYPE,Manual !OUT_DIR,document_creation/ !INCLUDED_PAGES, !VALID_TEXT, !TEMPLATE_COVER,required/htm/template_index_print.htm,index_print.htm #Documentation Generation !INCLUDE,required/intro_.txt,1 *,Process Overview,,overview_.htm,,, *,Computer Environment,,environment_.htm,,, **,Text Editor,,environment_text_editor.htm,,, **,Git,,environment_git.htm,,, **,XAMPP,,environment_xampp.htm,,, **,Additional Utilities,,environment_additional.htm,,, *,Project Setup,,project_setup.htm,,, **,Configuring DynaDoc,,configuring_dynadoc.htm,,, **,Git Repository,,project_setup_git.htm,,, **,Dynadoc Preparation,,project_setup_dynadoc.htm,,, *,Content Creation,,content.htm,,, **,DynaDoc Script,,content_dynadoc.htm,,, **,HTM,,content_htm.htm,,, **,Images,,content_images.htm,,, **,JavaScript,,content_javascript.htm,,, **,CSS,,content_css.htm,,, **,Advanced Features,,advanced_features.htm,,, ***,View and Print,,view_print.htm,,, ***,Document Structure,,document_structure.htm,,, ***,Glossary,,content_glossary.htm,,, *,Publishing,,publishing.htm,../../required/javascript/get_get.js,, **,PDF,,publishing_pdf.htm,,, **,Self Extracting Zip,,publishing_zip.htm,,, **,Posting via FTP,,publishing_posting.htm,,, *,Archiving,,archiving.htm,,, **,Commit and Push to GitHub,,archiving_git.htm,,, *,Using DynaDoc Online,,dynadoc_online.htm,,, This may look a bit complex, but there's really not much we need to worry about. Let's start with the first section, under #Document Commands. Most of these were already set when we ran the script to create the configure DynaDoc for the project. The only options we need to worry about for a basic document are the PRODUCT, VERSION and DOC_TYPE.
Under #Documentation Generation, the script starts with two !INCLUDEs. These are used to include boilerplate text to the start of each document. The second !INCLUDE will typically be !INCLUDE,required/overview_.txt,1 if the document does not have a Quick Start section, and !INCLUDE,required/overview_qs_.txt,1 if it does. Now that the basic settings are out of the way, the next section determines the content of the document. Each page of the document requires a separate line with the following fields. *,title,outName,htmName,jsName,sbName,imgName Each field page is separated by a comma, and for most pages only three fields are required (these are shown in bold underline above). These three fields are described below.
*,Equipment Guide,,equip_.htm,,, **,ROV,,equip_rov.htm,,, ***,ROV Connections,,rov_connections.htm,,, ****,ROV Pin Out,,rov_pin_out.htm,,, ***,Buoyancy,,rov_buoyancy.htm,,, ***,Propulsion,,rov_thrusters.htm,,, **,Optional Utilities,,environment_optional.htm,,, The additional fields are optional. Make sure that your page definition is formatted with the commas as shown, or DynaDoc will not be able to read your script file correctly. |
HTM FilesHTM files represent the body of the document. DynaDoc takes the information within the HTM files as directed by the script file, and puts them into a template to make everything look nice for the website. .htm is used for input source files, and DynaDoc will convert the output file name automatically to .html. HTML is a markup language, and usually uses an opening sequence and closing sequence of unique characters to tell a browser how to display text. We'll only cover a few basic HTML tags here. If you'd like to know more HTML tags to improve the appearance of your documents, try W3Schools HTML Tutorial.
There are many more HTML tags, but these should get you started. Recommended HTML ConventionsAll tags should be in lower case. All <h>, <p>, <ul>, etc. tags should begin on a new line. <li> and </ul> tags should also begin on a new line and be indented two spaces for each level. Heading order is <h1>, <h2>, <h3>, <b>
When referencing local images, the following format should be used. ../../projectName/images/imageName.
When referencing local links, the following format should be used. ../../projectName/html/htmlName.
|
ImagesIncluding an image in an HTM page is fairly simple, but first we need one to include. The most likely images you'll need while making a document are pictures of relevant hardware, or screenshots of various software elements. We may need to edit the images a bit as well, but let's start with acquiring them. Taking a PictureWhile taking a photograph for a document, ensure that you have good lighting and a uniform, preferably white, background. This makes removing the background and any further editing we need to do to the picture easy. Take several photographs of each piece to ensure that there is at least one crisp picture to use. Good backgrounds and clear pictures with good lighting are critical to maintaining the professional appearance of a document. Uploading a picture to your computer will vary depending on your camera, but plugging the camera into your computer will normally allow you to open it's internal storage. Source images should be stored in the projects source folder. Taking a ScreenshotWe can also use the keyboard's "Print Screen" button to capture an image of a computer screen. This is especially useful if you need to take a screenshot of a software program. Bring up the item you'd like to capture, and then press the Print Screen button (which may vary by keyboard). This will capture the screen, which you can then paste into an image editing program like GIMP or Paint. Source images should be stored in the projects source folder. EditingThere are two primary edits you'll want to do perform on images, cropping and highlighting. CroppingIn GIMP, the crop tool allows you to select an area and cut away everything else. It appears as a small razor in the toolbar. To use it, select an area. After you make your initial selection you can pull on individual corners of your selection box to get a cleaner crop. When satisfied with your selection, press enter to crop the image. Highlighting
Highlighting allows us to use the shadow and color functions of GIMP to create a nice looking highlight around a section of an image we'd like to emphasize. Image highlighting in all documents should remain consistent, so there is a specific process for this.
SavingSaving in GIMP is a bit different than usual for image files. By default the image will save a .xcf file, which contains all of the metadata about how the image was edited. This is useful if you need to edit the image again at some time. If you are ready to use the image, instead you will want to go to "File" and then to "Export As." Export your image as a .png to the project's images folder. Keep the default settings for the GIMP prompts and click Export. Including an ImageNow we have an image, but it's not in the webpage yet. The format to include an image is another HTML tag, similar to the ones described in the last section. The tag below was used to display the image on this page. <img src="../../document_creation/images/con_save.png" width="650" alt="An Example of Highlighting"> The src field specifies the image location. In this case, replace "document_creation" with your own project folder, and replace "con_save.png" with your own image name. Title specifies mouseover text. Width is the width of the image in pixels. There is also a height attribute, which controls the height of the image in pixels. If only one of these attributes is set, the image will retain it's aspect ratio as it is resized. |
JavascriptJavaScript is a useful programming language that we can leverage to create more interactive and dynamic web pages. While the instructions presented here are fairly simple, they are recommended for document writers that are a bit more tech savvy, rather than general use. In the example here we'll be creating text that changes an image when the text is moused over, and then changed back when the mouse leaves the text. Our implementation will be split into a JavaScript and HTM file, and will then be put together by DynaDoc. JavaScript FileIf you don't already have one, create a folder named javascript in your project folder. In the javascript folder, create a text file. Rename the text file to have the same name as the HTM page you want to include JavaScript on. The file extension for JavaScript files is .js. If your HTM page is "software_cockpit.htm", your javascript file should be "software_cockpit.js". We'll start with a useful example. We'll use Javascript to preload some images and then have an image swap between different highlights when the relevant text is moused over. Let's take a look at the JavaScript file first. Not a lot of text, but most of it doesn't make sense on it's own. Let's explain what's going on.
Make sure that you set the names and paths correctly. Next, we'll take a look at the htm file that implements the JavaScript. HTM FileThis might look a bit more intimidating at first glance, but most of it is just regular text. Let's take a look at the relevant parts for the image.
DynaDoc Script FileWe separate the HTM and JavaScript files for ease of use, but we need to combine them to display a proper webpage. DynaDoc is built to do this for us. One of the fields we discussed earlier is used to include a JavaScript file. Here's an example of a page with an included JavaScript file in the DynaDoc script. **,Device Configuration,,software_device.htm,software_device.js,, The JavaScript include is one field after the htm file. If the file has incorrect comma placement it will not read correctly, so make sure to double check the syntax. |
CSSCSS defines page style characteristics. There is a default CSS set in the required folder. If you want to use project specific CSS, you can add it to the project's css folder. |
Advanced FeaturesDynaDoc is a powerful program with a lot of advanced features. The following section describes a few of these features. See the DynaDoc Operator's Manual for more information about these and additional features. |
Document StructureDynaDoc is very flexible when it comes to a document's structure. You can use "includes" to replicate boilerplate text or pull document pages from other documents to include in your current document. You can also use conditional text and conditional pages to create different outputs from the same source. DynaDoc also has provisions for including sidebar content (below the menu) and images for the menu and table of contents. See the DynaDoc Operator's Manual for more information. |
GlossaryDynaDoc includes a script that will automatically generate a glossary of terms page with links to pages where the terms appear. You need to define the terms and definitions. Generally, the glossary is updated only when the script is ready for publishing. You do not need to update the glossary links during the normal edit and review cycles. Building the glossary is fairly easy, and uses very basic syntax. The glossary source should be created as a text file in the glossary folder and named glossary.csv. Each line contains the following elements separated by "|". The trailing "|" is required. case_control|word|description| Case Control can have the following
If case control is not used, the "|" is still required before the word. To create a glossary, follow these steps:
exclude.csv provides the glossary script with a list of pages that should be ignored when the glossary links are created. For example, links should not be created to the table of contents. A master exclude.csv is included in the required folder. If you want to exclude pages on a project basis, create an exclude.csv file in the project's local glossary folder. See the required exclude.csv for the file's format. |
Document Creation
Manual, 1.00.00 |
Creating the PDFThe pdf of the document can be created from the print version (_print.html).
Any relative URL links in the document must be addressed. There are two options:
|
Creating the Self Extracting ZipA self extracting zip file makes the document set more portable.
Verify the zip file works. |
PostingThe distribution set should be posted to the following locations:
Check to ensure that the zip file link in the side bar of the "About this Document" page (intro_about.html) works. Posting can be completed using FileZilla or any FPT client. Account credentials will be provided by a manager. |
Document Creation
Manual, 1.00.00 |
ArchivingThe project repository should be updated to archive the current version of the project. Every so often when working on a project, you should "push" your changes to GitHub so that others can be up-to-date on your work. You can ""push" your files to the project repository as often as you feel necessary to preserve the working state of the project and in case your system suffers from a hard drive or other failure. |
Commit and Push to GitHubAll projects should be "pushed" to the GitHub repository when completed.
|
Document Creation
Manual, 1.00.00 |
Dynadoc OnlineA newer feature of dynadoc is the ability to edit the content of individual pages online. This feature is ideal for users who only need to edit page content rather than create their own documents. For example, to translate a document now, all you need is a web browser. The full version can be accessed at http://www.rovdoc.com/developer/. The following descriptions apply to the http://www.rovdoc.com/developer/ page. Preprocess the Maintenance ManualThis option loads the display order for maintenance manual documents. To use this function, enter your working folder(ex: korean, german) and click preprocess. The script will take a few seconds to run, and will then display how the order was generated. Generate a DocumentThis options runs DynaDoc on a script, generating the output. Enter the name of your working folder in workspace folder, and enter the name of your dynadoc script, such as pro_4, into the project script field. This will generate your DynaDoc output normally, and also add a link to view your newly generated document at the bottom of the page. There is also a field for advanced options.
Edit a Document Source SetThis option is the primary use of our online scripts, and enables the actual editing of documents. Edit your workspace folder and project script in the fields, and click on the edit button to begin the script. The script will output a series of links. Clicking on one of these links will open an HTML editor for that page. When you are finished, click the save icon at the top of the editor to commit the changes to your working folder. Some sections of a document may not produce links. These are documents that are actually located in separate areas and are only linked by the primary document. They must be edited separately. View DocumentThis is the simplest option, and lets you view a generated document. It's recommended that you view any pages that you alter to make sure they display as intended. |