Copyrights Guard
Wat het is
Copyrights Guard is een Drupal-module die auteursrechtelijke beperkingen afdwingt op het niveau van afzonderlijke velden. Voor elk entiteitstype dat een beheerder als beheerd markeert, beslist deze veld voor veld of de huidige kijker een beschermde waarde mag zien, en verbergt alles wat beperkt of niet geregistreerd is voor iedereen behalve de site-eigenaar.
Het is de handhavingshelft van een tweedelig systeem: een aparte familie van modules, field_copyright, copyrights en copyrights_ext, registreert wie welke rechten op een stuk inhoud heeft, en Copyrights Guard handelt alleen op basis van wat die registraties zeggen. Het is gebouwd en in gebruik in ontwikkeling op MADDev's eigen onderzoeksplatform, waar het schriftpassages en vertalingen beschermt als zijn eerste aangesloten inhoud; het draait nog niet op een publieke site.
In één oogopslag
- Modules
copyrights_guard, de enige module; geen submodules- Drupal core
- 10 of 11
- Vereist
- Geen harde afhankelijkheden buiten Drupal core
- Entiteitstypen
- Geen eigen entiteitstypen; het is een beleidslaag over velden op entiteitstypen die door andere modules worden geleverd
- Werkt met
- Elk entiteitstype dat is geconfigureerd met een licentieveld en een of meer te beschermen velden
- Fair-use-fragment
- Een kort openbaar fragment dat is toegestaan op beperkte content, standaard 30 woorden
- Status
- Gebouwd en in gebruik tijdens de ontwikkeling op MADDev's eigen onderzoeksplatform, waarbij het Schriftgedeelten en vertalingen beschermt als de eerste aangesloten content. Draait nog niet op een publieke site.
Wat het toevoegt aan een Drupal-site
Toegangspoort op veldniveau
Het volledige handhavingsopervlak van de module is één hook, hook_entity_field_access(). Deze werkt alleen op de weergavebewerking: op een beheerde entiteit zijn de velden die als contentvelden zijn geconfigureerd, verboden voor elke kijker anders dan gebruiker 1, het account van de site-eigenaar, terwijl elk ander veld, zoals titel, citatie, herkomst of andere metadata, onaangeroerd en openbaar blijft. Bewerken en verwijderen worden volledig overgelaten aan de eigen access handler van de hostentiteit. De hook beheerst het renderpad van Drupal's Field API; een renderpad dat de waarde van een veld rechtstreeks leest en die laag omzeilt, valt er niet onder en heeft een eigen controle nodig.
Service
De service copyrights_guard.guard (klasse CopyrightGuard) is de API van de module voor andere code:
- of een entiteitstype wordt beheerd, en welke velden ervan beschermd zijn
- of een gegeven entiteit beperkt is, of helemaal geen geregistreerde licentie heeft
- de licentie, rechthebbende en contactpersoon van een entiteit
- een fair-use fragment van een stuk tekst
Instellingen
Een beheerformulier op /admin/config/content/copyrights-guard, achter de administer site configuration-permissie, laat een beheerder kiezen welke entiteitstypen worden beheerd, extra beperkte licentie-identificaties toevoegen en de lengte van het fair-use fragment instellen. De rest van copyrights_guard.settings, de mapping van elk beheerd type naar zijn licentie-, houder-, contact- en contentvelden, wordt rechtstreeks in de configuratie ingesteld in plaats van via het formulier.
Drush-opdracht
copyrights-guard:incomplete (alias cg:incomplete) geeft elke beheerde entiteit zonder geregistreerde licentie weer, de fail-safe werklijst van de module.
Ontwerpbeslissingen
- Scherm de inhoud af, niet de catalogus. Handhaving werkt veld per veld in plaats van op de hele entiteit, zodat de titel, het bestaan, het auteurschap en de citering van een afgeschermd werk openbaar blijven, en alleen het inhoudsveld of de inhoudsvelden die voor dat type zijn geconfigureerd, worden verborgen.
- Alleen de site-eigenaar ziet afgeschermde inhoud. De uitzondering is het account van de site-eigenaar (gebruiker 1), bewust geen permissie, zodat geen enkele rol per ongeluk toegang kan krijgen.
- Standaard weigeren. Een beheerde entiteit zonder geregistreerde licentie wordt automatisch als afgeschermd behandeld: iets ten onrechte publiceren wordt als de ernstigere fout beschouwd, en het verbergen van iets dat legaal getoond had kunnen worden als de minder ernstige fout.
- Markeringen voor vrije licenties worden vóór beperkingsmarkeringen gecontroleerd. Een echte Creative Commons- of publiekdomeinverklaring bevat vaak nog steeds een copyrightregel, omdat Creative Commons-licenties zelf op copyright zijn gebaseerd, dus zoekt de module eerst naar bewoordingen voor vrije licenties, om te voorkomen dat een vrij gelicentieerd werk ten onrechte wordt afgeschermd.
- Het fair-use-fragment is beperkt tot de helft van de lengte van de brontekst, niet tot een vast aantal woorden, zodat een korte beschermde tekst niet kan worden omgezet in een fragment dat in feite het hele werk is.
- Veldtoewijzing is volledig configuratiegestuurd. Een nieuw beheerd entiteitstype wordt via instellingen gekoppeld, niet via code, zodat de module nooit een bepaald entiteitstype of veldnaam hardcodeert.
Start een project.
Vertel ons wat er op uw site beschermd moet worden, en wat eromheen zichtbaar moet blijven.