Comments (9)
This feature is meant to refer to the way that CDJ is architected - when you create a beat it generates a unique URL so that you can share your beat with others without us needing to keep a database. We'd love for this to exist in SA so that ppl can share their annotations. Here is an example https://citizen-dj.labs.loc.gov/loc-variety-stage/remix/?i=2018620417&s=215737&d=mpc&p=90fA3
from loc-speculative-annotations.
I know Brian well and he's very generous if you have specific questions about this feature. The repo is here - https://github.com/LibraryOfCongress/citizen-dj
from loc-speculative-annotations.
My solution is a bit bespoke/convoluted since I tried to optimize the url size for my specific use-case. Generally speaking, I packed all the remix/sequencer edits into the url, shortening/removing parameters when possible, and only using valid URL characters to avoid long strings from character encoding.
In any case, the logic starts here:
https://github.com/LibraryOfCongress/citizen-dj/blob/master/js/remix.js#L146
Depending on how much (and what kind) of data you need to store in the URL might suggest another solution which I'm happy to discuss. This thread describes some useful strategies for dealing with unwieldy URLs.
Best,
Brian
from loc-speculative-annotations.
I also looked into libraries like this, but it didn't achieve the url length i needed, but might work for them:
https://github.com/masotime/json-url
from loc-speculative-annotations.
And this from Ben on Newspaper Navigator approach -
Hey Jaime! So all of the endpoints for NN are served from this flask file: https://github.com/LibraryOfCongress/newspaper-navigator/blob/master/news_navigator_app/flaskapp.py
You’ll see a bunch of functions like this one: route('/view', methods=['GET']) (edited)
The whole app is then served from the same persistent prefix, and Chris or John (LC developers) set up the code for the URL mapping using cloudfront
Does that help? Definitely happy to talk to Adam directly too!
from loc-speculative-annotations.
@jaimemears Thanks for sharing this. The easiest solution would be the first referenced above...packing the JSON data into the URL as a param
, but the length and/or char encoding could be an issue. I plan on spending some time on this feature over the weekend and will have some feedback for you.
from loc-speculative-annotations.
Here's a test scenario, just clarifying what the annotation JSON data looks like that we need to pass around in order to share items via a link.
Note: this is a very simple scenario and arguably much lighter than real implementations...but just to lay it out.
FabricJS JSON
This is a JSON representation of the user's annotations, which we are saving to localStorage
, and using to select and load all a user's saved annotations.
{"version":"4.0.0-rc.1","objects":[{"type":"path","version":"4.0.0-rc.1","originX":"left","originY":"top","left":102.11,"top":114.11,"width":176.68,"height":147.55,"fill":null,"stroke":"#e600dc","strokeWidth":20,"strokeDashArray":null,"strokeLineCap":"round","strokeDashOffset":0,"strokeLineJoin":"round","strokeMiterLimit":10,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","skewX":0,"skewY":0,"path":[["M",112.10675476074219,124.11363647460938],["Q",112.12675476074219,124.13363647460938,113.60407257080078,124.38578796386719],["Q",115.08139038085938,124.637939453125,129.67285919189453,126.5408935546875],["Q",144.2643280029297,128.44384765625,155.3434295654297,128.9103240966797],["Q",166.4225311279297,129.37680053710938,179.17871856689453,129.87220764160156],["Q",191.93490600585938,130.36761474609375,205.73927307128906,130.23980712890625],["Q",219.54364013671875,130.11199951171875,232.09017944335938,130.11199951171875],["Q",244.63671875,130.11199951171875,252.19613647460938,130.11199951171875],["Q",259.75555419921875,130.11199951171875,268.36541748046875,130.11199951171875],["Q",276.97528076171875,130.11199951171875,281.33123779296875,130.27633666992188],["Q",285.68719482421875,130.440673828125,287.1643981933594,130.6179656982422],["Q",288.6416015625,130.79525756835938,288.73095703125,131.10787963867188],["Q",288.8203125,131.42050170898438,288.5686950683594,132.12477111816406],["Q",288.31707763671875,132.82904052734375,286.46014404296875,134.54855346679688],["Q",284.60321044921875,136.26806640625,280.64649963378906,138.7935791015625],["Q",276.6897888183594,141.319091796875,270.4371795654297,144.73851013183594],["Q",264.1845703125,148.15792846679688,255.91943359375,152.1817169189453],["Q",247.654296875,156.20550537109375,239.2203826904297,160.2581329345703],["Q",230.78646850585938,164.31076049804688,223.93263244628906,167.53611755371094],["Q",217.07879638671875,170.761474609375,209.48748779296875,174.66256713867188],["Q",201.89617919921875,178.56365966796875,196.01742553710938,181.93670654296875],["Q",190.138671875,185.30975341796875,187.5118865966797,186.9879913330078],["Q",184.88510131835938,188.66622924804688,182.8004608154297,190.75083923339844],["Q",180.7158203125,192.83544921875,179.9318084716797,194.22262573242188],["Q",179.14779663085938,195.60980224609375,179.03955841064453,196.58416748046875],["Q",178.9313201904297,197.55853271484375,179.07373809814453,198.08058166503906],["Q",179.21615600585938,198.60263061523438,180.17774200439453,199.39454650878906],["Q",181.1393280029297,200.18646240234375,183.94271087646484,201.2647247314453],["Q",186.74609375,202.34298706054688,190.78646850585938,203.39346313476562],["Q",194.82684326171875,204.44393920898438,200.30323791503906,205.3417205810547],["Q",205.77963256835938,206.239501953125,209.7833709716797,206.88009643554688],["Q",213.787109375,207.52069091796875,219.173828125,208.5980224609375],["Q",224.560546875,209.67535400390625,228.4039764404297,210.79638671875],["Q",232.24740600585938,211.91741943359375,234.1173553466797,213.11941528320312],["Q",235.9873046875,214.3214111328125,236.56494140625,215.59239196777344],["Q",237.142578125,216.86337280273438,235.68832397460938,220.28077697753906],["Q",234.23406982421875,223.69818115234375,223.52850341796875,231.32589721679688],["Q",212.82293701171875,238.95361328125,198.29363250732422,245.5918426513672],["Q",183.7643280029297,252.23007202148438,175.92285919189453,254.94845581054688],["Q",168.08139038085938,257.6668395996094,162.64258575439453,260.06358337402344],["Q",157.2037811279297,262.4603271484375,154.13069915771484,264.3042297363281],["Q",151.0576171875,266.14813232421875,149.6827850341797,267.27294921875],["Q",148.30795288085938,268.39776611328125,148.2623748779297,268.7627258300781],["Q",148.216796875,269.127685546875,148.5294647216797,269.26165771484375],["Q",148.84213256835938,269.3956298828125,150.41016387939453,269.75750732421875],["Q",151.9781951904297,270.119384765625,155.39502716064453,270.574951171875],["Q",158.81185913085938,271.030517578125,163.05030059814453,271.3565368652344],["Q",167.2887420654297,271.68255615234375,171.64453887939453,271.6003723144531],["Q",176.00033569335938,271.5181884765625,178.74887084960938,271.5886535644531],["Q",181.49740600585938,271.65911865234375,182.60678100585938,271.65911865234375],["L",183.73615600585939,271.65911865234375]]},{"type":"textbox","version":"4.0.0-rc.1","originX":"left","originY":"top","left":217.18,"top":310.25,"width":216.67,"height":56.5,"fill":"rgb(0,0,0)","stroke":null,"strokeWidth":1,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":1.85,"scaleY":1.85,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","skewX":0,"skewY":0,"text":"Something","fontSize":50,"fontWeight":"normal","fontFamily":"xanhMono","fontStyle":"normal","lineHeight":1.16,"underline":false,"overline":false,"linethrough":false,"textAlign":"left","textBackgroundColor":"","charSpacing":0,"minWidth":20,"splitByGrapheme":false,"styles":{}},{"type":"path","version":"4.0.0-rc.1","originX":"left","originY":"top","left":-18.4,"top":271.84,"width":589.83,"height":326,"fill":null,"stroke":"#e4e600","strokeWidth":9,"strokeDashArray":null,"strokeLineCap":"round","strokeDashOffset":0,"strokeLineJoin":"round","strokeMiterLimit":10,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","skewX":0,"skewY":0,"path":[["M",119.1662265625,468.35379296875],["Q",119.1572265625,468.36279296875,117.61100769042969,469.8446044921875],["Q",116.06478881835938,471.326416015625,112.77735137939453,474.28509521484375],["Q",109.48991394042969,477.2437744140625,105.05452728271484,481.7735900878906],["Q",100.619140625,486.30340576171875,96.7216796875,491.5316467285156],["Q",92.82421875,496.7598876953125,89.94319915771484,502.15008544921875],["Q",87.06217956542969,507.540283203125,85.35645294189453,512.8372192382812],["Q",83.65072631835938,518.1341552734375,83.37191772460938,524.1749267578125],["Q",83.09310913085938,530.2156982421875,83.92269897460938,536.1153869628906],["Q",84.75228881835938,542.0150756835938,87.33350372314453,547.3616638183594],["Q",89.91471862792969,552.708251953125,94.28255462646484,556.9832763671875],["Q",98.650390625,561.25830078125,103.36344909667969,563.8370971679688],["Q",108.07650756835938,566.4158935546875,115.91797637939453,569.2388305664062],["Q",123.75944519042969,572.061767578125,132.4371795654297,573.6687622070312],["Q",141.1149139404297,575.2757568359375,154.7096405029297,575.6569213867188],["Q",168.3043670654297,576.0380859375,186.82129669189453,574.5914306640625],["Q",205.33822631835938,573.144775390625,220.0592498779297,570.9103698730469],["Q",234.7802734375,568.6759643554688,256.0660858154297,564.5113220214844],["Q",277.3518981933594,560.3466796875,298.1277770996094,556.2221069335938],["Q",318.9036560058594,552.0975341796875,336.36720275878906,548.2640380859375],["Q",353.83074951171875,544.4305419921875,363.09539794921875,542.0040893554688],["Q",372.36004638671875,539.57763671875,381.68719482421875,537.0237731933594],["Q",391.01434326171875,534.4699096679688,395.6150817871094,532.9363403320312],["Q",400.2158203125,531.4027709960938,400.8035583496094,531.1088562011719],["Q",401.39129638671875,530.81494140625,400.86476135253906,531.0542907714844],["Q",400.3382263183594,531.2936401367188,396.6106872558594,532.5626525878906],["Q",392.8831481933594,533.8316650390625,384.12062072753906,537.1175842285156],["Q",375.35809326171875,540.4035034179688,366.1419372558594,543.5125427246094],["Q",356.92578125,546.62158203125,348.2257537841797,549.4490966796875],["Q",339.5257263183594,552.276611328125,326.28321838378906,557.0336303710938],["Q",313.04071044921875,561.7906494140625,302.08595275878906,566.4855041503906],["Q",291.1311950683594,571.1803588867188,284.6180114746094,575.3529357910156],["Q",278.1048278808594,579.5255126953125,275.17042541503906,582.622802734375],["Q",272.23602294921875,585.7200927734375,271.4744567871094,587.4336547851562],["Q",270.712890625,589.147216796875,270.712890625,591.1693115234375],["Q",270.712890625,593.19140625,271.5379333496094,594.841552734375],["Q",272.36297607421875,596.49169921875,274.80714416503906,598.14501953125],["Q",277.2513122558594,599.79833984375,281.52491760253906,600.9489135742188],["Q",285.79852294921875,602.0994873046875,290.5696716308594,602.2698974609375],["Q",295.3408203125,602.4403076171875,305.9363708496094,600.8279418945312],["Q",316.53192138671875,599.215576171875,330.10890197753906,594.6899108886719],["Q",343.6858825683594,590.1642456054688,358.53273010253906,583.3537902832031],["Q",373.37957763671875,576.5433349609375,382.26515197753906,571.7068481445312],["Q",391.1507263183594,566.870361328125,400.4806365966797,560.805908203125],["Q",409.810546875,554.741455078125,414.8219451904297,550.2119750976562],["Q",419.8333435058594,545.6824951171875,421.4612731933594,542.9444885253906],["Q",423.0892028808594,540.2064819335938,422.90187072753906,538.4567565917969],["Q",422.71453857421875,536.70703125,421.24530029296875,535.0375671386719],["Q",419.77606201171875,533.3681030273438,413.32814025878906,530.5348815917969],["Q",406.8802185058594,527.70166015625,392.0823669433594,524.2664489746094],["Q",377.2845153808594,520.8312377929688,349.7179412841797,517.1903686523438],["Q",322.1513671875,513.5494995117188,285.54248046875,510.0256652832031],["Q",248.93359375,506.5018310546875,221.8505859375,504.9591369628906],["Q",194.767578125,503.41644287109375,158.15869140625,500.47991943359375],["Q",121.5498046875,497.54339599609375,91.6904296875,494.1257629394531],["Q",61.8310546875,490.7081298828125,41.66943359375,487.5484619140625],["Q",21.5078125,484.3887939453125,12.698894500732422,481.6700439453125],["Q",3.8899765014648438,478.9512939453125,-2.430500030517578,475.39599609375],["Q",-8.7509765625,471.8406982421875,-11.1064453125,468.8569641113281],["Q",-13.4619140625,465.87322998046875,-13.745929718017578,463.0339660644531],["Q",-14.029945373535156,460.1947021484375,-12.739093780517578,457.0057373046875],["Q",-11.4482421875,453.8167724609375,-5.424152374267578,446.5876770019531],["Q",0.5999374389648438,439.35858154296875,13.577312469482422,427.5097961425781],["Q",26.5546875,415.6610107421875,42.82666015625,401.69158935546875],["Q",59.0986328125,387.72216796875,76.22396087646484,373.7105712890625],["Q",93.34928894042969,359.698974609375,102.92985534667969,352.1800537109375],["Q",112.51042175292969,344.6611328125,123.05078887939453,336.755859375],["Q",133.59115600585938,328.8505859375,141.2013397216797,323.1153259277344],["Q",148.8115234375,317.38006591796875,153.55126953125,313.56976318359375],["Q",158.291015625,309.75946044921875,160.24935150146484,307.9410400390625],["Q",162.2076873779297,306.12261962890625,163.49512481689453,304.6419677734375],["Q",164.78256225585938,303.16131591796875,165.01986694335938,302.68670654296875],["Q",165.25717163085938,302.21209716796875,163.1051483154297,301.7993469238281],["Q",160.953125,301.3865966796875,154.20703125,301.3865966796875],["Q",147.4609375,301.3865966796875,137.10042572021484,301.9558563232422],["Q",126.73991394042969,302.5251159667969,114.61247253417969,303.85911560058594],["Q",102.48503112792969,305.193115234375,92.76155853271484,306.7578125],["Q",83.0380859375,308.322509765625,69.69743347167969,311.4988250732422],["Q",56.356781005859375,314.6751403808594,46.68392562866211,317.5995330810547],["Q",37.011070251464844,320.52392578125,32.665855407714844,322.5687255859375],["Q",28.320640563964844,324.613525390625,27.893558502197266,324.9457244873047],["Q",27.466476440429688,325.2779235839844,28.103195190429688,325.4738464355469],["Q",28.739913940429688,325.6697692871094,33.229007720947266,325.6697692871094],["Q",37.718101501464844,325.6697692871094,49.006839752197266,324.8466491699219],["Q",60.29557800292969,324.0235290527344,85.57015228271484,320.6979217529297],["Q",110.8447265625,317.372314453125,143.98046875,312.66552734375],["Q",177.1162109375,307.958740234375,198.30062866210938,304.58154296875],["Q",219.48504638671875,301.204345703125,248.83790588378906,296.19287109375],["Q",278.1907653808594,291.181396484375,302.1556091308594,287.45713806152344],["Q",326.1204528808594,283.7328796386719,338.75294494628906,281.8751983642578],["Q",351.38543701171875,280.01751708984375,365.60890197753906,278.59515380859375],["Q",379.8323669433594,277.17279052734375,387.91700744628906,276.75819396972656],["Q",396.00164794921875,276.3435974121094,399.18360900878906,276.3435974121094],["Q",402.3655700683594,276.3435974121094,402.4088592529297,276.6034393310547],["Q",402.4521484375,276.86328125,401.3873748779297,277.4797821044922],["Q",400.3226013183594,278.0962829589844,396.39894104003906,279.21730041503906],["Q",392.47528076171875,280.33831787109375,386.94842529296875,281.42559814453125],["Q",381.42156982421875,282.51287841796875,367.9539489746094,284.54571533203125],["Q",354.486328125,286.57855224609375,337.6471405029297,288.80519104003906],["Q",320.8079528808594,291.0318298339844,303.71339416503906,293.83424377441406],["Q",286.61883544921875,296.63665771484375,272.2376403808594,299.5128936767578],["Q",257.8564453125,302.3891296386719,250.919921875,303.85459899902344],["Q",243.9833984375,305.320068359375,238.5966796875,306.666748046875],["Q",233.2099609375,308.013427734375,231.7916717529297,308.4861755371094],["Q",230.37338256835938,308.95892333984375,230.64942932128906,309.31695556640625],["Q",230.92547607421875,309.67498779296875,233.49237060546875,310.16058349609375],["Q",236.05926513671875,310.64617919921875,245.89454650878906,311.20501708984375],["Q",255.72982788085938,311.76385498046875,271.6822967529297,312.30462646484375],["Q",287.634765625,312.84539794921875,300.6005859375,313.21937561035156],["Q",313.56640625,313.5933532714844,329.775390625,313.8657684326172],["Q",345.984375,314.13818359375,356.6949920654297,314.9443359375],["Q",367.4056091308594,315.75048828125,373.72853088378906,316.3167419433594],["Q",380.05145263671875,316.88299560546875,382.36866760253906,317.49635314941406],["Q",384.6858825683594,318.1097106933594,384.9676208496094,318.5324401855469],["Q",385.2493591308594,318.9551696777344,384.79298400878906,320.21009826660156],["Q",384.33660888671875,321.46502685546875,380.96925354003906,324.74818420410156],["Q",377.6018981933594,328.0313415527344,366.9298553466797,333.9737243652344],["Q",356.2578125,339.9161071777344,336.5144958496094,348.7080535888672],["Q",316.77117919921875,357.5,299.05877685546875,364.8191833496094],["Q",281.34637451171875,372.13836669921875,252.87664794921875,384.91326904296875],["Q",224.40692138671875,397.68817138671875,196.40902709960938,412.7922668457031],["Q",168.4111328125,427.8963623046875,154.9645233154297,437.5010986328125],["Q",141.51791381835938,447.1058349609375,130.62110137939453,459.22845458984375],["Q",119.72428894042969,471.35107421875,115.92383575439453,481.4859313964844],["Q",112.12338256835938,491.62078857421875,112.01612091064453,500.40570068359375],["Q",111.90885925292969,509.19061279296875,114.54476165771484,517.3091125488281],["Q",117.1806640625,525.4276123046875,121.15771484375,531.1507568359375],["Q",125.134765625,536.8739013671875,133.92952728271484,545.54638671875],["Q",142.7242889404297,554.2188720703125,154.49105072021484,562.3650512695312],["Q",166.2578125,570.51123046875,179.8663787841797,577.1174011230469],["Q",193.47494506835938,583.7235717773438,208.34815979003906,587.5746765136719],["Q",223.22137451171875,591.42578125,235.55844116210938,592.7693786621094],["Q",247.8955078125,594.1129760742188,269.48974609375,594.8842163085938],["Q",291.083984375,595.6554565429688,317.181640625,595.4870910644531],["Q",343.279296875,595.3187255859375,370.3624725341797,594.461669921875],["Q",397.4456481933594,593.6046142578125,423.54331970214844,591.9208984375],["Q",449.6409912109375,590.2371826171875,466.3628234863281,589.5462036132812],["Q",483.08465576171875,588.855224609375,503.9095153808594,588.2471923828125],["Q",524.734375,587.63916015625,538.3291015625,587.00390625],["Q",551.923828125,586.36865234375,557.5413513183594,585.9156188964844],["Q",563.1588745117188,585.4625854492188,567.6479797363281,585.0469360351562],["Q",572.1370849609375,584.6312866210938,573.7959289550781,584.4469909667969],["Q",575.4547729492188,584.2626953125,573.0304565429688,584.2193603515625],["Q",570.6061401367188,584.176025390625,563.7189331054688,584.467041015625],["Q",556.8317260742188,584.758056640625,548.2218627929688,585.3958435058594],["Q",539.6119995117188,586.0336303710938,528.9013977050781,586.0336303710938],["Q",518.1907958984375,586.0336303710938,509.5809326171875,586.0336303710938],["Q",500.9710693359375,586.0336303710938,496.3408508300781,586.2019653320312],["Q",491.71063232421875,586.3703002929688,489.14373779296875,586.3703002929688],["Q",486.57684326171875,586.3703002929688,485.6025695800781,586.2079467773438],["Q",484.6282958984375,586.0455932617188,484.4980773925781,585.7853393554688],["Q",484.36785888671875,585.5250854492188,484.60516357421875,585.0504760742188],["Q",484.84246826171875,584.5758666992188,486.6645812988281,583.0912170410156],["Q",488.4866943359375,581.6065673828125,492.4510498046875,578.6764221191406],["Q",496.4154052734375,575.7462768554688,501.2088623046875,572.2433471679688],["Q",506.0023193359375,568.7404174804688,512.3120422363281,564.1607971191406],["Q",518.6217651367188,559.5811767578125,525.9602966308594,553.7760314941406],["Q",533.298828125,547.9708862304688,540.36767578125,542.0983276367188],["Q",547.4365234375,536.2257690429688,551.2283630371094,533.0371398925781],["Q",555.0202026367188,529.8485107421875,559.3693237304688,526.2242736816406],["Q",563.7184448242188,522.6000366210938,567.0014953613281,520.2778930664062],["Q",570.2845458984375,517.9557495117188,572.4350891113281,516.4988708496094],["Q",574.5856323242188,515.0419921875,575.2545776367188,514.63037109375],["L",575.9325229492188,514.20975]]}]}
json-url compressed
This is a compressed version of the FabricJS JSON, using the recommended json-url package. It's using lzma
compression algorithm, which seemed to compress the most, resulting in 1804 characters.
The idea here would be to compress the user's annotations JSON, and include it as a query parameter in a url a user could share. So it'd look something like: https://loc.sa.something.org?canvasData=[VALUE BELOW GOES HERE]
XQAAAAIKCQAAAAAAAABBKcrGU8hqLFnqZuoRloe2ifFZ9nH7RDdtEytgo4g8REywSf-CyF0qlGy2tzDAMFS0M2B3aX4_jVEEPs95wHTzW5ot4kcSZTA_fNV7sainYeaGZWkUKbrkNFxKKzD-S6poK0fe-K3crvgDa7eABnAvOQksSX5cZHZOph5eJk8rMPkEKMPiRHk4ioAXhGqOZ3_Thg-6UdaOC8i5TZOBw7J70_ft7AOwVddSst-r-nALM_vri3LnRdbwR-DV4olpBI1sYhhu8G__bZQQ2DH057Q5YKkuE2oTMry0JtV-vLBtBp641BD3DLMVPfHxsWcRGIrXxCNuifzEqOyKGyO03UPW7uNZSLrIc9rlfkU9UBQ2zR9vHSexA2UxZOZKCyUpHrsQsRcmuHl8h0KeKaG9WauAEn-sX6OoPs98WYVo-YLbZWhXzs8dmUmItJIRblHX8V2SduxzlDseOppYsoUgr8gJgqviNWpPMT8PcMLTHccN6GXYWqg78cMVAiYX2AkI46RH5HVLm3dWobtxowymSBtm-02EIAHkYNyECrqzK4BqGpHiRUVYGRcqbdTGEy8YT16xhjRr1ZyQ7n6z-FrL112x-5WFnErIy16pdBbQ1Kk2TgD9Aw3NKky4BCWOIP9GcPNKoaQgsF4U-swS6UbEAJHlQ1crHJwmQqbzyTAb--mBf4BI3vIJp4DiXJcZtHuh8R0E6ZyRb0FPUdh6WwOoOBjJdcT5_ATyguO-Bdr-JhNju0nC3tlj-HDMnGXIVfQRMkL5akF3oVenv7yux99my6APgB0nTpibBymMahf1n4kne7A_gsYMRPnfcduo9cq6JGFLfecqyDCZtyY039tK1tqv2w6xMLDu_ZQLrUxTVeS25OiU8pZfl0nQwRwMoiV9Z4R8moq3Emb4Utr7T3iXh6IDiCzww3YVz8QsHdQfT2kQ6pup1SlVkdEuDZ6U8yCmzd7WZpx0a7pWyYsuwYz61xo7q2JNuxv13FXxNa5lG6AKONxhIKt2bx7mW9uH7Z989jWG_npisO3o47_NkoVnU9aN9umelK2LVIQ7nDSnbkqW8nEyE8r2QruM-GAuRysLVD4Ab8RiRftIMxj3WiMlPtGK19qlzq8pmRM8-T2UiBi4b8XBJzAqzxkjPKCt7TfdTBrlk1nDujzOLcwRtAO15HIm-LYgNJ8TVOmIroLciklF3l3LuUx5Sc2b3CJksr4LrNWli3ulbgkBrUAeUbMJJmRLDGYtUE-kx8Tnz9PgNTYlhOwsc8u6FLj2Q7kcQJzWyDcpS7KxJds2AthMbaZsViBk9DiIoJ09ABdRlj21u96HgE9ldZntXFtihzetSIAIuT3nZpnxHXkznC8NsueUrW3iD1k9O_4EaAySu1qeTipSVRbtdFBkCiQmR-Jc6ZiKmQrIGLfb8hoHIlgfJ4XGRzyzo0aERH6SiZHzVjmuZjBNnOYdney0pIRj4v9K2l5US1LWwLkfv3HO4DzoOhx-ehIGzUR2NXT7cGaghiDF9PEAL2ksrppeijVJ6xjcFwhNTwkyAdNlKMVdh_KkKVVsuGUlIxK4cCzsRJCLzUWFmI44iVA9Hi2Eczs2xBpz_iwoRbZSaD-3ksTz_dm9n_6qZJo96nQSb7dVdQnyYxEP8xowtXr-BnvUZxTha9BrxQui6xoJqRFyWQT1i34bHv8O2sh955kwUH3zBVP1k0dd4e0o0UvvQZndtaUQvNGFuoCkaeSxZbOeSIO418J7Yge_YB_1ZnqWHdBMxPZR5bYqAqKgRNK8OHbtI1v-gBKF
The 2 questions would be:
- Is the query string value too long? Here's some quick info regarding limits...can dig into this more and test: https://stackoverflow.com/questions/812925/what-is-the-maximum-possible-length-of-a-query-string#:~:text=Although%20officially%20there%20is%20no,a%20max%20of%202048%20characters.
- Is sharing a url this long practical? If someone shared this on their phone, or in an email, it's pretty huge.
from loc-speculative-annotations.
Just merged a first draft of this into the live app. Seems to work ok thus far, but should stress test with a bunch of annotations and see at what point it falls down.
@jaimemears @CourtneyMcClellan You can test this out by creating a shared link URL, then pasting it into another browser tab/window.
from loc-speculative-annotations.
Closing for prototype phase
from loc-speculative-annotations.
Related Issues (20)
- "Placeholder for generic collection" language in metadata panle HOT 3
- update Hurston Curator Annotation HOT 1
- remove red from color palette
- update Brown v Board Curator Annotation HOT 1
- Mink letter UID update: Item 2011660380 to be replaced with mm2003084957 HOT 1
- Update About to include open source description HOT 2
- Metadata updates to Mink and Milhous HOT 4
- update 2 curator annotations HOT 1
- remove red curator color from color palette
- update Brown v Board curator annotation HOT 13
- updated about page with PR
- Update ask a librarian link for sn83045462-19571104 HOT 2
- replace default homepage item HOT 1
- replace Pecan Sheller curator annotation HOT 1
- move 48038600 to the opening page (making it item 1) HOT 1
- update Brown v Board annotation HOT 1
- add Lincoln curator annotation mal.0773800 HOT 1
- Remove item 2018677694 from application HOT 1
- Remove item numbers from teach page HOT 1
- Inconsistent package metadata
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from loc-speculative-annotations.