User Tools

Site Tools


groimp-platform:gs-project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
groimp-platform:gs-project [2024/12/16 15:45] – [Project design and main files] gaetangroimp-platform:gs-project [2025/01/22 15:54] (current) Tim
Line 83: Line 83:
 </code>   </code>  
  
-The first line is the required xml description. The second contains the main tag of the file: ''<graph/>''. It also needs to define the xmlns tags used by GroIMP to load the content described in the file.+The first line is the required xml description. The second contains the main tag of the file: ''<graph/>''. It also needs to define the xmlns attributes used by GroIMP to load the content described in the file.
  
 An actual **graph** (with only the rggroot) can look like: An actual **graph** (with only the rggroot) can look like:
Line 108: Line 108:
  
 Notice that, with this representation, successor edges are implicitly described. The first node under another ''<node/>'' tag is seen as the successor. Additional edges would be added as ''<edge/>'' tags. Notice that, with this representation, successor edges are implicitly described. The first node under another ''<node/>'' tag is seen as the successor. Additional edges would be added as ''<edge/>'' tags.
-==== Compressed project (GSZ) ====+
  
 ==== Java resources file ==== ==== Java resources file ====
  
 +The third required file to open a project. It follow the same definition as the java [[https://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html|manifest file]].
 +
 +It cannot be renamed or moved. It needs to be ''META-INF/MANIFEST.MF''.
 +
 +This is a simple text file that list the files used in the project including the **project registry** and **graph** file. 
 +
 +A simple example of its content is:
 +<code>
 +Name: project.gs
 +Content-Type: application/x-grogra-registry+xml
 +
 +Name: Model.rgg
 +Content-Type: text/x-grogra-rgg; charset=UTF-8
 +
 +Name: graph.xml
 +Content-Type: application/x-grogra-graph+xml
 +</code>
 +
 +Each file is mapped with its name and a MimeType (i.e. the explicit type of the file. Several files could have the same extension but be processed differently).
 +
 +
 +
 +==== Compressed project (GSZ) ====
 +
 +A project can be compressed into an archive. The standard GroIMP extension is .gsz, but is is a simple archive. Any .zip, 7z, or other archive format would work (as long as you rename the extension .gsz).
 +
 +The archive contains all the content of the project. It can be viewed, modified, or extracted with any archive tools on you computer. 
 +
 +Note that:
 +  * GroIMP requires the archive extension to be .gsz.
 +  * The archive need to follow the same compression order as a java package. Thus, if you want to compress the project manually you need to include first the META-INF directory.
 +
 +For instance to compress a project in the current folder you can use the command:
  
-===== Create a project =====+''zip -r myProject.gsz META-INF/ *''
groimp-platform/gs-project.1734360319.txt.gz · Last modified: 2024/12/16 15:45 by gaetan