SkyDoc Installation Process

See the steps on how SkyDoc is installed into a customer’s account from AWS setup to Go-Live.  

 

SkyDoc Install Process

 

  1. AWS Set-up
  2. Lambda function setup in customer’s AWS account
  3. Working on any custom requirement given by the customer*
  4. Access of customer’s NetSuite account (sandbox/production)
  5. SkyDoc installation in sandbox*
  6. Testing SkyDoc in sandbox*
  7. Customer testing SkyDoc in sandbox*
  8. Data migration setup in sandbox*
  9. Performing data migration in sandbox*
  10. Customer testing migrated files in sandbox*
  11. SkyDoc installation in production
  12. Testing SkyDoc in production 
  13. SkyDoc training
  14. Customer testing SkyDoc in production
  15. Data migration setup in production*
  16. Performing data migration in production*
  17. Customer testing migrated files in production*

*Conditional steps based on customer requirements 

AWS Set-up

 

Sign-up for Amazon Web Services:

 

  1. Create an AWS Login
    1. Provide these credentials to connect SkyDoc to Amazon S3
    2. You’ll receive a confirmation email welcoming you to Amazon Web Services
  2. Enter Contact Information
  3. Enter Payment Information
    1. Only Credit Card Accepted
  4. Identify Verification
    1. Enter a phone number where Amazon can call you and enter the PIN number displayed on your browser
  5. Support Plan
    1. Select Basic (Free)
    2. You’ll receive a confirmation email stating AWS Support (Basic) was selected.
  6. Confirmation
    1. You’ll receive a confirmation email stating your AWS Account is Ready

Configure the below details in Amazon web services management console 

Create a User:

  1. In amazon console Go to Services -> Security, Identity, & Compliance -> IAM.
  2. Click the Users link under “IAM Resources”.
  3. Click the Add User button.
  4. Enter any name for the user.
  5. Check “Programmatic access” and click on Next: permissions.
  6. Click on Attach Existing policies directly and search for “AmazonS3FullAccess” and select the policy and click on Next Tags.
  7. Then click on Next: review without entering any information.
  8. Click on create user.
  9. After clicking on create user, you will be navigated to another page where you will be able to see a csv file (Contains public and private key Information).Make sure you download the file and click on close. 

Create a bucket:

  1. Go to Services -> Storage -> S3 -> Click on the create bucket button.
  2. Enter the bucket name and select the region near to you.
  3. Click on Next.
  4. Enable the Versioning check box and click on Next.
  5. If you want to use public/private files option for your aws records, please disable “Block all public access” checkbox, also check (I acknowledge that the current settings may result in this bucket and the objects within becoming public) and click on Next.
  6. Review the details and click on the create bucket button.  
  7. After creating a bucket, open the bucket and navigate to permissions -> CORS Configuration and copy and paste the below code and click on save.

<?xml version=”1.0″ encoding=”UTF-8″?>

<CORSConfiguration xmlns=”http://s3.amazonaws.com/doc/2006-03-01/“>

<CORSRule>

    <AllowedOrigin>*</AllowedOrigin>

    <AllowedMethod>PUT</AllowedMethod>

    <AllowedMethod>GET</AllowedMethod>

    <AllowedMethod>POST</AllowedMethod>

    <AllowedMethod>HEAD</AllowedMethod>

    <AllowedMethod>DELETE</AllowedMethod>

    <ExposeHeader>x-amz-meta-param</ExposeHeader>

    <ExposeHeader>ETag</ExposeHeader>

    <ExposeHeader>x-amz-version-id</ExposeHeader>

    <AllowedHeader>*</AllowedHeader>

</CORSRule>

</CORSConfiguration>

 

Create a security policy:

  1. Go to Services -> Security, Identity & Compliance -> IAM -> Click on policies present under Access Management
  2. Click the Create Policy button and select JSON in Create Policy page and remove the code which is already present.
  3. Copy and paste the policy  defined on this page in the policy document Area.
  4. Make sure to replace ##BUCKETNAME## with the name of your bucket. Then click Review Policy, give a Unique name to the policy in Review Policy Page
  5. Then click on create policy

