Hi Paul,

EVN (and its sister product EDG) provide various extension mechanisms that can be used to customize the appearance without modifying the system files (such as teamwork.ui.ttlx). SPARQL Web Pages (SWP) is used in most places, and others are entirely model-driven and depend on RDF data in some files.

For you specific scenario in 5.2, you have two options:

1) Apply a so-called override (http://uispin.org/ui.html#overrides) to the element that populates the menu: teamwork:MainMenu. To do that, create a new RDF/SWP file (ending with ui.ttlx), import teamwork.ui.ttlx and then create a subclass of teamwork:MainMenu that points at teamwork:MainMenu via ui:overrides. This mechanism would allow you to completely replace the main menu, e.g. you could start with the existing ui:prototype of teamwork:MainMenu and modify it.

However, I think what you need is something simpler, namely a menu item that open something on the right hand side of the screen:

2) Define a teamwork:HomePageTab and tell the EVN product about it. EVN will populate a tab for each instance of HomePageTab that it can find in any ui.ttlx file. I have prepared this in the attache file. Place this into your workspace (or upload it to the EVN server) to see the extra menu item.



The key triples of the example file are:

rdf:type teamwork:HomePageTab ;
  ui:prototype """
<div>Hello World</div>
"""^^ui:Literal ;
  rdfs:label "My HomePage Tab" ;
  rdfs:subClassOf teamwork:HomePageTabs ;
.

to declare the home page tab, and

evnproduct:EVN
  teamwork:homePageTab mainMenuExample:MyHomePageTab ;
.

to tell EVN about it. (Similar would be for EDG).

HTH
Holger


On 10/02/2017 22:58, Paul Frunza wrote:
Hello,

I want to modify the default EVN menu in order to add another item which links to a custom page, in the manner show below:

<https://lh3.googleusercontent.com/-m_32ntNzDBg/WJ24HGYakKI/AAAAAAAAAPw/IiWxvxkePw8MlEUBIWC5ugwm0KxSEe9nQCLcB/s1600/EVN%2BUI2.png>



I've done text search through all of the local composer files and the only place found where the menu items are defined seems to be in the teamwork.topbraidlive.org/ui/teamwork.ui.ttlx file (shown in the screenshot below). However, this is quite a large file (~13k lines) and it seems to define the UI elements for other projects as well, such as EDG. I suspect that it might be a generated file due to its size.

<https://lh3.googleusercontent.com/-Zms5KPwJnS4/WJ22MxDWWOI/AAAAAAAAAPc/legw_V5Un0ocOmAnJj4HqtJJIGDGqqj6gCLcB/s1600/EVN%2BUI.png>



Is that the correct file where such modifications should be made? Is there a way to ensure that the changes appear only in EVN and not other places?

Also, we have an EVN instance (without EDG) on a dedicated server which is running an older version (5.1.4). Would there be any compatibility issues when deploying to this server?

Best regards,
Paul
--
You received this message because you are subscribed to the Google Group "TopBraid Suite Users", the topics of which include the TopBraid Suite family of products and its base technologies such as SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to [email protected]
---
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Group "TopBraid 
Suite Users", the topics of which include the TopBraid Suite family of products and 
its base technologies such as SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to [email protected]
--- You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.
# baseURI: http://example.org/teamwork/mainMenuExample
# imports: http://evn.topbraidlive.org/evnproduct
# imports: http://topbraid.org/swa
# imports: http://topbraid.org/teamwork.ui
# prefix: mainMenuExample

