Changes for page Copyright, Rights & Licences
Last modified by Veronika Kocher on Friday, 18 Sep 2026 16:47
From version 5.10
edited by Veronika Kocher
on Thursday, 03 Sep 2026 10:09
on Thursday, 03 Sep 2026 10:09
Change comment:
There is no comment for this version
To version 7.1
edited by Veronika Kocher
on Thursday, 03 Sep 2026 14:57
on Thursday, 03 Sep 2026 14:57
Change comment:
There is no comment for this version
Summary
-
Page properties (3 modified, 0 added, 0 removed)
-
Objects (0 modified, 1 added, 0 removed)
Details
- Page properties
-
- Default language
-
... ... @@ -1,0 +1,1 @@ 1 +en - Enforce required rights
-
... ... @@ -1,1 +1,1 @@ 1 - false1 +true - Content
-
... ... @@ -1,1187 +1,230 @@ 1 - Clarify copyright, third-party rights, permissions andlicensing before materialsarereused, shared or published.1 +{{html clean="false"}} 2 2 3 -== Overview == 3 +<style> 4 +.crl{max-width:1400px;margin:0 auto;color:#322f2b} 5 +.crl *{box-sizing:border-box} 6 +.crl-card{border:1px solid #e3ded6;border-radius:11px;background:#fcfbf8;box-shadow:0 1px 3px rgba(0,0,0,.035)} 7 +.crl-hero{height:132px;overflow:hidden;background:#f1eee9;border-radius:11px 11px 0 0} 8 +.crl-hero img{width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block} 9 +.crl-eye{font-size:12px;font-weight:700;letter-spacing:.075em;text-transform:uppercase} 10 +.crl-sec{margin:0 0 27px 0} 11 +.crl-sec h3{font-size:22px;line-height:1.25;margin:0 0 7px;color:#35312d;text-align:left!important;text-align-last:left!important;text-justify:auto!important;word-spacing:normal!important} 12 +.crl-sec>p{color:#625d56;line-height:1.58;margin:0 0 13px} 13 +.crl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:12px} 14 +.crl-grid-2{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:12px} 15 +.crl-info{padding:15px 17px;border:1px solid #c7e5ed;border-left:5px solid #21b6d7;background:#eaf6f9;border-radius:8px;color:#365e68;line-height:1.5} 16 +.crl-info strong{color:#2d5661} 17 +.crl-rights{padding:15px 17px;border:1px solid #ecdba3;border-left:5px solid #f0aa00;background:#fff8e7;border-radius:8px;color:#675a35;line-height:1.5} 18 +.crl-rights strong{color:#705416} 19 +.crl-warn{padding:15px 17px;border:1px solid #efd9cc;border-left:5px solid #e94b13;background:#fff6f1;border-radius:8px;color:#67564e;line-height:1.5} 20 +.crl-warn strong{color:#744531} 21 +.crl-check{position:relative;padding:12px 13px 12px 37px;border:1px solid #e3ded6;border-radius:8px;background:#fffdf9;color:#504a44;line-height:1.5} 22 +.crl-check:before{content:"✓";position:absolute;left:13px;top:10px;color:#f0aa00;font-weight:800} 23 +.crl-step{position:relative;padding:13px 14px 13px 50px;border:1px solid #e3ded6;border-radius:8px;background:#fcfbf8;min-height:76px} 24 +.crl-step .n{position:absolute;left:13px;top:13px;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff3d5;color:#765812;font-weight:800;font-size:12px} 25 +.crl-step h4{margin:0 0 4px;font-size:16px;line-height:1.3;color:#3b352e;text-align:left!important;text-align-last:left!important;text-justify:auto!important;word-spacing:normal!important} 26 +.crl-step p{margin:0;color:#625d56;line-height:1.45} 27 +.crl-scenario{padding:14px 15px;border:1px solid #e3ded6;border-top:4px solid #f0aa00;border-radius:9px;background:#fcfbf8} 28 +.crl-scenario h4{margin:0 0 6px;font-size:16px;color:#3e372e;text-align:left!important;word-spacing:normal!important} 29 +.crl-scenario p{margin:0;color:#625d56;line-height:1.5} 30 +.crl-table-wrap{overflow-x:auto;border:1px solid #e3ded6;border-radius:8px} 31 +.crl-table{width:100%;border-collapse:collapse;background:#fffdf9;min-width:920px} 32 +.crl-table th,.crl-table td{padding:10px 11px;border-bottom:1px solid #e3ded6;vertical-align:top;text-align:left;line-height:1.4} 33 +.crl-table th{background:#f3efe8;color:#403b36;font-weight:700} 34 +.crl-table tr:last-child td{border-bottom:0} 35 +.crl-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px} 36 +.crl-service{display:block;padding:13px 14px;border:1px solid #e3ded6;border-left:4px solid #f0aa00;border-radius:8px;background:#fcfbf8;color:#2f2b27;text-decoration:none} 37 +.crl-service:hover,.crl-service:focus{background:#fffdf9;text-decoration:none} 38 +.crl-service strong{display:block;margin-bottom:4px} 39 +.crl-service span{display:block;color:#625d56;line-height:1.45;font-weight:400} 40 +.crl-linkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px} 41 +.crl-navlink{display:block;padding:10px 11px;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:6px;background:#fffdf9;color:#252321;text-decoration:none;font-weight:600;line-height:1.35} 42 +.crl-navlink:hover,.crl-navlink:focus{background:#fffaf0;text-decoration:none} 43 +.crl-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px} 44 +.crl-resource{padding:15px 16px;background:#fcfbf8;border:1px solid #e3ded6;border-radius:9px} 45 +.crl-resource strong{display:block;color:#4c4130;margin-bottom:4px} 46 +.crl-badge{display:inline-block;margin:5px 0 7px;padding:4px 8px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.055em;line-height:1.2} 47 +.crl-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} 48 +.crl h1,.crl h2,.crl h3,.crl h4,.crl h5,.crl h6,.crl h1 a,.crl h2 a,.crl h3 a,.crl h4 a,.crl h5 a,.crl h6 a{text-align:left!important;text-align-last:left!important;text-justify:auto!important;word-spacing:normal!important} 49 +@media(max-width:850px){.crl-grid-2,.crl-resource-grid{grid-template-columns:1fr}} 50 +@media(max-width:680px){.crl-hero{height:105px}.crl-sec h3{font-size:20px}} 51 +</style> 4 4 5 - Add a conciseexplanation of thistopic and why it mattersfor Art & Research projects.53 +<div class="crl"> 6 6 7 -== What you need to know == 55 +<section class="crl-card" style="margin-bottom:18px;overflow:hidden;border-left:6px solid #f0aa00;"> 56 + <div class="crl-hero"> 57 + <img src="https://xwiki.uni-ak.ac.at/bin/download/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/WebHome/enable.png" alt="Copyright, rights and licences in artistic and research projects" /> 58 + </div> 59 + <div style="padding:18px 21px 20px;"> 60 + <div class="crl-eye" style="color:#7a5b12;margin-bottom:5px;">ENABLE · PROTECT & CLARIFY</div> 61 + <h2 style="font-size:27px;line-height:1.2;margin:0 0 8px;color:#2c2926;">Clarify rights early — so that use, publication and reuse remain possible later</h2> 62 + <p style="margin:0;color:#5e5953;line-height:1.6;max-width:1160px;"> 63 + Copyright, third-party rights, permissions, contracts and licences determine what you can do with texts, images, music, film, software, data, documentation and artistic works. 64 + Do not postpone rights clearance until just before publication or exhibition; connect it to the intended use from the start. 65 + </p> 66 + </div> 67 +</section> 8 8 9 -* Key concepts 10 -* Relevant requirements 11 -* Important distinctions 69 +<div class="crl-info" style="margin-bottom:14px;"> 70 + <strong>Start from the intended use.</strong> 71 + The same file can raise different rights questions depending on whether it is analysed internally, shown in an exhibition, published online, deposited in a repository, adapted or distributed under an open licence. 72 +</div> 12 12 13 -== What you need to do == 74 +<div class="crl-warn" style="margin-bottom:27px;"> 75 + <strong>Planning guidance — not binding legal advice.</strong> 76 + This page helps you identify and document rights questions early. Binding legal assessments, contract questions and unclear chains of rights should be referred to the Legal Department or the appropriate specialist service. 77 +</div> 14 14 15 -1. Identify what applies to your project. 16 -2. Document the relevant decisions. 17 -3. Use appropriate institutional services and support where needed. 79 +<section class="crl-sec"> 80 + <div class="crl-eye" style="color:#8a4d36;margin-bottom:4px;">STEP 1 · CREATE A RIGHTS INVENTORY</div> 81 + <h3>Connect rights to a specific use, not only to a document</h3> 82 + <p>For each important material or output, record at least where it came from, who is involved and what you intend to do with it.</p> 83 + <div class="crl-grid"> 84 + <div class="crl-check"><strong>Material / output:</strong> What exactly is being used — text, image, video, sound, code, dataset, artwork, documentation or another type?</div> 85 + <div class="crl-check"><strong>Source:</strong> Where did it come from and under what conditions was it obtained, created or received?</div> 86 + <div class="crl-check"><strong>Rights holders:</strong> Who created the material and who holds or administers the relevant rights?</div> 87 + <div class="crl-check"><strong>Intended use:</strong> internal use, analysis, adaptation, exhibition, publication, website, streaming, repository, teaching or reuse?</div> 88 + <div class="crl-check"><strong>Permission / licence:</strong> Which contractual, statutory or licence-based basis permits the intended use?</div> 89 + <div class="crl-check"><strong>Limits:</strong> Are there restrictions concerning medium, territory, duration, adaptation, sublicensing, access or audience?</div> 90 + <div class="crl-check"><strong>Evidence:</strong> Where are the contract, licence text, permission email, consent form or other records stored?</div> 91 + <div class="crl-check"><strong>Review point:</strong> When should the rights decision be checked again — for example before publication, exhibition or project closure?</div> 92 + </div> 93 +</section> 18 18 19 -== Key questions == 95 +<section class="crl-sec"> 96 + <div class="crl-eye" style="color:#7a5b12;margin-bottom:4px;">KEY DISTINCTIONS</div> 97 + <h3>These concepts are not interchangeable</h3> 98 + <div class="crl-grid"> 99 + <div class="crl-rights"><strong>Owning an object ≠owning copyright.</strong><br>Possessing a physical work, book, photograph or storage medium does not automatically give permission to reproduce, publish or license it.</div> 100 + <div class="crl-rights"><strong>Credit / citation ≠permission.</strong><br>Correct attribution is important, but it does not automatically replace a required permission to use the material.</div> 101 + <div class="crl-rights"><strong>A participant's consent ≠rights in all content.</strong><br>Participation, image rights, data protection and copyright can all be relevant at the same time and need separate consideration.</div> 102 + <div class="crl-rights"><strong>Licence ≠transfer of all rights.</strong><br>A licence permits specified uses under defined conditions; it does not automatically mean that every right has been transferred.</div> 103 + <div class="crl-rights"><strong>Available online ≠free to reuse.</strong><br>Public access or downloadability does not itself establish permission to adapt, republish or redistribute material.</div> 104 + <div class="crl-rights"><strong>Open licence ≠rights clearance.</strong><br>You can only apply Creative Commons or another open licence to rights that you or the project are actually authorised to license.</div> 105 + </div> 106 +</section> 20 20 21 -* What needs to be decided? 22 -* Who is responsible? 23 -* What needs to be documented? 24 -* Are there legal, ethical or technical constraints? 25 -* What needs to happen before the next project phase? 108 +<section class="crl-sec"> 109 + <div class="crl-eye" style="color:#8a4d36;margin-bottom:4px;">STEP 2 · PRACTICAL WORKFLOW</div> 110 + <h3>Make rights clearance part of the project workflow</h3> 111 + <div class="crl-grid"> 112 + <div class="crl-step"><div class="n">01</div><h4>Describe the intended use</h4><p>State clearly what you want to do with the material and through which channels it should be accessible.</p></div> 113 + <div class="crl-step"><div class="n">02</div><h4>Mark third-party material</h4><p>Keep your own material, contributions from project partners and external third-party content visibly distinct.</p></div> 114 + <div class="crl-step"><div class="n">03</div><h4>Check the chain of rights</h4><p>Identify creators, rights holders, contractual responsibilities and existing licences or terms of use.</p></div> 115 + <div class="crl-step"><div class="n">04</div><h4>Obtain missing permissions</h4><p>Secure permissions early and, where possible, make sure they explicitly cover the uses you actually plan.</p></div> 116 + <div class="crl-step"><div class="n">05</div><h4>Store evidence with the material</h4><p>Link rights documentation to the files, objects or datasets to which it applies.</p></div> 117 + <div class="crl-step"><div class="n">06</div><h4>Choose a licence for your own output</h4><p>Only after the rights chain is clear should you decide whether and under what conditions your own outputs may be reused.</p></div> 118 + <div class="crl-step"><div class="n">07</div><h4>Recheck before release</h4><p>Confirm rights, credits, consent, platform conditions and access model before exhibition, upload, repository deposit or publication.</p></div> 119 + <div class="crl-step"><div class="n">08</div><h4>Record changes</h4><p>Update the rights documentation when new materials, partners, media, platforms or publication formats are introduced.</p></div> 120 + </div> 121 +</section> 26 26 27 -== Services & Tools == 123 +<section class="crl-sec"> 124 + <div class="crl-eye" style="color:#7a5b12;margin-bottom:4px;">COMMON SCENARIOS</div> 125 + <h3>These materials often involve several rights questions at once</h3> 126 + <div class="crl-grid"> 127 + <div class="crl-scenario"><h4>Images, artworks & reproductions</h4><p>Check copyright, reproduction rights, collection or contractual conditions, credits and the specific publication or exhibition use.</p></div> 128 + <div class="crl-scenario"><h4>Music, sound, film & audiovisual media</h4><p>Composition, recording, performance, visual material and contributors can involve different rights or permissions. Clarify media and distribution routes early.</p></div> 129 + <div class="crl-scenario"><h4>Interviews, portraits & participatory work</h4><p>Copyright, personality rights, consent, data protection and agreed forms of publication may all be relevant alongside each other.</p></div> 130 + <div class="crl-scenario"><h4>Software, code, data & digital resources</h4><p>Check licence terms, dependencies, data sources, platform conditions and whether your intended outputs are compatible with the terms of incorporated components.</p></div> 131 + <div class="crl-scenario"><h4>Archives, collections & found material</h4><p>Access to an object or scan does not automatically include a right to publish it. Record collection conditions, rights information and required permissions.</p></div> 132 + <div class="crl-scenario"><h4>Commissioned work & external contributions</h4><p>Record in writing what is being delivered, which uses are permitted, which credits apply and what may be reused after the project ends.</p></div> 133 + </div> 134 +</section> 28 28 29 -Add links to relevant institutional services, infrastructure and tools. 136 +<section class="crl-sec"> 137 + <div class="crl-eye" style="color:#8a4d36;margin-bottom:4px;">STEP 3 · KEEP A RIGHTS RECORD</div> 138 + <h3>A simple rights log prevents decisions from disappearing</h3> 139 + <p>The rights log can be part of your material inventory, DMP or project folder. The important point is that it remains findable together with the materials it governs.</p> 140 + <div class="crl-table-wrap"> 141 + <table class="crl-table"> 142 + <thead><tr><th>Field</th><th>What to record</th><th>Why it matters</th></tr></thead> 143 + <tbody> 144 + <tr><td><strong>Material / ID</strong></td><td>Clear name, file path, object or inventory number.</td><td>Connects rights information to the correct material.</td></tr> 145 + <tr><td><strong>Source & creator</strong></td><td>Origin, author/artist, collection, platform or project partner.</td><td>Makes the chain of rights traceable.</td></tr> 146 + <tr><td><strong>Rights holder / contact</strong></td><td>Person or organisation able to authorise the relevant use.</td><td>Shows who must be contacted again if the use changes.</td></tr> 147 + <tr><td><strong>Intended use</strong></td><td>Medium, channel, adaptation, territory, duration, audience and access level.</td><td>Rights decisions always relate to concrete uses.</td></tr> 148 + <tr><td><strong>Licence / permission</strong></td><td>Licence type, contract, consent, permission or another legal basis.</td><td>Records why the planned use is considered permissible.</td></tr> 149 + <tr><td><strong>Restrictions</strong></td><td>Credits, embargo, no-derivatives condition, time/territory limits or platform requirements.</td><td>Prevents unauthorised downstream or future uses.</td></tr> 150 + <tr><td><strong>Evidence</strong></td><td>Path or link to contract, licence text, email or signed form.</td><td>Keeps the decision verifiable beyond the project period.</td></tr> 151 + <tr><td><strong>Review</strong></td><td>Date or event for rechecking, such as publication or project closure.</td><td>Prevents an old permission from being assumed to cover a new use.</td></tr> 152 + </tbody> 153 + </table> 154 + </div> 155 +</section> 30 30 31 -== Info Sheets & Checklists == 157 +<section class="crl-sec"> 158 + <div class="crl-eye" style="color:#8a4d36;margin-bottom:4px;">STOP & CHECK</div> 159 + <h3>Common warning signs in rights and licensing</h3> 160 + <div class="crl-grid"> 161 + <div class="crl-warn"><strong>"It's on the internet, so we can use it."</strong><br>Public availability is not automatic permission to reuse material.</div> 162 + <div class="crl-warn"><strong>"We will credit the source, so that is enough."</strong><br>Credit and rights clearance serve different purposes.</div> 163 + <div class="crl-warn"><strong>Permission without a defined use.</strong><br>A broad approval can become unclear when online publication, adaptation, streaming or repository deposit is added later.</div> 164 + <div class="crl-warn"><strong>An open licence is chosen before third-party rights are cleared.</strong><br>An open licence must not promise rights that the project does not control.</div> 165 + <div class="crl-warn"><strong>Rights evidence exists only in one person's mailbox.</strong><br>Permissions should be documented in the project and remain findable at handover.</div> 166 + <div class="crl-warn"><strong>New platform or new use, but no new review.</strong><br>Platforms, media, audiences or adaptations can create additional rights questions.</div> 167 + </div> 168 +</section> 32 32 33 -Add links to related Info Sheets, checklists and templates. 170 +<section class="crl-sec"> 171 + <div class="crl-eye" style="color:#7a5b12;margin-bottom:4px;">SERVICES & SUPPORT</div> 172 + <h3>Who to involve at the Angewandte</h3> 173 + <div class="crl-service-grid"> 174 + <a class="crl-service" href="https://www.dieangewandte.at/universitaet/organisation/planung_service_und_verwaltung/rechtsabteilung" target="_blank" rel="noopener"> 175 + <strong>Legal Department ↗</strong> 176 + <span>For binding legal questions, contract review, chains of rights and complex or unclear uses. Contact: rechtsabteilung@uni-ak.ac.at</span> 177 + </a> 178 + <a class="crl-service" href="https://www.dieangewandte.at/university_library" target="_blank" rel="noopener"> 179 + <strong>University Library ↗</strong> 180 + <span>For publication practice, information resources and questions related to repository workflows, metadata and publication documentation.</span> 181 + </a> 182 + <a class="crl-service" href="https://phaidra.bibliothek.uni-ak.ac.at/" target="_blank" rel="noopener"> 183 + <strong>Angewandte Repository ↗</strong> 184 + <span>For deposit and publication routes, metadata and access models for suitable digital outputs. Contact: repositorium@uni-ak.ac.at</span> 185 + </a> 186 + <a class="crl-service" href="https://www.dieangewandte.at/universitaet/organisation/planung_service_und_verwaltung/support_kunst_und_forschung" target="_blank" rel="noopener"> 187 + <strong>Support Art & Research ↗</strong> 188 + <span>For project and funder requirements and for coordinating the project route where rights questions interact with grant conditions, deliverables, partners or publication obligations.</span> 189 + </a> 190 + </div> 191 +</section> 34 34 35 -== Tutorials == 193 +<section class="crl-sec"> 194 + <div class="crl-eye" style="color:#8a4d36;margin-bottom:4px;">RELATED TOPICS</div> 195 + <h3>Rights questions are often connected to these decisions</h3> 196 + <div class="crl-linkgrid"> 197 + <a class="crl-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 & Ethics</a> 198 + <a class="crl-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 & Research Outputs</a> 199 + <a class="crl-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Plan%20Your%20Data%20Management/">Plan Your Data Management</a> 200 + <a class="crl-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 & Provenance</a> 201 + <a class="crl-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> 202 + <a class="crl-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Manage%20Access%2C%20Reuse%20%26%20Licensing/">Manage Access, Reuse & Licensing</a> 203 + </div> 204 +</section> 36 36 206 +<section class="crl-sec"> 207 + <div class="crl-eye" style="color:#8a4d36;margin-bottom:4px;">PRACTICAL RESOURCES</div> 208 + <h3>Info sheets, tutorials and templates</h3> 209 + <div class="crl-resource-grid"> 210 + <div class="crl-resource"><strong>Info Sheets</strong><span class="crl-badge">COMING SOON</span><div style="color:#625d56;line-height:1.45;">Short guidance on copyright, Creative Commons, image/media rights and rights clearance.</div></div> 211 + <div class="crl-resource"><strong>Tutorials</strong><span class="crl-badge">COMING SOON</span><div style="color:#625d56;line-height:1.45;">Step-by-step workflows for rights inventories, permissions, credits and licence selection.</div></div> 212 + <div class="crl-resource"><strong>Checklists & Templates</strong><span class="crl-badge">COMING SOON</span><div style="color:#625d56;line-height:1.45;">Templates for a rights log, permissions, publication checks and project handover.</div></div> 213 + </div> 214 +</section> 37 37 38 -{{html}}<span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px 0;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>{{/html}} 39 -Add links to step-by-step tutorials for this topic. 216 +<div class="crl-info" style="margin-bottom:14px;"> 217 + <strong>Need help finding the right route?</strong> 218 + For binding legal questions, start with the Legal Department. If the rights question is part of a funded or project-based activity, Support Art & Research can help coordinate the appropriate specialist service and project route. 219 +</div> 40 40 41 -== Related Topics == 221 +<details style="margin-top:24px;padding-top:10px;border-top:1px solid #e3ded6;"> 222 + <summary style="cursor:pointer;color:#6a655e;font-size:13px;">Search terms & related topics</summary> 223 + <div style="margin-top:9px;color:#5c5650;font-size:12px;line-height:1.7;"> 224 + copyright · third-party rights · permissions · licence · licensing · Creative Commons · CC BY · open licence · open content · rights holder · author · artist rights · image rights · photography rights · music rights · film rights · sound recording · performance · reproduction · publication right · online publication · streaming · exhibition · repository · consent · personality rights · data protection · interview · portrait · credits · attribution · citation · contract · permission · clearance · chain of rights · software licence · open source · data reuse · archival material · collections · embargo · reuse 225 + </div> 226 +</details> 42 42 43 -Add links to related pages in Enable, Work & Manage, and Publish & Share. 44 - 45 -== Who is responsible? == 46 - 47 -{{html}}<!-- ARSN_TOPIC_ROUTING_V1 -->{{/html}} 48 -{{info title="Service routing"}} 49 -**Primary specialist service(s):** Legal Department for binding legal questions and contracts; Publications and/or University Library for publication and licensing practice where relevant. 50 - 51 -**Role of Support Kunst und Forschung (SKF):** Coordinates funder and project requirements and routes legal questions; it is not the legal authority. 52 -{{/info}} 53 - 54 -If you are unsure which route applies, start with the service named above. For funded or project-based research where several units are involved, SKF can coordinate the project route. 55 - 56 -{{html}} 57 -<!-- ARSN_SEARCH_TERMS_START --> 58 -<details class="arsn-search-terms" style="margin-top:28px;padding-top:10px;border-top:1px solid #eee;"> 59 -<summary style="cursor:pointer;color:#666;font-size:13px;">Search terms & related topics</summary> 60 -<div style="margin-top:9px;color:#555;font-size:13px;"> 61 -<p style="margin:0 0 8px 0;"> 62 -This topic can also be found through related terms, synonyms and common search queries. 63 -Select a term to search the Art & Research Services Navigator. 64 -</p> 65 -<p style="margin:0;"><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=art%20and%20research#arsn-search-input" class="arsn-search-term" data-search-term="art and research" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">art and research</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=enable#arsn-search-input" class="arsn-search-term" data-search-term="enable" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">enable</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=copyright#arsn-search-input" class="arsn-search-term" data-search-term="copyright" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">copyright</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=rights#arsn-search-input" class="arsn-search-term" data-search-term="rights" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">rights</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=licensing#arsn-search-input" class="arsn-search-term" data-search-term="licensing" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">licensing</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=licences#arsn-search-input" class="arsn-search-term" data-search-term="licences" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">licences</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=third-party%20rights#arsn-search-input" class="arsn-search-term" data-search-term="third-party rights" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">third-party rights</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=creative%20commons#arsn-search-input" class="arsn-search-term" data-search-term="creative commons" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">creative commons</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=permissions#arsn-search-input" class="arsn-search-term" data-search-term="permissions" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">permissions</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=urheberrecht#arsn-search-input" class="arsn-search-term" data-search-term="urheberrecht" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">urheberrecht</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=rights%20clearance#arsn-search-input" class="arsn-search-term" data-search-term="rights clearance" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">rights clearance</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=cc%20licence#arsn-search-input" class="arsn-search-term" data-search-term="cc licence" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">cc licence</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=cc%20license#arsn-search-input" class="arsn-search-term" data-search-term="cc license" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">cc license</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=usage%20rights#arsn-search-input" class="arsn-search-term" data-search-term="usage rights" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">usage rights</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=nutzungsrechte#arsn-search-input" class="arsn-search-term" data-search-term="nutzungsrechte" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">nutzungsrechte</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=rechtekl%C3%A4rung#arsn-search-input" class="arsn-search-term" data-search-term="rechteklärung" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">rechteklärung</a></p> 66 66 </div> 67 -</details> 68 -<!-- ARSN_SEARCH_TERMS_END --> 69 69 {{/html}} 70 70 71 -\n\n 72 -\n\n{{html clean="false"}} 73 -<!-- SN_HORIZONTAL_BOX_HARMONIZER_START --> 74 - 75 -<style data-sn-horizontal-box-harmonizer="7"> 76 -/* ---------- Typography: never justify headings ---------- */ 77 -#xwikicontent h1, 78 -#xwikicontent h2, 79 -#xwikicontent h3, 80 -#xwikicontent h4, 81 -#xwikicontent h5, 82 -#xwikicontent h6, 83 -#xwikicontent .box-title, 84 -#xwikicontent [role="heading"], 85 -#xwikicontent h1 a, 86 -#xwikicontent h2 a, 87 -#xwikicontent h3 a, 88 -#xwikicontent h4 a, 89 -#xwikicontent h5 a, 90 -#xwikicontent h6 a, 91 -#xwikicontent .box-title a, 92 -#xwikicontent [role="heading"] a{ 93 - text-align:left!important; 94 - text-justify:auto!important; 95 - word-spacing:normal!important; 96 -} 97 - 98 -/* ---------- Native XWiki semantic callouts ---------- */ 99 -#xwikicontent .box.infomessage, 100 -#xwikicontent .infomessage, 101 -#xwikicontent .box.warningmessage, 102 -#xwikicontent .warningmessage, 103 -#xwikicontent .box.successmessage, 104 -#xwikicontent .successmessage, 105 -#xwikicontent .box.errormessage, 106 -#xwikicontent .errormessage, 107 -#xwikicontent [data-sn-callout-harmonized="1"]{ 108 - box-sizing:border-box!important; 109 - border-radius:8px!important; 110 - border-top:1px solid rgba(0,0,0,.08)!important; 111 - border-right:1px solid rgba(0,0,0,.08)!important; 112 - border-bottom:1px solid rgba(0,0,0,.08)!important; 113 - border-left:4px solid var(--sn-callout-accent,#21b6d7)!important; 114 - padding:14px 16px!important; 115 - text-align:left!important; 116 - text-justify:auto!important; 117 - word-spacing:normal!important; 118 - box-shadow:none!important; 119 -} 120 - 121 -#xwikicontent .box.infomessage, 122 -#xwikicontent .infomessage{ 123 - --sn-callout-accent:#21b6d7; 124 - background:#eaf7fb!important; 125 -} 126 - 127 -#xwikicontent .box.warningmessage, 128 -#xwikicontent .warningmessage{ 129 - --sn-callout-accent:#f0aa00; 130 - background:#fff8e7!important; 131 -} 132 - 133 -#xwikicontent .box.successmessage, 134 -#xwikicontent .successmessage{ 135 - --sn-callout-accent:#38b76a; 136 - background:#edf9f1!important; 137 -} 138 - 139 -#xwikicontent .box.errormessage, 140 -#xwikicontent .errormessage{ 141 - --sn-callout-accent:#e94b13; 142 - background:#fff1ec!important; 143 -} 144 - 145 -#xwikicontent [data-sn-callout-harmonized="1"] > :first-child, 146 -#xwikicontent .infomessage > :first-child, 147 -#xwikicontent .warningmessage > :first-child, 148 -#xwikicontent .successmessage > :first-child, 149 -#xwikicontent .errormessage > :first-child{ 150 - margin-top:0!important; 151 -} 152 - 153 -#xwikicontent [data-sn-callout-harmonized="1"] > :last-child, 154 -#xwikicontent .infomessage > :last-child, 155 -#xwikicontent .warningmessage > :last-child, 156 -#xwikicontent .successmessage > :last-child, 157 -#xwikicontent .errormessage > :last-child{ 158 - margin-bottom:0!important; 159 -} 160 - 161 -#xwikicontent [data-sn-equal-height-managed], 162 -#xwikicontent [data-sn-first-section-aligned], 163 -#xwikicontent [data-sn-first-content-aligned]{ 164 - box-sizing:border-box; 165 -} 166 -</style> 167 - 168 -<script data-sn-horizontal-box-harmonizer="7"> 169 -(function(){ 170 - "use strict"; 171 - 172 - var MOBILE_MAX=767; 173 - var ROW_TOLERANCE=6; 174 - var MIN_W=150; 175 - var MIN_H=36; 176 - var MAX_PARENT_CHILDREN=18; 177 - var SEARCH_DEPTH=5; 178 - var RESIZE_DEBOUNCE=220; 179 - var MIN_WIDTH_CHANGE=2; 180 - 181 - var root= 182 - document.getElementById("xwikicontent")|| 183 - document.querySelector(".xwiki-rendering-content")|| 184 - document.querySelector("main")|| 185 - document.body; 186 - 187 - if(!root)return; 188 - 189 - var heightManaged=new Set(); 190 - var sectionManaged=new Set(); 191 - var contentManaged=new Set(); 192 - 193 - var originalMinHeight=new WeakMap(); 194 - var originalMarginTop=new WeakMap(); 195 - 196 - var resizeTimer=0; 197 - var lastWidth=-1; 198 - var hasApplied=false; 199 - var applying=false; 200 - 201 - function num(v){ 202 - var n=parseFloat(v); 203 - return Number.isFinite(n)?n:0; 204 - } 205 - 206 - function visible(el,minW,minH){ 207 - if(!el||el.nodeType!==1)return false; 208 - 209 - var s=getComputedStyle(el); 210 - 211 - if( 212 - s.display==="none"|| 213 - s.visibility==="hidden"|| 214 - Number(s.opacity)===0 215 - ){ 216 - return false; 217 - } 218 - 219 - var r=el.getBoundingClientRect(); 220 - 221 - return ( 222 - r.width>=(minW||1)&& 223 - r.height>=(minH||1) 224 - ); 225 - } 226 - 227 - function normalizeText(text){ 228 - return String(text||"") 229 - .replace(/\s+/g," ") 230 - .trim() 231 - .toUpperCase(); 232 - } 233 - 234 - function excluded(el){ 235 - return ( 236 - !el.matches|| 237 - el.matches( 238 - "button,input,select,textarea,option,label,img,svg,canvas,table,thead,tbody,tfoot,tr,td,th,summary,script,style,noscript,template,.btn,.chip,[role=button]" 239 - ) 240 - ); 241 - } 242 - 243 - /* ---------- Custom coloured callouts ---------- */ 244 - 245 - function nativeCallout(el){ 246 - var c= 247 - typeof el.className==="string" 248 - ? el.className.toLowerCase() 249 - : ""; 250 - 251 - return ( 252 - /(^|\s)(infomessage|warningmessage|successmessage|errormessage)(\s|$)/.test(c) 253 - ); 254 - } 255 - 256 - function customCallout(el){ 257 - if(!visible(el,220,42)||excluded(el))return false; 258 - 259 - var r=el.getBoundingClientRect(); 260 - 261 - if(r.height>520)return false; 262 - 263 - var s=getComputedStyle(el); 264 - 265 - var bg= 266 - s.backgroundColor&& 267 - s.backgroundColor!=="rgba(0, 0, 0, 0)"&& 268 - s.backgroundColor!=="transparent"&& 269 - s.backgroundColor!=="rgb(255, 255, 255)"; 270 - 271 - var left= 272 - num(s.borderLeftWidth); 273 - 274 - return ( 275 - bg&& 276 - left>=2 277 - ); 278 - } 279 - 280 - function harmoniseCustomCallouts(){ 281 - Array.from( 282 - root.querySelectorAll( 283 - "div,aside,section" 284 - ) 285 - ).forEach(function(el){ 286 - if(nativeCallout(el))return; 287 - if(!customCallout(el))return; 288 - 289 - var s=getComputedStyle(el); 290 - 291 - el.setAttribute( 292 - "data-sn-callout-harmonized", 293 - "1" 294 - ); 295 - 296 - if( 297 - s.borderLeftColor 298 - ){ 299 - el.style.setProperty( 300 - "--sn-callout-accent", 301 - s.borderLeftColor 302 - ); 303 - } 304 - }); 305 - } 306 - 307 - /* ---------- Restore only values V7 itself changed ---------- */ 308 - 309 - function saveOriginal(el,map,property){ 310 - if(map.has(el))return; 311 - 312 - map.set(el,{ 313 - value: 314 - el.style.getPropertyValue( 315 - property 316 - ), 317 - priority: 318 - el.style.getPropertyPriority( 319 - property 320 - ) 321 - }); 322 - } 323 - 324 - function restoreOriginal(el,map,property){ 325 - var original=map.get(el); 326 - 327 - if(original&&original.value){ 328 - el.style.setProperty( 329 - property, 330 - original.value, 331 - original.priority||"" 332 - ); 333 - }else{ 334 - el.style.removeProperty( 335 - property 336 - ); 337 - } 338 - } 339 - 340 - function resetRuntime(){ 341 - heightManaged.forEach(function(el){ 342 - restoreOriginal( 343 - el, 344 - originalMinHeight, 345 - "min-height" 346 - ); 347 - 348 - el.removeAttribute( 349 - "data-sn-equal-height-managed" 350 - ); 351 - }); 352 - 353 - sectionManaged.forEach(function(el){ 354 - restoreOriginal( 355 - el, 356 - originalMarginTop, 357 - "margin-top" 358 - ); 359 - 360 - el.removeAttribute( 361 - "data-sn-first-section-aligned" 362 - ); 363 - }); 364 - 365 - contentManaged.forEach(function(el){ 366 - restoreOriginal( 367 - el, 368 - originalMarginTop, 369 - "margin-top" 370 - ); 371 - 372 - el.removeAttribute( 373 - "data-sn-first-content-aligned" 374 - ); 375 - }); 376 - 377 - heightManaged.clear(); 378 - sectionManaged.clear(); 379 - contentManaged.clear(); 380 - } 381 - 382 - /* ---------- Card detection ---------- */ 383 - 384 - function namedLikeBox(el){ 385 - var c= 386 - typeof el.className==="string" 387 - ? el.className 388 - : ""; 389 - 390 - return /(^|[\s_-])(box|card|tile|panel|role|check|service|source|call|area|detail|resource|topic|warn|info)([\s_-]|$)/i.test(c); 391 - } 392 - 393 - function boxLike(el){ 394 - if( 395 - !visible(el,MIN_W,MIN_H)|| 396 - excluded(el) 397 - ){ 398 - return false; 399 - } 400 - 401 - var s=getComputedStyle(el); 402 - var r=el.getBoundingClientRect(); 403 - 404 - var border= 405 - num(s.borderTopWidth)+ 406 - num(s.borderRightWidth)+ 407 - num(s.borderBottomWidth)+ 408 - num(s.borderLeftWidth); 409 - 410 - var radius=Math.max( 411 - num(s.borderTopLeftRadius), 412 - num(s.borderTopRightRadius), 413 - num(s.borderBottomLeftRadius), 414 - num(s.borderBottomRightRadius) 415 - ); 416 - 417 - var bg= 418 - s.backgroundColor&& 419 - s.backgroundColor!=="rgba(0, 0, 0, 0)"&& 420 - s.backgroundColor!=="transparent"; 421 - 422 - var shadow= 423 - s.boxShadow&& 424 - s.boxShadow!=="none"; 425 - 426 - return ( 427 - namedLikeBox(el)|| 428 - border>=1|| 429 - (bg&&radius>=3)|| 430 - (shadow&&r.width>=180) 431 - ); 432 - } 433 - 434 - function pickTarget(child){ 435 - if(!visible(child,MIN_W,MIN_H))return null; 436 - 437 - if(boxLike(child))return child; 438 - 439 - var cr=child.getBoundingClientRect(); 440 - var q=[]; 441 - 442 - Array.from(child.children||[]).forEach(function(el){ 443 - q.push({el:el,depth:1}); 444 - }); 445 - 446 - var best=null; 447 - var bestScore=-Infinity; 448 - 449 - while(q.length){ 450 - var item=q.shift(); 451 - var el=item.el; 452 - 453 - if(!visible(el,MIN_W,MIN_H))continue; 454 - 455 - var r=el.getBoundingClientRect(); 456 - 457 - if( 458 - r.width>=cr.width*.68&& 459 - boxLike(el) 460 - ){ 461 - var widthFit= 462 - 1-Math.min( 463 - 1, 464 - Math.abs(cr.width-r.width)/ 465 - Math.max(1,cr.width) 466 - ); 467 - 468 - var topFit= 469 - 1-Math.min( 470 - 1, 471 - Math.abs(cr.top-r.top)/100 472 - ); 473 - 474 - var score= 475 - widthFit*6+ 476 - topFit*3+ 477 - Math.min(r.height,900)/450+ 478 - Math.min(r.width*r.height,900000)/900000; 479 - 480 - if(score>bestScore){ 481 - best=el; 482 - bestScore=score; 483 - } 484 - } 485 - 486 - if(item.depth<SEARCH_DEPTH){ 487 - Array.from(el.children||[]).forEach(function(next){ 488 - q.push({ 489 - el:next, 490 - depth:item.depth+1 491 - }); 492 - }); 493 - } 494 - } 495 - 496 - return best; 497 - } 498 - 499 - function groupRows(entries){ 500 - var groups=[]; 501 - 502 - entries 503 - .slice() 504 - .sort(function(a,b){ 505 - return ( 506 - a.rect.top-b.rect.top|| 507 - a.rect.left-b.rect.left 508 - ); 509 - }) 510 - .forEach(function(entry){ 511 - var group=null; 512 - 513 - for(var i=0;i<groups.length;i++){ 514 - if( 515 - Math.abs( 516 - groups[i].top- 517 - entry.rect.top 518 - )<=ROW_TOLERANCE 519 - ){ 520 - group=groups[i]; 521 - break; 522 - } 523 - } 524 - 525 - if(!group){ 526 - group={ 527 - top:entry.rect.top, 528 - entries:[] 529 - }; 530 - groups.push(group); 531 - } 532 - 533 - group.entries.push(entry); 534 - }); 535 - 536 - return groups; 537 - } 538 - 539 - function validRow(group){ 540 - if(group.entries.length<2)return false; 541 - 542 - var lefts= 543 - group.entries 544 - .map(function(e){return e.rect.left;}) 545 - .sort(function(a,b){return a-b;}); 546 - 547 - if( 548 - lefts[lefts.length-1]- 549 - lefts[0]< 550 - 80 551 - ){ 552 - return false; 553 - } 554 - 555 - var widths= 556 - group.entries 557 - .map(function(e){return e.rect.width;}) 558 - .filter(function(w){return w>0;}); 559 - 560 - if(widths.length<2)return false; 561 - 562 - var minW= 563 - Math.min.apply(Math,widths); 564 - 565 - var maxW= 566 - Math.max.apply(Math,widths); 567 - 568 - return ( 569 - maxW/ 570 - Math.max(1,minW)<= 571 - 1.9 572 - ); 573 - } 574 - 575 - /* ---------- Known ARSN first section bars ---------- */ 576 - 577 - function knownBar(el){ 578 - var text= 579 - normalizeText( 580 - el.textContent 581 - ); 582 - 583 - return ( 584 - text==="HIER STARTEN"|| 585 - text==="ORGANISIEREN & DOKUMENTIEREN"|| 586 - text==="ENTSCHEIDEN"|| 587 - text==="START HERE"|| 588 - text==="GET STARTED"|| 589 - text==="ORGANISE & DOCUMENT"|| 590 - text==="ORGANIZE & DOCUMENT"|| 591 - text==="DECIDE" 592 - ); 593 - } 594 - 595 - function findKnownBar(card){ 596 - var cardRect= 597 - card.getBoundingClientRect(); 598 - 599 - var rows= 600 - Array.from( 601 - card.querySelectorAll( 602 - "div,p,span,strong,h3,h4,h5,h6" 603 - ) 604 - ) 605 - .filter(function(el){ 606 - if(!visible(el,20,6))return false; 607 - if(!knownBar(el))return false; 608 - 609 - var r=el.getBoundingClientRect(); 610 - 611 - var rel= 612 - r.top- 613 - cardRect.top; 614 - 615 - return ( 616 - rel>=35&& 617 - rel<= 618 - cardRect.height*.75 619 - ); 620 - }) 621 - .sort(function(a,b){ 622 - return ( 623 - a.getBoundingClientRect().top- 624 - b.getBoundingClientRect().top 625 - ); 626 - }); 627 - 628 - return rows[0]||null; 629 - } 630 - 631 - function alignKnownBars(cards){ 632 - var rows= 633 - cards.map(function(card){ 634 - var bar= 635 - findKnownBar(card); 636 - 637 - if(!bar)return null; 638 - 639 - var cr= 640 - card.getBoundingClientRect(); 641 - 642 - var br= 643 - bar.getBoundingClientRect(); 644 - 645 - return { 646 - bar:bar, 647 - relativeTop: 648 - br.top- 649 - cr.top 650 - }; 651 - }); 652 - 653 - if( 654 - rows.some(function(row){ 655 - return !row; 656 - }) 657 - ){ 658 - return false; 659 - } 660 - 661 - var target= 662 - Math.max.apply( 663 - Math, 664 - rows.map(function(row){ 665 - return row.relativeTop; 666 - }) 667 - ); 668 - 669 - rows.forEach(function(row){ 670 - var delta= 671 - target- 672 - row.relativeTop; 673 - 674 - if(delta<=1)return; 675 - 676 - saveOriginal( 677 - row.bar, 678 - originalMarginTop, 679 - "margin-top" 680 - ); 681 - 682 - var current= 683 - num( 684 - getComputedStyle( 685 - row.bar 686 - ).marginTop 687 - ); 688 - 689 - row.bar.style.setProperty( 690 - "margin-top", 691 - ( 692 - current+ 693 - delta 694 - )+"px" 695 - ); 696 - 697 - row.bar.setAttribute( 698 - "data-sn-first-section-aligned", 699 - "7" 700 - ); 701 - 702 - sectionManaged.add( 703 - row.bar 704 - ); 705 - }); 706 - 707 - return true; 708 - } 709 - 710 - /* ---------- Generic first content after heading ---------- */ 711 - 712 - function heading(card){ 713 - var cr= 714 - card.getBoundingClientRect(); 715 - 716 - var rows= 717 - Array.from( 718 - card.querySelectorAll( 719 - "h1,h2,h3,h4,h5,h6,.box-title,[role=heading]" 720 - ) 721 - ) 722 - .filter(function(el){ 723 - if(!visible(el,20,8))return false; 724 - 725 - var r=el.getBoundingClientRect(); 726 - 727 - var rel= 728 - r.top- 729 - cr.top; 730 - 731 - return ( 732 - rel>=0&& 733 - rel<= 734 - Math.min( 735 - 160, 736 - cr.height*.45 737 - ) 738 - ); 739 - }) 740 - .sort(function(a,b){ 741 - return ( 742 - a.getBoundingClientRect().top- 743 - b.getBoundingClientRect().top 744 - ); 745 - }); 746 - 747 - return rows[0]||null; 748 - } 749 - 750 - function firstContent(card,h){ 751 - if(!h)return null; 752 - 753 - var cr= 754 - card.getBoundingClientRect(); 755 - 756 - var hr= 757 - h.getBoundingClientRect(); 758 - 759 - var rows= 760 - Array.from( 761 - card.querySelectorAll( 762 - "p,div,ul,ol,dl,blockquote" 763 - ) 764 - ) 765 - .filter(function(el){ 766 - if( 767 - el===h|| 768 - h.contains(el)|| 769 - el.contains(h) 770 - ){ 771 - return false; 772 - } 773 - 774 - if(!visible(el,30,8))return false; 775 - 776 - var text= 777 - String(el.textContent||"") 778 - .replace(/\s+/g," ") 779 - .trim(); 780 - 781 - if(text.length<3)return false; 782 - 783 - var r=el.getBoundingClientRect(); 784 - 785 - if( 786 - r.top< 787 - hr.bottom-1 788 - ){ 789 - return false; 790 - } 791 - 792 - if( 793 - r.top-cr.top> 794 - Math.min( 795 - 280, 796 - cr.height*.65 797 - ) 798 - ){ 799 - return false; 800 - } 801 - 802 - if( 803 - r.height> 804 - cr.height*.58 805 - ){ 806 - return false; 807 - } 808 - 809 - return true; 810 - }) 811 - .sort(function(a,b){ 812 - var ar= 813 - a.getBoundingClientRect(); 814 - 815 - var br= 816 - b.getBoundingClientRect(); 817 - 818 - return ( 819 - ar.top-br.top|| 820 - ar.height-br.height 821 - ); 822 - }); 823 - 824 - return rows[0]||null; 825 - } 826 - 827 - function alignGeneric(cards){ 828 - var rows= 829 - cards.map(function(card){ 830 - var h= 831 - heading(card); 832 - 833 - var c= 834 - firstContent( 835 - card, 836 - h 837 - ); 838 - 839 - if(!h||!c)return null; 840 - 841 - var cr= 842 - card.getBoundingClientRect(); 843 - 844 - var rr= 845 - c.getBoundingClientRect(); 846 - 847 - return { 848 - content:c, 849 - relativeTop: 850 - rr.top-cr.top 851 - }; 852 - }); 853 - 854 - if( 855 - rows.some(function(row){ 856 - return !row; 857 - }) 858 - ){ 859 - return false; 860 - } 861 - 862 - var target= 863 - Math.max.apply( 864 - Math, 865 - rows.map(function(row){ 866 - return row.relativeTop; 867 - }) 868 - ); 869 - 870 - rows.forEach(function(row){ 871 - var delta= 872 - target- 873 - row.relativeTop; 874 - 875 - if(delta<=1)return; 876 - 877 - saveOriginal( 878 - row.content, 879 - originalMarginTop, 880 - "margin-top" 881 - ); 882 - 883 - var current= 884 - num( 885 - getComputedStyle( 886 - row.content 887 - ).marginTop 888 - ); 889 - 890 - row.content.style.setProperty( 891 - "margin-top", 892 - ( 893 - current+ 894 - delta 895 - )+"px" 896 - ); 897 - 898 - row.content.setAttribute( 899 - "data-sn-first-content-aligned", 900 - "7" 901 - ); 902 - 903 - contentManaged.add( 904 - row.content 905 - ); 906 - }); 907 - 908 - return true; 909 - } 910 - 911 - function applyRow(group){ 912 - if(!validRow(group))return false; 913 - 914 - var cards=[]; 915 - var seen=new Set(); 916 - 917 - group.entries.forEach(function(entry){ 918 - if(!seen.has(entry.target)){ 919 - seen.add(entry.target); 920 - cards.push(entry.target); 921 - } 922 - }); 923 - 924 - if(cards.length<2)return false; 925 - 926 - if( 927 - !alignKnownBars(cards) 928 - ){ 929 - alignGeneric(cards); 930 - } 931 - 932 - var maxHeight=0; 933 - 934 - cards.forEach(function(card){ 935 - maxHeight= 936 - Math.max( 937 - maxHeight, 938 - card.getBoundingClientRect().height 939 - ); 940 - }); 941 - 942 - maxHeight= 943 - Math.ceil( 944 - maxHeight 945 - ); 946 - 947 - if(maxHeight<MIN_H)return false; 948 - 949 - cards.forEach(function(card){ 950 - saveOriginal( 951 - card, 952 - originalMinHeight, 953 - "min-height" 954 - ); 955 - 956 - card.style.setProperty( 957 - "min-height", 958 - maxHeight+"px" 959 - ); 960 - 961 - card.setAttribute( 962 - "data-sn-equal-height-managed", 963 - "7" 964 - ); 965 - 966 - heightManaged.add(card); 967 - }); 968 - 969 - return true; 970 - } 971 - 972 - function calculate(force){ 973 - if(applying)return; 974 - 975 - var width= 976 - Math.round( 977 - window.innerWidth 978 - ); 979 - 980 - var meaningful= 981 - lastWidth<0|| 982 - Math.abs( 983 - width- 984 - lastWidth 985 - )>= 986 - MIN_WIDTH_CHANGE; 987 - 988 - if( 989 - hasApplied&& 990 - !force&& 991 - !meaningful 992 - ){ 993 - return; 994 - } 995 - 996 - applying=true; 997 - 998 - try{ 999 - harmoniseCustomCallouts(); 1000 - 1001 - if(width<=MOBILE_MAX){ 1002 - if(hasApplied){ 1003 - resetRuntime(); 1004 - } 1005 - 1006 - hasApplied=false; 1007 - lastWidth=width; 1008 - return; 1009 - } 1010 - 1011 - if(hasApplied){ 1012 - resetRuntime(); 1013 - } 1014 - 1015 - var parents= 1016 - Array.from( 1017 - root.querySelectorAll("*") 1018 - ) 1019 - .filter(function(parent){ 1020 - return ( 1021 - visible( 1022 - parent, 1023 - MIN_W, 1024 - MIN_H 1025 - )&& 1026 - parent.children&& 1027 - parent.children.length>=2&& 1028 - parent.children.length<= 1029 - MAX_PARENT_CHILDREN 1030 - ); 1031 - }); 1032 - 1033 - var touched= 1034 - new Set(); 1035 - 1036 - parents.forEach(function(parent){ 1037 - var entries=[]; 1038 - 1039 - Array.from( 1040 - parent.children 1041 - ).forEach(function(child){ 1042 - if( 1043 - !visible( 1044 - child, 1045 - MIN_W, 1046 - MIN_H 1047 - ) 1048 - ){ 1049 - return; 1050 - } 1051 - 1052 - var target= 1053 - pickTarget(child); 1054 - 1055 - if(!target)return; 1056 - 1057 - entries.push({ 1058 - target:target, 1059 - rect: 1060 - target.getBoundingClientRect() 1061 - }); 1062 - }); 1063 - 1064 - groupRows( 1065 - entries 1066 - ).forEach(function(group){ 1067 - if(!validRow(group))return; 1068 - 1069 - var targets= 1070 - group.entries.map(function(entry){ 1071 - return entry.target; 1072 - }); 1073 - 1074 - if( 1075 - !targets.some(function(el){ 1076 - return !touched.has(el); 1077 - }) 1078 - ){ 1079 - return; 1080 - } 1081 - 1082 - if(applyRow(group)){ 1083 - targets.forEach(function(el){ 1084 - touched.add(el); 1085 - }); 1086 - } 1087 - }); 1088 - }); 1089 - 1090 - lastWidth=width; 1091 - hasApplied=true; 1092 - }finally{ 1093 - applying=false; 1094 - } 1095 - } 1096 - 1097 - function resize(){ 1098 - if(resizeTimer){ 1099 - clearTimeout( 1100 - resizeTimer 1101 - ); 1102 - } 1103 - 1104 - resizeTimer= 1105 - setTimeout( 1106 - function(){ 1107 - resizeTimer=0; 1108 - calculate(false); 1109 - }, 1110 - RESIZE_DEBOUNCE 1111 - ); 1112 - } 1113 - 1114 - function waitImages(){ 1115 - var images= 1116 - Array.from( 1117 - root.querySelectorAll("img") 1118 - ); 1119 - 1120 - return Promise.all( 1121 - images.map(function(img){ 1122 - if(img.complete){ 1123 - return Promise.resolve(); 1124 - } 1125 - 1126 - return new Promise(function(resolve){ 1127 - var done=function(){ 1128 - resolve(); 1129 - }; 1130 - 1131 - img.addEventListener( 1132 - "load", 1133 - done, 1134 - {once:true} 1135 - ); 1136 - 1137 - img.addEventListener( 1138 - "error", 1139 - done, 1140 - {once:true} 1141 - ); 1142 - }); 1143 - }) 1144 - ); 1145 - } 1146 - 1147 - async function initial(){ 1148 - if( 1149 - document.readyState!== 1150 - "complete" 1151 - ){ 1152 - await new Promise(function(resolve){ 1153 - addEventListener( 1154 - "load", 1155 - resolve, 1156 - {once:true} 1157 - ); 1158 - }); 1159 - } 1160 - 1161 - if( 1162 - document.fonts&& 1163 - document.fonts.ready 1164 - ){ 1165 - try{ 1166 - await document.fonts.ready; 1167 - }catch(error){} 1168 - } 1169 - 1170 - await waitImages(); 1171 - 1172 - // Exactly one initial layout calculation. 1173 - calculate(true); 1174 - } 1175 - 1176 - addEventListener( 1177 - "resize", 1178 - resize, 1179 - {passive:true} 1180 - ); 1181 - 1182 - initial(); 1183 -})(); 1184 -</script> 1185 - 1186 -<!-- SN_HORIZONTAL_BOX_HARMONIZER_END --> 1187 -{{/html}}\n
- XWiki.RequiredRightClass[0]
-
- level
-
... ... @@ -1,0 +1,1 @@ 1 +script