To assign a policy to the user:

  1. Go to Services -> Security, Identity & Compliance -> IAM -> users.
  2. select the user which you created for SkyDoc.
  3. Click on the Add Permissions button.
  4. Go to Attach existing policies directly -> select the policy you created and click on Next: review.
  5. Click on Add Permissions.

To create lambda function in AWS account Tvarana needs user access with below permissions:

  1. Please navigate to Permissions >> Add Permissions >> Attach existing policies directly, search for the below permissions and add them.AWSLambda
    1. FullAccess
    2. IAMFullAccess
    3. AmazonS3FullAccess
    4. AmazonAPIGatewayAdministrator
    5. AWSLambdaBasicExecutionRole
    6. AWSLambdaRole 
  2. Click on the next review.
  3. Review the details and click on Add Permissions.
  4. Navigate to security credentials in the user and click on manage (Beside Console password).
  5. Check the enable option for Console Access and select auto generated password option for set password, click on apply and download the csv file (It contains username and password for this user) and please forward the file to SkyDoc@tvarana.com as Tvarana need to create a lambda function in your AWS account.

After following the above instructions, please send the following details to SkyDoc@tvarana.com

  1. Access Key
  2. Secret Key
  3. Bucket Name
  4. Bucket Region

Lambda Function Set-up in Customer’s AWS Account

 

After the aws setup is completed from the customer side and user access of aws account is provided to us, Tvarana will create a lambda function in the customer’s aws account and the steps include:

  1.  Creating a Lambda function:
    1. Login to the AWS console.
    2. Navigate to Services -> Compute -> Lambda -> Functions 
    3. Click on the “create function” button.
    4. Select “Author from scratch” option.
    5. Enter any unique function name and select JAVA 8 as language for function.
    6. Expand Permissions and choose Execution role as “Create a new role with basic Lambda permissions”.