@prefix acjob: <http://evn.topbraidlive.org/tagger/acjob#> .
@prefix acpp: <http://topbraid.org/nlp/autoclassifier-preproc#> .
@prefix adminguide: <http://server.topbraidlive.org/doc/adminguide#> .
@prefix afn: <http://jena.hpl.hp.com/ARQ/function#> .
@prefix arg: <http://spinrdf.org/arg#> .
@prefix autotagger: <http://evn.topbraidlive.org/autotagger#> .
@prefix cfg: <http://server.topbraidlive.org/web/2009/config#> .
@prefix charts: <http://uispin.org/charts#> .
@prefix compliance: <http://topbraid.org/compliance#> .
@prefix composite: <http://www.topbraid.org/2007/05/composite.owl#> .
@prefix config: <http://server.topbraidlive.org/dynamic/config#> .
@prefix contact: <http://www.w3.org/2000/10/swap/pim/contact#> .
@prefix crosswalk: <http://topbraid.org/crosswalk#> .
@prefix crosswalk.spin: <http://topbraid.org/crosswalk.spin#> .
@prefix crosswalkprojects: 
<http://teamwork.topbraidlive.org/crosswalkprojects#> .
@prefix css: <http://uispin.org/css#> .
@prefix daml: <http://www.daml.org/2001/03/daml+oil#> .
@prefix dash: <http://datashapes.org/dash#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcam: <http://purl.org/dc/dcam/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix default: <http://uispin.org/default#> .
@prefix deployProjectToServer: 
<http://server.topbraidlive.org/doc/deployProjectToServer#> .
@prefix devguide: <http://evn.topbraidlive.org/evndoc.www/devguide#> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix doc: <http://www.w3.org/2000/10/swap/pim/doc#> .
@prefix email: <http://topbraid.org/email#> .
@prefix evn: <http://topbraid.org/evn/evn#> .
@prefix evnAdminIndex: <http://evn.topbraidlive.org/evnAdminIndex#> .
@prefix evnIntro: <http://evn.topbraidlive.org/evndoc.www/evnIntro#> .
@prefix evnconfig: 
<http://server.topbraidlive.org/system-applications/teamworkconfig#> .
@prefix evndoc: <http://evn.topbraidlive.org/evndoc.www/evndoc#> .
@prefix evnimport: <http://evn.topbraidlive.org/uispin/evnimport#> .
@prefix evninstallguide: 
<http://teamwork.topbraidlive.org/doc/evninstallguide#> .
@prefix evnproduct: <http://evn.topbraidlive.org/evnproduct#> .
@prefix evnui: <http://evn.topbraidlive.org/ui#> .
@prefix extjs: <http://uispin.com/extjs#> .
@prefix flow: <http://www.w3.org/2005/01/wf/flow#> .
@prefix fn: <http://www.w3.org/2005/xpath-functions#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix formTemplate: <http://teamwork.topbraidlive.org/system/formTemplate#> .
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
@prefix gettingstarted: 
<http://evn.topbraidlive.org/evndoc.www/gettingstarted#> .
@prefix glossary: <http://evn.topbraidlive.org/evndoc.www/glossary#> .
@prefix html: <http://uispin.org/html#> .
@prefix imported: <http://topbraid.org/imported#> .
@prefix json: <http://topbraid.org/json#> .
@prefix let: <http://uispin.org/let#> .
@prefix letrs: <http://uispin.org/letrs#> .
@prefix list: <http://jena.hpl.hp.com/ARQ/list#> .
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
@prefix mainMenuExample: <http://example.org/teamwork/mainMenuExample#> .
@prefix metadata: <http://topbraid.org/metadata#> .
@prefix ontologyprojects: <http://teamwork.topbraidlive.org/ontologyprojects#> .
@prefix ontologyviewer: <http://topbraid.org/swa/ontologyviewer#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix permissionGroupMgmt: 
<http://server.topbraidlive.org/doc/permissionGroupMgmt#> .
@prefix pg: <http://server.topbraidlive.org/web/2013/permissiongroups#> .
@prefix raci: <http://topbraid.org/raci#> .
@prefix raci.spin: <http://topbraid.org/raci.spin#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdmfact: <http://topbraid.org/rdmfact#> .
@prefix sd: <http://www.w3.org/ns/sparql-service-description#> .
@prefix search: <http://topbraid.org/search#> .
@prefix search.spin: <http://topbraid.org/search.spin#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix sharepoint: <http://topbraid.org/sharepoint#> .
@prefix sharepoint.spin: <http://topbraid.org/sharepoint.spin#> .
@prefix sioc: <http://rdfs.org/sioc/ns#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix skosapp: <http://evn.topbraidlive.org/uiplugins#> .
@prefix skostemplate: <http://topbraid.org/spin/skostemplates#> .
@prefix skosxl: <http://www.w3.org/2008/05/skos-xl#> .
@prefix sm: <http://topbraid.org/sparqlmotion#> .
@prefix smf: <http://topbraid.org/sparqlmotionfunctions#> .
@prefix sml: <http://topbraid.org/sparqlmotionlib#> .
@prefix softwareprojects: 
<http://teamwork.topbraidlive.org/software/softwareprojects#> .
@prefix solr: <http://topbraid.org/solr#> .
@prefix sp: <http://spinrdf.org/sp#> .
@prefix sparqlmotionlib-swp: <http://topbraid.org/sparqlmotionlib-swp#> .
@prefix sparqlmotionlib-tbc: <http://topbraid.org/sparqlmotionlib-tbc#> .
@prefix spell: <http://topbraid.org/spellcheckresults#> .
@prefix spif: <http://spinrdf.org/spif#> .
@prefix spin: <http://spinrdf.org/spin#> .
@prefix spl: <http://spinrdf.org/spl#> .
@prefix spl-dynamic-ranges: <http://spinrdf.org/spl-dynamic-ranges#> .
@prefix spr: <http://spinrdf.org/spr#> .
@prefix spra: <http://spinrdf.org/spra#> .
@prefix status: <http://topbraid.org/status#> .
@prefix style: <http://uispin.org/style#> .
@prefix svg: <http://uispin.org/svg#> .
@prefix swa: <http://topbraid.org/swa#> .
@prefix swaclasses: <http://topbraid.org/swaclasses#> .
@prefix swaeditor: <http://topbraid.org/swaeditor#> .
@prefix swaowl: <http://topbraid.org/swaowl#> .
@prefix swauml: <http://topbraid.org/swauml#> .
@prefix swon: <http://uispin.org/swon#> .
@prefix sxml: <http://topbraid.org/sxml#> .
@prefix tables: <http://topbraid.org/tables#> .
@prefix tagger: <http://evn.topbraidlive.org/tagger#> .
@prefix taggerprojects: <http://evn.topbraidlive.org/taggerprojects#> .
@prefix taggerspin: <http://evn.topbraidlive.org/taggerspin#> .
@prefix taggerui: <http://evn.topbraidlive.org/taggerui#> .
@prefix task: <http://topbraid.org/task#> .
@prefix tasks: <http://topbraid.org/tasks#> .
@prefix tasks.spin: <http://topbraid.org/tasks.spin#> .
@prefix taxonomies: <http://evn.topbraidlive.org/evnprojects#> .
@prefix tbl: <http://topbraidlive.org/functions#> .
@prefix tbladmin: 
<http://server.topbraidlive.org/system-applications/tbladmin#> .
@prefix tbladmindoc: <http://server.topbraidlive.org/doc/adminguide#> .
@prefix tblinstallguide: <http://server.topbraidlive.org/doc/tblinstallguide#> .
@prefix teaminstallsec: 
<http://teamwork.topbraidlive.org/doc/teamworkInstallGuideSections#> .
@prefix teamwork: <http://topbraid.org/teamwork#> .
@prefix teamworkconfig: 
<http://server.topbraidlive.org/system-applications/teamworkconfig#> .
@prefix teamworkdashboard: <http://topbraid.org/teamworkdashboard#> .
@prefix teamworknotifications: <http://topbraid.org/teamworknotifications#> .
@prefix teamworkrules: <http://topbraid.org/teamworkrules#> .
@prefix teamworkscripts: <http://topbraid.org/teamworkscripts#> .
@prefix tops: <http://www.topbraid.org/tops#> .
@prefix tosh: <http://topbraid.org/tosh#> .
@prefix tosh.ui: <http://topbraid.org/tosh.ui#> .
@prefix ui: <http://uispin.org/ui#> .
@prefix uix: <http://topbraidlive.org/uix#> .
@prefix userAdminIndex: <http://evn.topbraidlive.org/userAdminIndex#> .
@prefix userIndex: <http://evn.topbraidlive.org/evndoc.www/userIndex#> .
@prefix usingtagger: <http://evn.topbraidlive.org/taggerdoc.www/usingtagger#> .
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix wf: <http://www.w3.org/2005/01/wf/flow#> .
@prefix wot: <http://xmlns.com/wot/0.1/> .
@prefix xlink: <http://www.w3.org/1999/xlink#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

evnproduct:EVN
  teamwork:homePageTab mainMenuExample:MyHomePageTab ;
.
<http://example.org/teamwork/mainMenuExample>
  rdf:type owl:Ontology ;
  owl:imports <http://evn.topbraidlive.org/evnproduct> ;
  owl:imports <http://topbraid.org/swa> ;
  owl:imports <http://topbraid.org/teamwork.ui> ;
  owl:versionInfo "Created with TopBraid Composer" ;
.
mainMenuExample:MyHomePageTab
  rdf:type teamwork:HomePageTab ;
  ui:prototype """
<div>Hello World</div>
"""^^ui:Literal ;
  rdfs:label "My HomePage Tab" ;
  rdfs:subClassOf teamwork:HomePageTabs ;
.

Reply via email to