Wiki source code of Plan Your Data Management

Last modified by Veronika Kocher on Friday, 04 Sep 2026 14:45

Show last authors
1 {{html clean="false"}}
2 <!-- ARSN_FULL_PAGE_PLAN_DATA_MANAGEMENT_V1 -->
3 <style>
4 .dmp{max-width:1400px;margin:0 auto;color:#322f2b}.dmp *{box-sizing:border-box}
5 .dmp-card{border:1px solid #e3ded6;border-radius:11px;background:#fcfbf8;box-shadow:0 1px 3px rgba(0,0,0,.035)}
6 .dmp-eye{font-size:12px;font-weight:700;letter-spacing:.075em;text-transform:uppercase}
7 .dmp-hero{height:125px;overflow:hidden;background:#f1eee9}.dmp-hero img{width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block}
8 .dmp-sec{margin:0 0 30px}.dmp-sec h3{font-size:22px;margin:0 0 7px;color:#35312d}.dmp-sec>p{color:#6a655e;line-height:1.58;max-width:1180px}
9 .dmp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}
10 .dmp-box{padding:15px 16px;border:1px solid #e3ded6;border-radius:9px;background:#fcfbf8}.dmp-box h4{font-size:17px;margin:0 0 6px;color:#35312d}.dmp-box p{margin:0;color:#625d56;line-height:1.5}.dmp-box ul{margin:8px 0 0 19px;padding:0;color:#625d56;line-height:1.5}
11 .dmp-check{position:relative;padding:12px 13px 12px 37px;border:1px solid #e3ded6;border-radius:8px;background:#fffdf9;color:#504a44;line-height:1.5}.dmp-check:before{content:"✓";position:absolute;left:13px;top:10px;color:#e94b13;font-weight:800}
12 .dmp-info{padding:15px 17px;border:1px solid #c7e5ed;border-left:5px solid #21b6d7;background:#eaf6f9;border-radius:8px;color:#365e68;line-height:1.55}.dmp-info strong{color:#2d5661}
13 .dmp-warn{padding:15px 17px;border:1px solid #efd9cc;border-left:5px solid #e94b13;background:#fff6f1;border-radius:8px;color:#67564e;line-height:1.55}.dmp-warn strong{color:#744531}
14 .dmp-rights{padding:15px 17px;border:1px solid #efdca7;border-left:5px solid #f0aa00;background:#fff9e9;border-radius:8px;color:#665a38;line-height:1.55}.dmp-rights strong{color:#6d571c}
15 .dmp-store{padding:15px 17px;border:1px solid #cfe8d8;border-left:5px solid #38b76a;background:#eff9f2;border-radius:8px;color:#45614e;line-height:1.55}.dmp-store strong{color:#35543f}
16 .dmp-tablewrap{overflow-x:auto;border-radius:9px}.dmp-tbl{width:100%;border-collapse:collapse;background:#fffdf9;min-width:820px}.dmp-tbl th,.dmp-tbl td{border:1px solid #e3ded6;padding:10px 11px;vertical-align:top;text-align:left;line-height:1.45}.dmp-tbl th{background:#f3efe8;color:#403b36}.dmp-tbl td{color:#56504a}
17 .dmp-step{padding:15px 16px;border:1px solid #e3ded6;border-top:4px solid #e94b13;border-radius:9px;background:#fcfbf8}.dmp-step .n{font-size:12px;font-weight:800;color:#8a4d36;letter-spacing:.06em}.dmp-step h4{font-size:17px;margin:3px 0 6px;color:#35312d}.dmp-step p{margin:0;color:#625d56;line-height:1.5}
18 .dmp-service{display:block;padding:14px 15px;border:1px solid #e3ded6;border-radius:9px;background:#fcfbf8;color:#322f2b;text-decoration:none}.dmp-service:hover,.dmp-service:focus{background:#fffdf9;text-decoration:none}.dmp-service strong{display:block;margin-bottom:4px}.dmp-service span{display:block;color:#625d56;line-height:1.45;font-weight:400}
19 .dmp-linkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.dmp-navlink{display:block;padding:10px 11px;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:6px;background:#fffdf9;color:#252321;text-decoration:none;font-weight:600;line-height:1.35}.dmp-navlink:hover,.dmp-navlink:focus{background:#fff7f1;text-decoration:none}
20 .dmp-chip{display:inline-block;padding:4px 8px;margin:3px 4px 3px 0;border-radius:14px;background:#f3efe8;border:1px solid #e3ded6;color:#5c5650;font-size:12px;text-decoration:none}
21 @media(max-width:680px){.dmp-hero{height:105px}.dmp-sec h3{font-size:20px}}
22 </style>
23
24 <div class="dmp">
25
26 <section class="dmp-card" style="margin-bottom:18px;overflow:hidden;border-left:6px solid #e94b13;">
27 <div class="dmp-hero"><img src="https://xwiki.uni-ak.ac.at/bin/download/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/WebHome/enable.png" alt="Planning research data, materials and outputs across the project lifecycle"></div>
28 <div style="padding:18px 21px 20px">
29 <div class="dmp-eye" style="color:#8a4d36;margin-bottom:5px">PREPARE · DATA MANAGEMENT PLAN</div>
30 <h2 style="font-size:27px;line-height:1.2;margin:0 0 8px;color:#2c2926">Turn data management into a working project routine — not a form you fill in once</h2>
31 <p style="margin:0;color:#5e5953;line-height:1.6;max-width:1160px">A practical Data Management Plan (DMP) records how your project will organise, store, protect, document, share, preserve or dispose of its data and materials. For artistic and arts-based research, this can include physical objects, audiovisual material, software, performances, process documentation and artistic outputs as well as conventional research data.</p>
32 </div>
33 </section>
34
35 <div class="dmp-info" style="margin-bottom:16px"><strong>Treat the DMP as a living working document.</strong> Start with what you know, record unresolved decisions, assign responsibility and update the plan when the project changes.</div>
36
37 <div class="dmp-rights" style="margin-bottom:16px"><strong>A DMP does not mean that everything must become open.</strong> It should make restrictions visible and explain why access, sharing or reuse may need to be limited because of personal data, consent, copyright, confidentiality, cultural sensitivity, contractual obligations, security or other legitimate constraints.</div>
38
39 <div class="dmp-store" style="margin-bottom:28px"><strong>Start from your material inventory.</strong> If you have not yet mapped the data, materials, documentation and outputs your project will create, collect or reuse, begin with <a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Identify%20Your%20Data%20%26%20Research%20Outputs/">Identify Your Data &amp; Research Outputs</a>.</div>
40
41 <!-- ARSN_DMP_TOOL_COMING_SOON_V1 -->
42 <section id="dmp-tool-coming-soon" class="dmp-card" style="margin-bottom:28px;overflow:hidden;border-left:6px solid #21b6d7;">
43 <div style="padding:17px 20px 18px">
44 <div class="dmp-eye" style="color:#3f6871;margin-bottom:5px">DMP TOOL <span style="display:inline-block;margin-left:6px;padding:3px 7px;border-radius:12px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:10px;letter-spacing:.06em;vertical-align:1px">COMING SOON</span></div>
45 <h3 style="font-size:21px;margin:0 0 7px;color:#35312d">Interactive Art &amp; Research DMP Tool</h3>
46 <p style="margin:0 0 11px;color:#625d56;line-height:1.55;max-width:1050px">A local form will connect the eleven core DMP questions with funder-specific requirements and export DMPs as PDF, JSON, YAML and Markdown. Funder profiles are maintained separately from the tool so that FWF, Horizon Europe, ERC or FFG requirements can be updated without reprogramming the form.</p>
47 <a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Plan%20Your%20Data%20Management/DMP%20Tool/" aria-disabled="true" onclick="return false;" style="display:inline-block;padding:8px 11px;border:1px solid #c7e5ed;border-radius:6px;background:#f4fbfc;color:#3f6871;text-decoration:none;font-weight:700;cursor:not-allowed">Open DMP Tool ↗</a>
48 <span style="display:inline-block;margin-left:8px;color:#8a4d36;font-size:12px;font-weight:700">COMING SOON</span>
49 </div>
50 </section>
51 <!-- ARSN_DMP_TOOL_COMING_SOON_END -->
52
53 <section class="dmp-sec">
54 <div class="dmp-eye" style="color:#8a4d36;margin-bottom:4px">STEP 1 · DEFINE THE SCOPE</div>
55 <h3>Decide what your DMP needs to cover</h3>
56 <p>Your DMP should follow the real project, not an abstract template. Begin with the project structure, funding requirements and the material types you have already identified.</p>
57
58 <div class="dmp-grid">
59 <div class="dmp-box" style="border-top:4px solid #21b6d7">
60 <h4>Project &amp; plan identity</h4>
61 <p>Project title, lead, host unit, partners, funding programme, project dates, DMP owner, DMP version and last review date.</p>
62 </div>
63 <div class="dmp-box" style="border-top:4px solid #21b6d7">
64 <h4>Data, materials &amp; outputs</h4>
65 <p>What will be created, collected, commissioned or reused; expected formats, physical carriers, scale, dependencies and master versions.</p>
66 </div>
67 <div class="dmp-box" style="border-top:4px solid #e94b13">
68 <h4>Roles &amp; responsibilities</h4>
69 <p>Who creates, documents, stores, backs up, controls access, approves sharing, deposits outputs and completes handover.</p>
70 </div>
71 <div class="dmp-box" style="border-top:4px solid #38b76a">
72 <h4>Storage, backup &amp; access</h4>
73 <p>Working locations, authoritative copies, backup routine, recovery, access groups, account ownership and security requirements.</p>
74 </div>
75 <div class="dmp-box" style="border-top:4px solid #e94b13">
76 <h4>Organisation &amp; versioning</h4>
77 <p>Folder structure, naming, version conventions, master files, working copies, export formats and change control.</p>
78 </div>
79 <div class="dmp-box" style="border-top:4px solid #21b6d7">
80 <h4>Metadata, provenance &amp; documentation</h4>
81 <p>What information is needed to understand origin, creator, context, method, transformation, relationships, software and versions.</p>
82 </div>
83 <div class="dmp-box" style="border-top:4px solid #f0aa00">
84 <h4>Rights, ethics &amp; protection</h4>
85 <p>Copyright, licences, consent, personal data, confidentiality, contracts, community or cultural protocols and restrictions.</p>
86 </div>
87 <div class="dmp-box" style="border-top:4px solid #f0aa00">
88 <h4>Sharing, publication &amp; reuse</h4>
89 <p>What can be shared, with whom, when, under which licence, through which repository/platform and with what documentation.</p>
90 </div>
91 <div class="dmp-box" style="border-top:4px solid #38b76a">
92 <h4>Retention, preservation &amp; disposal</h4>
93 <p>What should remain after project end, what can be deleted, retention periods, preservation formats, repository/archive and handover.</p>
94 </div>
95 <div class="dmp-box" style="border-top:4px solid #e94b13">
96 <h4>Resources &amp; costs</h4>
97 <p>Storage, specialist software, digitisation, transcription, metadata work, repository fees, preservation, staff time and other data-management costs.</p>
98 </div>
99 </div>
100 </section>
101
102 <section class="dmp-sec">
103 <div class="dmp-eye" style="color:#8a4d36;margin-bottom:4px">STEP 2 · CREATE THE MINIMUM WORKING DMP</div>
104 <h3>Record decisions that the team can actually follow</h3>
105 <p>A useful first DMP can be short. The important thing is that it names responsibilities and turns assumptions into explicit decisions.</p>
106
107 <div class="dmp-tablewrap">
108 <table class="dmp-tbl">
109 <thead><tr><th>Question</th><th>Minimum decision to record</th><th>Responsible / review point</th></tr></thead>
110 <tbody>
111 <tr><td><strong>What are we managing?</strong></td><td>Material/data/output types, origin, formats, physical carriers, approximate quantity or expected growth.</td><td>Project lead + person closest to the material.</td></tr>
112 <tr><td><strong>Where is active work stored?</strong></td><td>Approved working location and location of the authoritative/master copy.</td><td>Data/documentation responsibility; review when infrastructure changes.</td></tr>
113 <tr><td><strong>How is it backed up?</strong></td><td>Backup location, frequency, responsibility and how recovery is checked.</td><td>Named owner; test before critical production/publication stages.</td></tr>
114 <tr><td><strong>Who can access what?</strong></td><td>Access groups, account ownership, restrictions and process for adding/removing people.</td><td>Project lead / system owner; review when staff or partners change.</td></tr>
115 <tr><td><strong>How are files and versions organised?</strong></td><td>Folder structure, file naming, version convention, master/working/derivative distinction.</td><td>Team-wide rule; review when workflows become unclear.</td></tr>
116 <tr><td><strong>What documentation is required?</strong></td><td>Minimum metadata, provenance, README/context documentation, technical dependencies and relationships.</td><td>Creator + documentation owner.</td></tr>
117 <tr><td><strong>What is sensitive or restricted?</strong></td><td>Personal/confidential/culturally sensitive material, consent status, legal or contractual restrictions and required protection.</td><td>Project lead with specialist advice where needed.</td></tr>
118 <tr><td><strong>What rights apply?</strong></td><td>Ownership, third-party material, licences, permissions and unresolved rights questions.</td><td>Project lead / rights responsibility; resolve before publication.</td></tr>
119 <tr><td><strong>What will be shared or published?</strong></td><td>Outputs/materials to share, access level, timing, licence, repository/platform and exceptions.</td><td>Project lead + output owner.</td></tr>
120 <tr><td><strong>What happens at project end?</strong></td><td>Keep, deposit, preserve, hand over or delete; final owner; access closure; retention period if applicable.</td><td>Named closure owner; confirm before final reporting.</td></tr>
121 <tr><td><strong>When is the DMP reviewed?</strong></td><td>Planned review dates plus event-based triggers.</td><td>DMP owner.</td></tr>
122 </tbody>
123 </table>
124 </div>
125
126 <div class="dmp-info" style="margin-top:14px"><strong>Simple rule:</strong> every important DMP statement should answer at least one of these: <em>what, where, who, how, when, under which conditions, and what happens at the end?</em></div>
127 </section>
128
129 <section class="dmp-sec">
130 <div class="dmp-eye" style="color:#8a4d36;margin-bottom:4px">STEP 3 · PLAN FOR CHANGE</div>
131 <h3>Review the DMP when a decision actually changes</h3>
132 <p>Do not update the plan only because a calendar reminder appears. Use scheduled reviews, but also connect reviews to concrete project events.</p>
133
134 <div class="dmp-grid">
135 <div class="dmp-step"><div class="n">REVIEW 1</div><h4>Proposal / award / project start</h4><p>Align the working plan with the submitted proposal, funder requirements, approved budget, staffing, partners and actual infrastructure.</p></div>
136 <div class="dmp-step"><div class="n">REVIEW 2</div><h4>New material or method</h4><p>Update the DMP when new datasets, media types, software, equipment, participants, collections or documentation workflows are introduced.</p></div>
137 <div class="dmp-step"><div class="n">REVIEW 3</div><h4>People or partner changes</h4><p>Recheck access, account ownership, responsibilities, handover, agreements and where authoritative copies are held.</p></div>
138 <div class="dmp-step"><div class="n">REVIEW 4</div><h4>Before publication / exhibition / sharing</h4><p>Confirm rights, consent, personal-data handling, metadata, file quality, access level, licence and repository/platform route.</p></div>
139 <div class="dmp-step"><div class="n">REVIEW 5</div><h4>Before project closure</h4><p>Decide what is retained, deposited, preserved, deleted or transferred; close obsolete access and document final responsibilities.</p></div>
140 </div>
141 </section>
142
143 <section class="dmp-sec">
144 <!-- ARSN_DMP_FUNDER_LINKS_SPECIFIC_V2 -->
145 <div class="dmp-eye" style="color:#8a4d36;margin-bottom:4px">FUNDER REQUIREMENTS</div>
146 <h3>Work from the actual template, call and binding project conditions</h3>
147 <p>Your internal working DMP can be broader than the formal funder template. For a funded project, however, the current DMP template, the specific call or call guide, the funding agreement or Grant Agreement and the deadlines stated there are decisive. The links below therefore point directly to DMP-relevant documents or document areas.</p>
148
149 <div class="dmp-grid">
150 <div class="dmp-box" style="border-top:4px solid #e94b13">
151 <h4>FWF</h4>
152 <p>For the relevant approved FWF projects, the DMP is required for project start, is submitted with the funding agreement, uses the same language as the proposal, is versioned throughout the project and is submitted in its final version with the final project report.</p>
153 <ul style="margin:10px 0 0 18px;padding:0;line-height:1.55">
154 <li><a href="https://www.fwf.ac.at/fileadmin/Website/Dokumente/Ueber_uns/Aufgaben_und_Aktivitaeten/Open_Science/fwf_dmp_guidelines_template.docx" target="_blank" rel="noopener"><strong>DMP – Guidelines and template (EN, DOCX) ↗</strong></a></li>
155 <li><a href="https://www.fwf.ac.at/fileadmin/Website/Dokumente/Ueber_uns/Aufgaben_und_Aktivitaeten/Open_Science/fwf_dmp_evaluierungsmatrix.pdf" target="_blank" rel="noopener">DMP evaluation matrix (PDF) ↗</a></li>
156 <li><a href="https://www.fwf.ac.at/en/about-us/what-we-do/open-science/open-access-policy/open-access-policy-for-research-data" target="_blank" rel="noopener">Open-Access Policy for Research Data ↗</a></li>
157 <li><a href="https://www.fwf.ac.at/en/about-us/what-we-do/open-science/research-data-management" target="_blank" rel="noopener">Research Data Management – workflow, funding &amp; contact ↗</a></li>
158 </ul>
159 </div>
160
161 <div class="dmp-box" style="border-top:4px solid #21b6d7">
162 <h4>Horizon Europe</h4>
163 <p>Research Data Management is a mandatory Open Science practice for projects generating or reusing research data. The detailed DMP is normally a deliverable by month 6 and is maintained as a living document.</p>
164 <ul style="margin:10px 0 0 18px;padding:0;line-height:1.55">
165 <li><a href="https://ec.europa.eu/info/funding-tenders/opportunities/portal/screen/how-to-participate/reference-documents;programCode=HORIZON" target="_blank" rel="noopener"><strong>DMP Reporting Template – Funding &amp; Tenders Reference Documents ↗</strong></a><br><small>Under “Templates &amp; Forms” → “Project reporting templates”.</small></li>
166 <li><a href="https://ec.europa.eu/info/funding-tenders/opportunities/docs/2021-2027/common/guidance/aga_en.pdf" target="_blank" rel="noopener">Annotated Grant Agreement – DMP and Open Science obligations ↗</a></li>
167 <li><a href="https://rea.ec.europa.eu/open-science_en" target="_blank" rel="noopener">REA Open Science Q&amp;A – DMP, repositories &amp; access restrictions ↗</a></li>
168 <li><a href="https://ec.europa.eu/info/funding-tenders/opportunities/docs/2021-2027/horizon/guidance/programme-guide_horizon_en.pdf" target="_blank" rel="noopener">Horizon Europe Programme Guide – Open Science / RDM ↗</a></li>
169 </ul>
170 </div>
171
172 <div class="dmp-box" style="border-top:4px solid #21b6d7">
173 <h4>ERC · Horizon Europe</h4>
174 <p>Horizon Europe-funded ERC projects include Research Data Management as a work package. The DMP is due no later than the end of project month 6; the ERC guidance also addresses dissemination level, FAIR, resources and data security.</p>
175 <p style="margin-top:9px"><a href="https://erc.europa.eu/manage-your-project/open-science" target="_blank" rel="noopener"><strong>ERC – Open Science in ERC Projects: RDM work package, DMP deadline &amp; template ↗</strong></a></p>
176 </div>
177
178 <div class="dmp-box" style="border-top:4px solid #f0aa00">
179 <h4>FFG · always check the specific call</h4>
180 <p>For FFG funding, DMP rules are call- and instrument-specific. Record the URL of the actual call, the version/date of the guide and whether a DMP is mandatory at submission, mandatory during the project/reporting, recommended or not required.</p>
181 <p style="margin-top:9px"><a href="https://www.ffg.at/content/ausschreibungsdokumente-der-basisprogramme" target="_blank" rel="noopener"><strong>FFG – current Basisprogramme call documents 2025/26 ↗</strong></a></p>
182 <p style="margin-top:8px;color:#6a655e;font-size:13px">For other FFG programmes, always use the current programme/call page and the guide linked there.</p>
183 </div>
184 </div>
185
186 <div class="dmp-info" style="margin-top:14px"><strong>Other funders / partners:</strong> Do not record only the funder name. Store the <strong>exact URL of the binding requirement or template, its version/date and deadline</strong> in the DMP. For questions about the internal funding route or how funder requirements apply at the Angewandte: <a href="https://www.dieangewandte.at/universitaet/organisation/planung_service_und_verwaltung/support_kunst_und_forschung" target="_blank" rel="noopener">Support Kunst und Forschung ↗</a>.</div>
187 <!-- ARSN_DMP_FUNDER_LINKS_SPECIFIC_END -->
188 </section>
189
190 <section class="dmp-sec">
191 <div class="dmp-eye" style="color:#8a4d36;margin-bottom:4px">STEP 4 · CONNECT THE DMP TO REAL WORKFLOWS</div>
192 <h3>A plan is useful only if it points to actual places, rules and people</h3>
193
194 <div class="dmp-grid">
195 <div class="dmp-check"><strong>Storage:</strong> name the actual working environment, not “university server”.</div>
196 <div class="dmp-check"><strong>Backup:</strong> state what is backed up, where, how often and by whom.</div>
197 <div class="dmp-check"><strong>Access:</strong> use named groups/roles and define what happens when someone leaves.</div>
198 <div class="dmp-check"><strong>Files:</strong> document folder, naming and version rules where the team can find them.</div>
199 <div class="dmp-check"><strong>Metadata:</strong> specify the fields or README information required for each important material type.</div>
200 <div class="dmp-check"><strong>Rights:</strong> link permissions, licences and consent records to the material they govern.</div>
201 <div class="dmp-check"><strong>Sharing:</strong> identify the target repository/platform before the final week of the project.</div>
202 <div class="dmp-check"><strong>Preservation:</strong> distinguish active storage, backup, repository deposit and long-term preservation.</div>
203 </div>
204
205 <div class="dmp-warn" style="margin-top:14px"><strong>Red flag:</strong> “We will decide at the end” is not a data-management strategy. Decisions that affect consent, rights, file formats, metadata, storage, documentation or preservation often have to be made while the material is being created.</div>
206 </section>
207
208 <section class="dmp-sec">
209 <div class="dmp-eye" style="color:#8a4d36;margin-bottom:4px">SERVICES &amp; SUPPORT</div>
210 <h3>Who to involve at the Angewandte</h3>
211 <p>Use specialist support where the DMP reveals a real requirement. Not every project needs every service.</p>
212
213 <div class="dmp-grid">
214 <a class="dmp-service" href="https://www.dieangewandte.at/university_library" target="_blank" rel="noopener"><strong>University Library · Research Data Management &amp; Support ↗</strong><span>For research-data management, metadata, repository and preservation-oriented questions. The Library currently lists Research Data Management &amp; Support as part of its team expertise.</span></a>
215
216 <a class="dmp-service" href="mailto:veronika.kocher@uni-ak.ac.at"><strong>Research Data Management &amp; Support</strong><span>Current University Library contact for RDM support: veronika.kocher@uni-ak.ac.at</span></a>
217
218 <a class="dmp-service" href="mailto:repositorium@uni-ak.ac.at"><strong>Angewandte Repository</strong><span>Repository questions and deposit planning: repositorium@uni-ak.ac.at</span></a>
219
220 <a class="dmp-service" href="https://www.dieangewandte.at/universitaet/organisation/planung_service_und_verwaltung/support_kunst_und_forschung" target="_blank" rel="noopener"><strong>Support Kunst und Forschung ↗</strong><span>For funded artistic/scientific research, funder requirements, proposal/project coordination and the administrative funding route.</span></a>
221
222 <a class="dmp-service" href="mailto:projektsupport@uni-ak.ac.at"><strong>Project Support ticket contact</strong><span>projektsupport@uni-ak.ac.at</span></a>
223
224 <a class="dmp-service" href="https://www.dieangewandte.at/en/data_protection" target="_blank" rel="noopener"><strong>Data Protection ↗</strong><span>For specialist review where personal-data processing, data sharing, external processors/platforms or privacy risks require clarification. Data Protection Officer: dsb@uni-ak.ac.at</span></a>
225 </div>
226 </section>
227
228 <section class="dmp-sec">
229 <div class="dmp-eye" style="color:#8a4d36;margin-bottom:4px">RELATED NAVIGATOR TOPICS</div>
230 <h3>Turn each DMP decision into the next practical step</h3>
231
232 <div class="dmp-linkgrid">
233 <a class="dmp-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Identify%20Your%20Data%20%26%20Research%20Outputs/">Identify Your Data &amp; Research Outputs</a>
234 <a class="dmp-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/File%20Organisation%20%26%20Naming/">File Organisation &amp; Naming</a>
235 <a class="dmp-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Storage%2C%20Backup%20%26%20Security/">Storage, Backup &amp; Security</a>
236 <a class="dmp-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Data%20Protection%20%26%20Ethics/">Data Protection &amp; Ethics</a>
237 <a class="dmp-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Copyright%2C%20Rights%20%26%20Licences/">Copyright, Rights &amp; Licences</a>
238 <a class="dmp-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Collaboration%20Setup/">Collaboration Setup</a>
239 <a class="dmp-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Document%20Metadata%20%26%20Provenance/">Document Processes, Metadata &amp; Provenance</a>
240 <a class="dmp-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Review%20Your%20Data%20Management/">Review Your Data Management</a>
241 <a class="dmp-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Decide%20What%20to%20Share/">Decide What to Share</a>
242 <a class="dmp-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/FAIR%2C%20CARE%20%26%20Open%20Science/">FAIR, CARE &amp; Open Science</a>
243 <a class="dmp-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Choose%20a%20Repository%20or%20Publication%20Platform/">Choose a Repository or Publication Platform</a>
244 <a class="dmp-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Preserve%20Data%20%26%20Artistic%20Outputs/">Preserve Data &amp; Artistic Outputs</a>
245 </div>
246 </section>
247
248 <div class="dmp-info" style="margin-bottom:14px"><strong>Need help reviewing a DMP?</strong> Bring the current funder template or internal draft, your material/output inventory, planned storage locations, project partners and the main questions that are still unresolved. This makes support much faster and more concrete.</div>
249
250 <!-- ARSN_TRAINING_WORKSHOPS_V2_START -->
251 <section class="arsn-training-workshops" data-arsn-training-workshops="v2" style="margin:27px 0 22px 0;">
252 <div style="padding:16px 18px;background:#eef8fa;border:1px solid #cfe8ef;border-left:5px solid #21b6d7;border-radius:9px;">
253 <div style="font-size:12px;font-weight:700;letter-spacing:.075em;text-transform:uppercase;color:#3f6871;margin-bottom:5px;">TRAINING &amp; WORKSHOPS</div>
254 <h3 style="font-size:20px;line-height:1.3;margin:0 0 7px;color:#35312d;text-align:left;">Training, workshops &amp; consultation sessions</h3>
255 <p style="margin:0 0 10px;color:#5e5953;line-height:1.55;">Relevant opportunities for this topic will be shown here automatically from the central calendar.</p>
256 <span data-arsn-coming-soon="true" style="display:inline-block;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">COMING SOON</span>
257 </div>
258 </section>
259 <!-- ARSN_TRAINING_WORKSHOPS_V2_END -->
260
261 <!-- ARSN_PRACTICAL_RESOURCES_V2_START -->
262 <section class="arsn-practical-resources" data-arsn-practical-resources="v2" style="margin:0 0 27px;">
263 <div style="font-size:12px;font-weight:700;letter-spacing:.075em;text-transform:uppercase;color:#8a4d36;margin-bottom:4px;">USEFUL MATERIALS</div>
264 <h3 style="font-size:22px;line-height:1.25;margin:0 0 8px;color:#35312d;text-align:left;">Practical Resources</h3>
265 <p style="margin:0 0 12px;color:#5e5953;line-height:1.55;">Use practical resources when you need a concise overview, a step-by-step procedure or a ready-to-use project aid.</p>
266 <div class="arsn-resource-grid" style="display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;">
267 <div style="padding:15px 16px;background:#fcfbf8;border:1px solid #e3ded6;border-top:3px solid #21b6d7;border-radius:9px;"><strong>Info Sheets</strong><br><span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;">COMING SOON</span><div style="color:#625d56;line-height:1.45;">Short reference guides for common questions and decisions.</div></div>
268 <div style="padding:15px 16px;background:#fcfbf8;border:1px solid #e3ded6;border-top:3px solid #e94b13;border-radius:9px;"><strong>Tutorials</strong><br><span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;">COMING SOON</span><div style="color:#625d56;line-height:1.45;">Step-by-step guidance for specific tasks and workflows.</div></div>
269 <div style="padding:15px 16px;background:#fcfbf8;border:1px solid #e3ded6;border-top:3px solid #38b76a;border-radius:9px;"><strong>Checklists &amp; Templates</strong><br><span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;">COMING SOON</span><div style="color:#625d56;line-height:1.45;">Ready-to-use checklists and templates for planning, managing and closing projects.</div></div>
270 </div>
271 <style>@media(max-width:767px){.arsn-resource-grid{grid-template-columns:1fr!important}}</style>
272 </section>
273 <!-- ARSN_PRACTICAL_RESOURCES_V2_END -->
274
275 <!-- ARSN_SEARCH_TERMS_START -->
276 <details style="margin-top:24px;padding-top:10px;border-top:1px solid #e3ded6">
277 <summary style="cursor:pointer;color:#6a655e;font-size:13px">Search terms &amp; related topics</summary>
278 <div style="margin-top:9px;color:#5c5650;font-size:12px;line-height:1.7">data management plan · DMP · research data management · RDM · data lifecycle · data stewardship · data inventory · research materials · artistic research data · data types · file formats · storage · backup · access control · file naming · versioning · metadata · provenance · documentation · personal data · data protection · ethics · consent · copyright · licences · sensitive data · data sharing · open data · FAIR · CARE · repository · preservation · retention · deletion · funder requirements · FWF DMP · Horizon Europe DMP · project closure · handover · Datenmanagementplan · Forschungsdatenmanagement</div>
279 </details>
280 <!-- ARSN_SEARCH_TERMS_END -->
281
282 </div>
283 {{/html}}
284
285 {{html clean="false"}}
286 <!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_START -->
287
288 <style data-sn-service-navigator-master="1">
289 /* =========================================================
290 MASTER TYPOGRAPHY
291 ========================================================= */
292 #xwikicontent h1,
293 #xwikicontent h2,
294 #xwikicontent h3,
295 #xwikicontent h4,
296 #xwikicontent h5,
297 #xwikicontent h6,
298 #xwikicontent .box-title,
299 #xwikicontent [role="heading"],
300 #xwikicontent h1 a,
301 #xwikicontent h2 a,
302 #xwikicontent h3 a,
303 #xwikicontent h4 a,
304 #xwikicontent h5 a,
305 #xwikicontent h6 a,
306 #xwikicontent .box-title a,
307 #xwikicontent [role="heading"] a{
308 text-align:left!important;
309 text-justify:auto!important;
310 word-spacing:normal!important;
311 }
312
313 /* =========================================================
314 COMING SOON / IN VORBEREITUNG
315 ========================================================= */
316 .sn-coming-soon-badge{
317 display:inline-block;
318 vertical-align:middle;
319 margin-left:10px;
320 padding:4px 8px;
321 border-radius:14px;
322 border:1px solid #efd9cc;
323 background:#fff4ee;
324 color:#8a4d36;
325 font-size:11px;
326 font-weight:700;
327 letter-spacing:.055em;
328 line-height:1.2;
329 white-space:nowrap;
330 }
331
332 /* =========================================================
333 NATIVE / DETAIL CALLOUT GEOMETRY
334 Preserve existing backgrounds.
335 ========================================================= */
336 #xwikicontent .arsn-info,
337 #xwikicontent .dmp-info,
338 #xwikicontent .ido-info,
339 #xwikicontent .pp-info,
340 #xwikicontent .infomessage{
341 box-sizing:border-box!important;
342 border-left:4px solid #21b6d7!important;
343 border-radius:8px;
344 text-align:left!important;
345 word-spacing:normal!important;
346 }
347
348 #xwikicontent .arsn-warn,
349 #xwikicontent .dmp-warn,
350 #xwikicontent .ido-warn,
351 #xwikicontent .pp-warn,
352 #xwikicontent .warn,
353 #xwikicontent .warning,
354 #xwikicontent .warningmessage,
355 #xwikicontent .errormessage{
356 box-sizing:border-box!important;
357 border-left:4px solid #e94b13!important;
358 border-radius:8px;
359 text-align:left!important;
360 word-spacing:normal!important;
361 }
362
363 [data-sn-master-equal-height],
364 [data-sn-master-first-row]{
365 box-sizing:border-box;
366 }
367
368 /* =========================================================
369 FULL-WIDTH THREE-LINE NUMBER / TITLE / SUBTITLE BLOCKS
370 ========================================================= */
371 #xwikicontent .arsn-area-label[data-sn-three-line="1"]{
372 display:grid!important;
373 grid-template-columns:minmax(0,1fr)!important;
374 grid-auto-rows:auto!important;
375 width:100%!important;
376 max-width:none!important;
377 box-sizing:border-box!important;
378 justify-items:start!important;
379 align-items:start!important;
380 gap:2px!important;
381 text-align:left!important;
382 text-align-last:left!important;
383 text-justify:auto!important;
384 word-spacing:normal!important;
385 white-space:normal!important;
386 }
387 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .arsn-area-number,
388 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .sn-area-label-title,
389 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .arsn-area-action{
390 display:block!important;
391 width:100%!important;
392 margin:0!important;
393 text-align:left!important;
394 text-align-last:left!important;
395 text-justify:auto!important;
396 word-spacing:normal!important;
397 white-space:normal!important;
398 }
399 </style>
400
401 <script data-sn-service-navigator-master="1">
402 (function(){
403 "use strict";
404
405 var PAGE_KIND="detail";
406 var PLACEHOLDER=false;
407 var PLACEHOLDER_LABEL="COMING SOON";
408
409 var MOBILE_MAX=767;
410 var ROW_TOLERANCE=6;
411 var RESIZE_DEBOUNCE=220;
412
413 var root=
414 document.getElementById("xwikicontent")||
415 document.querySelector(".xwiki-rendering-content")||
416 document.querySelector("main")||
417 document.body;
418
419 if(!root)return;
420
421 var managedHeight=new Set();
422 var managedMargin=new Set();
423 var originalHeight=new WeakMap();
424 var originalMargin=new WeakMap();
425
426 var resizeTimer=0;
427 var running=false;
428
429 var THEMES=[
430 {
431 name:"BLUE",
432 accent:"#21b6d7",
433 bg:"#eaf7fb",
434 text:"#315d68",
435 labels:[
436 "HIER STARTEN",
437 "ENTSCHEIDEN",
438 "ÜBERPRÜFEN & ANPASSEN",
439 "START HERE",
440 "DECIDE",
441 "REVIEW & ADAPT"
442 ]
443 },
444 {
445 name:"RED",
446 accent:"#e94b13",
447 bg:"#fff1ec",
448 text:"#8a4d36",
449 labels:[
450 "PLANEN & ORGANISIEREN",
451 "ORGANISIEREN & DOKUMENTIEREN",
452 "PUBLIZIEREN & PRÄSENTIEREN",
453 "PLAN & ORGANISE",
454 "PLAN & ORGANIZE",
455 "ORGANISE & DOCUMENT",
456 "ORGANIZE & DOCUMENT",
457 "PUBLISH & PRESENT"
458 ]
459 },
460 {
461 name:"YELLOW",
462 accent:"#f0aa00",
463 bg:"#fff8e7",
464 text:"#785b17",
465 labels:[
466 "SCHÜTZEN & KLÄREN",
467 "STANDARDISIEREN & IDENTIFIZIEREN",
468 "ÖFFNEN, NACHNUTZEN & AUFFINDBAR MACHEN",
469 "PROTECT & CLARIFY",
470 "STANDARDISE & IDENTIFY",
471 "STANDARDIZE & IDENTIFY",
472 "OPEN, REUSE & MAKE FINDABLE"
473 ]
474 },
475 {
476 name:"GREEN",
477 accent:"#38b76a",
478 bg:"#edf9f1",
479 text:"#3f7451",
480 labels:[
481 "INFRASTRUKTUR EINRICHTEN",
482 "INFRASTRUKTUR & ZUSAMMENARBEIT EINRICHTEN",
483 "SPEICHERN & ZUGRIFF STEUERN",
484 "REPOSITORIUM, ERHALTEN & ÜBERGEBEN",
485 "SET UP INFRASTRUCTURE",
486 "SET UP INFRASTRUCTURE & COLLABORATION",
487 "STORE & CONTROL ACCESS",
488 "REPOSITORY, PRESERVE & HAND OVER"
489 ]
490 }
491 ];
492
493 function num(value){
494 var n=parseFloat(value);
495 return Number.isFinite(n)?n:0;
496 }
497
498 function norm(value){
499 return String(value||"")
500 .replace(/\s+/g," ")
501 .trim()
502 .toUpperCase();
503 }
504
505 function visible(el){
506 if(!el||el.nodeType!==1)return false;
507
508 var style=getComputedStyle(el);
509 var rect=el.getBoundingClientRect();
510
511 return (
512 style.display!=="none"&&
513 style.visibility!=="hidden"&&
514 rect.width>20&&
515 rect.height>4
516 );
517 }
518
519 function saveStyle(el,map,property){
520 if(map.has(el))return;
521
522 map.set(el,{
523 value:el.style.getPropertyValue(property),
524 priority:el.style.getPropertyPriority(property)
525 });
526 }
527
528 function restoreStyle(el,map,property){
529 var original=map.get(el);
530
531 if(original&&original.value){
532 el.style.setProperty(
533 property,
534 original.value,
535 original.priority||""
536 );
537 }else{
538 el.style.removeProperty(property);
539 }
540 }
541
542 function resetRuntime(){
543 managedHeight.forEach(function(el){
544 restoreStyle(
545 el,
546 originalHeight,
547 "min-height"
548 );
549 el.removeAttribute(
550 "data-sn-master-equal-height"
551 );
552 });
553
554 managedMargin.forEach(function(el){
555 restoreStyle(
556 el,
557 originalMargin,
558 "margin-top"
559 );
560 el.removeAttribute(
561 "data-sn-master-first-row"
562 );
563 });
564
565 managedHeight.clear();
566 managedMargin.clear();
567 }
568
569 function themeFor(text){
570 var value=norm(text);
571
572 for(var i=0;i<THEMES.length;i++){
573 for(var j=0;j<THEMES[i].labels.length;j++){
574 var label=THEMES[i].labels[j];
575
576 if(
577 value===label||
578 value.indexOf(label+" ")===0||
579 value.indexOf(label+" -")===0||
580 value.indexOf(label+" ·")===0
581 ){
582 return THEMES[i];
583 }
584 }
585 }
586
587 return null;
588 }
589
590 /* =======================================================
591 BORDERLESS FILLED RED/ORANGE CTA BUTTONS
592 ======================================================= */
593
594 function colourDistance(a,b){
595 return Math.sqrt(
596 Math.pow(a[0]-b[0],2)+
597 Math.pow(a[1]-b[1],2)+
598 Math.pow(a[2]-b[2],2)
599 );
600 }
601
602 function makeFilledRedOrangeCTAsBorderless(){
603 var RED_ORANGE=[233,75,19];
604
605 Array.from(
606 root.querySelectorAll(
607 'a,button,[role="button"],input[type="submit"],input[type="button"]'
608 )
609 ).forEach(function(el){
610 if(!visible(el))return;
611
612 var style=getComputedStyle(el);
613 var rgb=parseRGB(style.backgroundColor);
614
615 if(!rgb)return;
616
617 if(
618 colourDistance(
619 rgb,
620 RED_ORANGE
621 )>55
622 ){
623 return;
624 }
625
626 var rect=el.getBoundingClientRect();
627
628 if(
629 rect.width<80||
630 rect.height<24
631 ){
632 return;
633 }
634
635 el.style.setProperty(
636 "border",
637 "none",
638 "important"
639 );
640
641 el.style.setProperty(
642 "border-left",
643 "none",
644 "important"
645 );
646
647 el.style.setProperty(
648 "border-top",
649 "none",
650 "important"
651 );
652
653 el.style.setProperty(
654 "border-right",
655 "none",
656 "important"
657 );
658
659 el.style.setProperty(
660 "border-bottom",
661 "none",
662 "important"
663 );
664
665 el.style.setProperty(
666 "box-shadow",
667 "none",
668 "important"
669 );
670 });
671 }
672
673 /* =======================================================
674 FULL-WIDTH THREE-LINE AREA LABELS
675 ======================================================= */
676
677 function compactText(value){
678 return String(value||"")
679 .replace(/\s+/g," ")
680 .trim();
681 }
682
683 function makeThreeLineAreaLabels(){
684 Array.from(
685 root.querySelectorAll(
686 ".arsn-area-label"
687 )
688 ).forEach(function(label){
689 if(
690 label.getAttribute(
691 "data-sn-three-line"
692 )==="1"
693 ){
694 return;
695 }
696
697 var number=
698 label.querySelector(
699 ":scope > .arsn-area-number"
700 );
701
702 var action=
703 label.querySelector(
704 ":scope > .arsn-area-action"
705 );
706
707 if(
708 !number||
709 !action
710 ){
711 return;
712 }
713
714 var clone=
715 label.cloneNode(true);
716
717 var cloneNumber=
718 clone.querySelector(
719 ":scope > .arsn-area-number"
720 );
721
722 var cloneAction=
723 clone.querySelector(
724 ":scope > .arsn-area-action"
725 );
726
727 if(cloneNumber){
728 cloneNumber.remove();
729 }
730
731 if(cloneAction){
732 cloneAction.remove();
733 }
734
735 var titleText=
736 compactText(
737 clone.textContent
738 );
739
740 if(!titleText){
741 return;
742 }
743
744 var numberNode=
745 number.cloneNode(true);
746
747 var actionNode=
748 action.cloneNode(true);
749
750 var titleNode=
751 document.createElement(
752 "span"
753 );
754
755 titleNode.className=
756 "sn-area-label-title";
757
758 titleNode.textContent=
759 titleText;
760
761 while(label.firstChild){
762 label.removeChild(
763 label.firstChild
764 );
765 }
766
767 label.appendChild(
768 numberNode
769 );
770
771 label.appendChild(
772 titleNode
773 );
774
775 label.appendChild(
776 actionNode
777 );
778
779 label.setAttribute(
780 "data-sn-three-line",
781 "1"
782 );
783
784 var head=
785 label.closest(
786 ".arsn-area-head"
787 );
788
789 if(head){
790 head.style.setProperty(
791 "width",
792 "100%",
793 "important"
794 );
795
796 head.style.setProperty(
797 "max-width",
798 "100%",
799 "important"
800 );
801
802 head.style.setProperty(
803 "box-sizing",
804 "border-box",
805 "important"
806 );
807 }
808 });
809 }
810
811 /* =======================================================
812 PLACEHOLDER BADGE
813 ======================================================= */
814
815 function applyPlaceholderBadge(){
816 if(!PLACEHOLDER)return;
817
818 if(
819 document.querySelector(
820 ".sn-coming-soon-badge"
821 )
822 ){
823 return;
824 }
825
826 var title=
827 document.querySelector(
828 "#document-title"
829 )||
830 document.querySelector(
831 "h1"
832 );
833
834 if(!title)return;
835
836 var badge=
837 document.createElement(
838 "span"
839 );
840
841 badge.className=
842 "sn-coming-soon-badge";
843
844 badge.textContent=
845 PLACEHOLDER_LABEL;
846
847 badge.setAttribute(
848 "aria-label",
849 PLACEHOLDER_LABEL
850 );
851
852 title.appendChild(
853 badge
854 );
855 }
856
857 /* =======================================================
858 DETAIL PAGE OWN-ACCENT PROPAGATION
859 ======================================================= */
860
861 function parseRGB(value){
862 var match=String(value||"").match(
863 /rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i
864 );
865
866 if(!match)return null;
867
868 return [
869 Number(match[1]),
870 Number(match[2]),
871 Number(match[3])
872 ];
873 }
874
875 function distance(a,b){
876 return Math.sqrt(
877 Math.pow(a[0]-b[0],2)+
878 Math.pow(a[1]-b[1],2)+
879 Math.pow(a[2]-b[2],2)
880 );
881 }
882
883 function paletteMatch(cssColor){
884 var rgb=parseRGB(cssColor);
885
886 if(!rgb)return null;
887
888 var palette=[
889 {hex:"#21b6d7",rgb:[33,182,215]},
890 {hex:"#e94b13",rgb:[233,75,19]},
891 {hex:"#f0aa00",rgb:[240,170,0]},
892 {hex:"#38b76a",rgb:[56,183,106]}
893 ];
894
895 var best=null;
896 var bestDistance=Infinity;
897
898 palette.forEach(function(item){
899 var d=distance(rgb,item.rgb);
900
901 if(d<bestDistance){
902 best=item;
903 bestDistance=d;
904 }
905 });
906
907 return bestDistance<=30
908 ?best
909 :null;
910 }
911
912 function propagateDetailAccents(){
913 if(PAGE_KIND!=="detail")return;
914
915 Array.from(
916 root.querySelectorAll(
917 ".arsn-call,.dmp-call,.ido-call,.pp-call,"+
918 ".arsn-source,.dmp-source,.ido-source,.pp-source"
919 )
920 ).forEach(function(el){
921 if(!visible(el))return;
922
923 var style=getComputedStyle(el);
924
925 if(
926 num(style.borderTopWidth)>=2
927 ){
928 var match=
929 paletteMatch(
930 style.borderTopColor
931 );
932
933 if(match){
934 el.style.setProperty(
935 "border-left",
936 "4px solid "+match.hex,
937 "important"
938 );
939 }
940 }
941 });
942
943 // Warning families: explicit safety override.
944 Array.from(
945 root.querySelectorAll(
946 ".arsn-warn,.dmp-warn,.ido-warn,.pp-warn,"+
947 ".warn,.warning,.warningmessage,.errormessage"
948 )
949 ).forEach(function(el){
950 if(!visible(el))return;
951
952 el.style.setProperty(
953 "border-left",
954 "4px solid #e94b13",
955 "important"
956 );
957 });
958
959 // Info families: explicit orientation override.
960 Array.from(
961 root.querySelectorAll(
962 ".arsn-info,.dmp-info,.ido-info,.pp-info,.infomessage"
963 )
964 ).forEach(function(el){
965 if(!visible(el))return;
966
967 el.style.setProperty(
968 "border-left",
969 "4px solid #21b6d7",
970 "important"
971 );
972 });
973 }
974
975 /* =======================================================
976 OVERVIEW SEMANTIC THEME PALETTE
977 ======================================================= */
978
979 function smallestThemeHeaders(){
980 return Array.from(
981 root.querySelectorAll(
982 "div,span,p,strong,h3,h4,h5,h6"
983 )
984 ).filter(function(el){
985 if(!visible(el))return false;
986 if(!themeFor(el.textContent))return false;
987
988 return !Array.from(
989 el.children||[]
990 ).some(function(child){
991 return !!themeFor(
992 child.textContent
993 );
994 });
995 });
996 }
997
998 function findOverviewCard(header){
999 var node=header.parentElement;
1000 var candidates=[];
1001
1002 while(node&&node!==root){
1003 var rect=node.getBoundingClientRect();
1004 var style=getComputedStyle(node);
1005
1006 var border=
1007 num(style.borderTopWidth)+
1008 num(style.borderRightWidth)+
1009 num(style.borderBottomWidth)+
1010 num(style.borderLeftWidth);
1011
1012 if(
1013 rect.width>=220&&
1014 rect.width<=800&&
1015 rect.height>=120&&
1016 border>=1
1017 ){
1018 candidates.push(node);
1019 }
1020
1021 node=node.parentElement;
1022 }
1023
1024 if(!candidates.length)return null;
1025
1026 candidates.sort(function(a,b){
1027 return (
1028 b.getBoundingClientRect().height-
1029 a.getBoundingClientRect().height
1030 );
1031 });
1032
1033 return candidates[0];
1034 }
1035
1036 function rowCandidates(link,card){
1037 var result=[];
1038 var cardRect=
1039 card.getBoundingClientRect();
1040
1041 var node=link;
1042
1043 while(node&&node!==card){
1044 if(visible(node)){
1045 var rect=
1046 node.getBoundingClientRect();
1047
1048 if(
1049 rect.height<=105&&
1050 rect.width>=
1051 cardRect.width*.50&&
1052 rect.width<=
1053 cardRect.width*1.03
1054 ){
1055 result.push(node);
1056 }
1057 }
1058
1059 node=node.parentElement;
1060 }
1061
1062 return result;
1063 }
1064
1065 function chooseOuterRow(
1066 candidates,
1067 link
1068 ){
1069 if(!candidates.length){
1070 return link;
1071 }
1072
1073 var bordered=
1074 candidates.filter(function(el){
1075 return (
1076 num(
1077 getComputedStyle(el)
1078 .borderLeftWidth
1079 )>=1
1080 );
1081 });
1082
1083 var pool=
1084 bordered.length
1085 ?bordered
1086 :candidates;
1087
1088 pool.sort(function(a,b){
1089 var ar=
1090 a.getBoundingClientRect();
1091
1092 var br=
1093 b.getBoundingClientRect();
1094
1095 return (
1096 ar.left-br.left||
1097 br.width-ar.width
1098 );
1099 });
1100
1101 return pool[0]||link;
1102 }
1103
1104 function applyOverviewPalette(){
1105 if(PAGE_KIND!=="overview"){
1106 return [];
1107 }
1108
1109 var headers=
1110 smallestThemeHeaders()
1111 .map(function(el){
1112 return {
1113 el:el,
1114 theme:
1115 themeFor(
1116 el.textContent
1117 ),
1118 card:
1119 findOverviewCard(
1120 el
1121 )
1122 };
1123 })
1124 .filter(function(row){
1125 return !!row.card;
1126 });
1127
1128 var unique=[];
1129 var seenHeaders=new Set();
1130
1131 headers.forEach(function(row){
1132 var key=
1133 row.theme.name+
1134 "|"+
1135 Math.round(
1136 row.card
1137 .getBoundingClientRect()
1138 .left
1139 )+
1140 "|"+
1141 Math.round(
1142 row.el
1143 .getBoundingClientRect()
1144 .top
1145 );
1146
1147 if(!seenHeaders.has(key)){
1148 seenHeaders.add(key);
1149 unique.push(row);
1150 }
1151 });
1152
1153 unique.forEach(function(row){
1154 var headerRect=
1155 row.el
1156 .getBoundingClientRect();
1157
1158 row.el.style.setProperty(
1159 "background",
1160 row.theme.bg,
1161 "important"
1162 );
1163
1164 row.el.style.setProperty(
1165 "color",
1166 row.theme.text,
1167 "important"
1168 );
1169
1170 row.el.style.setProperty(
1171 "text-align",
1172 "left",
1173 "important"
1174 );
1175
1176 row.el.style.setProperty(
1177 "word-spacing",
1178 "normal",
1179 "important"
1180 );
1181
1182 var later=
1183 unique
1184 .filter(function(other){
1185 return (
1186 other.card===row.card&&
1187 other.el
1188 .getBoundingClientRect()
1189 .top>
1190 headerRect.top+2
1191 );
1192 })
1193 .sort(function(a,b){
1194 return (
1195 a.el
1196 .getBoundingClientRect()
1197 .top-
1198 b.el
1199 .getBoundingClientRect()
1200 .top
1201 );
1202 });
1203
1204 var stopTop=
1205 later.length
1206 ?later[0].el
1207 .getBoundingClientRect()
1208 .top
1209 :Infinity;
1210
1211 Array.from(
1212 row.card.querySelectorAll("a")
1213 ).forEach(function(link){
1214 if(!visible(link))return;
1215
1216 var rect=
1217 link.getBoundingClientRect();
1218
1219 if(
1220 rect.top<=
1221 headerRect.bottom-2||
1222 rect.top>=
1223 stopTop-2
1224 ){
1225 return;
1226 }
1227
1228 var candidates=
1229 rowCandidates(
1230 link,
1231 row.card
1232 );
1233
1234 var target=
1235 chooseOuterRow(
1236 candidates,
1237 link
1238 );
1239
1240 candidates.forEach(function(el){
1241 el.style.setProperty(
1242 "border-left",
1243 "0 solid transparent",
1244 "important"
1245 );
1246 });
1247
1248 target.style.setProperty(
1249 "border-left",
1250 "3px solid "+
1251 row.theme.accent,
1252 "important"
1253 );
1254
1255 target.style.setProperty(
1256 "box-sizing",
1257 "border-box",
1258 "important"
1259 );
1260 });
1261 });
1262
1263 return unique;
1264 }
1265
1266 /* =======================================================
1267 OVERVIEW CARD HEIGHT + FIRST THEMATIC ROW
1268 ======================================================= */
1269
1270 function alignOverviewCards(headers){
1271 if(
1272 PAGE_KIND!=="overview"||
1273 window.innerWidth<=MOBILE_MAX
1274 ){
1275 return;
1276 }
1277
1278 var cards=[];
1279 var seen=new Set();
1280
1281 headers.forEach(function(row){
1282 if(!seen.has(row.card)){
1283 seen.add(row.card);
1284 cards.push(row.card);
1285 }
1286 });
1287
1288 if(cards.length<2){
1289 return;
1290 }
1291
1292 // Group cards by actual top position.
1293 var groups=[];
1294
1295 cards.forEach(function(card){
1296 var top=
1297 card.getBoundingClientRect().top;
1298
1299 var group=null;
1300
1301 for(var i=0;i<groups.length;i++){
1302 if(
1303 Math.abs(
1304 groups[i].top-top
1305 )<=ROW_TOLERANCE
1306 ){
1307 group=groups[i];
1308 break;
1309 }
1310 }
1311
1312 if(!group){
1313 group={
1314 top:top,
1315 cards:[]
1316 };
1317 groups.push(group);
1318 }
1319
1320 group.cards.push(card);
1321 });
1322
1323 groups.forEach(function(group){
1324 if(group.cards.length<2){
1325 return;
1326 }
1327
1328 var firstHeaders=
1329 group.cards.map(function(card){
1330 var candidates=
1331 headers
1332 .filter(function(row){
1333 return row.card===card;
1334 })
1335 .sort(function(a,b){
1336 return (
1337 a.el
1338 .getBoundingClientRect()
1339 .top-
1340 b.el
1341 .getBoundingClientRect()
1342 .top
1343 );
1344 });
1345
1346 return candidates.length
1347 ?candidates[0]
1348 :null;
1349 });
1350
1351 if(
1352 !firstHeaders.some(function(row){
1353 return !row;
1354 })
1355 ){
1356 var targetTop=
1357 Math.max.apply(
1358 Math,
1359 firstHeaders.map(function(row){
1360 return (
1361 row.el
1362 .getBoundingClientRect()
1363 .top-
1364 row.card
1365 .getBoundingClientRect()
1366 .top
1367 );
1368 })
1369 );
1370
1371 firstHeaders.forEach(function(row){
1372 var relativeTop=
1373 row.el
1374 .getBoundingClientRect()
1375 .top-
1376 row.card
1377 .getBoundingClientRect()
1378 .top;
1379
1380 var delta=
1381 targetTop-relativeTop;
1382
1383 if(delta>1){
1384 saveStyle(
1385 row.el,
1386 originalMargin,
1387 "margin-top"
1388 );
1389
1390 var current=
1391 num(
1392 getComputedStyle(
1393 row.el
1394 ).marginTop
1395 );
1396
1397 row.el.style.setProperty(
1398 "margin-top",
1399 (
1400 current+delta
1401 )+"px"
1402 );
1403
1404 row.el.setAttribute(
1405 "data-sn-master-first-row",
1406 "1"
1407 );
1408
1409 managedMargin.add(
1410 row.el
1411 );
1412 }
1413 });
1414 }
1415
1416 var maxHeight=0;
1417
1418 group.cards.forEach(function(card){
1419 maxHeight=
1420 Math.max(
1421 maxHeight,
1422 card
1423 .getBoundingClientRect()
1424 .height
1425 );
1426 });
1427
1428 maxHeight=
1429 Math.ceil(maxHeight);
1430
1431 group.cards.forEach(function(card){
1432 saveStyle(
1433 card,
1434 originalHeight,
1435 "min-height"
1436 );
1437
1438 card.style.setProperty(
1439 "min-height",
1440 maxHeight+"px"
1441 );
1442
1443 card.setAttribute(
1444 "data-sn-master-equal-height",
1445 "1"
1446 );
1447
1448 managedHeight.add(
1449 card
1450 );
1451 });
1452 });
1453 }
1454
1455 /* =======================================================
1456 DETAIL GRID EQUAL HEIGHT, DESKTOP ONLY
1457 ======================================================= */
1458
1459 function equaliseDetailGrids(){
1460 if(
1461 PAGE_KIND!=="detail"||
1462 window.innerWidth<=MOBILE_MAX
1463 ){
1464 return;
1465 }
1466
1467 var selectors=[
1468 ".arsn-grid",
1469 ".arsn-grid-2",
1470 ".arsn-grid-3",
1471 ".dmp-grid",
1472 ".ido-grid",
1473 ".pp-grid"
1474 ];
1475
1476 selectors.forEach(function(selector){
1477 Array.from(
1478 root.querySelectorAll(selector)
1479 ).forEach(function(grid){
1480 var children=
1481 Array.from(
1482 grid.children||[]
1483 ).filter(visible);
1484
1485 if(children.length<2){
1486 return;
1487 }
1488
1489 var groups=[];
1490
1491 children.forEach(function(child){
1492 var top=
1493 child
1494 .getBoundingClientRect()
1495 .top;
1496
1497 var group=null;
1498
1499 for(var i=0;i<groups.length;i++){
1500 if(
1501 Math.abs(
1502 groups[i].top-top
1503 )<=ROW_TOLERANCE
1504 ){
1505 group=groups[i];
1506 break;
1507 }
1508 }
1509
1510 if(!group){
1511 group={
1512 top:top,
1513 items:[]
1514 };
1515 groups.push(group);
1516 }
1517
1518 group.items.push(child);
1519 });
1520
1521 groups.forEach(function(group){
1522 if(group.items.length<2){
1523 return;
1524 }
1525
1526 var maxHeight=0;
1527
1528 group.items.forEach(function(item){
1529 maxHeight=
1530 Math.max(
1531 maxHeight,
1532 item
1533 .getBoundingClientRect()
1534 .height
1535 );
1536 });
1537
1538 maxHeight=
1539 Math.ceil(maxHeight);
1540
1541 group.items.forEach(function(item){
1542 saveStyle(
1543 item,
1544 originalHeight,
1545 "min-height"
1546 );
1547
1548 item.style.setProperty(
1549 "min-height",
1550 maxHeight+"px"
1551 );
1552
1553 item.setAttribute(
1554 "data-sn-master-equal-height",
1555 "1"
1556 );
1557
1558 managedHeight.add(item);
1559 });
1560 });
1561 });
1562 });
1563 }
1564
1565 /* =======================================================
1566 RUN / RESPONSIVE SCHEDULING
1567 ======================================================= */
1568
1569 function run(){
1570 if(running)return;
1571
1572 running=true;
1573
1574 try{
1575 resetRuntime();
1576 applyPlaceholderBadge();
1577 propagateDetailAccents();
1578
1579 var headers=
1580 applyOverviewPalette();
1581
1582 makeThreeLineAreaLabels();
1583 makeFilledRedOrangeCTAsBorderless();
1584
1585 if(
1586 window.innerWidth>
1587 MOBILE_MAX
1588 ){
1589 alignOverviewCards(
1590 headers
1591 );
1592
1593 equaliseDetailGrids();
1594 }
1595 }finally{
1596 running=false;
1597 }
1598 }
1599
1600 function onResize(){
1601 if(resizeTimer){
1602 clearTimeout(
1603 resizeTimer
1604 );
1605 }
1606
1607 resizeTimer=
1608 setTimeout(
1609 function(){
1610 resizeTimer=0;
1611 run();
1612 },
1613 RESIZE_DEBOUNCE
1614 );
1615 }
1616
1617 async function waitForReady(){
1618 if(
1619 document.readyState!=="complete"
1620 ){
1621 await new Promise(function(resolve){
1622 window.addEventListener(
1623 "load",
1624 resolve,
1625 {once:true}
1626 );
1627 });
1628 }
1629
1630 if(
1631 document.fonts&&
1632 document.fonts.ready
1633 ){
1634 try{
1635 await document.fonts.ready;
1636 }catch(error){}
1637 }
1638
1639 var images=
1640 Array.from(
1641 root.querySelectorAll("img")
1642 );
1643
1644 await Promise.all(
1645 images.map(function(img){
1646 if(img.complete){
1647 return Promise.resolve();
1648 }
1649
1650 return new Promise(function(resolve){
1651 var done=function(){
1652 resolve();
1653 };
1654
1655 img.addEventListener(
1656 "load",
1657 done,
1658 {once:true}
1659 );
1660
1661 img.addEventListener(
1662 "error",
1663 done,
1664 {once:true}
1665 );
1666 });
1667 })
1668 );
1669
1670 run();
1671 }
1672
1673 window.addEventListener(
1674 "resize",
1675 onResize,
1676 {passive:true}
1677 );
1678
1679 waitForReady();
1680 })();
1681 </script>
1682
1683 <!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_END -->
1684 {{/html}}