18F/epa-notice

View on GitHub
docs/activity-diagram.svg

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="898px" style="width:918px;height:898px;" version="1.1" viewBox="0 0 918 898" width="918px"><defs><filter height="300%" id="f1" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="26" x2="26" y1="86.4883" y2="814.3203"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="169.5" x2="169.5" y1="86.4883" y2="814.3203"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="322.5" x2="322.5" y1="86.4883" y2="814.3203"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="552.5" x2="552.5" y1="86.4883" y2="814.3203"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="730.5" x2="730.5" y1="86.4883" y2="814.3203"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="850.5" x2="850.5" y1="86.4883" y2="814.3203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="31" x="8" y="83.5352">User</text><ellipse cx="26.5" cy="13" fill="#FEFECE" filter="url(#f1)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M26.5,21 L26.5,48 M13.5,29 L39.5,29 M26.5,48 L13.5,63 M26.5,48 L39.5,63 " fill="#FEFECE" filter="url(#f1)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="31" x="8" y="826.8555">User</text><ellipse cx="26.5" cy="839.8086" fill="#FEFECE" filter="url(#f1)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M26.5,847.8086 L26.5,874.8086 M13.5,855.8086 L39.5,855.8086 M26.5,874.8086 L13.5,889.8086 M26.5,874.8086 L39.5,889.8086 " fill="#FEFECE" filter="url(#f1)" style="stroke: #A80036; stroke-width: 2.0;"/><rect fill="#FEFECE" filter="url(#f1)" height="46.9766" style="stroke: #A80036; stroke-width: 1.5;" width="142" x="96.5" y="34.5117"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="103.5" y="55.0469">Notice &amp; Comment</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="67" x="136" y="71.5352">Front End</text><rect fill="#FEFECE" filter="url(#f1)" height="46.9766" style="stroke: #A80036; stroke-width: 1.5;" width="142" x="96.5" y="813.3203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="103.5" y="833.8555">Notice &amp; Comment</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="67" x="136" y="850.3438">Front End</text><rect fill="#FEFECE" filter="url(#f1)" height="46.9766" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="267.5" y="34.5117"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="293" y="55.0469">Browser</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="88" x="278.5" y="71.5352">LocalStorage</text><rect fill="#FEFECE" filter="url(#f1)" height="46.9766" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="267.5" y="813.3203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="293" y="833.8555">Browser</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="88" x="278.5" y="850.3438">LocalStorage</text><rect fill="#FEFECE" filter="url(#f1)" height="46.9766" style="stroke: #A80036; stroke-width: 1.5;" width="142" x="479.5" y="34.5117"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="486.5" y="55.0469">Notice &amp; Comment</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="61" x="522" y="71.5352">Back End</text><rect fill="#FEFECE" filter="url(#f1)" height="46.9766" style="stroke: #A80036; stroke-width: 1.5;" width="142" x="479.5" y="813.3203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="486.5" y="833.8555">Notice &amp; Comment</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="61" x="522" y="850.3438">Back End</text><rect fill="#FEFECE" filter="url(#f1)" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="92" x="682.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="78" x="689.5" y="71.5352">Amazon S3</text><rect fill="#FEFECE" filter="url(#f1)" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="92" x="682.5" y="813.3203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="78" x="689.5" y="833.8555">Amazon S3</text><rect fill="#FEFECE" filter="url(#f1)" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="788.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="795.5" y="71.5352">regulations.gov</text><rect fill="#FEFECE" filter="url(#f1)" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="788.5" y="813.3203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="795.5" y="833.8555">regulations.gov</text><polygon fill="#A80036" points="157.5,113.4883,167.5,117.4883,157.5,121.4883,161.5,117.4883" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="26.5" x2="163.5" y1="117.4883" y2="117.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="33.5" y="113.0566">Save comment</text><polygon fill="#A80036" points="310.5,142.7988,320.5,146.7988,310.5,150.7988,314.5,146.7988" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="169.5" x2="316.5" y1="146.7988" y2="146.7988"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="176.5" y="142.3672">Save comment</text><polygon fill="#A80036" points="157.5,197.1094,167.5,201.1094,157.5,205.1094,161.5,201.1094" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="26.5" x2="163.5" y1="201.1094" y2="201.1094"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="119" x="33.5" y="196.6777">Upload attachment</text><polygon fill="#A80036" points="540.5,226.4199,550.5,230.4199,540.5,234.4199,544.5,230.4199" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="169.5" x2="546.5" y1="230.4199" y2="230.4199"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="96" x="176.5" y="225.9883">Get upload URL</text><polygon fill="#A80036" points="718.5,255.7305,728.5,259.7305,718.5,263.7305,722.5,259.7305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="552.5" x2="724.5" y1="259.7305" y2="259.7305"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="149" x="559.5" y="255.2988">Generate presigned URL</text><polygon fill="#A80036" points="563.5,285.041,553.5,289.041,563.5,293.041,559.5,289.041" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="557.5" x2="729.5" y1="289.041" y2="289.041"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="569.5" y="284.6094">(presigned_url)</text><polygon fill="#A80036" points="180.5,314.3516,170.5,318.3516,180.5,322.3516,176.5,318.3516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="174.5" x2="551.5" y1="318.3516" y2="318.3516"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="186.5" y="313.9199">(key, get_url, put_url)</text><polygon fill="#A80036" points="718.5,343.6621,728.5,347.6621,718.5,351.6621,722.5,347.6621" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="169.5" x2="724.5" y1="347.6621" y2="347.6621"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="119" x="176.5" y="343.2305">Upload attachment</text><polygon fill="#A80036" points="310.5,372.9727,320.5,376.9727,310.5,380.9727,314.5,376.9727" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="169.5" x2="316.5" y1="376.9727" y2="376.9727"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="176.5" y="372.541">Save attachment key</text><polygon fill="#A80036" points="157.5,427.2832,167.5,431.2832,157.5,435.2832,161.5,431.2832" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="26.5" x2="163.5" y1="431.2832" y2="431.2832"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="107" x="33.5" y="426.8516">Submit comment</text><polygon fill="#A80036" points="540.5,456.5938,550.5,460.5938,540.5,464.5938,544.5,460.5938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="169.5" x2="546.5" y1="460.5938" y2="460.5938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="107" x="176.5" y="456.1621">Submit comment</text><polygon fill="#A80036" points="333.5,485.9043,323.5,489.9043,333.5,493.9043,329.5,489.9043" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="327.5" x2="551.5" y1="489.9043" y2="489.9043"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="206" x="339.5" y="485.4727">Get comment + attachment keys</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="552.5" x2="594.5" y1="519.5254" y2="519.5254"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="594.5" x2="594.5" y1="519.5254" y2="532.5254"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="553.5" x2="594.5" y1="532.5254" y2="532.5254"/><polygon fill="#A80036" points="563.5,528.5254,553.5,532.5254,563.5,536.5254,559.5,532.5254" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="148" x="559.5" y="514.7832">Generate Comment PDF</text><polygon fill="#A80036" points="718.5,557.5254,728.5,561.5254,718.5,565.5254,722.5,561.5254" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="552.5" x2="724.5" y1="561.5254" y2="561.5254"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="103" x="559.5" y="557.0938">Get attachments</text><polygon fill="#A80036" points="563.5,586.8359,553.5,590.8359,563.5,594.8359,559.5,590.8359" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="557.5" x2="729.5" y1="590.8359" y2="590.8359"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="569.5" y="586.4043">(attachments)</text><polygon fill="#A80036" points="718.5,616.1465,728.5,620.1465,718.5,624.1465,722.5,620.1465" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="552.5" x2="724.5" y1="620.1465" y2="620.1465"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="149" x="559.5" y="615.7148">Generate presigned URL</text><polygon fill="#A80036" points="563.5,645.457,553.5,649.457,563.5,653.457,559.5,649.457" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="557.5" x2="729.5" y1="649.457" y2="649.457"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="569.5" y="645.0254">(presigned_url)</text><polygon fill="#A80036" points="180.5,674.7676,170.5,678.7676,180.5,682.7676,176.5,678.7676" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="174.5" x2="551.5" y1="678.7676" y2="678.7676"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="216" x="186.5" y="674.3359">(pollable link for tracking number)</text><polygon fill="#A80036" points="718.5,704.0781,728.5,708.0781,718.5,712.0781,722.5,708.0781" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="552.5" x2="724.5" y1="708.0781" y2="708.0781"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="559.5" y="703.6465">Upload Comment PDF</text><polygon fill="#A80036" points="839,733.3887,849,737.3887,839,741.3887,843,737.3887" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="552.5" x2="845" y1="737.3887" y2="737.3887"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="233" x="559.5" y="732.957">Submit Comment PDF + attachments</text><polygon fill="#A80036" points="563.5,762.6992,553.5,766.6992,563.5,770.6992,559.5,766.6992" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="557.5" x2="850" y1="766.6992" y2="766.6992"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="115" x="569.5" y="762.2676">(tracking_number)</text><polygon fill="#A80036" points="718.5,792.0098,728.5,796.0098,718.5,800.0098,722.5,796.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="552.5" x2="724.5" y1="796.0098" y2="796.0098"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="154" x="559.5" y="791.5781">Publish tracking number</text></g></svg>