TopBraid projects are workspace directories that contain multiple resources, such as asset collections, teamwork settings and working copies, and various configurations, etc. This section describes three methods for deploying projects to TopBraid EDG from three different project sources: (1) a TopBraid Composer IDE – Maestro Edition (TBC-ME), (2) a .zip
file of a project (directory), or (3) another TopBraid EDG server.
TopBraid Composer Export
Developers can design and test semantic content and web applications using TBC-ME, and then deploy those projects to a TopBraid (Live) server (i.e., EDG, EVN, TBL). TBC-ME has a custom Export wizard that deploys projects from its workspace into an existing TopBraid server. In TBC-ME, select a project (in a Project Explorer or Navigator view), and then either right-click the project or use File and select Export… > TopBraid Composer > Deploy Project to TopBraid Live Server.
Click next in this wizard:
Check the Send necessary connection credentials checkbox (to include the database credentials of the RDBMS connection in secured storage). Clicking Finish will zip up the entire selected project with all the RDBMS connection files, and other project files, and send it to the server specified in the ‘Server URL’. And it will unzip it at the destination server in the workspace directory.
NOTE: This should only be used with projects that contain TTL files. If used with a repositories project checking the Overwrite existing project with the same name box will clear the database of triples before uploading. Please zip the project and use the Project Upload feature inside EDG instead.
Upload Project to Server
Users can click the ‘Project Upload’ link from the admin page.
First create a zip file for the project folder (including the .project file) in your system. And click the ‘Choose file’ button to select such zip file. It should upload the zip file into the server, and unzip it properly in its workspace directory. This method will not create any database credentials in the server.
Send Projects between Servers
EDG administrators can send projects from one EDG server to another one, e.g., from a test server to a production server. From the Admin page, select Server Administration > Send Projects to Another Server.
Select the list of projects to send, and also check the box whether you want to send the database triples also to the destination server. It essentially zip up the entire project from the source server and unzip it at the destination server workspace. And also create the appropriate triples for all the graphs involved at the destination server. This essentially will eliminate the steps in copying database information from one test server to the production server. And all the imported vocabulary are sent properly also. This functionality should create the vocabulary and its import properly at the destination server.
Appendix: Web Services For Deployment
We also provide REST web service to perform HTTP requests for the following tasks if you have such needs to do so. You can perform the followings using simple HTTP requests, this can help with initially setting up a server.
The following tables show the exact HTTP requests and parameters required to perform the specified tasks. The bold words are required system keyword, whereas the italics words (e.g. ${xxx}) should be replaced with your specific details.
-
To create a new EDG Project, use the
createProjectService
to create a new vocab by specifying a new vocab name and new vocab name space. The project type can be found in the history graph (.tch) for the collection type. For example, ontology is http://teamwork.topbraidlive.org/ontologyprojects#ProjectType.
Send this http request to the destination server
Http request | GET request |
Path | edg/tbl/swp |
Parameters: | |
_viewClass | http://topbraid.org/teamwork#CreateProjectService |
_snippet | true |
projectType | http://edg.topbraidlive.org/edgprojects#ProjectType |
owlImports | http://www.w3.org/2004/02/skos/core |
name | ${newVocabName} |
defaultNamespace | ${newVocabNameSpace} |
-
To load rdf file into the vocab Use
importRDFFileService
to load a.ttl
file into an existing vocab. -
Example http request to the destination server. Change the details to match your request. See the UI for import rdf for options. “raw” is for direct streaming.
Http request | POST request |
Path | edg/tbl/importFileUpload |
Parameters:(use Multipart-form data) | |
_viewClass | http://topbraid.org/teamwork#ImportRDFFileService |
_base | urn:x-evn-master:${vocabName} |
projectGraph | urn:x-evn-master:${vocabName} |
format | turtle |
record | true |
raw | false |
file | ${RDFFileName} (should be the absolute path to that ttl file e.g. C:\Users\user1\Downloads\DBPediaCountryCapitals.sms.ttl , mime-type is application/octet-stream) |
- To deploy a project Use
unzipProject
service to deploy a project (in.zip
file) to a destination server.
create a zip file of the directory of the project first, and send this http request to the destination server
Http request | POST request |
Path | edg/tbl/unzipProject |
Parameters: (use Multipart-form data) | |
old_project | update |
projectName | ${ProjectName} |
project | ${ProjectName.zip} (the absolute path to that zip file location. |
- To delete a project Use
deleteProject
service to delete a project in the server.
Http request | POST request |
Path | edg/tbl/deleteProject |
Parameters: | |
appName | ${project name} |
delName | project |
- To send triples for a baseURI Use
sendTriples
service to send triples for a baseURI from the source server to the destination server
send this http request to the source server, this will send triples from the source graph store to the destination server
Http request | POST request |
Path | edg/tbl/sendTriples |
Parameters: (use Multipart-form data) | |
graphURI | ${baseURI} |
serverURL | ${destURL} (e.g. http://your.server.ip:8080/edg/tbl/ ) |
userName | ${destUserName} |
password | ${destPassword} |