From 0eddae7e9c4d58d6afdf35617a2501186f198c3f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 18 Jan 2024 14:17:05 +0000 Subject: [PATCH] deploy: c7decaec02e03d99c7153fd750bc45bd28ff8805 --- 404.html | 2 +- assets/js/17e5210b.3b507760.js | 1 + assets/js/17e5210b.7cc0def7.js | 1 - assets/js/277a78f5.ebd74f29.js | 1 - assets/js/277a78f5.f101c6c0.js | 1 + assets/js/935f2afb.9eea589f.js | 1 - assets/js/935f2afb.ffb12394.js | 1 + ...ad230.f1caf6f2.js => d91ad230.a0474773.js} | 2 +- ...n.002c01d4.js => runtime~main.6157979f.js} | 2 +- blog/archive/index.html | 2 +- blog/first-blog-post/index.html | 2 +- blog/index.html | 2 +- blog/long-blog-post/index.html | 2 +- blog/mdx-blog-post/index.html | 2 +- blog/tags/docusaurus/index.html | 2 +- blog/tags/facebook/index.html | 2 +- blog/tags/hello/index.html | 2 +- blog/tags/hola/index.html | 2 +- blog/tags/index.html | 2 +- blog/welcome/index.html | 2 +- docs/API-docs/contactlist/index.html | 2 +- docs/API-docs/createcontact/index.html | 2 +- docs/API-docs/createdocument/index.html | 2 +- docs/API-docs/createtemplate/index.html | 2 +- docs/API-docs/delete-template/index.html | 2 +- docs/API-docs/deletecontact/index.html | 2 +- docs/API-docs/deletedocument/index.html | 2 +- docs/API-docs/get-template/index.html | 2 +- docs/API-docs/get-user/index.html | 2 +- docs/API-docs/getcontact/index.html | 2 +- docs/API-docs/getdocument/index.html | 2 +- docs/API-docs/getdocumentlist/index.html | 2 +- docs/API-docs/gettemplatelist/index.html | 2 +- docs/API-docs/intro/index.html | 2 +- docs/API-docs/opensign-api-v-1/index.html | 2 +- docs/API-docs/update-document/index.html | 2 +- docs/API-docs/update-template/index.html | 2 +- docs/category/tutorial---basics/index.html | 2 +- docs/category/tutorial---extras/index.html | 2 +- docs/contribute/CODE_OF_CONDUCT/index.html | 4 +- docs/contribute/COMMUNITY/index.html | 6 +- docs/contribute/INSTALLATION/index.html | 103 +++++++++++++++++- .../REPORTING_GUIDELINES/index.html | 4 +- docs/contribute/intro/index.html | 4 +- .../request-signatures/index.html | 2 +- .../New-Document/sign-yourself/index.html | 2 +- docs/help/intro/index.html | 2 +- docs/intro/index.html | 2 +- docs/self-host/intro/index.html | 2 +- .../congratulations/index.html | 2 +- .../create-a-blog-post/index.html | 2 +- .../create-a-document/index.html | 2 +- .../tutorial-basics/create-a-page/index.html | 2 +- .../deploy-your-site/index.html | 2 +- .../markdown-features/index.html | 2 +- .../manage-docs-versions/index.html | 2 +- .../translate-your-site/index.html | 2 +- index.html | 2 +- markdown-page/index.html | 2 +- 59 files changed, 160 insertions(+), 63 deletions(-) create mode 100644 assets/js/17e5210b.3b507760.js delete mode 100644 assets/js/17e5210b.7cc0def7.js delete mode 100644 assets/js/277a78f5.ebd74f29.js create mode 100644 assets/js/277a78f5.f101c6c0.js delete mode 100644 assets/js/935f2afb.9eea589f.js create mode 100644 assets/js/935f2afb.ffb12394.js rename assets/js/{d91ad230.f1caf6f2.js => d91ad230.a0474773.js} (50%) rename assets/js/{runtime~main.002c01d4.js => runtime~main.6157979f.js} (95%) diff --git a/404.html b/404.html index 197433be7..a9989c06a 100644 --- a/404.html +++ b/404.html @@ -5,7 +5,7 @@ Page Not Found | OpenSign™ - + diff --git a/assets/js/17e5210b.3b507760.js b/assets/js/17e5210b.3b507760.js new file mode 100644 index 000000000..b1585bcdc --- /dev/null +++ b/assets/js/17e5210b.3b507760.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[6543],{38832:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var o=t(85893),i=t(11151);const r={},s="Community at OpenSign\u2122",a={id:"contribute/COMMUNITY",title:"Community at OpenSign\u2122",description:"Welcome to the OpenSign\u2122 Community page! OpenSign\u2122 is dedicated to fostering a vibrant and engaging community where members can connect, share ideas and collaborate on the OpenSign\u2122 project. This page provides links to our active social media platforms and community channels, offering various ways for you to join and participate in the OpenSign\u2122 community. Whether you're looking for support, eager to contribute or just want to stay updated, you'll find a platform that suits your preference. Connect with us on Discord for real-time discussions, follow us on Twitter for the latest updates, engage with our professional network on LinkedIn or join our Facebook group for a broader community experience. Join us in our mission to develop OpenSign\u2122 as the premier open-source alternative to DocuSign.",source:"@site/docs/contribute/COMMUNITY.md",sourceDirName:"contribute",slug:"/contribute/COMMUNITY",permalink:"/docs/contribute/COMMUNITY",draft:!1,unlisted:!1,editUrl:"https://github.com/opensignlabs/opensign/tree/feat-docs/docs/docs/contribute/COMMUNITY.md",tags:[],version:"current",frontMatter:{},sidebar:"contributeSidebar",previous:{title:"Contributing to OpenSign",permalink:"/docs/contribute/intro"},next:{title:"INSTALLATON INSTRUCTIONS",permalink:"/docs/contribute/INSTALLATION"}},c={},u=[];function p(e){const n={a:"a",h1:"h1",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"community-at-opensign",children:"Community at OpenSign\u2122"}),"\n",(0,o.jsxs)(n.p,{children:["Welcome to the OpenSign\u2122 Community page! OpenSign\u2122 is dedicated to fostering a vibrant and engaging community where members can connect, share ideas and collaborate on the OpenSign\u2122 project. This page provides links to our active social media platforms and community channels, offering various ways for you to join and participate in the OpenSign\u2122 community. Whether you're looking for support, eager to contribute or just want to stay updated, you'll find a platform that suits your preference. Connect with us on Discord for real-time discussions, follow us on Twitter for the latest updates, engage with our professional network on LinkedIn or join our Facebook group for a broader community experience. Join us in our mission to develop OpenSign\u2122 as the premier open-source ",(0,o.jsx)(n.a,{href:"https://www.opensignlabs.com",children:"alternative to DocuSign"}),"."]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://discord.com/invite/xe9TDuyAyj",children:"Discord"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://www.twitter.com/opensignhq",children:"Twitter"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://www.linkedin.com/company/opensign%E2%84%A2/",children:"LinkedIn"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://www.facebook.com/profile.php?id=61551030403669",children:"Facebook"})}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>s});var o=t(67294);const i={},r=o.createContext(i);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/17e5210b.7cc0def7.js b/assets/js/17e5210b.7cc0def7.js deleted file mode 100644 index 8d701d63a..000000000 --- a/assets/js/17e5210b.7cc0def7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[6543],{38832:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var o=t(85893),i=t(11151);const r={},s="Community at OpenSign\u2122",a={id:"contribute/COMMUNITY",title:"Community at OpenSign\u2122",description:"Welcome to the OpenSign\u2122 Community page! OpenSign\u2122 is dedicated to fostering a vibrant and engaging community where members can connect, share ideas and collaborate on the OpenSign\u2122 project. This page provides links to our active social media platforms and community channels, offering various ways for you to join and participate in the OpenSign\u2122 community. Whether you're looking for support, eager to contribute or just want to stay updated, you'll find a platform that suits your preference. Connect with us on Discord for real-time discussions, follow us on Twitter for the latest updates, engage with our professional network on LinkedIn or join our Facebook group for a broader community experience. Join us in our mission to develop OpenSign\u2122 as the premier open-source alternative to DocuSign.",source:"@site/docs/contribute/COMMUNITY.md",sourceDirName:"contribute",slug:"/contribute/COMMUNITY",permalink:"/docs/contribute/COMMUNITY",draft:!1,unlisted:!1,editUrl:"https://github.com/opensignlabs/opensign/tree/feat-docs/docs/docs/contribute/COMMUNITY.md",tags:[],version:"current",frontMatter:{},sidebar:"contributeSidebar",previous:{title:"Contributing to OpenSign",permalink:"/docs/contribute/intro"},next:{title:"INSTALLATION",permalink:"/docs/contribute/INSTALLATION"}},c={},u=[];function p(e){const n={a:"a",h1:"h1",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"community-at-opensign",children:"Community at OpenSign\u2122"}),"\n",(0,o.jsxs)(n.p,{children:["Welcome to the OpenSign\u2122 Community page! OpenSign\u2122 is dedicated to fostering a vibrant and engaging community where members can connect, share ideas and collaborate on the OpenSign\u2122 project. This page provides links to our active social media platforms and community channels, offering various ways for you to join and participate in the OpenSign\u2122 community. Whether you're looking for support, eager to contribute or just want to stay updated, you'll find a platform that suits your preference. Connect with us on Discord for real-time discussions, follow us on Twitter for the latest updates, engage with our professional network on LinkedIn or join our Facebook group for a broader community experience. Join us in our mission to develop OpenSign\u2122 as the premier open-source ",(0,o.jsx)(n.a,{href:"https://www.opensignlabs.com",children:"alternative to DocuSign"}),"."]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://discord.com/invite/xe9TDuyAyj",children:"Discord"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://www.twitter.com/opensignhq",children:"Twitter"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://www.linkedin.com/company/opensign%E2%84%A2/",children:"LinkedIn"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://www.facebook.com/profile.php?id=61551030403669",children:"Facebook"})}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>s});var o=t(67294);const i={},r=o.createContext(i);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/277a78f5.ebd74f29.js b/assets/js/277a78f5.ebd74f29.js deleted file mode 100644 index f61a8182c..000000000 --- a/assets/js/277a78f5.ebd74f29.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[853],{26636:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>u,contentTitle:()=>i,default:()=>p,frontMatter:()=>c,metadata:()=>s,toc:()=>a});var o=n(85893),r=n(11151);const c={},i=void 0,s={id:"contribute/INSTALLATION",title:"INSTALLATION",description:"",source:"@site/docs/contribute/INSTALLATION.md",sourceDirName:"contribute",slug:"/contribute/INSTALLATION",permalink:"/docs/contribute/INSTALLATION",draft:!1,unlisted:!1,editUrl:"https://github.com/opensignlabs/opensign/tree/feat-docs/docs/docs/contribute/INSTALLATION.md",tags:[],version:"current",frontMatter:{},sidebar:"contributeSidebar",previous:{title:"Community at OpenSign\u2122",permalink:"/docs/contribute/COMMUNITY"},next:{title:"REPORTING_GUIDELINES",permalink:"/docs/contribute/REPORTING_GUIDELINES"}},u={},a=[];function d(t){return(0,o.jsx)(o.Fragment,{})}function p(t={}){const{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(d,{...t})}):d()}},11151:(t,e,n)=>{n.d(e,{Z:()=>s,a:()=>i});var o=n(67294);const r={},c=o.createContext(r);function i(t){const e=o.useContext(c);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function s(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:i(t.components),o.createElement(c.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/277a78f5.f101c6c0.js b/assets/js/277a78f5.f101c6c0.js new file mode 100644 index 000000000..e3fc13b6e --- /dev/null +++ b/assets/js/277a78f5.f101c6c0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[853],{26636:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var s=t(85893),i=t(11151);const r={},o="INSTALLATON INSTRUCTIONS",c={id:"contribute/INSTALLATION",title:"INSTALLATON INSTRUCTIONS",description:"You can use our app as a cloud version from OpenSignLabs",source:"@site/docs/contribute/INSTALLATION.md",sourceDirName:"contribute",slug:"/contribute/INSTALLATION",permalink:"/docs/contribute/INSTALLATION",draft:!1,unlisted:!1,editUrl:"https://github.com/opensignlabs/opensign/tree/feat-docs/docs/docs/contribute/INSTALLATION.md",tags:[],version:"current",frontMatter:{},sidebar:"contributeSidebar",previous:{title:"Community at OpenSign\u2122",permalink:"/docs/contribute/COMMUNITY"},next:{title:"REPORTING_GUIDELINES",permalink:"/docs/contribute/REPORTING_GUIDELINES"}},l={},d=[{value:"Localhost(Frontend only)",id:"localhostfrontend-only",level:2},{value:"You will need to create an AWS S3 bucket or digital ocean space in order to store your uploaded documents",id:"you-will-need-to-create-an-aws-s3-bucket-or-digital-ocean-space-in-order-to-store-your-uploaded-documents",level:2},{value:"AWS S3 -",id:"aws-s3--",level:3},{value:"Localhost(Docker)",id:"localhostdocker",level:2}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"installaton-instructions",children:"INSTALLATON INSTRUCTIONS"}),"\n",(0,s.jsxs)(n.p,{children:["You can use our app as a cloud version from ",(0,s.jsx)(n.a,{href:"https://www.opensignlabs.com",children:"OpenSignLabs"})]}),"\n",(0,s.jsx)(n.p,{children:"or follow below instructions to install it on your own infrastructure."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Localhost(Frontend only)"}),"\n",(0,s.jsx)(n.li,{children:"Localhost(Docker)"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"localhostfrontend-only",children:"Localhost(Frontend only)"}),"\n",(0,s.jsx)(n.p,{children:"This is the easiest way to run the frontend application for development or testing purpose without the hassle of installing backend & DB. All the features including document upload, signing, email notifications will work seamlessly from staging backend."}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Warning:"})," All data, including user accounts and documents, is stored in the staging backend. This data will be erased every time there is a merge to the main branch. As a result, you may need to recreate user accounts repeatedly. If you find that login attempts are failing, it is likely because the data has been cleared due to a recent merge."]}),"\n",(0,s.jsx)(n.p,{children:"Below are the steps to follow -"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://help.github.com/articles/cloning-a-repository/",children:"Clone the repository"})," to your local machine using below command -","\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"git clone https://github.com/OpenSignLabs/OpenSign.git\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Copy the .env.frontend_dev file to apps/OpenSign/.env using below command(on mac & linux). For windows use COPY command instead.","\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"cp .env.frontend_dev apps/OpenSign/.env\n"})}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"CD to /apps/OpenSign directory"}),"\n",(0,s.jsxs)(n.li,{children:["Install NPM packages using","\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"npm install\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Run the project locally using","\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"npm run start\n"})}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["You should be able to access the application from ",(0,s.jsx)(n.a,{href:"http://localhost:3000",children:"http://localhost:3000"})," after this.\nCreate an account by signing-up and start contributing."]}),"\n",(0,s.jsx)(n.h2,{id:"you-will-need-to-create-an-aws-s3-bucket-or-digital-ocean-space-in-order-to-store-your-uploaded-documents",children:"You will need to create an AWS S3 bucket or digital ocean space in order to store your uploaded documents"}),"\n",(0,s.jsx)(n.h3,{id:"aws-s3--",children:"AWS S3 -"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Step 1 : Create a S3 bucket","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Login to AWS console"}),"\n",(0,s.jsx)(n.li,{children:"Navigate to S3 under services"}),"\n",(0,s.jsx)(n.li,{children:'Hit "Create Bucket" button on upper right corner'}),"\n",(0,s.jsx)(n.li,{children:'Remove the check from "block all public access" checkbox(we need this in order to provide access to not-logged in users after OTP verification)'}),"\n",(0,s.jsx)(n.li,{children:"Set bucket versioning and tags as per your requirements"}),"\n",(0,s.jsx)(n.li,{children:'Hit "Create bucket" button'}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Step 2 : Create IAM user and provide access to AWS bucket","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:'Search for "IAM" on the search bar in AWS console'}),"\n",(0,s.jsx)(n.li,{children:"On IAM dashboard, click the number of users(count) under IAM resources table"}),"\n",(0,s.jsx)(n.li,{children:'Hit "create user" button on the upper right corner of the page'}),"\n",(0,s.jsx)(n.li,{children:"Enter the user name & click next"}),"\n",(0,s.jsx)(n.li,{children:"Click create policy, search for S3 and provide the Read, Write & list permissions"}),"\n",(0,s.jsx)(n.li,{children:'Click next and click "Create user"'}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Step 3 : Generate Credentials"}),"\n",(0,s.jsx)(n.li,{children:"Go to IAM/Users in AWS console"}),"\n",(0,s.jsx)(n.li,{children:"Hit the hyperlink for the user created in the previous step"}),"\n",(0,s.jsx)(n.li,{children:'Click the "Security credentials" tab'}),"\n",(0,s.jsx)(n.li,{children:'Scroll down to "Access keys" and hit "Create access key"'}),"\n",(0,s.jsx)(n.li,{children:'In the next step select "Application running outside AWS"'}),"\n",(0,s.jsx)(n.li,{children:'Add a description tag if needed & hit "Create access key"'}),"\n",(0,s.jsx)(n.li,{children:'In the next step you will see "Access key" and "Secret Access key". Copy both the values.'}),"\n",(0,s.jsx)(n.li,{children:'Set the value of "Access key" to "DO_ACCESS_KEY_ID" environment variable'}),"\n",(0,s.jsx)(n.li,{children:'Set the value of "Secret Access key" to "DO_SECRET_ACCESS_KEY" environment variable'}),"\n",(0,s.jsxs)(n.li,{children:["Step 3 : Copy bucket credentials","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:'Visit "Amazon S3 -> Buckets" in aws console'}),"\n",(0,s.jsx)(n.li,{children:"Click the bucket created in previous steps & visit the properties tab"}),"\n",(0,s.jsx)(n.li,{children:'Under "Bucket overview" you will find the value of AWS region(for ex. ap-south-1). Set that value to env variable "DO_REGION"'}),"\n",(0,s.jsx)(n.li,{children:'You can create the value for "DO_ENDPOINT" env variable by appending the region value to amazonaws.com (for ex. s3.ap-south-1.amazonaws.com)'}),"\n",(0,s.jsxs)(n.li,{children:['You can create the value for "DO_BASEURL" by adding the bucketname in front of the endpoint value(for ex. ',(0,s.jsx)(n.a,{href:"https://bucketname.s3.ap-south-1.amazonaws.com",children:"https://bucketname.s3.ap-south-1.amazonaws.com"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Visit below link if you face any issues while following the above instructions -"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://repost.aws/knowledge-center/create-access-key",children:"https://repost.aws/knowledge-center/create-access-key"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"localhostdocker",children:"Localhost(Docker)"}),"\n",(0,s.jsx)(n.p,{children:"For local Setup we need to need following prerequisite:"}),"\n",(0,s.jsx)(n.p,{children:"Environment Varaibles:"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Environment Varibale"}),(0,s.jsx)(n.th,{children:"Value"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"CI"}),(0,s.jsx)(n.td,{children:"false"}),(0,s.jsx)(n.td,{children:"Set CI to false while running the app locally"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"PUBLIC_URL"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"http://localhost:3000",children:"http://localhost:3000"})}),(0,s.jsx)(n.td,{children:"Set it to the URL form where the app home page will be accessed"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"GENERATE_SOURCEMAP"}),(0,s.jsx)(n.td,{children:"false"}),(0,s.jsx)(n.td,{children:"Set it to true if you want to generate the Sourcemap for debugging"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"REACT_APP_SERVERURL"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"http://localhost:8080/app",children:"http://localhost:8080/app"})}),(0,s.jsx)(n.td,{children:"Set it to the URL from where APIs will be accessible, for local development it should be localhost:3000/api/app (use your local port number instead)"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"REACT_APP_APPID"}),(0,s.jsx)(n.td,{children:"opensignstgn"}),(0,s.jsx)(n.td,{children:"A 12 character long random app identifier. The value of this should be same as APP_ID which is a variable used by backend API."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"APP_ID"}),(0,s.jsx)(n.td,{children:"opensignstgn"}),(0,s.jsx)(n.td,{children:"A 12 character long random app identifier. The value of this should be same as REACT_APP_APPID which is a variable used by Frontend React App."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"appName"}),(0,s.jsx)(n.td,{children:"open_sign_server"}),(0,s.jsx)(n.td,{children:"Name of the app. It will be visible in the verification emails sent out."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"MASTER_KEY"}),(0,s.jsx)(n.td,{children:"XnAadwKxxByMr"}),(0,s.jsx)(n.td,{children:"A 12 character long random secret key that allows access to all the data. It is used in Parse dashboard config to view all the data in the database."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"MONGODB_URI"}),(0,s.jsx)(n.td,{children:"mongodb://host.docker.internal:27017/OpenSignDB"}),(0,s.jsx)(n.td,{children:"Mongodb URI to connect to"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"PARSE_MOUNT"}),(0,s.jsx)(n.td,{children:"/app"}),(0,s.jsx)(n.td,{children:"Path on which APIs should be mounted. Do not change this. This variable shall be removed & value hardcoded in the source code in coming versions."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"SERVER_URL"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"http://127.0.0.1:8080/app",children:"http://127.0.0.1:8080/app"})}),(0,s.jsx)(n.td,{children:"Set it to the URL from where APIs will be accessible to the NodeJS functions, for local development it should be localhost:3000/api/app (use your local port number instead)"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_SPACE"}),(0,s.jsx)(n.td,{children:"DOSPACENAME"}),(0,s.jsx)(n.td,{children:"Digital ocean space name or AWS S3 bucket name for uploading documents"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_ENDPOINT"}),(0,s.jsx)(n.td,{children:"ams3.digitaloceanspaces.com"}),(0,s.jsx)(n.td,{children:"Digital ocean spaces endpoint or AWS S3 endpoint for uploading documents"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_BASEURL"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"https://DOSPACENAME.ams3.digitaloceanspaces.com",children:"https://DOSPACENAME.ams3.digitaloceanspaces.com"})}),(0,s.jsx)(n.td,{children:"Digital ocean baseurl or AWS S3 base URL"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_ACCESS_KEY_ID"}),(0,s.jsx)(n.td,{children:"YOUR_S3_ACCESS_ID"}),(0,s.jsx)(n.td,{children:"Digital ocean spaces access key ID or AWS s3 Access key ID for uploading the docs"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_SECRET_ACCESS_KEY"}),(0,s.jsx)(n.td,{children:"YOUR_S3_ACCESS_KEY"}),(0,s.jsx)(n.td,{children:"Digital ocean spaces secret access key or AWS s3 secret access key for uploading the docs"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"DO_REGION"}),(0,s.jsx)(n.td,{children:"YOUR_S3_REGION"}),(0,s.jsx)(n.td,{children:"Digital ocean spaces region or AWS s3 region"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"USE_LOCAL"}),(0,s.jsx)(n.td,{children:"FALSE"}),(0,s.jsx)(n.td,{children:"To use local file storage to save file"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"MAILGUN_API_KEY"}),(0,s.jsx)(n.td,{children:"YOUR_MAILGUNAPI_KEY"}),(0,s.jsx)(n.td,{children:"Mailgun API Key"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"MAILGUN_DOMAIN"}),(0,s.jsx)(n.td,{children:"YOUR_MAILGUNAPI_DOMAIN"}),(0,s.jsx)(n.td,{children:"Mailgun API Domain"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"MAILGUN_SENDER"}),(0,s.jsx)(n.td,{children:"-"}),(0,s.jsx)(n.td,{children:"Mailgun Sender Mail ID"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"PFX_BASE64"}),(0,s.jsx)(n.td,{children:"-"}),(0,s.jsxs)(n.td,{children:["Base64 encoded PFX or p12 document signing certificate file. You can generate base64 encoded self sign certificate using the passphrase ",(0,s.jsx)(n.code,{children:"emudhra"})]})]})]})]}),"\n",(0,s.jsx)(n.h1,{id:"steps-to-generate-self-sign-certificate",children:"Steps to Generate Self Sign Certificate"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"# execute below command and use passphrase emudhra\nopenssl genrsa -des3 -out ./cert/local_dev.key 2048\nopenssl req -key ./cert/local_dev.key -new -x509 -days 365 -out ./cert/local_dev.crt\nopenssl pkcs12 -inkey ./cert/local_dev.key -in ./cert/local_dev.crt -export -out ./cert/local_dev.pfx\nopenssl base64 -in ./cert/local_dev.pfx -out ./cert/base64_pfx\n"})}),"\n",(0,s.jsx)(n.h1,{id:"cors-configuration",children:"CORS Configuration"}),"\n",(0,s.jsxs)(n.p,{children:["As document storage is delegated to S3-compatible services that reside in a different host than the OpenSign one, document operations (loading, storing, deleting) are subject to ",(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Cross-origin_resource_sharing",children:"Cross-Origin Resource Sharing"})," restriction policies; as a consequence, OpenSign app may fail with (browser console) errors like the following:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"Access to fetch at 'https://foo.nyc3.digitaloceanspaces.com/exported_file_4627_0000-00-00T00%3A45%3A43.344Z.pdf'\nfrom origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header\nis present on the requested resource. If an opaque response serves your needs, set the request's mode to\n'no-cors' to fetch the resource with CORS disabled.\n"})}),"\n",(0,s.jsx)(n.p,{children:"In order to address this, your document storage system must be instructed to accept requests from other hosts; below the relevant documentation links:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://docs.digitalocean.com/products/spaces/how-to/configure-cors/",children:"How to Configure CORS on DigitalOcean Spaces"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://docs.aws.amazon.com/AmazonS3/latest/userguide/enabling-cors-examples.html",children:"Configuring cross-origin resource sharing on AWS S3"})}),"\n"]}),"\n",(0,s.jsx)(n.h1,{id:"build-local-environment",children:"Build Local Environment"}),"\n",(0,s.jsx)(n.p,{children:"Command to build project -"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Execute ",(0,s.jsx)(n.code,{children:"make build"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Command to run project -"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Execute ",(0,s.jsx)(n.code,{children:"make run"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},11151:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>o});var s=t(67294);const i={},r=s.createContext(i);function o(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.9eea589f.js b/assets/js/935f2afb.9eea589f.js deleted file mode 100644 index adc100508..000000000 --- a/assets/js/935f2afb.9eea589f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Intro","href":"/docs/help/intro","docId":"help/intro","unlisted":false},{"type":"category","label":"New-Document","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Sign yourself","href":"/docs/help/New-Document/sign-yourself","docId":"help/New-Document/sign-yourself","unlisted":false},{"type":"link","label":"Request signatures","href":"/docs/help/New-Document/request-signatures","docId":"help/New-Document/request-signatures","unlisted":false}]}],"selfhostSidebar":[{"type":"link","label":"Tutorial Intro","href":"/docs/self-host/intro","docId":"self-host/intro","unlisted":false},{"type":"category","label":"Tutorial - Basics","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Create a Page","href":"/docs/self-host/tutorial-basics/create-a-page","docId":"self-host/tutorial-basics/create-a-page","unlisted":false},{"type":"link","label":"Create a Document","href":"/docs/self-host/tutorial-basics/create-a-document","docId":"self-host/tutorial-basics/create-a-document","unlisted":false},{"type":"link","label":"Create a Blog Post","href":"/docs/self-host/tutorial-basics/create-a-blog-post","docId":"self-host/tutorial-basics/create-a-blog-post","unlisted":false},{"type":"link","label":"Markdown Features","href":"/docs/self-host/tutorial-basics/markdown-features","docId":"self-host/tutorial-basics/markdown-features","unlisted":false},{"type":"link","label":"Deploy your site","href":"/docs/self-host/tutorial-basics/deploy-your-site","docId":"self-host/tutorial-basics/deploy-your-site","unlisted":false},{"type":"link","label":"Congratulations!","href":"/docs/self-host/tutorial-basics/congratulations","docId":"self-host/tutorial-basics/congratulations","unlisted":false}],"href":"/docs/category/tutorial---basics"},{"type":"category","label":"Tutorial - Extras","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manage Docs Versions","href":"/docs/self-host/tutorial-extras/manage-docs-versions","docId":"self-host/tutorial-extras/manage-docs-versions","unlisted":false},{"type":"link","label":"Translate your site","href":"/docs/self-host/tutorial-extras/translate-your-site","docId":"self-host/tutorial-extras/translate-your-site","unlisted":false}],"href":"/docs/category/tutorial---extras"}],"contributeSidebar":[{"type":"link","label":"Code of conduct","href":"/docs/contribute/CODE_OF_CONDUCT","docId":"contribute/CODE_OF_CONDUCT","unlisted":false},{"type":"link","label":"Contributing to OpenSign","href":"/docs/contribute/intro","docId":"contribute/intro","unlisted":false},{"type":"link","label":"Community at OpenSign\u2122","href":"/docs/contribute/COMMUNITY","docId":"contribute/COMMUNITY","unlisted":false},{"type":"link","label":"INSTALLATION","href":"/docs/contribute/INSTALLATION","docId":"contribute/INSTALLATION","unlisted":false},{"type":"link","label":"REPORTING_GUIDELINES","href":"/docs/contribute/REPORTING_GUIDELINES","docId":"contribute/REPORTING_GUIDELINES","unlisted":false}],"apiSidebar":[{"type":"link","label":"Introduction","href":"/docs/API-docs/opensign-api-v-1","docId":"API-docs/opensign-api-v-1","unlisted":false},{"type":"category","label":"User","items":[{"type":"link","label":"Get your details","href":"/docs/API-docs/get-user","className":"api-method get","docId":"API-docs/get-user","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Contacts","items":[{"type":"link","label":"Create contact","href":"/docs/API-docs/createcontact","className":"api-method post","docId":"API-docs/createcontact","unlisted":false},{"type":"link","label":"Get contact","href":"/docs/API-docs/getcontact","className":"api-method get","docId":"API-docs/getcontact","unlisted":false},{"type":"link","label":"Delete contact","href":"/docs/API-docs/deletecontact","className":"api-method delete","docId":"API-docs/deletecontact","unlisted":false},{"type":"link","label":"Get contact list","href":"/docs/API-docs/contactlist","className":"api-method get","docId":"API-docs/contactlist","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Documents","items":[{"type":"link","label":"Create document","href":"/docs/API-docs/createdocument","className":"api-method post","docId":"API-docs/createdocument","unlisted":false},{"type":"link","label":"Get document by ID","href":"/docs/API-docs/getdocument","className":"api-method get","docId":"API-docs/getdocument","unlisted":false},{"type":"link","label":"Update document by ID","href":"/docs/API-docs/update-document","className":"api-method put","docId":"API-docs/update-document","unlisted":false},{"type":"link","label":"Delete document by ID","href":"/docs/API-docs/deletedocument","className":"api-method delete","docId":"API-docs/deletedocument","unlisted":false},{"type":"link","label":"Get document list by doctype","href":"/docs/API-docs/getdocumentlist","className":"api-method get","docId":"API-docs/getdocumentlist","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Templates","items":[{"type":"link","label":"Create template","href":"/docs/API-docs/createtemplate","className":"api-method post","docId":"API-docs/createtemplate","unlisted":false},{"type":"link","label":"Get template by ID","href":"/docs/API-docs/get-template","className":"api-method get","docId":"API-docs/get-template","unlisted":false},{"type":"link","label":"Update template by ID","href":"/docs/API-docs/update-template","className":"api-method put","docId":"API-docs/update-template","unlisted":false},{"type":"link","label":"Delete template by ID","href":"/docs/API-docs/delete-template","className":"api-method delete","docId":"API-docs/delete-template","unlisted":false},{"type":"link","label":"Get template list","href":"/docs/API-docs/gettemplatelist","className":"api-method get","docId":"API-docs/gettemplatelist","unlisted":false}],"collapsed":true,"collapsible":true}]},"docs":{"API-docs/contactlist":{"id":"API-docs/contactlist","title":"Get contact list","description":"The Contact List API empowers you to retrieve a list of contacts, providing a comprehensive view of all available contacts in your contactbook.","sidebar":"apiSidebar"},"API-docs/createcontact":{"id":"API-docs/createcontact","title":"Create contact","description":"The Create contact API allows you to effortlessly create new contacts that can act as signers for your important documents.","sidebar":"apiSidebar"},"API-docs/createdocument":{"id":"API-docs/createdocument","title":"Create document","description":"The Create Document API allows users to generate new documents by providing data through `multipart/form-data`. This flexible method allows for the inclusion of various data types, making it suitable for a wide range of document creation scenarios.","sidebar":"apiSidebar"},"API-docs/createtemplate":{"id":"API-docs/createtemplate","title":"Create template","description":"The Template Creation API allows users to create customizable templates, which serve as blueprints for generating documents with predefined structures. Upon successful template creation, the API returns a unique **templateId** that can be used to generate documents based on the specified template and **url** to edit template.","sidebar":"apiSidebar"},"API-docs/delete-template":{"id":"API-docs/delete-template","title":"Delete template by ID","description":"The Delete Template API provides you with the ability to remove a specific template from the templates. If a template is no longer needed","sidebar":"apiSidebar"},"API-docs/deletecontact":{"id":"API-docs/deletecontact","title":"Delete contact","description":"The Delete Contact API allows you to remove a contact from your contactbook. If you no longer need a particular contact\'s information, this API makes it easy to delete their record.","sidebar":"apiSidebar"},"API-docs/deletedocument":{"id":"API-docs/deletedocument","title":"Delete document by ID","description":"The Delete document API allows you to remove specific document from your documents.","sidebar":"apiSidebar"},"API-docs/get-template":{"id":"API-docs/get-template","title":"Get template by ID","description":"The Get Template API allows you to retrieve details about a specific template. Templates serve as blueprints for creating documents with predefined structures.","sidebar":"apiSidebar"},"API-docs/get-user":{"id":"API-docs/get-user","title":"Get your details","description":"The Get User API enables you to get your own details.","sidebar":"apiSidebar"},"API-docs/getcontact":{"id":"API-docs/getcontact","title":"Get contact","description":"The Get Contact API allows you to retrieve details about a specific contact.","sidebar":"apiSidebar"},"API-docs/getdocument":{"id":"API-docs/getdocument","title":"Get document by ID","description":"The Get Document API enables you to retrieve details about a specific document.","sidebar":"apiSidebar"},"API-docs/getdocumentlist":{"id":"API-docs/getdocumentlist","title":"Get document list by doctype","description":"### Document Types:","sidebar":"apiSidebar"},"API-docs/gettemplatelist":{"id":"API-docs/gettemplatelist","title":"Get template list","description":"The Get Template List API allows you to retrieve a list of available templates. This functionality provides an overview of all templates, enabling users to choose from existing templates when creating documents.","sidebar":"apiSidebar"},"API-docs/intro":{"id":"API-docs/intro","title":"Overview","description":"OpenSign\u2122 API offers a robust suite of functionalities for digital document management and electronic signatures. Designed to cater to a wide array of business needs, the API facilitates the creation, signing, and management of digital documents. It ensures secure and efficient processes, complying with international legal standards for electronic signatures."},"API-docs/opensign-api-v-1":{"id":"API-docs/opensign-api-v-1","title":"OpenSign API v1","description":"This is API documentation for OpenSign API v1 based on the OpenAPI 3.1 specification.","sidebar":"apiSidebar"},"API-docs/update-document":{"id":"API-docs/update-document","title":"Update document by ID","description":"The Update Document API allows users to modify and update the details of a specific document.","sidebar":"apiSidebar"},"API-docs/update-template":{"id":"API-docs/update-template","title":"Update template by ID","description":"The Update Template API enables you to modify and update the details of a specific template.","sidebar":"apiSidebar"},"contribute/CODE_OF_CONDUCT":{"id":"contribute/CODE_OF_CONDUCT","title":"Code of conduct","description":"1. Introduction","sidebar":"contributeSidebar"},"contribute/COMMUNITY":{"id":"contribute/COMMUNITY","title":"Community at OpenSign\u2122","description":"Welcome to the OpenSign\u2122 Community page! OpenSign\u2122 is dedicated to fostering a vibrant and engaging community where members can connect, share ideas and collaborate on the OpenSign\u2122 project. This page provides links to our active social media platforms and community channels, offering various ways for you to join and participate in the OpenSign\u2122 community. Whether you\'re looking for support, eager to contribute or just want to stay updated, you\'ll find a platform that suits your preference. Connect with us on Discord for real-time discussions, follow us on Twitter for the latest updates, engage with our professional network on LinkedIn or join our Facebook group for a broader community experience. Join us in our mission to develop OpenSign\u2122 as the premier open-source alternative to DocuSign.","sidebar":"contributeSidebar"},"contribute/INSTALLATION":{"id":"contribute/INSTALLATION","title":"INSTALLATION","description":"","sidebar":"contributeSidebar"},"contribute/intro":{"id":"contribute/intro","title":"Contributing to OpenSign","description":"Hello there! Thank you for considering contributing to OpenSign, the open-source alternative to DocuSign. OpenSign is not just a project, but a community endeavor that aims to create a robust, user-friendly, and secure electronic signature solution. Your contributions, irrespective of their size, are valuable in making this vision a reality.","sidebar":"contributeSidebar"},"contribute/REPORTING_GUIDELINES":{"id":"contribute/REPORTING_GUIDELINES","title":"REPORTING_GUIDELINES","description":"","sidebar":"contributeSidebar"},"help/intro":{"id":"help/intro","title":"Intro","description":"\ud83c\udf1fGet ready for an electrifying journey at OpenSign\u2122, the most incredibly documented open source document signing solution! \ud83d\ude80 This is your go-to spot for diving deep into everything OpenSign\u2122 has to offer. Whether you\u2019re just starting out or you\u2019re a seasoned pro eager to uncover even more cool features, we\u2019ve got you covered with the most awesome, top-notch guides and resources around. Get ready to make the most out of OpenSign\u2122 \ud83c\udf89\ud83d\udcda\ud83d\udd0d Your adventure in excellence starts here! \ud83c\udf08\u2728\ud83c\udf1f","sidebar":"tutorialSidebar"},"help/New-Document/request-signatures":{"id":"help/New-Document/request-signatures","title":"Request signatures","description":"Interface Overview","sidebar":"tutorialSidebar"},"help/New-Document/sign-yourself":{"id":"help/New-Document/sign-yourself","title":"Sign yourself","description":"This feature lets you sign documents that dont need to be sent to anybody.","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Tutorial Intro","description":"Let\'s discover Docusaurus in less than 5 minutes."},"self-host/intro":{"id":"self-host/intro","title":"Tutorial Intro","description":"Let\'s discover Docusaurus in less than 5 minutes.","sidebar":"selfhostSidebar"},"self-host/tutorial-basics/congratulations":{"id":"self-host/tutorial-basics/congratulations","title":"Congratulations!","description":"You have just learned the basics of Docusaurus and made some changes to the initial template.","sidebar":"selfhostSidebar"},"self-host/tutorial-basics/create-a-blog-post":{"id":"self-host/tutorial-basics/create-a-blog-post","title":"Create a Blog Post","description":"Docusaurus creates a page for each blog post, but also a blog index page, a tag system, an RSS feed...","sidebar":"selfhostSidebar"},"self-host/tutorial-basics/create-a-document":{"id":"self-host/tutorial-basics/create-a-document","title":"Create a Document","description":"Documents are groups of pages connected through:","sidebar":"selfhostSidebar"},"self-host/tutorial-basics/create-a-page":{"id":"self-host/tutorial-basics/create-a-page","title":"Create a Page","description":"Add Markdown or React files to src/pages to create a standalone page:","sidebar":"selfhostSidebar"},"self-host/tutorial-basics/deploy-your-site":{"id":"self-host/tutorial-basics/deploy-your-site","title":"Deploy your site","description":"Docusaurus is a static-site-generator (also called Jamstack).","sidebar":"selfhostSidebar"},"self-host/tutorial-basics/markdown-features":{"id":"self-host/tutorial-basics/markdown-features","title":"Markdown Features","description":"Docusaurus supports Markdown and a few additional features.","sidebar":"selfhostSidebar"},"self-host/tutorial-extras/manage-docs-versions":{"id":"self-host/tutorial-extras/manage-docs-versions","title":"Manage Docs Versions","description":"Docusaurus can manage multiple versions of your docs.","sidebar":"selfhostSidebar"},"self-host/tutorial-extras/translate-your-site":{"id":"self-host/tutorial-extras/translate-your-site","title":"Translate your site","description":"Let\'s translate docs/intro.md to French.","sidebar":"selfhostSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.ffb12394.js b/assets/js/935f2afb.ffb12394.js new file mode 100644 index 000000000..236c105d6 --- /dev/null +++ b/assets/js/935f2afb.ffb12394.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Intro","href":"/docs/help/intro","docId":"help/intro","unlisted":false},{"type":"category","label":"New-Document","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Sign yourself","href":"/docs/help/New-Document/sign-yourself","docId":"help/New-Document/sign-yourself","unlisted":false},{"type":"link","label":"Request signatures","href":"/docs/help/New-Document/request-signatures","docId":"help/New-Document/request-signatures","unlisted":false}]}],"selfhostSidebar":[{"type":"link","label":"Tutorial Intro","href":"/docs/self-host/intro","docId":"self-host/intro","unlisted":false},{"type":"category","label":"Tutorial - Basics","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Create a Page","href":"/docs/self-host/tutorial-basics/create-a-page","docId":"self-host/tutorial-basics/create-a-page","unlisted":false},{"type":"link","label":"Create a Document","href":"/docs/self-host/tutorial-basics/create-a-document","docId":"self-host/tutorial-basics/create-a-document","unlisted":false},{"type":"link","label":"Create a Blog Post","href":"/docs/self-host/tutorial-basics/create-a-blog-post","docId":"self-host/tutorial-basics/create-a-blog-post","unlisted":false},{"type":"link","label":"Markdown Features","href":"/docs/self-host/tutorial-basics/markdown-features","docId":"self-host/tutorial-basics/markdown-features","unlisted":false},{"type":"link","label":"Deploy your site","href":"/docs/self-host/tutorial-basics/deploy-your-site","docId":"self-host/tutorial-basics/deploy-your-site","unlisted":false},{"type":"link","label":"Congratulations!","href":"/docs/self-host/tutorial-basics/congratulations","docId":"self-host/tutorial-basics/congratulations","unlisted":false}],"href":"/docs/category/tutorial---basics"},{"type":"category","label":"Tutorial - Extras","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manage Docs Versions","href":"/docs/self-host/tutorial-extras/manage-docs-versions","docId":"self-host/tutorial-extras/manage-docs-versions","unlisted":false},{"type":"link","label":"Translate your site","href":"/docs/self-host/tutorial-extras/translate-your-site","docId":"self-host/tutorial-extras/translate-your-site","unlisted":false}],"href":"/docs/category/tutorial---extras"}],"contributeSidebar":[{"type":"link","label":"Code of conduct","href":"/docs/contribute/CODE_OF_CONDUCT","docId":"contribute/CODE_OF_CONDUCT","unlisted":false},{"type":"link","label":"Contributing to OpenSign","href":"/docs/contribute/intro","docId":"contribute/intro","unlisted":false},{"type":"link","label":"Community at OpenSign\u2122","href":"/docs/contribute/COMMUNITY","docId":"contribute/COMMUNITY","unlisted":false},{"type":"link","label":"INSTALLATON INSTRUCTIONS","href":"/docs/contribute/INSTALLATION","docId":"contribute/INSTALLATION","unlisted":false},{"type":"link","label":"REPORTING_GUIDELINES","href":"/docs/contribute/REPORTING_GUIDELINES","docId":"contribute/REPORTING_GUIDELINES","unlisted":false}],"apiSidebar":[{"type":"link","label":"Introduction","href":"/docs/API-docs/opensign-api-v-1","docId":"API-docs/opensign-api-v-1","unlisted":false},{"type":"category","label":"User","items":[{"type":"link","label":"Get your details","href":"/docs/API-docs/get-user","className":"api-method get","docId":"API-docs/get-user","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Contacts","items":[{"type":"link","label":"Create contact","href":"/docs/API-docs/createcontact","className":"api-method post","docId":"API-docs/createcontact","unlisted":false},{"type":"link","label":"Get contact","href":"/docs/API-docs/getcontact","className":"api-method get","docId":"API-docs/getcontact","unlisted":false},{"type":"link","label":"Delete contact","href":"/docs/API-docs/deletecontact","className":"api-method delete","docId":"API-docs/deletecontact","unlisted":false},{"type":"link","label":"Get contact list","href":"/docs/API-docs/contactlist","className":"api-method get","docId":"API-docs/contactlist","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Documents","items":[{"type":"link","label":"Create document","href":"/docs/API-docs/createdocument","className":"api-method post","docId":"API-docs/createdocument","unlisted":false},{"type":"link","label":"Get document by ID","href":"/docs/API-docs/getdocument","className":"api-method get","docId":"API-docs/getdocument","unlisted":false},{"type":"link","label":"Update document by ID","href":"/docs/API-docs/update-document","className":"api-method put","docId":"API-docs/update-document","unlisted":false},{"type":"link","label":"Delete document by ID","href":"/docs/API-docs/deletedocument","className":"api-method delete","docId":"API-docs/deletedocument","unlisted":false},{"type":"link","label":"Get document list by doctype","href":"/docs/API-docs/getdocumentlist","className":"api-method get","docId":"API-docs/getdocumentlist","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Templates","items":[{"type":"link","label":"Create template","href":"/docs/API-docs/createtemplate","className":"api-method post","docId":"API-docs/createtemplate","unlisted":false},{"type":"link","label":"Get template by ID","href":"/docs/API-docs/get-template","className":"api-method get","docId":"API-docs/get-template","unlisted":false},{"type":"link","label":"Update template by ID","href":"/docs/API-docs/update-template","className":"api-method put","docId":"API-docs/update-template","unlisted":false},{"type":"link","label":"Delete template by ID","href":"/docs/API-docs/delete-template","className":"api-method delete","docId":"API-docs/delete-template","unlisted":false},{"type":"link","label":"Get template list","href":"/docs/API-docs/gettemplatelist","className":"api-method get","docId":"API-docs/gettemplatelist","unlisted":false}],"collapsed":true,"collapsible":true}]},"docs":{"API-docs/contactlist":{"id":"API-docs/contactlist","title":"Get contact list","description":"The Contact List API empowers you to retrieve a list of contacts, providing a comprehensive view of all available contacts in your contactbook.","sidebar":"apiSidebar"},"API-docs/createcontact":{"id":"API-docs/createcontact","title":"Create contact","description":"The Create contact API allows you to effortlessly create new contacts that can act as signers for your important documents.","sidebar":"apiSidebar"},"API-docs/createdocument":{"id":"API-docs/createdocument","title":"Create document","description":"The Create Document API allows users to generate new documents by providing data through `multipart/form-data`. This flexible method allows for the inclusion of various data types, making it suitable for a wide range of document creation scenarios.","sidebar":"apiSidebar"},"API-docs/createtemplate":{"id":"API-docs/createtemplate","title":"Create template","description":"The Template Creation API allows users to create customizable templates, which serve as blueprints for generating documents with predefined structures. Upon successful template creation, the API returns a unique **templateId** that can be used to generate documents based on the specified template and **url** to edit template.","sidebar":"apiSidebar"},"API-docs/delete-template":{"id":"API-docs/delete-template","title":"Delete template by ID","description":"The Delete Template API provides you with the ability to remove a specific template from the templates. If a template is no longer needed","sidebar":"apiSidebar"},"API-docs/deletecontact":{"id":"API-docs/deletecontact","title":"Delete contact","description":"The Delete Contact API allows you to remove a contact from your contactbook. If you no longer need a particular contact\'s information, this API makes it easy to delete their record.","sidebar":"apiSidebar"},"API-docs/deletedocument":{"id":"API-docs/deletedocument","title":"Delete document by ID","description":"The Delete document API allows you to remove specific document from your documents.","sidebar":"apiSidebar"},"API-docs/get-template":{"id":"API-docs/get-template","title":"Get template by ID","description":"The Get Template API allows you to retrieve details about a specific template. Templates serve as blueprints for creating documents with predefined structures.","sidebar":"apiSidebar"},"API-docs/get-user":{"id":"API-docs/get-user","title":"Get your details","description":"The Get User API enables you to get your own details.","sidebar":"apiSidebar"},"API-docs/getcontact":{"id":"API-docs/getcontact","title":"Get contact","description":"The Get Contact API allows you to retrieve details about a specific contact.","sidebar":"apiSidebar"},"API-docs/getdocument":{"id":"API-docs/getdocument","title":"Get document by ID","description":"The Get Document API enables you to retrieve details about a specific document.","sidebar":"apiSidebar"},"API-docs/getdocumentlist":{"id":"API-docs/getdocumentlist","title":"Get document list by doctype","description":"### Document Types:","sidebar":"apiSidebar"},"API-docs/gettemplatelist":{"id":"API-docs/gettemplatelist","title":"Get template list","description":"The Get Template List API allows you to retrieve a list of available templates. This functionality provides an overview of all templates, enabling users to choose from existing templates when creating documents.","sidebar":"apiSidebar"},"API-docs/intro":{"id":"API-docs/intro","title":"Overview","description":"OpenSign\u2122 API offers a robust suite of functionalities for digital document management and electronic signatures. Designed to cater to a wide array of business needs, the API facilitates the creation, signing, and management of digital documents. It ensures secure and efficient processes, complying with international legal standards for electronic signatures."},"API-docs/opensign-api-v-1":{"id":"API-docs/opensign-api-v-1","title":"OpenSign API v1","description":"This is API documentation for OpenSign API v1 based on the OpenAPI 3.1 specification.","sidebar":"apiSidebar"},"API-docs/update-document":{"id":"API-docs/update-document","title":"Update document by ID","description":"The Update Document API allows users to modify and update the details of a specific document.","sidebar":"apiSidebar"},"API-docs/update-template":{"id":"API-docs/update-template","title":"Update template by ID","description":"The Update Template API enables you to modify and update the details of a specific template.","sidebar":"apiSidebar"},"contribute/CODE_OF_CONDUCT":{"id":"contribute/CODE_OF_CONDUCT","title":"Code of conduct","description":"1. Introduction","sidebar":"contributeSidebar"},"contribute/COMMUNITY":{"id":"contribute/COMMUNITY","title":"Community at OpenSign\u2122","description":"Welcome to the OpenSign\u2122 Community page! OpenSign\u2122 is dedicated to fostering a vibrant and engaging community where members can connect, share ideas and collaborate on the OpenSign\u2122 project. This page provides links to our active social media platforms and community channels, offering various ways for you to join and participate in the OpenSign\u2122 community. Whether you\'re looking for support, eager to contribute or just want to stay updated, you\'ll find a platform that suits your preference. Connect with us on Discord for real-time discussions, follow us on Twitter for the latest updates, engage with our professional network on LinkedIn or join our Facebook group for a broader community experience. Join us in our mission to develop OpenSign\u2122 as the premier open-source alternative to DocuSign.","sidebar":"contributeSidebar"},"contribute/INSTALLATION":{"id":"contribute/INSTALLATION","title":"INSTALLATON INSTRUCTIONS","description":"You can use our app as a cloud version from OpenSignLabs","sidebar":"contributeSidebar"},"contribute/intro":{"id":"contribute/intro","title":"Contributing to OpenSign","description":"Hello there! Thank you for considering contributing to OpenSign, the open-source alternative to DocuSign. OpenSign is not just a project, but a community endeavor that aims to create a robust, user-friendly, and secure electronic signature solution. Your contributions, irrespective of their size, are valuable in making this vision a reality.","sidebar":"contributeSidebar"},"contribute/REPORTING_GUIDELINES":{"id":"contribute/REPORTING_GUIDELINES","title":"REPORTING_GUIDELINES","description":"","sidebar":"contributeSidebar"},"help/intro":{"id":"help/intro","title":"Intro","description":"\ud83c\udf1fGet ready for an electrifying journey at OpenSign\u2122, the most incredibly documented open source document signing solution! \ud83d\ude80 This is your go-to spot for diving deep into everything OpenSign\u2122 has to offer. Whether you\u2019re just starting out or you\u2019re a seasoned pro eager to uncover even more cool features, we\u2019ve got you covered with the most awesome, top-notch guides and resources around. Get ready to make the most out of OpenSign\u2122 \ud83c\udf89\ud83d\udcda\ud83d\udd0d Your adventure in excellence starts here! \ud83c\udf08\u2728\ud83c\udf1f","sidebar":"tutorialSidebar"},"help/New-Document/request-signatures":{"id":"help/New-Document/request-signatures","title":"Request signatures","description":"Interface Overview","sidebar":"tutorialSidebar"},"help/New-Document/sign-yourself":{"id":"help/New-Document/sign-yourself","title":"Sign yourself","description":"This feature lets you sign documents that dont need to be sent to anybody.","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Tutorial Intro","description":"Let\'s discover Docusaurus in less than 5 minutes."},"self-host/intro":{"id":"self-host/intro","title":"Tutorial Intro","description":"Let\'s discover Docusaurus in less than 5 minutes.","sidebar":"selfhostSidebar"},"self-host/tutorial-basics/congratulations":{"id":"self-host/tutorial-basics/congratulations","title":"Congratulations!","description":"You have just learned the basics of Docusaurus and made some changes to the initial template.","sidebar":"selfhostSidebar"},"self-host/tutorial-basics/create-a-blog-post":{"id":"self-host/tutorial-basics/create-a-blog-post","title":"Create a Blog Post","description":"Docusaurus creates a page for each blog post, but also a blog index page, a tag system, an RSS feed...","sidebar":"selfhostSidebar"},"self-host/tutorial-basics/create-a-document":{"id":"self-host/tutorial-basics/create-a-document","title":"Create a Document","description":"Documents are groups of pages connected through:","sidebar":"selfhostSidebar"},"self-host/tutorial-basics/create-a-page":{"id":"self-host/tutorial-basics/create-a-page","title":"Create a Page","description":"Add Markdown or React files to src/pages to create a standalone page:","sidebar":"selfhostSidebar"},"self-host/tutorial-basics/deploy-your-site":{"id":"self-host/tutorial-basics/deploy-your-site","title":"Deploy your site","description":"Docusaurus is a static-site-generator (also called Jamstack).","sidebar":"selfhostSidebar"},"self-host/tutorial-basics/markdown-features":{"id":"self-host/tutorial-basics/markdown-features","title":"Markdown Features","description":"Docusaurus supports Markdown and a few additional features.","sidebar":"selfhostSidebar"},"self-host/tutorial-extras/manage-docs-versions":{"id":"self-host/tutorial-extras/manage-docs-versions","title":"Manage Docs Versions","description":"Docusaurus can manage multiple versions of your docs.","sidebar":"selfhostSidebar"},"self-host/tutorial-extras/translate-your-site":{"id":"self-host/tutorial-extras/translate-your-site","title":"Translate your site","description":"Let\'s translate docs/intro.md to French.","sidebar":"selfhostSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/d91ad230.f1caf6f2.js b/assets/js/d91ad230.a0474773.js similarity index 50% rename from assets/js/d91ad230.f1caf6f2.js rename to assets/js/d91ad230.a0474773.js index 2025639b8..7e340ec49 100644 --- a/assets/js/d91ad230.f1caf6f2.js +++ b/assets/js/d91ad230.a0474773.js @@ -1 +1 @@ -"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[230],{9702:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>u,contentTitle:()=>s,default:()=>I,frontMatter:()=>c,metadata:()=>i,toc:()=>a});var o=n(85893),r=n(11151);const c={},s=void 0,i={id:"contribute/REPORTING_GUIDELINES",title:"REPORTING_GUIDELINES",description:"",source:"@site/docs/contribute/REPORTING_GUIDELINES.md",sourceDirName:"contribute",slug:"/contribute/REPORTING_GUIDELINES",permalink:"/docs/contribute/REPORTING_GUIDELINES",draft:!1,unlisted:!1,editUrl:"https://github.com/opensignlabs/opensign/tree/feat-docs/docs/docs/contribute/REPORTING_GUIDELINES.md",tags:[],version:"current",frontMatter:{},sidebar:"contributeSidebar",previous:{title:"INSTALLATION",permalink:"/docs/contribute/INSTALLATION"}},u={},a=[];function d(t){return(0,o.jsx)(o.Fragment,{})}function I(t={}){const{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(d,{...t})}):d()}},11151:(t,e,n)=>{n.d(e,{Z:()=>i,a:()=>s});var o=n(67294);const r={},c=o.createContext(r);function s(t){const e=o.useContext(c);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:s(t.components),o.createElement(c.Provider,{value:e},t.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkOpenSign_Docs=self.webpackChunkOpenSign_Docs||[]).push([[230],{9702:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>u,contentTitle:()=>s,default:()=>I,frontMatter:()=>c,metadata:()=>i,toc:()=>a});var o=n(85893),r=n(11151);const c={},s=void 0,i={id:"contribute/REPORTING_GUIDELINES",title:"REPORTING_GUIDELINES",description:"",source:"@site/docs/contribute/REPORTING_GUIDELINES.md",sourceDirName:"contribute",slug:"/contribute/REPORTING_GUIDELINES",permalink:"/docs/contribute/REPORTING_GUIDELINES",draft:!1,unlisted:!1,editUrl:"https://github.com/opensignlabs/opensign/tree/feat-docs/docs/docs/contribute/REPORTING_GUIDELINES.md",tags:[],version:"current",frontMatter:{},sidebar:"contributeSidebar",previous:{title:"INSTALLATON INSTRUCTIONS",permalink:"/docs/contribute/INSTALLATION"}},u={},a=[];function d(t){return(0,o.jsx)(o.Fragment,{})}function I(t={}){const{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(d,{...t})}):d()}},11151:(t,e,n)=>{n.d(e,{Z:()=>i,a:()=>s});var o=n(67294);const r={},c=o.createContext(r);function s(t){const e=o.useContext(c);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:s(t.components),o.createElement(c.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.002c01d4.js b/assets/js/runtime~main.6157979f.js similarity index 95% rename from assets/js/runtime~main.002c01d4.js rename to assets/js/runtime~main.6157979f.js index d6581c1d4..7aa97a25a 100644 --- a/assets/js/runtime~main.002c01d4.js +++ b/assets/js/runtime~main.6157979f.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,d,b,c,f={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var d=t[e]={id:e,loaded:!1,exports:{}};return f[e].call(d.exports,d,d.exports,r),d.loaded=!0,d.exports}r.m=f,r.c=t,e=[],r.O=(a,d,b,c)=>{if(!d){var f=1/0;for(i=0;i=c)&&Object.keys(r.O).every((e=>r.O[e](d[o])))?d.splice(o--,1):(t=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[d,b,c]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},d=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,b){if(1&b&&(e=this(e)),8&b)return e;if("object"==typeof e&&e){if(4&b&&e.__esModule)return e;if(16&b&&"function"==typeof e.then)return e}var c=Object.create(null);r.r(c);var f={};a=a||[null,d({}),d([]),d(d)];for(var t=2&b&&e;"object"==typeof t&&!~a.indexOf(t);t=d(t))Object.getOwnPropertyNames(t).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,r.d(c,f),c},r.d=(e,a)=>{for(var d in a)r.o(a,d)&&!r.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:a[d]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,d)=>(r.f[d](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",110:"66406991",119:"ac608ad7",230:"d91ad230",273:"fa40969b",292:"1d835c2e",453:"30a24c52",533:"b2b675dd",841:"c5e4dae0",853:"277a78f5",948:"8717b14a",1332:"f0ff4a36",1359:"f0349969",1477:"b2f554cd",1520:"770b40a9",1531:"bbdfc22d",1633:"031793e1",1713:"a7023ddc",1773:"ef5d5d5d",1893:"4c5e977b",1914:"d9f32620",2087:"bfe4b778",2245:"a2bc1463",2267:"59362658",2362:"e273c56f",2535:"814f3328",2832:"1f73ca32",3085:"1f391b9e",3089:"a6aa9e1f",3101:"64ee8796",3205:"a80da1cf",3514:"73664a40",3608:"9e4087bc",4013:"01a85c17",4195:"c4f5d8e4",4258:"b5b81866",4368:"a94703ab",4478:"d1393a72",4651:"05632a52",4955:"e226bb09",5507:"8320e026",5900:"38e3d9c8",6103:"ccc49370",6177:"611db08b",6261:"3dbb8da8",6543:"17e5210b",6586:"976116a8",6759:"c9fa5aa5",6938:"608ae6a4",7100:"2c416566",7178:"096bfee4",7336:"d6096017",7414:"393be207",7429:"debc6b9f",7608:"ca7b15b9",7729:"3532e686",7894:"a88a3db3",7971:"8a725248",8106:"377084eb",8163:"5a2de241",8468:"52d5c0f9",8489:"7b076186",8518:"a7bd4aaa",8610:"6875c492",8636:"f4f34a3a",8892:"38ec836e",9003:"925b3f96",9035:"4c9e35b1",9642:"7661071f",9661:"5e95c892",9671:"0e384e19",9697:"2c586be5",9700:"e16015ca",9817:"14eb3368"}[e]||e)+"."+{53:"9eea589f",110:"ab20026d",119:"da728717",230:"f1caf6f2",273:"adc233e1",292:"f4c59cb7",453:"61f3e45f",533:"2d5f5b1d",841:"b9d70538",853:"ebd74f29",948:"b2da1fd1",1332:"ef830ef8",1359:"49fdcec2",1477:"b31b2642",1520:"e45522a5",1531:"6d9179c1",1633:"d8366831",1713:"fefd4794",1772:"c222a62c",1773:"d5cdc9ed",1893:"59606182",1914:"eb382def",2087:"505e4272",2245:"b1ad234a",2267:"a4846e2b",2362:"ebdb1814",2529:"2079a565",2535:"f3b6b0ab",2832:"760fabc2",3085:"e5c5d651",3089:"84b5c675",3101:"47959e32",3205:"af75d475",3514:"b2437ac4",3608:"0e768bf1",4013:"e5e25f55",4195:"1659087e",4258:"2f2f6e9d",4311:"86f3bfc6",4368:"7d12b1da",4478:"cf430417",4651:"a139a053",4682:"18721add",4955:"7e795572",5507:"36c41078",5900:"a995c609",6103:"ebc8482f",6177:"b0d3e9d2",6261:"7cefc749",6543:"7cc0def7",6586:"838adce6",6759:"c81d0e01",6938:"d44251bf",7100:"c3706b41",7178:"9a58922d",7336:"a736ced8",7414:"8d31e6a7",7429:"7a5a40a6",7608:"18f42e4e",7729:"2130c9d6",7894:"18fa1b31",7971:"350b9d87",8106:"951fd941",8140:"901b2f91",8163:"017914b9",8468:"13bbb31c",8475:"d27b3009",8489:"496e8402",8518:"aaa08e5a",8531:"1f1a82a7",8610:"d85035d6",8636:"c590d949",8892:"8d297d45",9003:"1e8e0783",9035:"37598b09",9642:"223fec4f",9661:"33228fcd",9671:"8f2ee486",9697:"4d88da29",9700:"ad032cc8",9817:"424c677a"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),b={},c="OpenSign-Docs:",r.l=(e,a,d,f)=>{if(b[e])b[e].push(a);else{var t,o;if(void 0!==d)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var c=b[e];if(delete b[e],t.parentNode&&t.parentNode.removeChild(t),c&&c.forEach((e=>e(d))),a)return a(d)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={59362658:"2267",66406991:"110","935f2afb":"53",ac608ad7:"119",d91ad230:"230",fa40969b:"273","1d835c2e":"292","30a24c52":"453",b2b675dd:"533",c5e4dae0:"841","277a78f5":"853","8717b14a":"948",f0ff4a36:"1332",f0349969:"1359",b2f554cd:"1477","770b40a9":"1520",bbdfc22d:"1531","031793e1":"1633",a7023ddc:"1713",ef5d5d5d:"1773","4c5e977b":"1893",d9f32620:"1914",bfe4b778:"2087",a2bc1463:"2245",e273c56f:"2362","814f3328":"2535","1f73ca32":"2832","1f391b9e":"3085",a6aa9e1f:"3089","64ee8796":"3101",a80da1cf:"3205","73664a40":"3514","9e4087bc":"3608","01a85c17":"4013",c4f5d8e4:"4195",b5b81866:"4258",a94703ab:"4368",d1393a72:"4478","05632a52":"4651",e226bb09:"4955","8320e026":"5507","38e3d9c8":"5900",ccc49370:"6103","611db08b":"6177","3dbb8da8":"6261","17e5210b":"6543","976116a8":"6586",c9fa5aa5:"6759","608ae6a4":"6938","2c416566":"7100","096bfee4":"7178",d6096017:"7336","393be207":"7414",debc6b9f:"7429",ca7b15b9:"7608","3532e686":"7729",a88a3db3:"7894","8a725248":"7971","377084eb":"8106","5a2de241":"8163","52d5c0f9":"8468","7b076186":"8489",a7bd4aaa:"8518","6875c492":"8610",f4f34a3a:"8636","38ec836e":"8892","925b3f96":"9003","4c9e35b1":"9035","7661071f":"9642","5e95c892":"9661","0e384e19":"9671","2c586be5":"9697",e16015ca:"9700","14eb3368":"9817"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,d)=>{var b=r.o(e,a)?e[a]:void 0;if(0!==b)if(b)d.push(b[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var c=new Promise(((d,c)=>b=e[a]=[d,c]));d.push(b[2]=c);var f=r.p+r.u(a),t=new Error;r.l(f,(d=>{if(r.o(e,a)&&(0!==(b=e[a])&&(e[a]=void 0),b)){var c=d&&("load"===d.type?"missing":d.type),f=d&&d.target&&d.target.src;t.message="Loading chunk "+a+" failed.\n("+c+": "+f+")",t.name="ChunkLoadError",t.type=c,t.request=f,b[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,d)=>{var b,c,f=d[0],t=d[1],o=d[2],n=0;if(f.some((a=>0!==e[a]))){for(b in t)r.o(t,b)&&(r.m[b]=t[b]);if(o)var i=o(r)}for(a&&a(d);n{"use strict";var e,a,d,b,c,f={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var d=t[e]={id:e,loaded:!1,exports:{}};return f[e].call(d.exports,d,d.exports,r),d.loaded=!0,d.exports}r.m=f,r.c=t,e=[],r.O=(a,d,b,c)=>{if(!d){var f=1/0;for(i=0;i=c)&&Object.keys(r.O).every((e=>r.O[e](d[o])))?d.splice(o--,1):(t=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[d,b,c]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},d=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,b){if(1&b&&(e=this(e)),8&b)return e;if("object"==typeof e&&e){if(4&b&&e.__esModule)return e;if(16&b&&"function"==typeof e.then)return e}var c=Object.create(null);r.r(c);var f={};a=a||[null,d({}),d([]),d(d)];for(var t=2&b&&e;"object"==typeof t&&!~a.indexOf(t);t=d(t))Object.getOwnPropertyNames(t).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,r.d(c,f),c},r.d=(e,a)=>{for(var d in a)r.o(a,d)&&!r.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:a[d]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,d)=>(r.f[d](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",110:"66406991",119:"ac608ad7",230:"d91ad230",273:"fa40969b",292:"1d835c2e",453:"30a24c52",533:"b2b675dd",841:"c5e4dae0",853:"277a78f5",948:"8717b14a",1332:"f0ff4a36",1359:"f0349969",1477:"b2f554cd",1520:"770b40a9",1531:"bbdfc22d",1633:"031793e1",1713:"a7023ddc",1773:"ef5d5d5d",1893:"4c5e977b",1914:"d9f32620",2087:"bfe4b778",2245:"a2bc1463",2267:"59362658",2362:"e273c56f",2535:"814f3328",2832:"1f73ca32",3085:"1f391b9e",3089:"a6aa9e1f",3101:"64ee8796",3205:"a80da1cf",3514:"73664a40",3608:"9e4087bc",4013:"01a85c17",4195:"c4f5d8e4",4258:"b5b81866",4368:"a94703ab",4478:"d1393a72",4651:"05632a52",4955:"e226bb09",5507:"8320e026",5900:"38e3d9c8",6103:"ccc49370",6177:"611db08b",6261:"3dbb8da8",6543:"17e5210b",6586:"976116a8",6759:"c9fa5aa5",6938:"608ae6a4",7100:"2c416566",7178:"096bfee4",7336:"d6096017",7414:"393be207",7429:"debc6b9f",7608:"ca7b15b9",7729:"3532e686",7894:"a88a3db3",7971:"8a725248",8106:"377084eb",8163:"5a2de241",8468:"52d5c0f9",8489:"7b076186",8518:"a7bd4aaa",8610:"6875c492",8636:"f4f34a3a",8892:"38ec836e",9003:"925b3f96",9035:"4c9e35b1",9642:"7661071f",9661:"5e95c892",9671:"0e384e19",9697:"2c586be5",9700:"e16015ca",9817:"14eb3368"}[e]||e)+"."+{53:"ffb12394",110:"ab20026d",119:"da728717",230:"a0474773",273:"adc233e1",292:"f4c59cb7",453:"61f3e45f",533:"2d5f5b1d",841:"b9d70538",853:"f101c6c0",948:"b2da1fd1",1332:"ef830ef8",1359:"49fdcec2",1477:"b31b2642",1520:"e45522a5",1531:"6d9179c1",1633:"d8366831",1713:"fefd4794",1772:"c222a62c",1773:"d5cdc9ed",1893:"59606182",1914:"eb382def",2087:"505e4272",2245:"b1ad234a",2267:"a4846e2b",2362:"ebdb1814",2529:"2079a565",2535:"f3b6b0ab",2832:"760fabc2",3085:"e5c5d651",3089:"84b5c675",3101:"47959e32",3205:"af75d475",3514:"b2437ac4",3608:"0e768bf1",4013:"e5e25f55",4195:"1659087e",4258:"2f2f6e9d",4311:"86f3bfc6",4368:"7d12b1da",4478:"cf430417",4651:"a139a053",4682:"18721add",4955:"7e795572",5507:"36c41078",5900:"a995c609",6103:"ebc8482f",6177:"b0d3e9d2",6261:"7cefc749",6543:"3b507760",6586:"838adce6",6759:"c81d0e01",6938:"d44251bf",7100:"c3706b41",7178:"9a58922d",7336:"a736ced8",7414:"8d31e6a7",7429:"7a5a40a6",7608:"18f42e4e",7729:"2130c9d6",7894:"18fa1b31",7971:"350b9d87",8106:"951fd941",8140:"901b2f91",8163:"017914b9",8468:"13bbb31c",8475:"d27b3009",8489:"496e8402",8518:"aaa08e5a",8531:"1f1a82a7",8610:"d85035d6",8636:"c590d949",8892:"8d297d45",9003:"1e8e0783",9035:"37598b09",9642:"223fec4f",9661:"33228fcd",9671:"8f2ee486",9697:"4d88da29",9700:"ad032cc8",9817:"424c677a"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),b={},c="OpenSign-Docs:",r.l=(e,a,d,f)=>{if(b[e])b[e].push(a);else{var t,o;if(void 0!==d)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var c=b[e];if(delete b[e],t.parentNode&&t.parentNode.removeChild(t),c&&c.forEach((e=>e(d))),a)return a(d)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={59362658:"2267",66406991:"110","935f2afb":"53",ac608ad7:"119",d91ad230:"230",fa40969b:"273","1d835c2e":"292","30a24c52":"453",b2b675dd:"533",c5e4dae0:"841","277a78f5":"853","8717b14a":"948",f0ff4a36:"1332",f0349969:"1359",b2f554cd:"1477","770b40a9":"1520",bbdfc22d:"1531","031793e1":"1633",a7023ddc:"1713",ef5d5d5d:"1773","4c5e977b":"1893",d9f32620:"1914",bfe4b778:"2087",a2bc1463:"2245",e273c56f:"2362","814f3328":"2535","1f73ca32":"2832","1f391b9e":"3085",a6aa9e1f:"3089","64ee8796":"3101",a80da1cf:"3205","73664a40":"3514","9e4087bc":"3608","01a85c17":"4013",c4f5d8e4:"4195",b5b81866:"4258",a94703ab:"4368",d1393a72:"4478","05632a52":"4651",e226bb09:"4955","8320e026":"5507","38e3d9c8":"5900",ccc49370:"6103","611db08b":"6177","3dbb8da8":"6261","17e5210b":"6543","976116a8":"6586",c9fa5aa5:"6759","608ae6a4":"6938","2c416566":"7100","096bfee4":"7178",d6096017:"7336","393be207":"7414",debc6b9f:"7429",ca7b15b9:"7608","3532e686":"7729",a88a3db3:"7894","8a725248":"7971","377084eb":"8106","5a2de241":"8163","52d5c0f9":"8468","7b076186":"8489",a7bd4aaa:"8518","6875c492":"8610",f4f34a3a:"8636","38ec836e":"8892","925b3f96":"9003","4c9e35b1":"9035","7661071f":"9642","5e95c892":"9661","0e384e19":"9671","2c586be5":"9697",e16015ca:"9700","14eb3368":"9817"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,d)=>{var b=r.o(e,a)?e[a]:void 0;if(0!==b)if(b)d.push(b[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var c=new Promise(((d,c)=>b=e[a]=[d,c]));d.push(b[2]=c);var f=r.p+r.u(a),t=new Error;r.l(f,(d=>{if(r.o(e,a)&&(0!==(b=e[a])&&(e[a]=void 0),b)){var c=d&&("load"===d.type?"missing":d.type),f=d&&d.target&&d.target.src;t.message="Loading chunk "+a+" failed.\n("+c+": "+f+")",t.name="ChunkLoadError",t.type=c,t.request=f,b[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,d)=>{var b,c,f=d[0],t=d[1],o=d[2],n=0;if(f.some((a=>0!==e[a]))){for(b in t)r.o(t,b)&&(r.m[b]=t[b]);if(o)var i=o(r)}for(a&&a(d);n Archive | OpenSign™ - + diff --git a/blog/first-blog-post/index.html b/blog/first-blog-post/index.html index ae9af02bf..9fcb71a28 100644 --- a/blog/first-blog-post/index.html +++ b/blog/first-blog-post/index.html @@ -5,7 +5,7 @@ First Blog Post | OpenSign™ - + diff --git a/blog/index.html b/blog/index.html index fdd2665ea..64e5dd8c3 100644 --- a/blog/index.html +++ b/blog/index.html @@ -5,7 +5,7 @@ Blog | OpenSign™ - + diff --git a/blog/long-blog-post/index.html b/blog/long-blog-post/index.html index 441808700..8bb18a561 100644 --- a/blog/long-blog-post/index.html +++ b/blog/long-blog-post/index.html @@ -5,7 +5,7 @@ Long Blog Post | OpenSign™ - + diff --git a/blog/mdx-blog-post/index.html b/blog/mdx-blog-post/index.html index 1c3881540..67f4d658a 100644 --- a/blog/mdx-blog-post/index.html +++ b/blog/mdx-blog-post/index.html @@ -5,7 +5,7 @@ MDX Blog Post | OpenSign™ - + diff --git a/blog/tags/docusaurus/index.html b/blog/tags/docusaurus/index.html index 9a5add502..8ebeef905 100644 --- a/blog/tags/docusaurus/index.html +++ b/blog/tags/docusaurus/index.html @@ -5,7 +5,7 @@ 4 posts tagged with "docusaurus" | OpenSign™ - + diff --git a/blog/tags/facebook/index.html b/blog/tags/facebook/index.html index 54ab38b19..6081f9405 100644 --- a/blog/tags/facebook/index.html +++ b/blog/tags/facebook/index.html @@ -5,7 +5,7 @@ One post tagged with "facebook" | OpenSign™ - + diff --git a/blog/tags/hello/index.html b/blog/tags/hello/index.html index a183ba6e1..a90d4d47b 100644 --- a/blog/tags/hello/index.html +++ b/blog/tags/hello/index.html @@ -5,7 +5,7 @@ 2 posts tagged with "hello" | OpenSign™ - + diff --git a/blog/tags/hola/index.html b/blog/tags/hola/index.html index fe070be77..e4c522c84 100644 --- a/blog/tags/hola/index.html +++ b/blog/tags/hola/index.html @@ -5,7 +5,7 @@ One post tagged with "hola" | OpenSign™ - + diff --git a/blog/tags/index.html b/blog/tags/index.html index 116035a12..b7c4c009c 100644 --- a/blog/tags/index.html +++ b/blog/tags/index.html @@ -5,7 +5,7 @@ Tags | OpenSign™ - + diff --git a/blog/welcome/index.html b/blog/welcome/index.html index 9cbceaaff..7f7e043a2 100644 --- a/blog/welcome/index.html +++ b/blog/welcome/index.html @@ -5,7 +5,7 @@ Welcome | OpenSign™ - + diff --git a/docs/API-docs/contactlist/index.html b/docs/API-docs/contactlist/index.html index 9075752c6..a27225d85 100644 --- a/docs/API-docs/contactlist/index.html +++ b/docs/API-docs/contactlist/index.html @@ -5,7 +5,7 @@ Get contact list | OpenSign™ - + diff --git a/docs/API-docs/createcontact/index.html b/docs/API-docs/createcontact/index.html index 71a89bfe9..d67ff57cb 100644 --- a/docs/API-docs/createcontact/index.html +++ b/docs/API-docs/createcontact/index.html @@ -5,7 +5,7 @@ Create contact | OpenSign™ - + diff --git a/docs/API-docs/createdocument/index.html b/docs/API-docs/createdocument/index.html index 7cd3fd075..710f70129 100644 --- a/docs/API-docs/createdocument/index.html +++ b/docs/API-docs/createdocument/index.html @@ -5,7 +5,7 @@ Create document | OpenSign™ - + diff --git a/docs/API-docs/createtemplate/index.html b/docs/API-docs/createtemplate/index.html index 4f415586b..29db67b6a 100644 --- a/docs/API-docs/createtemplate/index.html +++ b/docs/API-docs/createtemplate/index.html @@ -5,7 +5,7 @@ Create template | OpenSign™ - + diff --git a/docs/API-docs/delete-template/index.html b/docs/API-docs/delete-template/index.html index d0ae475ea..364d86441 100644 --- a/docs/API-docs/delete-template/index.html +++ b/docs/API-docs/delete-template/index.html @@ -5,7 +5,7 @@ Delete template by ID | OpenSign™ - + diff --git a/docs/API-docs/deletecontact/index.html b/docs/API-docs/deletecontact/index.html index 57695f391..79d558bf5 100644 --- a/docs/API-docs/deletecontact/index.html +++ b/docs/API-docs/deletecontact/index.html @@ -5,7 +5,7 @@ Delete contact | OpenSign™ - + diff --git a/docs/API-docs/deletedocument/index.html b/docs/API-docs/deletedocument/index.html index 3e8215913..23a1d0e9a 100644 --- a/docs/API-docs/deletedocument/index.html +++ b/docs/API-docs/deletedocument/index.html @@ -5,7 +5,7 @@ Delete document by ID | OpenSign™ - + diff --git a/docs/API-docs/get-template/index.html b/docs/API-docs/get-template/index.html index b051f1e23..559b7f1fd 100644 --- a/docs/API-docs/get-template/index.html +++ b/docs/API-docs/get-template/index.html @@ -5,7 +5,7 @@ Get template by ID | OpenSign™ - + diff --git a/docs/API-docs/get-user/index.html b/docs/API-docs/get-user/index.html index 886d2bf51..9e4fb2f42 100644 --- a/docs/API-docs/get-user/index.html +++ b/docs/API-docs/get-user/index.html @@ -5,7 +5,7 @@ Get your details | OpenSign™ - + diff --git a/docs/API-docs/getcontact/index.html b/docs/API-docs/getcontact/index.html index e495ddc3a..32371055a 100644 --- a/docs/API-docs/getcontact/index.html +++ b/docs/API-docs/getcontact/index.html @@ -5,7 +5,7 @@ Get contact | OpenSign™ - + diff --git a/docs/API-docs/getdocument/index.html b/docs/API-docs/getdocument/index.html index 1e096d232..3f5fa6af7 100644 --- a/docs/API-docs/getdocument/index.html +++ b/docs/API-docs/getdocument/index.html @@ -5,7 +5,7 @@ Get document by ID | OpenSign™ - + diff --git a/docs/API-docs/getdocumentlist/index.html b/docs/API-docs/getdocumentlist/index.html index dcc0714e9..77fd34ad1 100644 --- a/docs/API-docs/getdocumentlist/index.html +++ b/docs/API-docs/getdocumentlist/index.html @@ -5,7 +5,7 @@ Get document list by doctype | OpenSign™ - + diff --git a/docs/API-docs/gettemplatelist/index.html b/docs/API-docs/gettemplatelist/index.html index f626e5c64..3eb9ccee4 100644 --- a/docs/API-docs/gettemplatelist/index.html +++ b/docs/API-docs/gettemplatelist/index.html @@ -5,7 +5,7 @@ Get template list | OpenSign™ - + diff --git a/docs/API-docs/intro/index.html b/docs/API-docs/intro/index.html index d983c89db..8bd886cff 100644 --- a/docs/API-docs/intro/index.html +++ b/docs/API-docs/intro/index.html @@ -5,7 +5,7 @@ Overview | OpenSign™ - + diff --git a/docs/API-docs/opensign-api-v-1/index.html b/docs/API-docs/opensign-api-v-1/index.html index 3d048176d..55eb40183 100644 --- a/docs/API-docs/opensign-api-v-1/index.html +++ b/docs/API-docs/opensign-api-v-1/index.html @@ -5,7 +5,7 @@ OpenSign API v1 | OpenSign™ - + diff --git a/docs/API-docs/update-document/index.html b/docs/API-docs/update-document/index.html index ea7c14774..f150fb028 100644 --- a/docs/API-docs/update-document/index.html +++ b/docs/API-docs/update-document/index.html @@ -5,7 +5,7 @@ Update document by ID | OpenSign™ - + diff --git a/docs/API-docs/update-template/index.html b/docs/API-docs/update-template/index.html index 98b66fdcb..724df32dc 100644 --- a/docs/API-docs/update-template/index.html +++ b/docs/API-docs/update-template/index.html @@ -5,7 +5,7 @@ Update template by ID | OpenSign™ - + diff --git a/docs/category/tutorial---basics/index.html b/docs/category/tutorial---basics/index.html index d88eb2d42..d57aa9d26 100644 --- a/docs/category/tutorial---basics/index.html +++ b/docs/category/tutorial---basics/index.html @@ -5,7 +5,7 @@ Tutorial - Basics | OpenSign™ - + diff --git a/docs/category/tutorial---extras/index.html b/docs/category/tutorial---extras/index.html index debc0d7d4..7ebbfe9f6 100644 --- a/docs/category/tutorial---extras/index.html +++ b/docs/category/tutorial---extras/index.html @@ -5,7 +5,7 @@ Tutorial - Extras | OpenSign™ - + diff --git a/docs/contribute/CODE_OF_CONDUCT/index.html b/docs/contribute/CODE_OF_CONDUCT/index.html index a1ab6e0c9..7deecb4e7 100644 --- a/docs/contribute/CODE_OF_CONDUCT/index.html +++ b/docs/contribute/CODE_OF_CONDUCT/index.html @@ -5,11 +5,11 @@ Code of conduct | OpenSign™ - + -

Code of Conduct for OpenSign

+

Code of Conduct for OpenSign

1. Introduction

A primary goal of OpenSign is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe, and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof).

This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior.

diff --git a/docs/contribute/COMMUNITY/index.html b/docs/contribute/COMMUNITY/index.html index 418d89113..4e8d6fc0b 100644 --- a/docs/contribute/COMMUNITY/index.html +++ b/docs/contribute/COMMUNITY/index.html @@ -5,17 +5,17 @@ Community at OpenSign™ | OpenSign™ - + -

Community at OpenSign™

+

Community at OpenSign™

Welcome to the OpenSign™ Community page! OpenSign™ is dedicated to fostering a vibrant and engaging community where members can connect, share ideas and collaborate on the OpenSign™ project. This page provides links to our active social media platforms and community channels, offering various ways for you to join and participate in the OpenSign™ community. Whether you're looking for support, eager to contribute or just want to stay updated, you'll find a platform that suits your preference. Connect with us on Discord for real-time discussions, follow us on Twitter for the latest updates, engage with our professional network on LinkedIn or join our Facebook group for a broader community experience. Join us in our mission to develop OpenSign™ as the premier open-source alternative to DocuSign.

+
\ No newline at end of file diff --git a/docs/contribute/INSTALLATION/index.html b/docs/contribute/INSTALLATION/index.html index 6562522f7..1aec736a3 100644 --- a/docs/contribute/INSTALLATION/index.html +++ b/docs/contribute/INSTALLATION/index.html @@ -3,12 +3,109 @@ -INSTALLATION | OpenSign™ +INSTALLATON INSTRUCTIONS | OpenSign™ - + - +

INSTALLATON INSTRUCTIONS

+

You can use our app as a cloud version from OpenSignLabs

+

or follow below instructions to install it on your own infrastructure.

+
    +
  • Localhost(Frontend only)
  • +
  • Localhost(Docker)
  • +
+

Localhost(Frontend only)

+

This is the easiest way to run the frontend application for development or testing purpose without the hassle of installing backend & DB. All the features including document upload, signing, email notifications will work seamlessly from staging backend.

+

Warning: All data, including user accounts and documents, is stored in the staging backend. This data will be erased every time there is a merge to the main branch. As a result, you may need to recreate user accounts repeatedly. If you find that login attempts are failing, it is likely because the data has been cleared due to a recent merge.

+

Below are the steps to follow -

+
    +
  • Clone the repository to your local machine using below command - +
    git clone https://github.com/OpenSignLabs/OpenSign.git
    +
  • +
  • Copy the .env.frontend_dev file to apps/OpenSign/.env using below command(on mac & linux). For windows use COPY command instead. +
    cp .env.frontend_dev apps/OpenSign/.env
    +
  • +
  • CD to /apps/OpenSign directory
  • +
  • Install NPM packages using +
    npm install
    +
  • +
  • Run the project locally using +
    npm run start
    +
  • +
+

You should be able to access the application from http://localhost:3000 after this. +Create an account by signing-up and start contributing.

+

You will need to create an AWS S3 bucket or digital ocean space in order to store your uploaded documents

+

AWS S3 -

+
    +
  • Step 1 : Create a S3 bucket +
      +
    • Login to AWS console
    • +
    • Navigate to S3 under services
    • +
    • Hit "Create Bucket" button on upper right corner
    • +
    • Remove the check from "block all public access" checkbox(we need this in order to provide access to not-logged in users after OTP verification)
    • +
    • Set bucket versioning and tags as per your requirements
    • +
    • Hit "Create bucket" button
    • +
    +
  • +
  • Step 2 : Create IAM user and provide access to AWS bucket +
      +
    • Search for "IAM" on the search bar in AWS console
    • +
    • On IAM dashboard, click the number of users(count) under IAM resources table
    • +
    • Hit "create user" button on the upper right corner of the page
    • +
    • Enter the user name & click next
    • +
    • Click create policy, search for S3 and provide the Read, Write & list permissions
    • +
    • Click next and click "Create user"
    • +
    +
  • +
  • Step 3 : Generate Credentials
  • +
  • Go to IAM/Users in AWS console
  • +
  • Hit the hyperlink for the user created in the previous step
  • +
  • Click the "Security credentials" tab
  • +
  • Scroll down to "Access keys" and hit "Create access key"
  • +
  • In the next step select "Application running outside AWS"
  • +
  • Add a description tag if needed & hit "Create access key"
  • +
  • In the next step you will see "Access key" and "Secret Access key". Copy both the values.
  • +
  • Set the value of "Access key" to "DO_ACCESS_KEY_ID" environment variable
  • +
  • Set the value of "Secret Access key" to "DO_SECRET_ACCESS_KEY" environment variable
  • +
  • Step 3 : Copy bucket credentials +
      +
    • Visit "Amazon S3 -> Buckets" in aws console
    • +
    • Click the bucket created in previous steps & visit the properties tab
    • +
    • Under "Bucket overview" you will find the value of AWS region(for ex. ap-south-1). Set that value to env variable "DO_REGION"
    • +
    • You can create the value for "DO_ENDPOINT" env variable by appending the region value to amazonaws.com (for ex. s3.ap-south-1.amazonaws.com)
    • +
    • You can create the value for "DO_BASEURL" by adding the bucketname in front of the endpoint value(for ex. https://bucketname.s3.ap-south-1.amazonaws.com)
    • +
    +
  • +
+

Visit below link if you face any issues while following the above instructions -

+ +

Localhost(Docker)

+

For local Setup we need to need following prerequisite:

+

Environment Varaibles:

+
Environment VaribaleValueDescription
CIfalseSet CI to false while running the app locally
PUBLIC_URLhttp://localhost:3000Set it to the URL form where the app home page will be accessed
GENERATE_SOURCEMAPfalseSet it to true if you want to generate the Sourcemap for debugging
REACT_APP_SERVERURLhttp://localhost:8080/appSet it to the URL from where APIs will be accessible, for local development it should be localhost:3000/api/app (use your local port number instead)
REACT_APP_APPIDopensignstgnA 12 character long random app identifier. The value of this should be same as APP_ID which is a variable used by backend API.
APP_IDopensignstgnA 12 character long random app identifier. The value of this should be same as REACT_APP_APPID which is a variable used by Frontend React App.
appNameopen_sign_serverName of the app. It will be visible in the verification emails sent out.
MASTER_KEYXnAadwKxxByMrA 12 character long random secret key that allows access to all the data. It is used in Parse dashboard config to view all the data in the database.
MONGODB_URImongodb://host.docker.internal:27017/OpenSignDBMongodb URI to connect to
PARSE_MOUNT/appPath on which APIs should be mounted. Do not change this. This variable shall be removed & value hardcoded in the source code in coming versions.
SERVER_URLhttp://127.0.0.1:8080/appSet it to the URL from where APIs will be accessible to the NodeJS functions, for local development it should be localhost:3000/api/app (use your local port number instead)
DO_SPACEDOSPACENAMEDigital ocean space name or AWS S3 bucket name for uploading documents
DO_ENDPOINTams3.digitaloceanspaces.comDigital ocean spaces endpoint or AWS S3 endpoint for uploading documents
DO_BASEURLhttps://DOSPACENAME.ams3.digitaloceanspaces.comDigital ocean baseurl or AWS S3 base URL
DO_ACCESS_KEY_IDYOUR_S3_ACCESS_IDDigital ocean spaces access key ID or AWS s3 Access key ID for uploading the docs
DO_SECRET_ACCESS_KEYYOUR_S3_ACCESS_KEYDigital ocean spaces secret access key or AWS s3 secret access key for uploading the docs
DO_REGIONYOUR_S3_REGIONDigital ocean spaces region or AWS s3 region
USE_LOCALFALSETo use local file storage to save file
MAILGUN_API_KEYYOUR_MAILGUNAPI_KEYMailgun API Key
MAILGUN_DOMAINYOUR_MAILGUNAPI_DOMAINMailgun API Domain
MAILGUN_SENDER-Mailgun Sender Mail ID
PFX_BASE64-Base64 encoded PFX or p12 document signing certificate file. You can generate base64 encoded self sign certificate using the passphrase emudhra
+

Steps to Generate Self Sign Certificate

+
# execute below command and use passphrase emudhra
openssl genrsa -des3 -out ./cert/local_dev.key 2048
openssl req -key ./cert/local_dev.key -new -x509 -days 365 -out ./cert/local_dev.crt
openssl pkcs12 -inkey ./cert/local_dev.key -in ./cert/local_dev.crt -export -out ./cert/local_dev.pfx
openssl base64 -in ./cert/local_dev.pfx -out ./cert/base64_pfx
+

CORS Configuration

+

As document storage is delegated to S3-compatible services that reside in a different host than the OpenSign one, document operations (loading, storing, deleting) are subject to Cross-Origin Resource Sharing restriction policies; as a consequence, OpenSign app may fail with (browser console) errors like the following:

+
Access to fetch at 'https://foo.nyc3.digitaloceanspaces.com/exported_file_4627_0000-00-00T00%3A45%3A43.344Z.pdf'
from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header
is present on the requested resource. If an opaque response serves your needs, set the request's mode to
'no-cors' to fetch the resource with CORS disabled.
+

In order to address this, your document storage system must be instructed to accept requests from other hosts; below the relevant documentation links:

+ +

Build Local Environment

+

Command to build project -

+
    +
  • Execute make build
  • +
+

Command to run project -

+
    +
  • Execute make run
  • +
\ No newline at end of file diff --git a/docs/contribute/REPORTING_GUIDELINES/index.html b/docs/contribute/REPORTING_GUIDELINES/index.html index a0e2bb55d..ff909fdad 100644 --- a/docs/contribute/REPORTING_GUIDELINES/index.html +++ b/docs/contribute/REPORTING_GUIDELINES/index.html @@ -5,10 +5,10 @@ REPORTING_GUIDELINES | OpenSign™ - + - + \ No newline at end of file diff --git a/docs/contribute/intro/index.html b/docs/contribute/intro/index.html index 2284256fc..e9a419490 100644 --- a/docs/contribute/intro/index.html +++ b/docs/contribute/intro/index.html @@ -5,11 +5,11 @@ Contributing to OpenSign | OpenSign™ - + -

Contributing to OpenSign

+

Contributing to OpenSign

Hello there! Thank you for considering contributing to OpenSign, the open-source alternative to DocuSign. OpenSign is not just a project, but a community endeavor that aims to create a robust, user-friendly, and secure electronic signature solution. Your contributions, irrespective of their size, are valuable in making this vision a reality.

Table of Contents

    diff --git a/docs/help/New-Document/request-signatures/index.html b/docs/help/New-Document/request-signatures/index.html index 5b93a81d5..d8fcb58c5 100644 --- a/docs/help/New-Document/request-signatures/index.html +++ b/docs/help/New-Document/request-signatures/index.html @@ -5,7 +5,7 @@ Request signatures | OpenSign™ - + diff --git a/docs/help/New-Document/sign-yourself/index.html b/docs/help/New-Document/sign-yourself/index.html index a1e10c410..a02c8d51b 100644 --- a/docs/help/New-Document/sign-yourself/index.html +++ b/docs/help/New-Document/sign-yourself/index.html @@ -5,7 +5,7 @@ Sign yourself | OpenSign™ - + diff --git a/docs/help/intro/index.html b/docs/help/intro/index.html index 5eb00996f..9f098e545 100644 --- a/docs/help/intro/index.html +++ b/docs/help/intro/index.html @@ -5,7 +5,7 @@ Intro | OpenSign™ - + diff --git a/docs/intro/index.html b/docs/intro/index.html index 354e87873..b5ee7871c 100644 --- a/docs/intro/index.html +++ b/docs/intro/index.html @@ -5,7 +5,7 @@ Tutorial Intro | OpenSign™ - + diff --git a/docs/self-host/intro/index.html b/docs/self-host/intro/index.html index 9bbe6f28c..0cd9ea051 100644 --- a/docs/self-host/intro/index.html +++ b/docs/self-host/intro/index.html @@ -5,7 +5,7 @@ Tutorial Intro | OpenSign™ - + diff --git a/docs/self-host/tutorial-basics/congratulations/index.html b/docs/self-host/tutorial-basics/congratulations/index.html index fd56a4846..020c3ced7 100644 --- a/docs/self-host/tutorial-basics/congratulations/index.html +++ b/docs/self-host/tutorial-basics/congratulations/index.html @@ -5,7 +5,7 @@ Congratulations! | OpenSign™ - + diff --git a/docs/self-host/tutorial-basics/create-a-blog-post/index.html b/docs/self-host/tutorial-basics/create-a-blog-post/index.html index 3dfc6a369..48b779fca 100644 --- a/docs/self-host/tutorial-basics/create-a-blog-post/index.html +++ b/docs/self-host/tutorial-basics/create-a-blog-post/index.html @@ -5,7 +5,7 @@ Create a Blog Post | OpenSign™ - + diff --git a/docs/self-host/tutorial-basics/create-a-document/index.html b/docs/self-host/tutorial-basics/create-a-document/index.html index 4985e44eb..4898dd914 100644 --- a/docs/self-host/tutorial-basics/create-a-document/index.html +++ b/docs/self-host/tutorial-basics/create-a-document/index.html @@ -5,7 +5,7 @@ Create a Document | OpenSign™ - + diff --git a/docs/self-host/tutorial-basics/create-a-page/index.html b/docs/self-host/tutorial-basics/create-a-page/index.html index e3d28fb9e..7b5e9b0ca 100644 --- a/docs/self-host/tutorial-basics/create-a-page/index.html +++ b/docs/self-host/tutorial-basics/create-a-page/index.html @@ -5,7 +5,7 @@ Create a Page | OpenSign™ - + diff --git a/docs/self-host/tutorial-basics/deploy-your-site/index.html b/docs/self-host/tutorial-basics/deploy-your-site/index.html index a5e0386b5..d5a360723 100644 --- a/docs/self-host/tutorial-basics/deploy-your-site/index.html +++ b/docs/self-host/tutorial-basics/deploy-your-site/index.html @@ -5,7 +5,7 @@ Deploy your site | OpenSign™ - + diff --git a/docs/self-host/tutorial-basics/markdown-features/index.html b/docs/self-host/tutorial-basics/markdown-features/index.html index b601ccec2..3bfcba1c6 100644 --- a/docs/self-host/tutorial-basics/markdown-features/index.html +++ b/docs/self-host/tutorial-basics/markdown-features/index.html @@ -5,7 +5,7 @@ Markdown Features | OpenSign™ - + diff --git a/docs/self-host/tutorial-extras/manage-docs-versions/index.html b/docs/self-host/tutorial-extras/manage-docs-versions/index.html index cb0a9b6e6..136376758 100644 --- a/docs/self-host/tutorial-extras/manage-docs-versions/index.html +++ b/docs/self-host/tutorial-extras/manage-docs-versions/index.html @@ -5,7 +5,7 @@ Manage Docs Versions | OpenSign™ - + diff --git a/docs/self-host/tutorial-extras/translate-your-site/index.html b/docs/self-host/tutorial-extras/translate-your-site/index.html index 88f92baa8..6bb2dc000 100644 --- a/docs/self-host/tutorial-extras/translate-your-site/index.html +++ b/docs/self-host/tutorial-extras/translate-your-site/index.html @@ -5,7 +5,7 @@ Translate your site | OpenSign™ - + diff --git a/index.html b/index.html index 97fb35063..73be09746 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ Hello from OpenSign™ | OpenSign™ - + diff --git a/markdown-page/index.html b/markdown-page/index.html index 223886f43..0bbe716be 100644 --- a/markdown-page/index.html +++ b/markdown-page/index.html @@ -5,7 +5,7 @@ Markdown page example | OpenSign™ - +