"VAL_ValCustomization" . "VAL_ValCustomization" . . . "VAL_ValCustomization" . . . . . "2017-06-13T06:03:21Z" . . "e71349958c801b31a108be572a0d5ddc" . . . . . "%META:TOPICPARENT{name=\"ValQuickStartGuide\"}%\n\n---+ VAL Customization\n\n%TOC%\n\n---++ Introduction\n\nVAL can be customized in various ways, by manipulating the triples in a set of pre-defined private graphs.\nTypically these details will be hidden behind user interface elements, but it is good to know them anyway.\n\n\n---++ Customizing the Standard VAL Authentication Page\n\nVAL allows some customization of the authenticate.vsp page (also see the [[VAL_AuthenticateVspTutorial][the VAL VSP Authentication Tutorial]]).\n\n---+++ Customizing the Logos\n\nLogos displayed on the authentication page can easily be customized per application realm. By default, VAL shows details about \nthe identity provider on the left, and the Virtuoso logo as the image on the right.\n\nTo set the left and right logos for the default realm, one can simply insert corresponding triples into the VAL config graph:\n\n\nSPARQL\nPREFIX oplcfg: \nPREFIX oplacl: \nINSERT\n INTO \n {\n oplacl:DefaultRealm oplcfg:hasLeftLogo ;\n oplcfg:hasRightLogo .\n };\n\n\n\nSimilarly, the href targets of these logos (which default as shown here) can be set via:\n\nSPARQL\nPREFIX oplcfg: \nPREFIX oplacl: \nINSERT\n INTO \n {\n oplacl:DefaultRealm oplcfg:hasLeftAnchor ;\n oplcfg:hasRightAnchor .\n};\n\n\n---+++ Customizing the Access Request Dialog\n\nThere are two modes to how the Access Request Dialog is to be presented: \n * the user needs to press a button to show it (the default)\n * the dialog is shown automatically when an authenticated person is has been denied access to a resource\n\nThis setting is tied to the application realm, which means that it does not apply to any other realm.\n\nTo show the dialog automatically in the default realm, one sets the following property:\n\nSPARQL\nPREFIX oplcfg: \nINSERT\n INTO \n {\n oplcfg:hasRequestAccessDialogMode oplcfg:SimpleRequestAccessDialog\n };\n\n\nTo restore the default, one simply deletes the configuration:\n\nSPARQL\nPREFIX oplcfg: \nDELETE\n FROM \n {\n oplcfg:hasRequestAccessDialogMode oplcfg:SimpleRequestAccessDialog\n };\n\n\n\n---++ Customizing the ACL Graphs\n\nThe VAL ACL system uses a set of named graphs to store rules, groups, and restrictions. By default, VAL uses one graph for each combination \nof application realm and ACL resource type. It uses the default hostname (HOST in the example below) of the Virtuoso instance.\n\nExample: The default graph which stores the rules in the default realm is the following:\n\nhttp://HOST/acl/graph/rules/http%3A%2F%2Fwww.openlinksw.com%2Fontology%2Facl%23DefaultRealm\n\n\nOn firsts usage of the API to create a rule, group, or restriction this graph will be created and made private. It will then be stored in the\nVAL configuration using the oplacl:hasRuleDocument property:\n\n\n{ oplacl:DefaultRealm oplacl:hasRuleDocument }\n\n\nIt is possible to customize these graphs (ideally before the API creates them) which might be desireable for manual ACL resource creation\nvia SPARQL Insert. Since VAL will honor the setting above one can simply add the required triples into the VAL config graph.\n\nExample: Given that one wants to change the rule, group, and restriction graphs for the default application realm, the following will do:\n\n\nSPARQL\nPREFIX oplacl: \nPREFIX oplres: \nWITH \n INSERT\n {\n oplacl:DefaultRealm oplacl:hasRuleDocument ;\n oplacl:hasGroupDocument ;\n oplres:hasRestrictionDocument .\n };\n\n\nVAL will honor these settings, and store and read all rules, groups, and restrictions from the configured graphs.\n\n\nWarnings: \n\n * Be aware that VAL does not automatically migrate rules, groups, and restrictions between graphs. This means that changing\nthe graph identifiers will disable existing rules, groups, and restrictions.\n%BR%%BR%\n * It is highly recommended that these graphs be made and kept private:\n\nDB.DBA.RDF_GRAPH_GROUP_INS\n ( 'http://www.openlinksw.com/schemas/virtrdf#PrivateGraphs', 'urn:acl:rules' );\nDB.DBA.RDF_GRAPH_GROUP_INS\n ( 'http://www.openlinksw.com/schemas/virtrdf#PrivateGraphs', 'urn:acl:groups' );\nDB.DBA.RDF_GRAPH_GROUP_INS\n ( 'http://www.openlinksw.com/schemas/virtrdf#PrivateGraphs', 'urn:acl:restrictions' );\n\n\n---++ Customizing the Page Footers\n\nVAL's own /sparql integration allows to set a custom page footer. This can be used to for example show social sharing controls\nvia Javascript commands. Each endpoint has its own configuration. The following example shows how the main /sparql endpoint of\nhttp://my.openlinksw.com can be enhanced with social sharing controls:\n\n\nSPARQL\nPREFIX oplcfg: \nWITH \n INSERT \n {\n oplcfg:hasFooter [\n a oplcfg:HtmlSnippet ;\n oplcfg:hasHtmlBody \"\"\"\n \n \"\"\"\n ] \n }\n\n" . "2017-06-13T06:03:21.411094"^^ . "2017-06-13T06:03:21Z" . "2017-06-13T06:03:21.411094"^^ . . . . .