The created function looks like below:

    1. Now, navigate to Function code and upload a jar file with the name “SkyDocExample-0.0.1-SNAPSHOT.jar” and replace the Handler as “skydoc.uploadfile::handleRequest”.
    2. Click on the “Test” button and paste the below code in the text area, enter the event name and click on create.

    {

      “accessKey”: “AKIAIMVZ6OTHMIRJPNLQ”,

      “secretKey”: “XLiiEEtsw/oHxSJscL8ZvypXPv5TS0dAyQSweYWA”,

      “bucketName”: “skydocbucketversion”,

      “region”: “us-east-1”,

      “mimeType”: “image/jpeg”,

      “fileName”: “234chair”,

     “fileURL”:  “https://system.netsuite.com/core/media/media.nl?id=84481&c=TSTDRV939177&h=45f079b4d013d97da3e9”

    }

    Note: access key, secret key and bucket name values vary with the account.

     

    1. Creating an API Gateway:
      1. Navigate to Services -> Networking & Content Delivery -> API Gateway and click on “Create API”.
      2. Select type as REST API and click on “Build”.
      3. Enter the API name and EndPoint Type as “Edge Optimized”.
    2. Now click on “create API”.
      1. Click on Actions -> Create Resource.
      2. Enter the resource name and click on create resource
    3. Click on Actions -> Create Method -> select “POST” method and click on (✓) symbol.
      1. Enter the function name of the function created before in the Lambda function field and click on save.
      2. Click on Actions -> Deploy API -> Deployment Stage as [NEW STAGE], enter stage name and click on “Deploy”.
    4. After Deploying the API, go back to the function created.
    5. Now you will be able to see the API you created  in the function.
    6. Click on API Gateway to open the details of API Gateway.
      1. Use the above link in the “Lambda URL” field of the auto upload custom record.
      2. If needed you can also test this by clicking the Test button in lambda function which returns the Execution result: succeeded(logs).

    Working on any custom requirement given by the customer

     

    If any customizations are needed for SkyDoc, then Tvarana’s development team works on the development of the requirement.

    Access of customer’s NetSuite account (sandbox/production)

     

    The customer gives skydoc@tvarana.com NetSuite sandbox account. If the customer does not have a sandbox account, then they can give access to the production account.

    SkyDoc installation in sandbox

     

    Once given access Tvarana will install the SkyDoc Advanced bundle in their account and it includes steps like:

    1. Copying the account id of customer sandbox account in SkyDoc Advanced bundle -> set availability in our account(Dev production)
    2. Installing the bundle in customer account

    Testing SkyDoc in sandbox

     

    After SkyDoc is successfully installed in the customer’s sandbox account, Tvarana will perform testing in their account to see how SkyDoc is working in their account.

    Customer testing SkyDoc in sandbox

     

    Tvarana gives the customer one week to perform any tests on SkyDoc. Tvarana can provide a testing document to go through typical use cases if needed. Tvarana will get final sign-off on SkyDoc before moving SkyDoc into their production account.

     

    Data Migration setup in sandbox

     

    If the customer asks Tvarana to perform data migration(transferring the files in NetSuite to SkyDoc) in their account, then Tvarana will install SkyDoc Auto Upload Tool bundle in the customer’s account which includes steps like:

    1. Copying the account id of customer sandbox account in SkyDoc Auto Upload Tool bundle -> set availability in our account(Dev production)
    2. Installing the bundle in customer account

     

    Performing data migration in sandbox

     

    After the bundle is successfully installed in their sandbox account, Tvarana will process the files attached to the different types of records like entity, transaction, activity, case, entity message attachments, case message attachments and transaction message attachments one after the other. Tvarana will only migrate files into the sandbox that are necessary for testing.

    Customer testing migrated files in sandbox

     

    After the data migration process is successfully completed, Tvarana will ask the customer to test if the files are migrated correctly and are attached to the same record or not and to let their Customer Success Manager  know if they face any issues.

       

      SkyDoc installation in production

       

      Once the customer tests the SkyDoc in their sandbox account and if they feel everything is fine and provides skydoc@tvarana.com with the access of their production account or if they do not have any sandbox account, Tvarana will install the SkyDoc Advanced bundle in their production account and it includes steps like:

       

      • Copying the account id of customer production account in SkyDoc 2.0 bundle -> set availability in our account(Dev production)
      • Installing the bundle in customer account

         

        Testing SkyDoc in production

         

        After SkyDoc is successfully installed in the customer’s production account, Tvarana will perform testing in their account to ensure that it is working properly.

        SkyDoc training

         

        After SkyDoc is successfully installed in the customer’s production account, Tvarana will arrange  a one hour training session on SkyDoc. Tvarana highly suggests a “train the trainer” model.

        Customer testing SkyDoc in production

         

        On the day of installation, Tvarana asks the customer to perform any tests on SkyDoc to ensure that go-live was executed properly. Tvarana can provide a testing document to go through typical use cases if needed.

        Data Migration setup in production

         

        If the customer ask Tvarana to perform data migration (transferring the files in NetSuite to SkyDoc) in their account, then Tvarana will install SkyDoc Auto Upload Tool bundle in the customer’s account which includes steps like:

        1. Copying the account id of customer production account in SkyDoc Auto Upload Tool bundle -> set availability in our account(Dev production)
        2. Installing the bundle in customer account

        Performing data migration in production

         

        After the bundle is successfully installed in their sandbox account, Tvarana will process the files attached to the different types of records like entity, transaction, activity, case, entity message attachments, case message attachments and transaction message attachments one after the other.

        Customer testing migrated files in production

         

        After the data migration process is successfully completed, Tvarana will ask the customer to test if the files are migrated correctly and are attached to the same record or not and to let their Customer Success Manager know if they face any issues.

        Need to Share? 

        We created a PDF version of the SkyDoc Installation Steps so you can decimate this information easily. 

        Need more help? Email us at: skydoc@tvarana.com