CINXE.COM
OSF | Making Preservation Hardware Platform Choices Wiki
<!DOCTYPE html> <html lang="en"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://osf.io/6enzv/wiki/home/","20241203214656","https://web.archive.org/","web","/_static/", "1733262416"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="utf-8"> <title>OSF | Making Preservation Hardware Platform Choices Wiki</title> <meta name="google-site-verification" content="8KhqrnI0nmzqKiY5MnbCsC8JV4aY5GNqOgJyQAw5lpA"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content=" "> <meta http-equiv="X-UA-Compatible" content="IE=edge"><script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"704513e63b","applicationID":"20305529","transactionName":"ZVcAZEdWWUsDBRYIDlwdJEVbVENRDQhNFgRQQQtEUBlBUQcREVsTV0ENXENSaF8XDwY=","queueTime":0,"applicationTime":289,"agent":""}; (window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"704513e63b",applicationID:"20305529"};;/*! For license information please see nr-loader-rum-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>g,gD:()=>h,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function g(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function h(e,t){if(!e)throw new Error(f);var r=g(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,xv:()=>n});const n="1.274.0",i="PROD",o="CDN"},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>c,RI:()=>i,WN:()=>d,bv:()=>o,gm:()=>a,mw:()=>s,sb:()=>u});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=c&&"undefined"==typeof SharedWorker,d=((()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)())},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),g(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return g(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),g(e,t)})))}function g(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=g(n),c=h(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=m()[s[e]];p&&p.push([f,e,r,a]);return a},get:v,listeners:h,context:g,buffer:function(e,t){const r=m();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!m()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=h(e).concat(t)}function h(e){return n[e]||[]}function v(t){return d[t]=d[t]||e(f,t)}function m(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},3434:(e,t,r)=>{"use strict";r.d(t,{YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log";n.K7.logging},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{G4:()=>i});var n=r(2614);r(860).K7.sessionReplay;const i={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"};n.g.ERROR,n.g.FULL,n.g.OFF},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7603:(e,t,r)=>{"use strict";r.d(t,{j:()=>P});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),g=r(384),p=r(6344);const h=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],v=["setErrorHandler","finished","addToTrace","addRelease"];var m=r(1863),b=r(2614),y=r(993);var w=r(2646),A=r(3434);function R(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,A.YM)(i),a=new w.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function E(){const e=(0,g.pV)();h.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const x={};function _(e,t,g=!1){t||(0,c.Ak)(e,"api");const h={};var w=s.ee.get(e),A=w.get("tracer");x[e]=b.g.OFF,w.on(p.G4.REPLAY_RUNNING,(t=>{x[e]=t}));var E="api-",_=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),j(E,n,!0,o||null===r?"session":void 0)(t,r)}function T(){}h.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,w),function(e,t,r={},i=y.p_.INFO){(0,a.p)(f.xV,["API/logging/".concat(i.toLowerCase(),"/called")],void 0,n.K7.metrics,e),(0,a.p)(y.ET,[(0,m.t)(),t,r,i],void 0,n.K7.logging,e)}(w,e,t,r)},h.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,w),R(w,e,t,{customAttributes:r,level:i})},v.forEach((e=>{h[e]=j(E,e,!0,"api")})),h.addPageAction=j(E,"addPageAction",!0,n.K7.genericEvents),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"https://web.archive.org/web/20241203214656/http://custom.transaction")+t,j(E,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},h.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},h.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},h.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,w),w.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},h[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,w)},h[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,w)},h.interaction=function(e){return(new T).get("object"==typeof e?e:{})};const S=T.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,w),g||(0,a.p)(_+"tracer",[(0,m.t)(),e,r],i,n.K7.spa,w),function(){if(A.emit((o?"":"no-")+"fn-start",[(0,m.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw A.emit("fn-err",[arguments,this,t],r),t}finally{A.emit("fn-end",[(0,m.t)()],r)}}}};function j(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,w),i&&(0,a.p)(e+t,[(0,m.t)(),...arguments],r?null:this,i,w),r?void 0:this}}function k(){r.e(296).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),w.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{S[e]=j(_,e,void 0,g?n.K7.softNav:n.K7.spa)})),h.setCurrentRouteName=g?j(_,"routeName",void 0,n.K7.softNav):j(E,"routeName",!0,n.K7.spa),h.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,w),(0,a.p)("err",[t,(0,m.t)(),!1,r,!!x[e]],void 0,n.K7.jserrors,w)},d.RI?(0,u.GG)((()=>k()),!0):k(),h}var N=r(9417),T=r(8122);const S={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},j={};var k=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let O=!1;function P(e,t={},r,n){let{init:a,info:c,loader_config:u,runtime:l={},exposed:f=!0}=t;l.loaderType=r;const p=(0,g.pV)();c||(a=p.init,c=p.info,u=p.loader_config),(0,N.xN)(e.agentIdentifier,a||{}),function(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");j[e]=(0,T.a)(t,S);const r=(0,g.nY)(e);r&&(r.loader_config=j[e])}(e.agentIdentifier,u||{}),c.jsAttributes??={},d.bv&&(c.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,c);const h=(0,N.D0)(e.agentIdentifier),v=[c.beacon,c.errorBeacon];O||(h.proxy.assets&&(I(h.proxy.assets),v.push(h.proxy.assets)),h.proxy.beacon&&v.push(h.proxy.beacon),E(),(0,g.US)("activatedFeatures",k.B),e.runSoftNavOverSpa&&=!0===h.soft_navigations.enabled&&h.feature_flags.includes("soft_nav")),l.denyList=[...h.ajax.deny_list||[],...h.ajax.block_internal?v:[]],l.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,l),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=_(e.agentIdentifier,n,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=f),O=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>"nr-rum-1.274.0.min.js",i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={296:"sha512-gkYkZDAwQ9PwaDXs2YM+rNIdRej1Ac1mupWobRJ8eahQcXz6/sunGZCKklrzi5kWxhOGRZr2tn0rEKuLTXzfAA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var g=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(g.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=g.bind(null,s.onerror),s.onload=g.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://web.archive.org/web/20241203214656/https://js-agent.newrelic.com/",(()=>{var e={840:0,374:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(7603);var l=i(1687),f=i(4234),g=i(5289),p=i(6154),h=i(384);const v=e=>p.RI&&!0===(0,s.gD)(e,"privacy.cookies_enabled");function m(e){return!!(0,h.dV)().o.MO&&v(e)&&!0===(0,s.gD)(e,"session_trace.enabled")}var b=i(6389);class y extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,b.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if(v(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(296).then(i.bind(i,3861));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(296).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(296).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,g.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return m(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var w=i(6630);class A extends y{static featureName=w.T;constructor(e,t=!0){super(e,w.T,t),this.importAggregator(e)}}var R=i(9908),E=i(2843),x=i(3878),_=i(782),N=i(1863);class T extends y{static featureName=_.T;constructor(e,t=!0){super(e,_.T,t),p.RI&&((0,E.u)((()=>(0,R.p)("docHidden",[(0,N.t)()],void 0,_.T,this.ee)),!0),(0,x.sp)("pagehide",(()=>(0,R.p)("winPagehide",[(0,N.t)()],void 0,_.T,this.ee))),this.importAggregator(e))}}var S=i(3969);class j extends y{static featureName=S.TZ;constructor(e,t=!0){super(e,S.TZ,t),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,h.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(A),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,h.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[A,T,j],loaderType:"lite"})})()})();</script> <meta name="fragment" content="!"> <script src="/web/20241203214656js_/https://osf.io/static/vendor/bower_components/raven-js/dist/raven.min.js"></script> <script> Raven.config("https://web.archive.org/web/20241203214656/https://f4edd7edde06481584e276d05d80b0bc@sentry2-client.cos.io/9", {}).install(); </script> <!-- Metadata tags--> <meta name="dc.title" content=" Making Preservation Hardware Platform Choices "/> <meta name="dc.type" content="collection"/> <meta name="citation_title" content=" Making Preservation Hardware Platform Choices "/> <meta name="citation_doi" content=" None"/> <meta name="dc.identifier" content=" None"/> <meta name="dc.identifier" content=" None"/> <meta name="citation_publisher" content="OSF"/> <meta name="dc.abstract" content=" Hosted on the Open Science Framework "/> <meta name="dc.license" content=" "/> <meta name="dc.datemodified" content=" 2018-02-15 "/> <meta name="dc.datesubmitted" content=" 2018-02-15 "/> <meta name="dc.publisher" content="OSF"/> <meta name="dc.language" content="en"/> <meta name="dc.identifier" content=" https://osf.io/6enzv/ "/> <meta name="citation_description" content=" Hosted on the Open Science Framework "/> <meta name="citation_public_url" content=" https://osf.io/6enzv/ "/> <meta name="citation_publication_date" content=" 2018-02-15 "/> <!-- Facebook display --> <meta property="og:ttl" content="3"/> <meta property="og:site_name" content="OSF"/> <meta property="og:url" content="https://web.archive.org/web/20241203214656/https://osf.io/6enzv/"/> <meta property="og:title" content=" Making Preservation Hardware Platform Choices "/> <meta property="og:description" content=" Hosted on the Open Science Framework "/> <meta property="og:image" content="https://web.archive.org/web/20241203214656im_/https://osf.io/static/img/osf-sharing.png"/> <meta property="og:image:type" content="image/png"/> <meta property="og:image:width" content="1200"/> <meta property="og:image:height" content="630"/> <meta property="og:image:alt" content="OSF"/> <meta name="citation_keywords" content="code4lib2018"/> <meta name="dc.subject" content="code4lib2018"/> <meta name="citation_keywords" content="poster"/> <meta name="dc.subject" content="poster"/> <meta name="citation_keywords" content="Uncategorized"/> <meta name="dc.subject" content="Uncategorized"/> <!-- Twitter display --> <meta name="twitter:card" content="summary"> <meta name="twitter:site" content="@OSFramework"> <meta name="twitter:creator" content="@OSFramework"> <!-- Google Dataset --> <script type="application/ld+json"> { "@context": "https://web.archive.org/web/20241203214656/https://schema.org", "@type": "Dataset", "creator": [ { "@type": "Person", "name": "Sheila Morrissey" } ], "dateCreated": "2018-02-15", "dateModified": "2018-02-15", "description": "No description was included in this Dataset collected from the OSF", "identifier": [ "https://web.archive.org/web/20241203214656/https://osf.io/6enzv" ], "keywords": [ "code4lib2018", "poster" ], "license": [], "name": "Making Preservation Hardware Platform Choices", "publisher": { "@type": "Organization", "name": "Center For Open Science" }, "url": "https://web.archive.org/web/20241203214656/https://osf.io/6enzv" } </script> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/es5-shim/4.0.3/es5-shim.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/es5-shim/4.0.3/es5-sham.min.js"></script> <![endif]--> <script src="https://web.archive.org/web/20241203214656js_/https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.35.0/es6-shim.min.js"></script> <link rel="stylesheet" href="https://web.archive.org/web/20241203214656cs_/https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="" crossorigin="anonymous"> <script src="https://web.archive.org/web/20241203214656js_/https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script>window.jQuery || document.write('<script src="https://web.archive.org/web/20241203214656/https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">\x3C/script>')</script> <script src="https://web.archive.org/web/20241203214656js_/https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> <script>window.jQuery.ui || document.write('<script src="https://web.archive.org/web/20241203214656/https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js">\x3C/script>')</script> <script src="/web/20241203214656js_/https://osf.io/static/public/js/vendor.f19bdc72705925caa209.js"></script> <link rel="stylesheet" href="/web/20241203214656cs_/https://osf.io/static/css/pages/wiki-page.css"> <script src="/web/20241203214656js_/https://osf.io/static/public/js/base-page.468963c2adc0f5061fa1.js"></script> <link href="https://web.archive.org/web/20241203214656cs_/https://fonts.googleapis.com/css?family=Open+Sans:400,600,300" rel="stylesheet" type="text/css"> </head> <body data-spy="scroll" data-target=".scrollspy"> <link rel="stylesheet" href="/web/20241203214656cs_/https://osf.io/static/css/nav.css"> <div class="osf-nav-wrapper" role="navigation"> <nav class="navbar navbar-inverse navbar-fixed-top" id="navbarScope"> <div class="container"> <div class="navbar-header"> <a class="navbar-brand" href="/web/20241203214656/https://osf.io/" aria-label="Go home"><span class="osf-navbar-logo"></span></a> <div class="service-name"> <a href="https://web.archive.org/web/20241203214656/https://osf.io/"> <span class="hidden-xs"> OSF </span> <span class="current-service"><strong>HOME</strong></span> </a> </div> <div class="dropdown primary-nav"> <button data-bind="click: trackClick.bind($data, 'Dropdown Arrow')" class="dropdown-toggle btn-link" data-toggle="dropdown" aria-expanded="false" aria-label="Toggle primary navigation"> <span class="fa fa-caret-down fa-2x"></span> </button> <ul class="dropdown-menu service-dropdown" role="menu"> <li><a data-bind="click: trackClick.bind($data, 'Home')" href="https://web.archive.org/web/20241203214656/https://osf.io/">OSF<b>HOME</b></a></li> <li><a data-bind="click: trackClick.bind($data, 'Preprints')" href="https://web.archive.org/web/20241203214656/https://osf.io/preprints/">OSF<b>PREPRINTS</b></a></li> <li><a data-bind="click: trackClick.bind($data, 'Registries')" href="https://web.archive.org/web/20241203214656/https://osf.io/registries/">OSF<b>REGISTRIES</b></a></li> <li><a data-bind="click: trackClick.bind($data, 'Meetings')" href="https://web.archive.org/web/20241203214656/https://osf.io/meetings/">OSF<b>MEETINGS</b></a></li> <li><a data-bind="click: trackClick.bind($data, 'Institutions')" href="https://web.archive.org/web/20241203214656/https://osf.io/institutions/">OSF<b>INSTITUTIONS</b></a></li> </ul> </div> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#secondary-navigation" aria-label="Toggle secondary navigation" }}> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <div id="navbar" class="navbar-collapse collapse navbar-right"> <ul class="nav navbar-nav"></ul> </div><!--/.navbar-collapse --> <div class="navbar-collapse collapse navbar-right" id="secondary-navigation"> <ul class="nav navbar-nav"> <li><a id="navbar-search" data-bind="click: trackClick.bind($data, 'Search')" href="https://web.archive.org/web/20241203214656/https://osf.io/search/">Search</a></li> <li class="dropdown"> <a id="navbar-support" data-bind="click: trackClick.bind($data, 'HOME Support')" href="https://web.archive.org/web/20241203214656/https://help.osf.io/">Support</a> </li> <li class="navbar-donate-button"><a id="navbar-donate" data-bind="click: trackClick.bind($data, 'Donate')" href="https://web.archive.org/web/20241203214656/https://cos.io/donate">Donate</a></li> <li class="dropdown sign-in"> <div class="col-sm-12"> <a data-bind="click: trackClick.bind($data, 'SignUp')" href="https://web.archive.org/web/20241203214656/https://osf.io/register/?next=https://osf.io/6enzv/wiki/home/" class="btn btn-success btn-top-signup m-r-xs">Sign Up</a> <a data-bind="click: trackClick.bind($data, 'SignIn')" href="https://web.archive.org/web/20241203214656/https://accounts.osf.io/login?service=https%3A%2F%2Fosf.io%2F6enzv%2Fwiki%2Fhome%2F" class="btn btn-info btn-top-login p-sm">Sign In</a> </div> </li> </ul> </div> </div> </nav> <div class="container-fluid"> <div class="row"> <div class="col"> </div> </div> </div> </div> <div class="watermarked" role="main"> <div class="container container-xxl"> <h1 style="display: none;">Main content</h1> <div id="projectBanner"> <div class="subhead"> <nav id="projectSubnav" class="navbar osf-project-navbar"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".project-nav"> <span class="sr-only">Toggle navigation</span> <span class="fa fa-bars fa-lg"></span> </button> <span class="navbar-brand visible-xs visible-sm"> Project Navigation </span> </div> <div class="collapse navbar-collapse project-nav"> <ul class="nav navbar-nav"> <li> <a href="/web/20241203214656/https://osf.io/6enzv/" class="project-title subnav-header"> Making Preservation Hardware Platform Choices </a> </li> <li id="projectNavMetadata"> <a href="/web/20241203214656/https://osf.io/6enzv/metadata/" class="subnav-header"> Metadata </a> </li> <li id="projectNavFiles"> <a href="/web/20241203214656/https://osf.io/6enzv/files/" class="subnav-header"> Files </a> </li> <!-- Add-on tabs --> <li> <a href="/web/20241203214656/https://osf.io/6enzv/wiki" class="subnav-header"> Wiki </a> </li> <li><a href="/web/20241203214656/https://osf.io/6enzv/analytics/" class="subnav-header">Analytics</a></li> <li><a href="/web/20241203214656/https://osf.io/6enzv/registrations/" class="subnav-header">Registrations</a></li> </ul> </div> </div> </nav> </header> <style type="text/css"> .watermarked { padding-top: 55px; } </style> </div> <div class="modal fade" id="showLinks"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h3>Links to this project</h3> </div> <div class="modal-body"> <table class="table table-striped"> <thead> <th>Title</th> <th>Authors</th> </thead> <tbody data-bind="foreach: links"> <tr> <td> <!-- ko if: url --> <a data-bind="text: title, attr: {href: url}"></a> <!-- /ko --> <!-- ko ifnot: url --> <span data-bind="text: title"></span> <!-- /ko --> </td> <td data-bind="text: authorShort"></td> </tr> </tbody> </table> </div><!-- end modal-body --> <div class="modal-footer"> <a href="#" class="btn btn-default" data-dismiss="modal">Close</a> </div><!-- end modal-footer --> </div><!-- end modal-content --> </div><!-- end modal-dialog --> </div><!-- end modal --> <div class="row" style="margin-bottom: 5px;"> <div class="col-sm-6"> <h3 class="wiki-title wiki-title-xs" id="wikiName"> <i class="fa fa-home"></i> <span id="pageName" data-bind="tooltip: {title: 'Note: Home page cannot be renamed.'}">Home</span> </h3> </div> <div class="col-sm-6"> <div class="pull-right m-t-md"> <div class="switch"></div> </div> </div> </div> <div class="row wiki-wrapper"> <div class="panel-toggle col-sm-3"> <!-- Menu with toggle normal --> <div class="osf-panel panel panel-default reset-height " data-bind="css: { 'osf-panel-flex': !$root.singleVis() }"> <div class="panel-heading wiki-panel-header clearfix" data-bind="css: { 'osf-panel-heading-flex': !$root.singleVis()}"> <h3 class="panel-title"> <i class="fa fa-list"></i> Menu </h3> <div id="toggleIcon" class="pull-right hidden-xs"> <div class="panel-collapse pointer"><i class="fa fa-angle-left"></i></div> </div> </div> <div id="grid"> <div class="spinner-loading-wrapper"> <div class="ball-scale ball-scale-blue"> <div></div> </div> <p class="m-t-sm fg-load-message"> Loading wiki pages... </p> </div> </div> <div class="hidden text-danger" id="wikiErrorMessage" style="padding: 15px"></div> </div> <!-- Menu with toggle collapsed --> <div class="osf-panel panel panel-default panel-collapsed hidden-xs text-center hidden"> <div class="panel-heading pointer"> <i class="fa fa-list"> </i> <i class="fa fa-angle-right"> </i> </div> <div> <nav class="wiki-nav"> <div class="navbar-collapse text-center"> <ul class="superlist nav navbar-nav" style="float: none"> </ul> </div> </nav> </div> </div> </div> <div class="wiki" id="wikiPageContext"> <div class="panel-expand col-sm-9"> <div class="row"> <div data-osf-panel="View" class="col-sm-12.0" style=""> <div class="osf-panel panel panel-default no-border" data-bind="css: { 'no-border reset-height': $root.singleVis() === 'view', 'osf-panel-flex': $root.singleVis() !== 'view' }"> <div class="panel-heading wiki-panel-header wiki-single-heading" data-bind="css: { 'osf-panel-heading-flex': $root.singleVis() !== 'view', 'wiki-single-heading': $root.singleVis() === 'view' }"> <div class="row wiki-view-icon-container"> <div class="col-lg-4"> <div class="panel-title"> <i class="fa fa-eye"> </i> View</div> </div> <div class="col-sm-8"> <div class="pull-right"> <!-- Version Picker --> <span>Wiki Version:</span> <div style="display: inline-block"> <select class="form-control" data-bind="value:viewVersion" id="viewVersionSelect" aria-label="Select Version"> <option value="current" selected>(Current) Sheila Morrissey: 2018-02-15 01:42:07+00:00 UTC</option> </select> </div> </div> </div> </div> </div> <div id="wikiViewPanel" class="panel-body" data-bind="css: { 'osf-panel-body-flex': $root.singleVis() !== 'view' }"> <div id="wikiViewRender" data-bind="html: renderedView, mathjaxify: renderedView, anchorScroll : { buffer: 50, elem : '#wikiViewPanel'}" class="markdown-it-view scripted"> A two-year project to develop the next-generation architecture for the Portico archive of e-journals, e-books, and other electronic scholarly content was the occasion for Portico staff to step back and consider, not just what that architecture should be, but also where it should be. Should we continue to host all of our ingest, archiving, management, and access systems in our current data centers, or should we leverage the elasticity of established cloud infrastructures, with easy hardware scalability (both vertical and horizontal) as well as well-developed DevOps and other software tools? Come walk through the process Portico undertook to develop the criteria for making this choice, the decisions we reached, and why. Sheila M. Morrissey Senior Researcher ITHAKA 100 Campus Drive Suite 100 Princeton NJ 08540 609-986-2221 sheila.morrissey@ithaka.org<mailto:sheila.morrissey@ithaka.org> ITHAKA (www.ithaka.org<http://www.ithaka.org/>) is a not-for-profit organization that helps the academic community use digital technologies to preserve the scholarly record and to advance research and teaching in sustainable ways. We provide innovative services that benefit higher education, including Ithaka S+R, JSTOR, and Portico. </div> </div> </div> </div> <div data-osf-panel="Compare" class="col-sm-12.0" style="display: none"> <div class="osf-panel panel panel-default osf-panel-flex" data-bind="css: { 'no-border reset-height': $root.singleVis() === 'compare', 'osf-panel-flex': $root.singleVis() !== 'compare' }"> <div class="panel-heading osf-panel-heading-flex" data-bind="css: { 'osf-panel-heading-flex': $root.singleVis() !== 'compare', 'wiki-single-heading': $root.singleVis() === 'compare'}"> <div class="row"> <div class="col-xs-12"> <span class="panel-title m-r-xs"> <i class="fa fa-exchange"> </i> Compare </span> <div class="inline" data-bind="css: { 'pull-right' : $root.singleVis() === 'compare' }"> <!-- Version Picker --> <span class="compare-version-text"><i> <span data-bind="text: viewVersionDisplay"></span></i> to <select class="form-control" data-bind="value: compareVersion" id="compareVersionSelect"> <option value="current">(Current) Sheila Morrissey: 2018-02-15 01:42:07+00:00 UTC</option> </select></span> </div> </div> </div> </div> <div data-bind="html: renderedCompare, css: { 'osf-panel-body-flex': $root.singleVis() !== 'compare' }" class="panel-body wiki-compare-view"> </div> </div> </div> </div><!-- end row --> </div> </div> </div><!-- end wiki --> <!-- Wiki modals should also be placed here! --> <!-- New Component Modal --> <div class="modal fade" id="newWiki"> <div class="modal-dialog"> <div class="modal-content"> <form class="form"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h3 class="modal-title">Add new wiki page</h3> </div><!-- end modal-header --> <div class="modal-body"> <div class="form-group"> <input id="data" placeholder="New Wiki Name" type="text" class="form-control"> </div> <p id="alert" class="text-danger"> </p> </div><!-- end modal-body --> <div class="modal-footer"> <a id="close" href="#" class="btn btn-default" data-dismiss="modal">Cancel</a> <button id="add-wiki-submit" type="submit" class="btn btn-success">Add</button> </div><!-- end modal-footer --> </form> </div><!-- end modal- content --> </div><!-- end modal-dialog --> </div><!-- end modal --> <script type="text/javascript"> $(function () { var $newWikiForm = $('#newWiki form'); $newWikiForm.on('submit', function (e) { e.preventDefault(); var $data = $newWikiForm.find('#data'); var $submitForm = $newWikiForm.find('#add-wiki-submit'); var $alert = $newWikiForm.find('#alert'); $submitForm .attr('disabled', 'disabled') .text('Creating new wiki page'); if ($.trim($data.val()) === '') { $alert.text('The new wiki page name cannot be empty'); $submitForm .removeAttr('disabled', 'disabled') .text('Add'); } else if ($data.val().length > 100) { $alert.text('The new wiki page name cannot be more than 100 characters.'); $submitForm .removeAttr('disabled', 'disabled') .text('Add'); } else if ($data.val().indexOf('/') != -1) { $alert.text('The new wiki page name cannot contain forward slashes.'); $submitForm .removeAttr('disabled', 'disabled') .text('Add'); } else { // TODO: helper to eliminate slashes in the url. var wikiName = $data.val(); var request = $.ajax({ type: 'GET', cache: false, url: "/api/v1/project/6enzv/wiki/" + encodeURIComponent(wikiName) + '/validate/', dataType: 'json' }); request.done(function (response) { window.location.href = "/6enzv/wiki/" + encodeURIComponent(wikiName) + '/edit/'; }); request.fail(function (response, textStatus, error) { if (response.status === 409) { $alert.text('A wiki page with that name already exists.'); } else if (response.status === 403){ $alert.text('You do not have permission to perform this action.'); Raven.captureMessage('Unauthorized user can view wiki add button', { extra: { url: "/api/v1/project/6enzv/wiki/" + encodeURIComponent(wikiName) + '/validate/', textStatus: textStatus, error: error } }); } else { $alert.text('Could not validate wiki page. Please try again.'+response.status); Raven.captureMessage('Error occurred while validating page', { extra: { url: "/api/v1/project/6enzv/wiki/" + encodeURIComponent(wikiName) + '/validate/', textStatus: textStatus, error: error } }); } $submitForm .removeAttr('disabled', 'disabled') .text('Add'); }); } }); $newWikiForm.find('#close').on('click', function () { var $data = $newWikiForm.find('#data'); var $alert = $newWikiForm.find('#alert'); $alert.text(''); $data.val(''); }); }); </script> <div class="modal fade" id="wiki-help-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true"></span>×</button> <h3 class="modal-title">Wiki syntax help</h3> </div> <div class="modal-body"> <p> The wiki uses the <a href="https://web.archive.org/web/20241203214656/https://daringfireball.net/projects/markdown/">Markdown</a> syntax. For more information and examples, go to our <a href="https://web.archive.org/web/20241203214656/https://help.osf.io/article/389-wiki">Guides.</a> </p> </div> <div class="modal-footer"> <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button> </div> </div> </div> </div> <div class="modal fade" id="permissionsModal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h3 class="modal-title">Page permissions have changed</h3> </div> <div class="modal-body"> <p>Your browser should refresh shortly…</p> </div> </div> </div> </div> <div class="modal fade" id="renameModal"> <div class="modal-dialog"> <div class="modal-content"> <div class="spinner-loading-wrapper"> <div class="ball-scale ball-scale-blue"> <div></div> </div> <p class="m-t-sm fg-load-message"> Renaming wiki... </p> </div> </div> </div> </div> <div class="modal fade" id="deleteModal" tabindex="-1"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h3 class="modal-title">Wiki page deleted</h3> </div> <div class="modal-body"> <p>Press Confirm to return to the project wiki home page.</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-success" data-dismiss="modal">Confirm</button> </div> </div> </div> </div> <div class="modal fade" id="connectedModal" tabindex="-1"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h3 class="modal-title">Connected to the collaborative wiki</h3> </div> <div class="modal-body"> <p> This page is currently connected to the collaborative wiki. All edits made will be visible to contributors with write permission in real time. Changes will be stored but not published until you click the "Save" button. </p> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div> </div> </div> </div> <div class="modal fade" id="connectingModal" tabindex="-1"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h3 class="modal-title">Connecting to the collaborative wiki</h3> </div> <div class="modal-body"> <p> This page is currently attempting to connect to the collaborative wiki. You may continue to make edits. <strong>Changes will not be saved until you press the "Save" button.</strong> </p> </div> </div> </div> </div> <div class="modal fade" id="disconnectedModal" tabindex="-1"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h3 class="modal-title">Collaborative wiki is unavailable</h3> </div> <div class="modal-body"> <p> The collaborative wiki is currently unavailable. You may continue to make edits. <strong>Changes will not be saved until you press the "Save" button.</strong> </p> </div> </div> </div> </div> <div class="modal fade" id="unsupportedModal" tabindex="-1"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h3 class="modal-title">Browser unsupported</h3> </div> <div class="modal-body"> <p> Your browser does not support collaborative editing. You may continue to make edits. <strong>Changes will not be saved until you press the "Save" button.</strong> </p> </div> </div> </div> </div> </div><!-- end container --> </div><!-- end watermarked --> <div class="footBanners"> <div id="IEDepreciationBanner" class="alert warningBanner"> <div class="warningBannerText"> OSF does not support the use of Internet Explorer. For optimal performance, please switch to another browser. </div> <div class="warningBannerAcceptBtn"> <div class="btn btn-default" data-dismiss="alert" data-bind="click: accept" aria-label="Accept">Accept</div> </div> </div> <div id="cookieBanner" class="alert warningBanner"> <div id="cookieText" class="warningBannerText"> This website relies on cookies to help provide a better user experience. By clicking Accept or continuing to use the site, you agree. For more information, see our <a href="https://web.archive.org/web/20241203214656/https://github.com/CenterForOpenScience/cos.io/blob/master/PRIVACY_POLICY.md">Privacy Policy</a> and information on <a href="https://web.archive.org/web/20241203214656/https://github.com/CenterForOpenScience/cos.io/blob/master/PRIVACY_POLICY.md#7-types-of-information-we-collect">cookie use</a>. </div> <div class="warningBannerAcceptBtn"> <div class="btn btn-default" data-dismiss="alert" data-bind="click: accept" aria-label="Accept">Accept</div> </div> </div> <div id="footerSlideIn"> <div class="container"> <div class="row"> <div class="col-sm-2 hidden-xs"> <img class="logo" src="/web/20241203214656im_/https://osf.io/static/img/circle_logo.png"> </div> <div class="col-sm-10 col-xs-12"> <a data-bind="click: dismiss" class="close" href="#">×</a> <h1>Start managing your projects on the OSF today.</h1> <p>Free and easy to use, the Open Science Framework supports the entire research lifecycle: planning, execution, reporting, archiving, and discovery.</p> <div> <a data-bind="click: trackClick.bind($data, 'Create Account')" class="btn btn-primary" href="/web/20241203214656/https://osf.io/#signUp">Create an Account</a> <a data-bind="click: trackClick.bind($data, 'Learn More')" class="btn btn-primary" href="https://web.archive.org/web/20241203214656/https://help.osf.io/article/384-managing-projects" target="_blank" rel="noreferrer">Learn More</a> <a data-bind="click: dismiss">Hide this message</a> </div> </div> </div> </div> </div> </div> <div style="padding-top: 10px; margin-top: 20px; text-shadow: 0 1px 0 #fff; width: 100%; color: #515151; text-align: center; background-color: #efefef;"> <div class="container-fluid"> <div class="row"> <div class="col-sm-12 col-md-8 col-md-offset-2"> <p class="footer-links"> <span> Copyright © 2011-2024 </span> <a href="https://web.archive.org/web/20241203214656/https://cos.io/"> Center for Open Science </a> <span> | </span> <a href="https://web.archive.org/web/20241203214656/https://github.com/CenterForOpenScience/centerforopenscience.org/blob/master/TERMS_OF_USE.md"> Terms of Use </a> <span> | </span> <a href="https://web.archive.org/web/20241203214656/https://github.com/CenterForOpenScience/centerforopenscience.org/blob/master/PRIVACY_POLICY.md"> Privacy Policy </a> <span> | </span> <a href="https://web.archive.org/web/20241203214656/https://status.cos.io/"> Status </a> <span> | </span> <a href="https://web.archive.org/web/20241203214656/https://developer.osf.io/"> API </a> <br> <a href="https://web.archive.org/web/20241203214656/http://cos.io/top/"> TOP Guidelines </a> <span> | </span> <a href="https://web.archive.org/web/20241203214656/https://osf.io/ezcuj/wiki/home/"> Reproducibility Project: Psychology </a> <span> | </span> <a href="https://web.archive.org/web/20241203214656/https://osf.io/collections/rpcb/discover"> Reproducibility Project: Cancer Biology </a> </p> <p> <a href="https://web.archive.org/web/20241203214656/http://twitter.com/OSFramework" aria-label="Twitter"><i class="fa fa-twitter fa-2x"></i></a> <a href="https://web.archive.org/web/20241203214656/https://www.facebook.com/CenterForOpenScience/" aria-label="Facebook"><i class="fa fa-facebook fa-2x"></i></a> <a href="https://web.archive.org/web/20241203214656/https://groups.google.com/forum/#!forum/openscienceframework" aria-label="Google Group"><i class="fa fa-group fa-2x"></i></a> <a href="https://web.archive.org/web/20241203214656/https://www.github.com/centerforopenscience" aria-label="GitHub"><i class="fa fa-github fa-2x"></i></a> </p> </div> </div> </div> </footer> <script> window.ga = function() {}; </script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://web.archive.org/web/20241203214656/https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer',"GTM-NDTC398");</script> <!-- End Google Tag Manager --> <script> // Mako variables accessible globally window.contextVars = $.extend(true, {}, window.contextVars, { osfURL: "https://web.archive.org/web/20241203214656/https://osf.io/", waterbutlerURL: "https://web.archive.org/web/20241203214656/https://files.osf.io/", // Whether or not this page is loaded under osf.io or another domain IE: institutions isOnRootDomain: "https://web.archive.org/web/20241203214656/https://osf.io/" === window.location.origin + '/', cookieName: "osf", apiV2Domain: "https://web.archive.org/web/20241203214656/https://api.osf.io/", apiV2Prefix: "https://web.archive.org/web/20241203214656/https://api.osf.io/v2/", registerUrl: "/api/v1/register/", currentUser: { id: "", locale: "", timezone: "", entryPoint: "", institutions: null, emailsToAdd: [], anon: {"continent": null, "country": null}, }, maintenance: null, analyticsMeta: { pageMeta: { routeName: "OsfWebRenderer.project_wiki_view", }, }, osfSupportEmail: "support@osf.io", csrfCookieName: "api-csrf", }); </script> <script> window.contextVars = $.extend(true, {}, window.contextVars, { keen: { public: { projectId: "5797b58fbcb79c2c0fa1a705", writeKey: "40b0559c81c37757442b7fdeec4d384c0b2878ca9758ce561c1daa7b4c5cb77b0c9f80c562f313aa23ebef2c97cd70b2cf2af41716dc8fdb682ffaa52ff23441598432e81995e4899df55b6caa32edd3d208a05fd6367f0ac9fdcd2c4023c290", }, private: { projectId: "5797b5a3709a395e9e29c11d", writeKey: "73357414691a69448b9b967b7c56a16602e02ebe3d21f348acd7e717cef40275536f302143758330dfabea49355753dd05ab3865aa675ef2d803c2baa9b591b825689d96e4492c181be6a6631c0328ee9eeb24704ee7beb6c90f9bd5f06cfcb2", }, }, }); </script> <script src="/web/20241203214656js_/https://osf.io/static/vendor/citeproc-js/xmldom.js"></script> <script src="/web/20241203214656js_/https://osf.io/static/vendor/citeproc-js/citeproc.js"></script> <link href="https://web.archive.org/web/20241203214656cs_/https://mfr.osf.io/static/css/mfr.css" media="all" rel="stylesheet"/> <script src="https://web.archive.org/web/20241203214656js_/https://mfr.osf.io/static/js/mfr.js"></script> <script> var nodeId = "6enzv"; var userApiUrl = ""; var nodeApiUrl = "/api/v1/project/6enzv/"; var absoluteUrl = "osf.io/6enzv"; // Mako variables accessible globally window.contextVars = $.extend(true, {}, window.contextVars, { currentUser: { username: null, urls: { api: userApiUrl, profile: "" }, isContributor: false, isContributorOrGroupMember: false, fullname: "", isAdmin: false, canComment: false, canEdit: false, profileImageUrl: "" }, node: { id: nodeId, title: "Making Preservation Hardware Platform Choices", license: {}, urls: { api: nodeApiUrl, web: "/6enzv/", update: "/api/v1/project/6enzv/", waterbutler: "https://web.archive.org/web/20241203214656/https://files.osf.io", mfr: "https://web.archive.org/web/20241203214656/https://mfr.osf.io/" }, isPublic: true, isRegistration: false, isRetracted: false, isSupplementalProject: false, anonymous: false, category: "", rootId: "6enzv", parentTitle: "", parentUrl: "", parentRegisterUrl: "", parentExists: false, childExists: false, registrationMetaSchemas: false, registrationMetaData: {}, contributors: ["guwhj"], storageLimitsStatus: null, } }); </script> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']], processEscapes: true}, // Don't automatically typeset the whole page. Must explicitly use MathJax.Hub.Typeset skipStartupTypeset: true }); </script> <script type="text/javascript" src="https://web.archive.org/web/20241203214656js_/https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script src="/web/20241203214656js_/https://osf.io/static/public/js/project-base-page.2d3bf03dcbdecb53b321.js"> </script> <script> var canEditBody = false; var isContributor = false; var canEditPageName = isContributor && false; window.contextVars = window.contextVars || {}; window.contextVars.wiki = { canEdit: canEditBody, canEditPageName: canEditPageName, renderedBeforeUpdate: false, versionSettings: {"view": "current", "compare": "previous"}, panelsUsed: ["view", "menu"], wikiID: "p6das", wikiName: "home", urls: { draft: "/api/v1/project/6enzv/wiki/home/draft/", content: "/api/v1/project/6enzv/wiki/home/content/", rename: "/api/v1/project/6enzv/wiki/home/rename/", grid: "/api/v1/project/6enzv/wiki/home/grid/", page: "/6enzv/wiki/home/", base: "/6enzv/wiki/", sharejs: "osf.io/sharejs" }, metadata: { registration: true, docId: "", userId: "", userName: "", userUrl: "", userProfileImage: "https://web.archive.org/web/20241203214656/https://secure.gravatar.com/avatar/6adf97f83acf6453d4a6a4b1070f3754?d=identicon&s=25".replace('&', '&') } }; window.contextVars.analyticsMeta = $.extend(true, {}, window.contextVars.analyticsMeta, { itemGuid: "6enzv", pageMeta: { title: 'Wiki: ' + "home", public: true, }, }); </script> <script src="//web.archive.org/web/20241203214656js_/https://osf.io/sharejs/text.js"></script> <script src="//web.archive.org/web/20241203214656js_/https://osf.io/sharejs/share.js"></script> <link href="https://web.archive.org/web/20241203214656cs_/https://mfr.osf.io/static/css/mfr.css" media="all" rel="stylesheet"/> <script src="https://web.archive.org/web/20241203214656js_/https://mfr.osf.io/static/js/mfr.js"></script> <script src="/web/20241203214656js_/https://osf.io/static/public/js/wiki-edit-page.19b90b549f1ed831156a.js"></script> </body> </html> <!-- Metadata tags--> <!--Metadata tags--> <!-- FILE ARCHIVED ON 21:46:56 Dec 03, 2024 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 21:12:44 Dec 12, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.463 exclusion.robots: 0.025 exclusion.robots.policy: 0.016 esindex: 0.008 cdx.remote: 490.919 LoadShardBlock: 163.578 (3) PetaboxLoader3.datanode: 156.561 (4) load_resource: 133.746 PetaboxLoader3.resolve: 82.324 -->